Merge svn changes up to r27374
[mplayer.git] / configure
blobf7607740e654178b6b6c0851c9743a401c001d11
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 $TMPEXE $@" >> "$TMPLOG"
66 rm -f "$TMPEXE"
67 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
68 TMP="$?"
69 echo >> "$TMPLOG"
70 echo >> "$TMPLOG"
71 return "$TMP"
74 cc_check() {
75 compile_check $TMPC $@
78 cxx_check() {
79 compile_check $TMPCPP $@ -lstdc++
82 tmp_run() {
83 "$TMPEXE" >> "$TMPLOG" 2>&1
86 # Display error message, flushes tempfile, exit
87 die () {
88 echo
89 echo "Error: $@" >&2
90 echo >&2
91 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
92 echo "Check \"$TMPLOG\" if you do not understand why it failed."
93 exit 1
96 # OS test booleans functions
97 issystem() {
98 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
100 linux() { issystem "Linux" || issystem "uClinux" ; return "$?" ; }
101 sunos() { issystem "SunOS" ; return "$?" ; }
102 hpux() { issystem "HP-UX" ; return "$?" ; }
103 irix() { issystem "IRIX" ; return "$?" ; }
104 aix() { issystem "AIX" ; return "$?" ; }
105 cygwin() { issystem "CYGWIN" ; return "$?" ; }
106 freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
107 netbsd() { issystem "NetBSD" ; return "$?" ; }
108 bsdos() { issystem "BSD/OS" ; return "$?" ; }
109 openbsd() { issystem "OpenBSD" ; return "$?" ; }
110 dragonfly() { issystem "DragonFly" ; return "$?" ; }
111 qnx() { issystem "QNX" ; return "$?" ; }
112 darwin() { issystem "Darwin" ; return "$?" ; }
113 gnu() { issystem "GNU" ; return "$?" ; }
114 mingw32() { issystem "MINGW32" ; return "$?" ; }
115 morphos() { issystem "MorphOS" ; return "$?" ; }
116 amigaos() { issystem "AmigaOS" ; return "$?" ; }
117 win32() { cygwin || mingw32 ; return "$?" ; }
118 beos() { issystem "BEOS" ; return "$?" ; }
119 os2() { issystem "OS/2" ; 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|powerpc) 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 sh3() {
163 case "$host_arch" in
164 sh3) return 0;;
165 *) return 1;;
166 esac
169 # Use this before starting a check
170 echocheck() {
171 echo "============ Checking for $@ ============" >> "$TMPLOG"
172 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
175 # Use this to echo the results of a check
176 echores() {
177 if test "$_res_comment" ; then
178 _res_comment="($_res_comment)"
180 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
181 echo "##########################################" >> "$TMPLOG"
182 echo "" >> "$TMPLOG"
183 echo "$@ $_res_comment"
184 _res_comment=""
186 #############################################################################
188 # Check how echo works in this /bin/sh
189 case `echo -n` in
190 -n) _echo_n= _echo_c='\c' ;; # SysV echo
191 *) _echo_n='-n ' _echo_c= ;; # BSD echo
192 esac
194 msg_lang_all=`echo help/help_mp-??.h help/help_mp-??_??.h | sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g"`
195 man_lang_all=`echo DOCS/man/??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g"`
196 doc_lang_all=`echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g"`
198 show_help(){
199 cat << EOF
200 Usage: $0 [OPTIONS]...
202 Configuration:
203 -h, --help display this help and exit
205 Installation directories:
206 --prefix=DIR prefix directory for installation [/usr/local]
207 --bindir=DIR directory for installing binaries [PREFIX/bin]
208 --datadir=DIR directory for installing machine independent
209 data files (skins, etc) [PREFIX/share/mplayer]
210 --mandir=DIR directory for installing man pages [PREFIX/share/man]
211 --confdir=DIR directory for installing configuration files
212 [PREFIX/etc/mplayer]
213 --libdir=DIR directory for object code libraries [PREFIX/lib]
214 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
215 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
216 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
217 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
219 Optional features:
220 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
221 --disable-mplayer disable MPlayer compilation [enable]
222 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
223 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
224 --disable-largefiles disable support for files > 2GB [enable]
225 --enable-linux-devfs set default devices to devfs [disable]
226 --enable-termcap use termcap database for key codes [autodetect]
227 --enable-termios use termios database for key codes [autodetect]
228 --disable-iconv disable iconv for encoding conversion [autodetect]
229 --disable-langinfo do not use langinfo [autodetect]
230 --enable-lirc enable LIRC (remote control) support [autodetect]
231 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
232 --enable-joystick enable joystick support [disable]
233 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
234 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
235 --disable-vm disable X video mode extensions [autodetect]
236 --disable-xf86keysym disable support for multimedia keys [autodetect]
237 --enable-radio enable radio interface [disable]
238 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
239 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
240 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
241 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
242 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
243 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
244 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
245 --disable-tv-teletext disable TV teletext interface [autodetect]
246 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
247 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
248 --disable-network disable networking [enable]
249 --enable-winsock2 enable winsock2 [autodetect]
250 --enable-smb enable Samba (SMB) input [autodetect]
251 --enable-live enable LIVE555 Streaming Media [autodetect]
252 --enable-nemesi enable Nemesi Streaming Media [autodetect]
253 --disable-dvdnav disable libdvdnav [autodetect]
254 --disable-dvdread disable libdvdread [autodetect]
255 --disable-dvdread-internal disable internal libdvdread [autodetect]
256 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
257 --disable-cdparanoia disable cdparanoia [autodetect]
258 --disable-cddb disable cddb [autodetect]
259 --disable-bitmap-font disable bitmap font support [enable]
260 --disable-freetype disable FreeType 2 font rendering [autodetect]
261 --disable-fontconfig disable fontconfig font lookup [autodetect]
262 --disable-unrarexec disable using of UnRAR executable [enabled]
263 --enable-menu enable OSD menu (not DVD menu) [disabled]
264 --disable-sortsub disable subtitle sorting [enabled]
265 --enable-fribidi enable the FriBiDi libs [autodetect]
266 --disable-enca disable ENCA charset oracle library [autodetect]
267 --disable-macosx disable Mac OS X specific features [autodetect]
268 --disable-maemo disable maemo specific features [autodetect]
269 --enable-macosx-finder-support enable Mac OS X Finder invocation
270 parameter parsing [disabled]
271 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
272 --disable-inet6 disable IPv6 support [autodetect]
273 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
274 --disable-ftp disable FTP support [enabled]
275 --disable-vstream disable TiVo vstream client support [autodetect]
276 --disable-pthreads disable Posix threads support [autodetect]
277 --disable-w32threads disable Win32 threads support [autodetect]
278 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
279 --enable-rpath enable runtime linker path for extra libs [disabled]
281 Codecs:
282 --enable-gif enable GIF support [autodetect]
283 --enable-png enable PNG input/output support [autodetect]
284 --enable-jpeg enable JPEG input/output support [autodetect]
285 --enable-libcdio enable external libcdio [autodetect]
286 --enable-liblzo enable external liblzo [autodetect]
287 --disable-win32dll disable Win32 DLL support [enabled]
288 --disable-qtx disable QuickTime codecs support [enabled]
289 --disable-xanim disable XAnim codecs support [enabled]
290 --disable-real disable RealPlayer codecs support [enabled]
291 --disable-xvid disable Xvid [autodetect]
292 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
293 --disable-x264 disable x264 [autodetect]
294 --disable-x264-lavc disable x264 in libavcodec [autodetect]
295 --disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
296 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
297 decoder) [autodetect]
298 --disable-libnut disable libnut [autodetect]
299 --disable-libavutil_a disable static libavutil [autodetect]
300 --disable-libavcodec_a disable static libavcodec [autodetect]
301 --disable-libavformat_a disable static libavformat [autodetect]
302 --disable-libpostproc_a disable static libpostproc [autodetect]
303 --disable-libavutil_so disable shared libavutil [autodetect]
304 --disable-libavcodec_so disable shared libavcodec [autodetect]
305 --disable-libavformat_so disable shared libavformat [autodetect]
306 --disable-libpostproc_so disable shared libpostproc [autodetect]
307 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
308 in libavcodec [enabled]
309 --disable-tremor-internal disable internal Tremor [enabled]
310 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
311 --enable-tremor-external enable external Tremor [autodetect]
312 --disable-libvorbis disable libvorbis support [autodetect]
313 --disable-speex disable Speex support [autodetect]
314 --enable-theora enable OggTheora libraries [autodetect]
315 --enable-faad-external enable external FAAD2 (AAC) [autodetect]
316 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
317 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
318 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
319 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
320 --disable-ladspa disable LADSPA plugin support [autodetect]
321 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
322 --disable-mad disable libmad (MPEG audio) support [autodetect]
323 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
324 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
325 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
326 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
327 --enable-xmms enable XMMS input plugin support [disabled]
328 --enable-libdca enable libdca support [autodetect]
329 --disable-mp3lib disable builtin mp3lib [enabled]
330 --disable-liba52 disable builtin liba52 [enabled]
331 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
332 --disable-musepack disable musepack support [autodetect]
333 --disable-libamr_nb disable libamr narrowband [autodetect]
334 --disable-libamr_wb disable libamr wideband [autodetect]
335 --disable-decoder=DECODER disable specified FFmpeg decoder
336 --enable-decoder=DECODER enable specified FFmpeg decoder
337 --disable-encoder=ENCODER disable specified FFmpeg encoder
338 --enable-encoder=ENCODER enable specified FFmpeg encoder
339 --disable-parser=PARSER disable specified FFmpeg parser
340 --enable-parser=PARSER enable specified FFmpeg parser
341 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
342 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
343 --disable-muxer=MUXER disable specified FFmpeg muxer
344 --enable-muxer=MUXER enable specified FFmpeg muxer
346 Video output:
347 --disable-vidix disable VIDIX [for x86 *nix]
348 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
349 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
350 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
351 --disable-vidix-pcidb disable VIDIX PCI device name database
352 --enable-dhahelper enable VIDIX dhahelper support
353 --enable-svgalib_helper enable VIDIX svgalib_helper support
354 --enable-gl enable OpenGL video output [autodetect]
355 --enable-dga2 enable DGA 2 support [autodetect]
356 --enable-dga1 enable DGA 1 support [autodetect]
357 --enable-vesa enable VESA video output [autodetect]
358 --enable-svga enable SVGAlib video output [autodetect]
359 --enable-sdl enable SDL video output [autodetect]
360 --enable-aa enable AAlib video output [autodetect]
361 --enable-caca enable CACA video output [autodetect]
362 --enable-ggi enable GGI video output [autodetect]
363 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
364 --enable-directx enable DirectX video output [autodetect]
365 --enable-dxr2 enable DXR2 video output [autodetect]
366 --enable-dxr3 enable DXR3/H+ video output [autodetect]
367 --enable-ivtv enable IVTV TV-Out video output [autodetect]
368 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
369 --enable-dvb enable DVB video output [autodetect]
370 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
371 --enable-mga enable mga_vid video output [autodetect]
372 --enable-xmga enable mga_vid X11 video output [autodetect]
373 --enable-xv enable Xv video output [autodetect]
374 --enable-xvmc enable XvMC acceleration [disable]
375 --enable-vm enable XF86VidMode support [autodetect]
376 --enable-xinerama enable Xinerama support [autodetect]
377 --enable-x11 enable X11 video output [autodetect]
378 --enable-xshape enable XShape support [autodetect]
379 --disable-xss disable screensaver support via xss [autodetect]
380 --enable-fbdev enable FBDev video output [autodetect]
381 --enable-mlib enable mediaLib video output (Solaris) [disable]
382 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
383 --enable-tdfxfb enable tdfxfb video output [disable]
384 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
385 --enable-directfb enable DirectFB video output [autodetect]
386 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
387 --enable-bl enable Blinkenlights video output [disable]
388 --enable-tdfxvid enable tdfx_vid video output [disable]
389 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
390 --disable-tga disable Targa video output [enable]
391 --disable-pnm disable PNM video output [enable]
392 --disable-md5sum disable md5sum video output [enable]
393 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
395 Audio output:
396 --disable-alsa disable ALSA audio output [autodetect]
397 --disable-ossaudio disable OSS audio output [autodetect]
398 --disable-arts disable aRts audio output [autodetect]
399 --disable-esd disable esd audio output [autodetect]
400 --disable-pulse disable Pulseaudio audio output [autodetect]
401 --disable-jack disable JACK audio output [autodetect]
402 --disable-openal disable OpenAL audio output [autodetect]
403 --disable-nas disable NAS audio output [autodetect]
404 --disable-sgiaudio disable SGI audio output [autodetect]
405 --disable-sunaudio disable Sun audio output [autodetect]
406 --disable-win32waveout disable Windows waveout audio output [autodetect]
407 --disable-select disable using select() on the audio device [enable]
409 Miscellaneous options:
410 --enable-runtime-cpudetection enable runtime CPU detection [disable]
411 --enable-cross-compile enable cross-compilation [autodetect]
412 --cc=COMPILER C compiler to build MPlayer [gcc]
413 --host-cc=COMPILER C compiler for tools needed while building [gcc]
414 --as=ASSEMBLER assembler to build MPlayer [as]
415 --ar=AR librarian to build MPlayer [ar]
416 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
417 --windres=WINDRES windres to build MPlayer [windres]
418 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
419 --enable-static build a statically linked binary
420 --charset=charset convert the console messages to this character set
421 --language=list a white space or comma separated list of languages for
422 translated man pages, the first language is used for
423 messages and the GUI (the environment variable
424 \$LINGUAS is also honored) [en]
425 (Available: all $msg_lang_all)
426 --with-install=PATH path to a custom install program
428 Advanced options:
429 --enable-mmx enable MMX [autodetect]
430 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
431 --enable-3dnow enable 3DNow! [autodetect]
432 --enable-3dnowext enable extended 3DNow! [autodetect]
433 --enable-sse enable SSE [autodetect]
434 --enable-sse2 enable SSE2 [autodetect]
435 --enable-ssse3 enable SSSE3 [autodetect]
436 --enable-shm enable shm [autodetect]
437 --enable-altivec enable AltiVec (PowerPC) [autodetect]
438 --enable-armv5te enable DSP extensions (ARM) [autodetect]
439 --enable-armv6 enable ARMv6 (ARM) [autodetect]
440 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
441 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
442 --enable-big-endian force byte order to big-endian [autodetect]
443 --enable-debug[=1-3] compile-in debugging information [disable]
444 --enable-profile compile-in profiling information [disable]
445 --disable-sighandler disable sighandler for crashes [enable]
446 --enable-crash-debug enable automatic gdb attach on crash [disable]
447 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
449 Use these options if autodetection fails (Options marked with (*) accept
450 multiple paths separated by ':'):
451 --extra-libs=FLAGS extra linker flags
452 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
453 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
454 --with-extraincdir=DIR extra header search paths in DIR (*)
455 --with-extralibdir=DIR extra linker search paths in DIR (*)
456 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
458 --with-freetype-config=PATH path to freetype-config
459 --with-fribidi-config=PATH path to fribidi-config
460 --with-glib-config=PATH path to glib*-config
461 --with-gtk-config=PATH path to gtk*-config
462 --with-sdl-config=PATH path to sdl*-config
463 --with-dvdnav-config=PATH path to dvdnav-config
464 --with-dvdread-config=PATH path to dvdread-config
466 This configure script is NOT autoconf-based, even though its output is similar.
467 It will try to autodetect all configuration options. If you --enable an option
468 it will be forcefully turned on, skipping autodetection. This can break
469 compilation, so you need to know what you are doing.
471 exit 0
472 } #show_help()
474 # GOTCHA: the variables below defines the default behavior for autodetection
475 # and have - unless stated otherwise - at least 2 states : yes no
476 # If autodetection is available then the third state is: auto
477 _mmx=auto
478 _3dnow=auto
479 _3dnowext=auto
480 _mmxext=auto
481 _sse=auto
482 _sse2=auto
483 _ssse3=auto
484 _cmov=auto
485 _fast_cmov=auto
486 _armv5te=auto
487 _armv6=auto
488 _iwmmxt=auto
489 _mtrr=auto
490 _altivec=auto
491 _install=install
492 _ranlib=ranlib
493 _windres=windres
494 _cc=cc
495 _ar=ar
496 test "$CC" && _cc="$CC"
497 _as=auto
498 _runtime_cpudetection=no
499 _cross_compile=auto
500 _prefix="/usr/local"
501 _libavutil_a=auto
502 _libavutil_so=auto
503 _libavcodec_a=auto
504 _libamr_nb=auto
505 _libamr_wb=auto
506 _libavdecoders_all=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
507 _libavdecoders=` echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER// `
508 _libavencoders_all=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
509 _libavencoders=` echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g'`
510 _libavparsers_all=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
511 _libavparsers=$_libavparsers_all
512 _libavbsfs_all=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
513 _libavbsfs=$_libavbsfs_all
514 _libavdemuxers_all=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
515 _libavdemuxers=`echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER// `
516 _libavmuxers_all=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
517 _libavmuxers=`echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER// `
518 _libavprotocols_all=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
519 _libavcodec_so=auto
520 _libavformat_a=auto
521 _libavformat_so=auto
522 _libpostproc_a=auto
523 _libpostproc_so=auto
524 _libavcodec_mpegaudio_hp=yes
525 _mencoder=yes
526 _mplayer=yes
527 _x11=auto
528 _xshape=auto
529 _xss=auto
530 _dga1=auto
531 _dga2=auto
532 _xv=auto
533 _xvmc=no #auto when complete
534 _sdl=auto
535 _directx=auto
536 _win32waveout=auto
537 _nas=auto
538 _png=auto
539 _jpeg=auto
540 _pnm=yes
541 _md5sum=yes
542 _yuv4mpeg=yes
543 _gif=auto
544 _gl=auto
545 _ggi=auto
546 _ggiwmh=auto
547 _aa=auto
548 _caca=auto
549 _svga=auto
550 _vesa=auto
551 _fbdev=auto
552 _dvb=auto
553 _dvbhead=auto
554 _dxr2=auto
555 _dxr3=auto
556 _ivtv=auto
557 _v4l2=auto
558 _iconv=auto
559 _langinfo=auto
560 _rtc=auto
561 _ossaudio=auto
562 _arts=auto
563 _esd=auto
564 _pulse=auto
565 _jack=auto
566 _openal=auto
567 _libcdio=auto
568 _liblzo=auto
569 _mad=auto
570 _mp3lame=auto
571 _mp3lame_lavc=auto
572 _toolame=auto
573 _twolame=auto
574 _tremor_internal=yes
575 _tremor_low=no
576 _tremor_external=auto
577 _libvorbis=auto
578 _speex=auto
579 _theora=auto
580 _mp3lib=yes
581 _liba52=yes
582 _libdca=auto
583 _libmpeg2=auto
584 _faad_internal=auto
585 _faad_external=auto
586 _faad_fixed=no
587 _faac=auto
588 _faac_lavc=auto
589 _ladspa=auto
590 _xmms=no
591 _dvdnav=auto
592 _dvdnavconfig=dvdnav-config
593 _dvdreadconfig=dvdread-config
594 _dvdread=auto
595 _dvdread_internal=auto
596 _libdvdcss_internal=auto
597 _xanim=auto
598 _real=auto
599 _live=auto
600 _nemesi=auto
601 _native_rtsp=yes
602 _xinerama=auto
603 _mga=auto
604 _xmga=auto
605 _vm=auto
606 _xf86keysym=auto
607 _mlib=no #broken, thus disabled
608 _sgiaudio=auto
609 _sunaudio=auto
610 _alsa=auto
611 _fastmemcpy=yes
612 _unrar_exec=auto
613 _win32dll=auto
614 _select=yes
615 _radio=no
616 _radio_capture=no
617 _radio_v4l=auto
618 _radio_v4l2=auto
619 _radio_bsdbt848=auto
620 _tv=yes
621 _tv_v4l1=auto
622 _tv_v4l2=auto
623 _tv_bsdbt848=auto
624 _tv_dshow=auto
625 _tv_teletext=auto
626 _pvr=auto
627 _network=yes
628 _winsock2=auto
629 _smbsupport=auto
630 _vidix=auto
631 _vidix_pcidb=yes
632 _dhahelper=no
633 _svgalib_helper=no
634 _joystick=no
635 _xvid=auto
636 _xvid_lavc=auto
637 _x264=auto
638 _x264_lavc=auto
639 _libdirac_lavc=auto
640 _libschroedinger_lavc=auto
641 _libnut=auto
642 _lirc=auto
643 _lircc=auto
644 _apple_remote=auto
645 _apple_ir=auto
646 _gui=no
647 _gtk1=no
648 _termcap=auto
649 _termios=auto
650 _3dfx=no
651 _s3fb=no
652 _tdfxfb=no
653 _tdfxvid=no
654 _xvr100=auto
655 _tga=yes
656 _directfb=auto
657 _zr=auto
658 _bl=no
659 _largefiles=yes
660 #_language=en
661 _shm=auto
662 _linux_devfs=no
663 _charset="UTF-8"
664 _dynamic_plugins=no
665 _crash_debug=no
666 _sighandler=yes
667 _libdv=auto
668 _cdparanoia=auto
669 _cddb=auto
670 _big_endian=auto
671 _bitmap_font=yes
672 _freetype=auto
673 _fontconfig=auto
674 _menu=no
675 _qtx=auto
676 _macosx=auto
677 _maemo=auto
678 _macosx_finder_support=no
679 _macosx_bundle=auto
680 _sortsub=yes
681 _freetypeconfig='freetype-config'
682 _fribidi=auto
683 _fribidiconfig='fribidi-config'
684 _enca=auto
685 _inet6=auto
686 _gethostbyname2=auto
687 _ftp=yes
688 _musepack=auto
689 _vstream=auto
690 _pthreads=auto
691 _w32threads=auto
692 _ass=auto
693 _rpath=no
694 _asmalign_pot=auto
695 _stream_cache=yes
696 _def_stream_cache="#define CONFIG_STREAM_CACHE 1"
697 _need_shmem=yes
698 for ac_option do
699 case "$ac_option" in
700 --help|-help|-h)
701 show_help
703 --prefix=*)
704 _prefix=`echo $ac_option | cut -d '=' -f 2`
706 --bindir=*)
707 _bindir=`echo $ac_option | cut -d '=' -f 2`
709 --datadir=*)
710 _datadir=`echo $ac_option | cut -d '=' -f 2`
712 --mandir=*)
713 _mandir=`echo $ac_option | cut -d '=' -f 2`
715 --confdir=*)
716 _confdir=`echo $ac_option | cut -d '=' -f 2`
718 --libdir=*)
719 _libdir=`echo $ac_option | cut -d '=' -f 2`
721 --codecsdir=*)
722 _codecsdir=`echo $ac_option | cut -d '=' -f 2`
724 --win32codecsdir=*)
725 _win32codecsdir=`echo $ac_option | cut -d '=' -f 2`
727 --xanimcodecsdir=*)
728 _xanimcodecsdir=`echo $ac_option | cut -d '=' -f 2`
730 --realcodecsdir=*)
731 _realcodecsdir=`echo $ac_option | cut -d '=' -f 2`
733 --with-extraincdir=*)
734 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
736 --with-extralibdir=*)
737 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
740 --with-install=*)
741 _install=`echo $ac_option | cut -d '=' -f 2 `
743 --with-xvmclib=*)
744 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
747 --with-sdl-config=*)
748 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
750 --with-freetype-config=*)
751 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
753 --with-fribidi-config=*)
754 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
756 --with-gtk-config=*)
757 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
759 --with-glib-config=*)
760 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
762 --with-dvdnav-config=*)
763 _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
765 --with-dvdread-config=*)
766 _dvdreadconfig=`echo $ac_option | cut -d '=' -f 2`
769 --extra-libs=*)
770 _extra_libs=`echo $ac_option | cut -d '=' -f 2`
772 --extra-libs-mplayer=*)
773 _libs_mplayer=`echo $ac_option | cut -d '=' -f 2`
775 --extra-libs-mencoder=*)
776 _libs_mencoder=`echo $ac_option | cut -d '=' -f 2`
779 --target=*)
780 _target=`echo $ac_option | cut -d '=' -f 2`
782 --cc=*)
783 _cc=`echo $ac_option | cut -d '=' -f 2`
785 --host-cc=*)
786 _host_cc=`echo $ac_option | cut -d '=' -f 2`
788 --as=*)
789 _as=`echo $ac_option | cut -d '=' -f 2`
791 --ar=*)
792 _ar=`echo $ac_option | cut -d '=' -f 2`
794 --ranlib=*)
795 _ranlib=`echo $ac_option | cut -d '=' -f 2`
797 --windres=*)
798 _windres=`echo $ac_option | cut -d '=' -f 2`
800 --charset=*)
801 _charset=`echo $ac_option | cut -d '=' -f 2`
803 --language=*)
804 _language=`echo $ac_option | cut -d '=' -f 2`
807 --enable-static)
808 _ld_static='-static'
810 --disable-static)
811 _ld_static=''
813 --enable-profile)
814 _profile='-p'
816 --disable-profile)
817 _profile=
819 --enable-debug)
820 _debug='-g'
822 --enable-debug=*)
823 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
825 --disable-debug)
826 _debug=
828 --enable-runtime-cpudetection) _runtime_cpudetection=yes ;;
829 --disable-runtime-cpudetection) _runtime_cpudetection=no ;;
830 --enable-cross-compile) _cross_compile=yes ;;
831 --disable-cross-compile) _cross_compile=no ;;
832 --enable-mencoder) _mencoder=yes ;;
833 --disable-mencoder) _mencoder=no ;;
834 --enable-mplayer) _mplayer=yes ;;
835 --disable-mplayer) _mplayer=no ;;
836 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
837 --disable-dynamic-plugins) _dynamic_plugins=no ;;
838 --enable-x11) _x11=yes ;;
839 --disable-x11) _x11=no ;;
840 --enable-xshape) _xshape=yes ;;
841 --disable-xshape) _xshape=no ;;
842 --enable-xss) _xss=yes ;;
843 --disable-xss) _xss=no ;;
844 --enable-xv) _xv=yes ;;
845 --disable-xv) _xv=no ;;
846 --enable-xvmc) _xvmc=yes ;;
847 --disable-xvmc) _xvmc=no ;;
848 --enable-sdl) _sdl=yes ;;
849 --disable-sdl) _sdl=no ;;
850 --enable-directx) _directx=yes ;;
851 --disable-directx) _directx=no ;;
852 --enable-win32waveout) _win32waveout=yes ;;
853 --disable-win32waveout) _win32waveout=no ;;
854 --enable-nas) _nas=yes ;;
855 --disable-nas) _nas=no ;;
856 --enable-png) _png=yes ;;
857 --disable-png) _png=no ;;
858 --enable-jpeg) _jpeg=yes ;;
859 --disable-jpeg) _jpeg=no ;;
860 --enable-pnm) _pnm=yes ;;
861 --disable-pnm) _pnm=no ;;
862 --enable-md5sum) _md5sum=yes ;;
863 --disable-md5sum) _md5sum=no ;;
864 --enable-yuv4mpeg) _yuv4mpeg=yes ;;
865 --disable-yuv4mpeg) _yuv4mpeg=no ;;
866 --enable-gif) _gif=yes ;;
867 --disable-gif) _gif=no ;;
868 --enable-gl) _gl=yes ;;
869 --disable-gl) _gl=no ;;
870 --enable-ggi) _ggi=yes ;;
871 --disable-ggi) _ggi=no ;;
872 --enable-ggiwmh) _ggiwmh=yes ;;
873 --disable-ggiwmh) _ggiwmh=no ;;
874 --enable-aa) _aa=yes ;;
875 --disable-aa) _aa=no ;;
876 --enable-caca) _caca=yes ;;
877 --disable-caca) _caca=no ;;
878 --enable-svga) _svga=yes ;;
879 --disable-svga) _svga=no ;;
880 --enable-vesa) _vesa=yes ;;
881 --disable-vesa) _vesa=no ;;
882 --enable-fbdev) _fbdev=yes ;;
883 --disable-fbdev) _fbdev=no ;;
884 --enable-dvb) _dvb=yes ;;
885 --disable-dvb) _dvb=no ;;
886 --enable-dvbhead) _dvbhead=yes ;;
887 --disable-dvbhead) _dvbhead=no ;;
888 --enable-dxr2) _dxr2=yes ;;
889 --disable-dxr2) _dxr2=no ;;
890 --enable-dxr3) _dxr3=yes ;;
891 --disable-dxr3) _dxr3=no ;;
892 --enable-ivtv) _ivtv=yes ;;
893 --disable-ivtv) _ivtv=no ;;
894 --enable-v4l2) _v4l2=yes ;;
895 --disable-v4l2) _v4l2=no ;;
896 --enable-iconv) _iconv=yes ;;
897 --disable-iconv) _iconv=no ;;
898 --enable-langinfo) _langinfo=yes ;;
899 --disable-langinfo) _langinfo=no ;;
900 --enable-rtc) _rtc=yes ;;
901 --disable-rtc) _rtc=no ;;
902 --enable-libdv) _libdv=yes ;;
903 --disable-libdv) _libdv=no ;;
904 --enable-ossaudio) _ossaudio=yes ;;
905 --disable-ossaudio) _ossaudio=no ;;
906 --enable-arts) _arts=yes ;;
907 --disable-arts) _arts=no ;;
908 --enable-esd) _esd=yes ;;
909 --disable-esd) _esd=no ;;
910 --enable-pulse) _pulse=yes ;;
911 --disable-pulse) _pulse=no ;;
912 --enable-jack) _jack=yes ;;
913 --disable-jack) _jack=no ;;
914 --enable-openal) _openal=yes ;;
915 --disable-openal) _openal=no ;;
916 --enable-mad) _mad=yes ;;
917 --disable-mad) _mad=no ;;
918 --enable-mp3lame) _mp3lame=yes ;;
919 --disable-mp3lame) _mp3lame=no ;;
920 --enable-mp3lame-lavc) _mp3lame_lavc=yes ;;
921 --disable-mp3lame-lavc) _mp3lame_lavc=no ;;
922 --enable-toolame) _toolame=yes ;;
923 --disable-toolame) _toolame=no ;;
924 --enable-twolame) _twolame=yes ;;
925 --disable-twolame) _twolame=no ;;
926 --enable-libcdio) _libcdio=yes ;;
927 --disable-libcdio) _libcdio=no ;;
928 --enable-liblzo) _liblzo=yes ;;
929 --disable-liblzo) _liblzo=no ;;
930 --enable-libvorbis) _libvorbis=yes ;;
931 --disable-libvorbis) _libvorbis=no ;;
932 --enable-speex) _speex=yes ;;
933 --disable-speex) _speex=no ;;
934 --enable-tremor-internal) _tremor_internal=yes ;;
935 --disable-tremor-internal) _tremor_internal=no ;;
936 --enable-tremor-low) _tremor_low=yes ;;
937 --disable-tremor-low) _tremor_low=no ;;
938 --enable-tremor-external) _tremor_external=yes ;;
939 --disable-tremor-external) _tremor_external=no ;;
940 --enable-theora) _theora=yes ;;
941 --disable-theora) _theora=no ;;
942 --enable-mp3lib) _mp3lib=yes ;;
943 --disable-mp3lib) _mp3lib=no ;;
944 --enable-liba52) _liba52=yes ;;
945 --disable-liba52) _liba52=no ;;
946 --enable-libdca) _libdca=yes ;;
947 --disable-libdca) _libdca=no ;;
948 --enable-libmpeg2) _libmpeg2=yes ;;
949 --disable-libmpeg2) _libmpeg2=no ;;
950 --enable-musepack) _musepack=yes ;;
951 --disable-musepack) _musepack=no ;;
952 --enable-faad-internal) _faad_internal=yes ;;
953 --disable-faad-internal) _faad_internal=no ;;
954 --enable-faad-external) _faad_external=yes ;;
955 --disable-faad-external) _faad_external=no ;;
956 --enable-faad-fixed) _faad_fixed=yes ;;
957 --disable-faad-fixed) _faad_fixed=no ;;
958 --enable-faac) _faac=yes ;;
959 --disable-faac) _faac=no ;;
960 --enable-faac-lavc) _faac_lavc=yes ;;
961 --disable-faac-lavc) _faac_lavc=no ;;
962 --enable-ladspa) _ladspa=yes ;;
963 --disable-ladspa) _ladspa=no ;;
964 --enable-xmms) _xmms=yes ;;
965 --disable-xmms) _xmms=no ;;
966 --enable-dvdread) _dvdread=yes ;;
967 --disable-dvdread) _dvdread=no ;;
968 --enable-dvdread-internal) _dvdread_internal=yes ;;
969 --disable-dvdread-internal) _dvdread_internal=no ;;
970 --enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
971 --disable-libdvdcss-internal) _libdvdcss_internal=no ;;
972 --enable-dvdnav) _dvdnav=yes ;;
973 --disable-dvdnav) _dvdnav=no ;;
974 --enable-xanim) _xanim=yes ;;
975 --disable-xanim) _xanim=no ;;
976 --enable-real) _real=yes ;;
977 --disable-real) _real=no ;;
978 --enable-live) _live=yes ;;
979 --disable-live) _live=no ;;
980 --enable-nemesi) _nemesi=yes ;;
981 --disable-nemesi) _nemesi=no ;;
982 --enable-xinerama) _xinerama=yes ;;
983 --disable-xinerama) _xinerama=no ;;
984 --enable-mga) _mga=yes ;;
985 --disable-mga) _mga=no ;;
986 --enable-xmga) _xmga=yes ;;
987 --disable-xmga) _xmga=no ;;
988 --enable-vm) _vm=yes ;;
989 --disable-vm) _vm=no ;;
990 --enable-xf86keysym) _xf86keysym=yes ;;
991 --disable-xf86keysym) _xf86keysym=no ;;
992 --enable-mlib) _mlib=yes ;;
993 --disable-mlib) _mlib=no ;;
994 --enable-sunaudio) _sunaudio=yes ;;
995 --disable-sunaudio) _sunaudio=no ;;
996 --enable-sgiaudio) _sgiaudio=yes ;;
997 --disable-sgiaudio) _sgiaudio=no ;;
998 --enable-alsa) _alsa=yes ;;
999 --disable-alsa) _alsa=no ;;
1000 --enable-tv) _tv=yes ;;
1001 --disable-tv) _tv=no ;;
1002 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1003 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1004 --enable-tv-v4l1) _tv_v4l1=yes ;;
1005 --disable-tv-v4l1) _tv_v4l1=no ;;
1006 --enable-tv-v4l2) _tv_v4l2=yes ;;
1007 --disable-tv-v4l2) _tv_v4l2=no ;;
1008 --enable-tv-dshow) _tv_dshow=yes ;;
1009 --disable-tv-dshow) _tv_dshow=no ;;
1010 --enable-tv-teletext) _tv_teletext=yes ;;
1011 --disable-tv-teletext) _tv_teletext=no ;;
1012 --enable-radio) _radio=yes ;;
1013 --enable-radio-capture) _radio_capture=yes ;;
1014 --disable-radio-capture) _radio_capture=no ;;
1015 --disable-radio) _radio=no ;;
1016 --enable-radio-v4l) _radio_v4l=yes ;;
1017 --disable-radio-v4l) _radio_v4l=no ;;
1018 --enable-radio-v4l2) _radio_v4l2=yes ;;
1019 --disable-radio-v4l2) _radio_v4l2=no ;;
1020 --enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
1021 --disable-radio-bsdbt848) _radio_bsdbt848=no ;;
1022 --enable-pvr) _pvr=yes ;;
1023 --disable-pvr) _pvr=no ;;
1024 --enable-fastmemcpy) _fastmemcpy=yes ;;
1025 --disable-fastmemcpy) _fastmemcpy=no ;;
1026 --enable-network) _network=yes ;;
1027 --disable-network) _network=no ;;
1028 --enable-winsock2) _winsock2=yes ;;
1029 --disable-winsock2) _winsock2=no ;;
1030 --enable-smb) _smbsupport=yes ;;
1031 --disable-smb) _smbsupport=no ;;
1032 --enable-vidix) _vidix=yes ;;
1033 --disable-vidix) _vidix=no ;;
1034 --with-vidix-drivers=*)
1035 _vidix_drivers=`echo $ac_option | cut -d '=' -f 2`
1037 --disable-vidix-pcidb) _vidix_pcidb=no ;;
1038 --enable-dhahelper) _dhahelper=yes ;;
1039 --disable-dhahelper) _dhahelper=no ;;
1040 --enable-svgalib_helper) _svgalib_helper=yes ;;
1041 --disable-svgalib_helper) _svgalib_helper=no ;;
1042 --enable-joystick) _joystick=yes ;;
1043 --disable-joystick) _joystick=no ;;
1044 --enable-xvid) _xvid=yes ;;
1045 --disable-xvid) _xvid=no ;;
1046 --enable-xvid-lavc) _xvid_lavc=yes ;;
1047 --disable-xvid-lavc) _xvid_lavc=no ;;
1048 --enable-x264) _x264=yes ;;
1049 --disable-x264) _x264=no ;;
1050 --enable-x264-lavc) _x264_lavc=yes ;;
1051 --disable-x264-lavc) _x264_lavc=no ;;
1052 --enable-libdirac-lavc) _libdirac_lavc=yes ;;
1053 --disable-libdirac-lavc) _libdirac_lavc=no ;;
1054 --enable-libschroedinger-lavc) _libschroedinger_lavc=yes ;;
1055 --disable-libschroedinger-lavc) _libschroedinger_lavc=no ;;
1056 --enable-libnut) _libnut=yes ;;
1057 --disable-libnut) _libnut=no ;;
1058 --enable-libavutil_a) _libavutil_a=yes ;;
1059 --disable-libavutil_a) _libavutil_a=no ;;
1060 --enable-libavutil_so) _libavutil_so=yes ;;
1061 --disable-libavutil_so) _libavutil_so=no ;;
1062 --enable-libavcodec_a) _libavcodec_a=yes ;;
1063 --disable-libavcodec_a) _libavcodec_a=no ;;
1064 --enable-libavcodec_so) _libavcodec_so=yes ;;
1065 --disable-libavcodec_so) _libavcodec_so=no ;;
1066 --enable-libamr_nb) _libamr_nb=yes ;;
1067 --disable-libamr_nb) _libamr_nb=no ;;
1068 --enable-libamr_wb) _libamr_wb=yes ;;
1069 --disable-libamr_wb) _libamr_wb=no ;;
1070 --enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1071 --disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1072 --enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1073 --disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1074 --enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1075 --disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1076 --enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1077 --disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1078 --enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1079 --disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1080 --enable-libavformat_a) _libavformat_a=yes ;;
1081 --disable-libavformat_a) _libavformat_a=no ;;
1082 --enable-libavformat_so) _libavformat_so=yes ;;
1083 --disable-libavformat_so) _libavformat_so=no ;;
1084 --enable-libpostproc_a) _libpostproc_a=yes ;;
1085 --disable-libpostproc_a) _libpostproc_a=no ;;
1086 --enable-libpostproc_so) _libpostproc_so=yes ;;
1087 --disable-libpostproc_so) _libpostproc_so=no ;;
1088 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
1089 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
1091 --enable-lirc) _lirc=yes ;;
1092 --disable-lirc) _lirc=no ;;
1093 --enable-lircc) _lircc=yes ;;
1094 --disable-lircc) _lircc=no ;;
1095 --enable-apple-remote) _apple_remote=yes ;;
1096 --disable-apple-remote) _apple_remote=no ;;
1097 --enable-apple-ir) _apple_ir=yes ;;
1098 --disable-apple-ir) _apple_ir=no ;;
1099 --enable-gui) _gui=yes ;;
1100 --disable-gui) _gui=no ;;
1101 --enable-gtk1) _gtk1=yes ;;
1102 --disable-gtk1) _gtk1=no ;;
1103 --enable-termcap) _termcap=yes ;;
1104 --disable-termcap) _termcap=no ;;
1105 --enable-termios) _termios=yes ;;
1106 --disable-termios) _termios=no ;;
1107 --enable-3dfx) _3dfx=yes ;;
1108 --disable-3dfx) _3dfx=no ;;
1109 --enable-s3fb) _s3fb=yes ;;
1110 --disable-s3fb) _s3fb=no ;;
1111 --enable-tdfxfb) _tdfxfb=yes ;;
1112 --disable-tdfxfb) _tdfxfb=no ;;
1113 --disable-tdfxvid) _tdfxvid=no ;;
1114 --enable-tdfxvid) _tdfxvid=yes ;;
1115 --disable-xvr100) _xvr100=no ;;
1116 --enable-xvr100) _xvr100=yes ;;
1117 --disable-tga) _tga=no ;;
1118 --enable-tga) _tga=yes ;;
1119 --enable-directfb) _directfb=yes ;;
1120 --disable-directfb) _directfb=no ;;
1121 --enable-zr) _zr=yes ;;
1122 --disable-zr) _zr=no ;;
1123 --enable-bl) _bl=yes ;;
1124 --disable-bl) _bl=no ;;
1125 --enable-mtrr) _mtrr=yes ;;
1126 --disable-mtrr) _mtrr=no ;;
1127 --enable-largefiles) _largefiles=yes ;;
1128 --disable-largefiles) _largefiles=no ;;
1129 --enable-shm) _shm=yes ;;
1130 --disable-shm) _shm=no ;;
1131 --enable-select) _select=yes ;;
1132 --disable-select) _select=no ;;
1133 --enable-linux-devfs) _linux_devfs=yes ;;
1134 --disable-linux-devfs) _linux_devfs=no ;;
1135 --enable-cdparanoia) _cdparanoia=yes ;;
1136 --disable-cdparanoia) _cdparanoia=no ;;
1137 --enable-cddb) _cddb=yes ;;
1138 --disable-cddb) _cddb=no ;;
1139 --enable-big-endian) _big_endian=yes ;;
1140 --disable-big-endian) _big_endian=no ;;
1141 --enable-bitmap-font) _bitmap_font=yes ;;
1142 --disable-bitmap-font) _bitmap_font=no ;;
1143 --enable-freetype) _freetype=yes ;;
1144 --disable-freetype) _freetype=no ;;
1145 --enable-fontconfig) _fontconfig=yes ;;
1146 --disable-fontconfig) _fontconfig=no ;;
1147 --enable-unrarexec) _unrar_exec=yes ;;
1148 --disable-unrarexec) _unrar_exec=no ;;
1149 --enable-ftp) _ftp=yes ;;
1150 --disable-ftp) _ftp=no ;;
1151 --enable-vstream) _vstream=yes ;;
1152 --disable-vstream) _vstream=no ;;
1153 --enable-pthreads) _pthreads=yes ;;
1154 --disable-pthreads) _pthreads=no ;;
1155 --enable-w32threads) _w32threads=yes ;;
1156 --disable-w32threads) _w32threads=no ;;
1157 --enable-ass) _ass=yes ;;
1158 --disable-ass) _ass=no ;;
1159 --enable-rpath) _rpath=yes ;;
1160 --disable-rpath) _rpath=no ;;
1162 --enable-fribidi) _fribidi=yes ;;
1163 --disable-fribidi) _fribidi=no ;;
1165 --enable-enca) _enca=yes ;;
1166 --disable-enca) _enca=no ;;
1168 --enable-inet6) _inet6=yes ;;
1169 --disable-inet6) _inet6=no ;;
1171 --enable-gethostbyname2) _gethostbyname2=yes ;;
1172 --disable-gethostbyname2) _gethostbyname2=no ;;
1174 --enable-dga1) _dga1=yes ;;
1175 --disable-dga1) _dga1=no ;;
1176 --enable-dga2) _dga2=yes ;;
1177 --disable-dga2) _dga2=no ;;
1179 --enable-menu) _menu=yes ;;
1180 --disable-menu) _menu=no ;;
1182 --enable-qtx) _qtx=yes ;;
1183 --disable-qtx) _qtx=no ;;
1185 --enable-macosx) _macosx=yes ;;
1186 --disable-macosx) _macosx=no ;;
1187 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
1188 --disable-macosx-finder-support) _macosx_finder_support=no ;;
1189 --enable-macosx-bundle) _macosx_bundle=yes;;
1190 --disable-macosx-bundle) _macosx_bundle=no;;
1192 --enable-maemo) _maemo=yes ;;
1193 --disable-maemo) _maemo=no ;;
1195 --enable-sortsub) _sortsub=yes ;;
1196 --disable-sortsub) _sortsub=no ;;
1198 --enable-crash-debug) _crash_debug=yes ;;
1199 --disable-crash-debug) _crash_debug=no ;;
1200 --enable-sighandler) _sighandler=yes ;;
1201 --disable-sighandler) _sighandler=no ;;
1202 --enable-win32dll) _win32dll=yes ;;
1203 --disable-win32dll) _win32dll=no ;;
1205 --enable-sse) _sse=yes ;;
1206 --disable-sse) _sse=no ;;
1207 --enable-sse2) _sse2=yes ;;
1208 --disable-sse2) _sse2=no ;;
1209 --enable-ssse3) _ssse3=yes ;;
1210 --disable-ssse3) _ssse3=no ;;
1211 --enable-mmxext) _mmxext=yes ;;
1212 --disable-mmxext) _mmxext=no ;;
1213 --enable-3dnow) _3dnow=yes ;;
1214 --disable-3dnow) _3dnow=no _3dnowext=no ;;
1215 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
1216 --disable-3dnowext) _3dnowext=no ;;
1217 --enable-cmov) _cmov=yes ;;
1218 --disable-cmov) _cmov=no ;;
1219 --enable-fast-cmov) _fast_cmov=yes ;;
1220 --disable-fast-cmov) _fast_cmov=no ;;
1221 --enable-altivec) _altivec=yes ;;
1222 --disable-altivec) _altivec=no ;;
1223 --enable-armv5te) _armv5te=yes ;;
1224 --disable-armv5te) _armv5te=no ;;
1225 --enable-armv6) _armv6=yes ;;
1226 --disable-armv6) _armv6=no ;;
1227 --enable-iwmmxt) _iwmmxt=yes ;;
1228 --disable-iwmmxt) _iwmmxt=no ;;
1229 --enable-mmx) _mmx=yes ;;
1230 --disable-mmx) # 3Dnow! and MMX2 require MMX
1231 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
1234 echo "Unknown parameter: $ac_option"
1235 exit 1
1238 esac
1239 done
1241 # Atmos: moved this here, to be correct, if --prefix is specified
1242 test -z "$_bindir" && _bindir="$_prefix/bin"
1243 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1244 test -z "$_mandir" && _mandir="$_prefix/share/man"
1245 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1246 test -z "$_libdir" && _libdir="$_prefix/lib"
1248 # Determine our OS name and CPU architecture
1249 if test -z "$_target" ; then
1250 # OS name
1251 system_name=`uname -s 2>&1`
1252 case "$system_name" in
1253 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
1255 IRIX*)
1256 system_name=IRIX
1258 GNU/kFreeBSD)
1259 system_name=FreeBSD
1261 HP-UX*)
1262 system_name=HP-UX
1264 [cC][yY][gG][wW][iI][nN]*)
1265 system_name=CYGWIN
1267 MINGW32*)
1268 system_name=MINGW32
1270 OS/2*)
1271 system_name=OS/2
1274 system_name="$system_name-UNKNOWN"
1276 esac
1279 # host's CPU/instruction set
1280 host_arch=`uname -p 2>&1`
1281 case "$host_arch" in
1282 i386|sparc|ppc|alpha|arm|sh3|mips|vax)
1284 powerpc) # Darwin returns 'powerpc'
1285 host_arch=ppc
1287 *) # uname -p on Linux returns 'unknown' for the processor type,
1288 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1290 # Maybe uname -m (machine hardware name) returns something we
1291 # recognize.
1293 # x86/x86pc is used by QNX
1294 case "`uname -m 2>&1`" in
1295 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 ;;
1296 ia64) host_arch=ia64 ;;
1297 x86_64|amd64)
1298 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
1299 -z "`echo $CFLAGS | grep -- -m32`" ]; then
1300 host_arch=x86_64
1301 else
1302 host_arch=i386
1305 macppc|ppc|ppc64) host_arch=ppc ;;
1306 alpha) host_arch=alpha ;;
1307 sparc) host_arch=sparc ;;
1308 sparc64) host_arch=sparc64 ;;
1309 parisc*|hppa*|9000*) host_arch=hppa ;;
1310 arm*|zaurus|cats) host_arch=arm ;;
1311 sh3) host_arch=sh3 ;;
1312 s390) host_arch=s390 ;;
1313 s390x) host_arch=s390x ;;
1314 mips*) host_arch=mips ;;
1315 vax) host_arch=vax ;;
1316 xtensa*) host_arch=xtensa ;;
1317 *) host_arch=UNKNOWN ;;
1318 esac
1320 esac
1321 else # if test -z "$_target"
1322 system_name=`echo $_target | cut -d '-' -f 2`
1323 case "`echo $system_name | tr A-Z a-z`" in
1324 linux) system_name=Linux ;;
1325 freebsd) system_name=FreeBSD ;;
1326 gnu/kfreebsd) system_name=FreeBSD ;;
1327 netbsd) system_name=NetBSD ;;
1328 bsd/os) system_name=BSD/OS ;;
1329 openbsd) system_name=OpenBSD ;;
1330 dragonfly) system_name=DragonFly ;;
1331 sunos) system_name=SunOS ;;
1332 qnx) system_name=QNX ;;
1333 morphos) system_name=MorphOS ;;
1334 amigaos) system_name=AmigaOS ;;
1335 mingw32msvc) system_name=MINGW32 ;;
1336 esac
1337 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1338 host_arch=`echo $_target | cut -d '-' -f 1`
1339 if test `echo $host_arch` != "x86_64" ; then
1340 host_arch=`echo $host_arch | tr '_' '-'`
1344 echo "Detected operating system: $system_name"
1345 echo "Detected host architecture: $host_arch"
1347 if test "$_runtime_cpudetection" = yes && ! x86 && ! ppc; then
1348 die "Runtime CPU detection only works for x86, x86-64 and PPC!"
1352 _timer=timer-linux.c
1353 _getch=getch2.c
1354 if freebsd ; then
1355 _ld_extra="$_ld_extra -L/usr/local/lib"
1356 _inc_extra="$_inc_extra -I/usr/local/include"
1359 if netbsd || dragonfly ; then
1360 _ld_extra="$_ld_extra -L/usr/pkg/lib"
1361 _inc_extra="$_inc_extra -I/usr/pkg/include"
1364 if darwin; then
1365 _ld_extra="$_ld_extra -L/usr/local/lib"
1366 _inc_extra="$_inc_extra -I/usr/local/include"
1367 _timer=timer-darwin.c
1370 if aix ; then
1371 _ld_extra="$_ld_extra -lC"
1374 if irix ; then
1375 _ranlib='ar -r'
1376 elif linux ; then
1377 _ranlib='true'
1380 if win32 ; then
1381 _exesuf=".exe"
1382 # -lwinmm is always needed for osdep/timer-win2.c
1383 _ld_extra="$_ld_extra -lwinmm"
1384 _pe_executable=yes
1385 _timer=timer-win2.c
1388 if mingw32 ; then
1389 _getch=getch2-win.c
1390 _need_shmem=no
1393 if cygwin ; then
1394 _def_confwin32='#define WIN32'
1397 if amigaos ; then
1398 _select=no
1399 _sighandler=no
1400 _stream_cache=no
1401 _def_stream_cache="#undef CONFIG_STREAM_CACHE"
1404 if qnx ; then
1405 _ld_extra="$_ld_extra -lph"
1408 if os2 ; then
1409 _exesuf=".exe"
1410 _getch=getch2-os2.c
1411 _need_shmem=no
1414 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1415 test "$I" && break
1416 done
1419 TMPLOG="configure.log"
1420 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
1421 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
1422 TMPEXE="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1423 TMPH="$I/mplayer-conf-$RANDOM-$$.h"
1424 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
1426 rm -f "$TMPLOG"
1427 echo configuration: $_configuration > "$TMPLOG"
1428 echo >> "$TMPLOG"
1431 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
1432 # if used as 'head -1' instead of 'head -n 1', but older versions don't
1433 # know about '-n'.
1434 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
1435 _head() { head -$1 2>/dev/null ; }
1436 else
1437 _head() { head -n $1 2>/dev/null ; }
1439 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
1440 _tail() { tail -$1 2>/dev/null ; }
1441 else
1442 _tail() { tail -n $1 2>/dev/null ; }
1445 # Checking CC version...
1446 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1447 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
1448 echocheck "$_cc version"
1449 cc_vendor=intel
1450 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
1451 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
1452 _cc_major=`echo $cc_version | cut -d '.' -f 1`
1453 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
1454 # TODO verify older icc/ecc compatibility
1455 case $cc_version in
1457 cc_version="v. ?.??, bad"
1458 cc_fail=yes
1460 10.1)
1461 cc_version="$cc_version, ok"
1464 cc_version="$cc_version, bad"
1465 cc_fail=yes
1467 esac
1468 echores "$cc_version"
1469 else
1470 for _cc in "$_cc" cc gcc ; do
1471 cc_name_tmp=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
1472 if test "$cc_name_tmp" = "gcc"; then
1473 cc_name=$cc_name_tmp
1474 echocheck "$_cc version"
1475 cc_vendor=gnu
1476 cc_version=`$_cc -dumpversion 2>&1`
1477 case $cc_version in
1478 2.96*)
1479 cc_fail=yes
1482 _cc_major=`echo $cc_version | cut -d '.' -f 1`
1483 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
1484 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
1486 esac
1487 echores "$cc_version"
1488 break
1490 done
1491 fi # icc
1492 test "$cc_fail" = yes && die "unsupported compiler version"
1494 echocheck "host cc"
1495 test "$_host_cc" || _host_cc=$_cc
1496 echores $_host_cc
1498 echocheck "cross compilation"
1499 if test $_cross_compile = auto ; then
1500 cat > $TMPC << EOF
1501 int main(void) { return 0; }
1503 _cross_compile=yes
1504 cc_check && "$TMPEXE" && _cross_compile=no
1506 echores $_cross_compile
1508 if test $_cross_compile = yes; then
1509 tmp_run() {
1510 return 0
1514 # ---
1516 # now that we know what compiler should be used for compilation, try to find
1517 # out which assembler is used by the $_cc compiler
1518 if test "$_as" = auto ; then
1519 _as=`$_cc -print-prog-name=as`
1520 test -z "$_as" && _as=as
1523 # XXX: this should be ok..
1524 _cpuinfo="echo"
1526 if test "$_runtime_cpudetection" = no ; then
1528 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1529 # FIXME: Remove the cygwin check once AMD CPUs are supported
1530 if test -r /proc/cpuinfo && ! cygwin; then
1531 # Linux with /proc mounted, extract CPU information from it
1532 _cpuinfo="cat /proc/cpuinfo"
1533 elif test -r /compat/linux/proc/cpuinfo && ! x86_32 ; then
1534 # FreeBSD with Linux emulation /proc mounted,
1535 # extract CPU information from it
1536 _cpuinfo="cat /compat/linux/proc/cpuinfo"
1537 elif darwin && ! x86_32 ; then
1538 # use hostinfo on Darwin
1539 _cpuinfo="hostinfo"
1540 elif aix; then
1541 # use 'lsattr' on AIX
1542 _cpuinfo="lsattr -E -l proc0 -a type"
1543 elif x86; then
1544 # all other OSes try to extract CPU information from a small helper
1545 # program cpuinfo instead
1546 $_cc -o cpuinfo$_exesuf cpuinfo.c
1547 _cpuinfo="./cpuinfo$_exesuf"
1550 if x86 ; then
1551 # gather more CPU information
1552 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
1553 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1554 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1555 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1556 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1558 exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
1560 pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1561 -e s/xmm/sse/ -e s/kni/sse/`
1563 for ext in $pparam ; do
1564 eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
1565 done
1567 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1568 test $_sse = kernel_check && _mmxext=kernel_check
1570 echocheck "CPU vendor"
1571 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
1573 echocheck "CPU type"
1574 echores "$pname"
1577 fi # test "$_runtime_cpudetection" = no
1579 if x86 && test "$_runtime_cpudetection" = no ; then
1580 extcheck() {
1581 if test "$1" = kernel_check ; then
1582 echocheck "kernel support of $2"
1583 cat > $TMPC <<EOF
1584 #include <stdlib.h>
1585 #include <signal.h>
1586 void catch() { exit(1); }
1587 int main(void) {
1588 signal(SIGILL, catch);
1589 __asm__ __volatile__ ("$3":::"memory"); return 0;
1593 if cc_check && tmp_run ; then
1594 eval _$2=yes
1595 echores "yes"
1596 _optimizing="$_optimizing $2"
1597 return 0
1598 else
1599 eval _$2=no
1600 echores "failed"
1601 echo "It seems that your kernel does not correctly support $2."
1602 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1603 return 1
1606 return 0
1609 extcheck $_mmx "mmx" "emms"
1610 extcheck $_mmxext "mmxext" "sfence"
1611 extcheck $_3dnow "3dnow" "femms"
1612 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1613 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
1614 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
1615 extcheck $_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1616 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx"
1618 echocheck "mtrr support"
1619 if test "$_mtrr" = kernel_check ; then
1620 _mtrr="yes"
1621 _optimizing="$_optimizing mtrr"
1623 echores "$_mtrr"
1625 if test "$_gcc3_ext" != ""; then
1626 # if we had to disable sse/sse2 because the active kernel does not
1627 # support this instruction set extension, we also have to tell
1628 # gcc3 to not generate sse/sse2 instructions for normal C code
1629 cat > $TMPC << EOF
1630 int main(void) { return 0; }
1632 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1638 _arch_all='X86 X86_32 X86_64 IA64 SPARC ARM ARMV4L SH3 POWERPC PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1639 case "$host_arch" in
1640 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
1641 _arch='X86 X86_32'
1642 _target_arch_x86="ARCH_X86 = yes"
1643 _target_arch="ARCH_X86_32 = yes"
1644 _def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1645 iproc=486
1646 proc=i486
1649 if test "$_runtime_cpudetection" = no ; then
1650 case "$pvendor" in
1651 AuthenticAMD)
1652 case "$pfamily" in
1653 3) proc=i386 iproc=386 ;;
1654 4) proc=i486 iproc=486 ;;
1655 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1656 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1657 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1658 proc=k6-3
1659 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1660 proc=geode
1661 elif test "$pmodel" -ge 8; then
1662 proc=k6-2
1663 elif test "$pmodel" -ge 6; then
1664 proc=k6
1665 else
1666 proc=i586
1669 6) iproc=686
1670 # It's a bit difficult to determine the correct type of Family 6
1671 # AMD CPUs just from their signature. Instead, we check directly
1672 # whether it supports SSE.
1673 if test "$_sse" = yes; then
1674 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1675 proc=athlon-xp
1676 else
1677 # Again, gcc treats athlon and athlon-tbird similarly.
1678 proc=athlon
1681 15) iproc=686
1682 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1683 # caught and remedied in the optimization tests below.
1684 proc=k8
1687 *) proc=k8 iproc=686 ;;
1688 esac
1690 GenuineIntel)
1691 case "$pfamily" in
1692 3) proc=i386 iproc=386 ;;
1693 4) proc=i486 iproc=486 ;;
1694 5) iproc=586
1695 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
1696 proc=pentium-mmx # 4 is desktop, 8 is mobile
1697 else
1698 proc=i586
1701 6) iproc=686
1702 if test "$pmodel" -ge 15; then
1703 proc=core2
1704 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1705 proc=pentium-m
1706 elif test "$pmodel" -ge 7; then
1707 proc=pentium3
1708 elif test "$pmodel" -ge 3; then
1709 proc=pentium2
1710 else
1711 proc=i686
1714 15) iproc=686
1715 # A nocona in 32-bit mode has no more capabilities than a prescott.
1716 if test "$pmodel" -ge 3; then
1717 proc=prescott
1718 else
1719 proc=pentium4
1721 test $_fast_cmov = "auto" && _fast_cmov=no
1723 *) proc=prescott iproc=686 ;;
1724 esac
1726 CentaurHauls)
1727 case "$pfamily" in
1728 5) iproc=586
1729 if test "$pmodel" -ge 8; then
1730 proc=winchip2
1731 elif test "$pmodel" -ge 4; then
1732 proc=winchip-c6
1733 else
1734 proc=i586
1737 6) iproc=686
1738 if test "$pmodel" -ge 9; then
1739 proc=c3-2
1740 else
1741 proc=c3
1742 iproc=586
1745 *) proc=i686 iproc=i686 ;;
1746 esac
1748 unknown)
1749 case "$pfamily" in
1750 3) proc=i386 iproc=386 ;;
1751 4) proc=i486 iproc=486 ;;
1752 *) proc=i586 iproc=586 ;;
1753 esac
1756 proc=i586 iproc=586 ;;
1757 esac
1758 fi # test "$_runtime_cpudetection" = no
1761 # check that gcc supports our CPU, if not, fall back to earlier ones
1762 # LGB: check -mcpu and -march swithing step by step with enabling
1763 # to fall back till 386.
1765 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1767 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1768 cpuopt=-mtune
1769 else
1770 cpuopt=-mcpu
1773 echocheck "GCC & CPU optimization abilities"
1774 cat > $TMPC << EOF
1775 int main(void) { return 0; }
1777 if test "$_runtime_cpudetection" = no ; then
1778 cc_check -march=native && proc=native
1779 if test "$proc" = "k8"; then
1780 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1782 if test "$proc" = "athlon-xp"; then
1783 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1785 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1786 cc_check -march=$proc $cpuopt=$proc || proc=k6
1788 if test "$proc" = "k6" || test "$proc" = "c3"; then
1789 if ! cc_check -march=$proc $cpuopt=$proc; then
1790 if cc_check -march=i586 $cpuopt=i686; then
1791 proc=i586-i686
1792 else
1793 proc=i586
1797 if test "$proc" = "prescott" ; then
1798 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1800 if test "$proc" = "core2" ; then
1801 cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
1803 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
1804 cc_check -march=$proc $cpuopt=$proc || proc=i686
1806 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1807 cc_check -march=$proc $cpuopt=$proc || proc=i586
1809 if test "$proc" = "i586"; then
1810 cc_check -march=$proc $cpuopt=$proc || proc=i486
1812 if test "$proc" = "i486" ; then
1813 cc_check -march=$proc $cpuopt=$proc || proc=i386
1815 if test "$proc" = "i386" ; then
1816 cc_check -march=$proc $cpuopt=$proc || proc=error
1818 if test "$proc" = "error" ; then
1819 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1820 _mcpu=""
1821 _march=""
1822 _optimizing=""
1823 elif test "$proc" = "i586-i686"; then
1824 _march="-march=i586"
1825 _mcpu="$cpuopt=i686"
1826 _optimizing="$proc"
1827 else
1828 _march="-march=$proc"
1829 _mcpu="$cpuopt=$proc"
1830 _optimizing="$proc"
1832 else # if test "$_runtime_cpudetection" = no
1833 _mcpu="$cpuopt=generic"
1834 # at least i486 required, for bswap instruction
1835 _march="-march=i486"
1836 cc_check $_mcpu || _mcpu="$cpuopt=i686"
1837 cc_check $_mcpu || _mcpu=""
1838 cc_check $_march $_mcpu || _march=""
1841 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1842 ## autodetected mcpu/march parameters
1843 if test "$_target" ; then
1844 # TODO: it may be a good idea to check GCC and fall back in all cases
1845 if test "$host_arch" = "i586-i686"; then
1846 _march="-march=i586"
1847 _mcpu="$cpuopt=i686"
1848 else
1849 _march="-march=$host_arch"
1850 _mcpu="$cpuopt=$host_arch"
1853 proc="$host_arch"
1855 case "$proc" in
1856 i386) iproc=386 ;;
1857 i486) iproc=486 ;;
1858 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1859 i686|athlon*|pentium*) iproc=686 ;;
1860 *) iproc=586 ;;
1861 esac
1864 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1865 _fast_cmov="yes"
1866 else
1867 _fast_cmov="no"
1870 echores "$proc"
1873 ia64)
1874 _arch='IA64'
1875 _target_arch='ARCH_IA64 = yes'
1876 iproc='ia64'
1877 proc=''
1878 _march=''
1879 _mcpu=''
1880 _optimizing=''
1883 x86_64|amd64)
1884 _arch='X86 X86_64'
1885 _target_arch='ARCH_X86_64 = yes'
1886 _target_arch_x86="ARCH_X86 = yes"
1887 _def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1888 iproc='x86_64'
1890 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1891 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1892 cpuopt=-mtune
1893 else
1894 cpuopt=-mcpu
1896 if test "$_runtime_cpudetection" = no ; then
1897 case "$pvendor" in
1898 AuthenticAMD)
1899 proc=k8;;
1900 GenuineIntel)
1901 case "$pfamily" in
1902 6) proc=core2;;
1904 # 64-bit prescotts exist, but as far as GCC is concerned they
1905 # have the same capabilities as a nocona.
1906 proc=nocona
1907 test $_fast_cmov = "auto" && _fast_cmov=no
1909 esac
1912 proc=error;;
1913 esac
1914 fi # test "$_runtime_cpudetection" = no
1916 echocheck "GCC & CPU optimization abilities"
1917 cat > $TMPC << EOF
1918 int main(void) { return 0; }
1920 # This is a stripped-down version of the i386 fallback.
1921 if test "$_runtime_cpudetection" = no ; then
1922 cc_check -march=native && proc=native
1923 # --- AMD processors ---
1924 if test "$proc" = "k8"; then
1925 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1927 # This will fail if gcc version < 3.3, which is ok because earlier
1928 # versions don't really support 64-bit on amd64.
1929 # Is this a valid assumption? -Corey
1930 if test "$proc" = "athlon-xp"; then
1931 cc_check -march=$proc $cpuopt=$proc || proc=error
1933 # --- Intel processors ---
1934 if test "$proc" = "core2"; then
1935 cc_check -march=$proc $cpuopt=$proc || proc=nocona
1937 if test "$proc" = "nocona"; then
1938 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1940 if test "$proc" = "pentium4"; then
1941 cc_check -march=$proc $cpuopt=$proc || proc=error
1944 _march="-march=$proc"
1945 _mcpu="$cpuopt=$proc"
1946 if test "$proc" = "error" ; then
1947 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1948 _mcpu=""
1949 _march=""
1951 else # if test "$_runtime_cpudetection" = no
1952 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1953 _march="-march=x86-64"
1954 _mcpu="$cpuopt=generic"
1955 cc_check $_mcpu || _mcpu="x86-64"
1956 cc_check $_mcpu || _mcpu=""
1957 cc_check $_march $_mcpu || _march=""
1960 _optimizing=""
1962 echores "$proc"
1965 sparc)
1966 _arch='SPARC'
1967 _target_arch='ARCH_SPARC = yes'
1968 iproc='sparc'
1969 if sunos ; then
1970 echocheck "CPU type"
1971 karch=`uname -m`
1972 case "`echo $karch`" in
1973 sun4) proc=v7 ;;
1974 sun4c) proc=v7 ;;
1975 sun4d) proc=v8 ;;
1976 sun4m) proc=v8 ;;
1977 sun4u) proc=ultrasparc _vis='yes' ;;
1978 sun4v) proc=v9 ;;
1979 *) proc=v8 ;;
1980 esac
1981 echores "$proc"
1982 else
1983 proc=v8
1985 _march=''
1986 _mcpu="-mcpu=$proc"
1987 _optimizing="$proc"
1990 sparc64)
1991 _arch='SPARC'
1992 _target_arch='ARCH_SPARC = yes'
1993 _vis='yes'
1994 iproc='sparc'
1995 proc='ultrasparc'
1996 _march=''
1997 _mcpu="-mcpu=$proc"
1998 _optimizing="$proc"
2001 arm|armv4l|armv5tel)
2002 _arch='ARM ARMV4L'
2003 _target_arch='ARCH_ARMV4L = yes'
2004 iproc='arm'
2005 proc=''
2006 _march=''
2007 _mcpu=''
2008 _optimizing=''
2011 sh3)
2012 _arch='SH3'
2013 _target_arch='ARCH_SH3 = yes'
2014 iproc='sh3'
2015 proc=''
2016 _march='-m3'
2017 _mcpu='-ml'
2018 _optimizing=''
2021 ppc|powerpc)
2022 _arch='POWERPC PPC'
2023 _def_dcbzl='#undef HAVE_DCBZL'
2024 _target_arch='ARCH_POWERPC = yes'
2025 iproc='ppc'
2026 proc=''
2027 _march=''
2028 _mcpu=''
2029 _optimizing=''
2031 echocheck "CPU type"
2032 case $system_name in
2033 Linux)
2034 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
2035 if test -n "`$_cpuinfo | grep altivec`"; then
2036 test $_altivec = auto && _altivec=yes
2039 Darwin)
2040 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
2041 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
2042 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
2043 test $_altivec = auto && _altivec=yes
2046 NetBSD)
2047 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2048 case $cc_version in
2049 2*|3.0*|3.1*|3.2*|3.3*)
2052 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
2053 test $_altivec = auto && _altivec=yes
2056 esac
2058 AIX)
2059 proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
2061 esac
2062 if test "$_altivec" = yes; then
2063 echores "$proc altivec"
2064 else
2065 _altivec=no
2066 echores "$proc"
2069 echocheck "GCC & CPU optimization abilities"
2071 if test -n "$proc"; then
2072 case "$proc" in
2073 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
2074 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
2075 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
2076 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
2077 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
2078 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
2079 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
2080 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
2081 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
2082 *) ;;
2083 esac
2084 # gcc 3.1(.1) and up supports 7400 and 7450
2085 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
2086 case "$proc" in
2087 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
2088 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
2089 *) ;;
2090 esac
2092 # gcc 3.2 and up supports 970
2093 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2094 case "$proc" in
2095 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
2096 _def_dcbzl='#define HAVE_DCBZL 1' ;;
2097 *) ;;
2098 esac
2100 # gcc 3.3 and up supports POWER4
2101 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2102 case "$proc" in
2103 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
2104 *) ;;
2105 esac
2107 # gcc 3.4 and up supports 440*
2108 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
2109 case "$proc" in
2110 440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
2111 440G* ) _march='-mcpu=440' _mcpu='-mtune=440' ;;
2112 *) ;;
2113 esac
2115 # gcc 4.0 and up supports POWER5
2116 if test "$_cc_major" -ge "4"; then
2117 case "$proc" in
2118 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
2119 *) ;;
2120 esac
2124 if test -n "$_mcpu"; then
2125 _optimizing=`echo $_mcpu | cut -c 8-`
2126 echores "$_optimizing"
2127 else
2128 echores "none"
2133 alpha)
2134 _arch='ALPHA'
2135 _target_arch='ARCH_ALPHA = yes'
2136 iproc='alpha'
2137 _march=''
2139 echocheck "CPU type"
2140 cat > $TMPC << EOF
2141 int main(void) {
2142 unsigned long ver, mask;
2143 asm ("implver %0" : "=r" (ver));
2144 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
2145 printf("%ld-%x\n", ver, ~mask);
2146 return 0;
2149 $_cc -o "$TMPEXE" "$TMPC"
2150 case `"$TMPEXE"` in
2152 0-0) proc="ev4"; _mvi="0";;
2153 1-0) proc="ev5"; _mvi="0";;
2154 1-1) proc="ev56"; _mvi="0";;
2155 1-101) proc="pca56"; _mvi="1";;
2156 2-303) proc="ev6"; _mvi="1";;
2157 2-307) proc="ev67"; _mvi="1";;
2158 2-1307) proc="ev68"; _mvi="1";;
2159 esac
2160 echores "$proc"
2162 echocheck "GCC & CPU optimization abilities"
2163 if test "$proc" = "ev68" ; then
2164 cc_check -mcpu=$proc || proc=ev67
2166 if test "$proc" = "ev67" ; then
2167 cc_check -mcpu=$proc || proc=ev6
2169 _mcpu="-mcpu=$proc"
2170 echores "$proc"
2172 _optimizing="$proc"
2175 mips)
2176 _arch='SGI_MIPS'
2177 _target_arch='ARCH_SGI_MIPS = yes'
2178 iproc='sgi-mips'
2179 proc=''
2180 _march=''
2181 _mcpu=''
2182 _optimizing=''
2184 if irix ; then
2185 echocheck "CPU type"
2186 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
2187 case "`echo $proc`" in
2188 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
2189 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
2190 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
2191 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
2192 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
2193 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
2194 esac
2195 # gcc < 3.x does not support -mtune.
2196 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2197 _mcpu=''
2199 echores "$proc"
2204 hppa)
2205 _arch='PA_RISC'
2206 _target_arch='ARCH_PA_RISC = yes'
2207 iproc='PA-RISC'
2208 proc=''
2209 _march=''
2210 _mcpu=''
2211 _optimizing=''
2214 s390)
2215 _arch='S390'
2216 _target_arch='ARCH_S390 = yes'
2217 iproc='390'
2218 proc=''
2219 _march=''
2220 _mcpu=''
2221 _optimizing=''
2224 s390x)
2225 _arch='S390X'
2226 _target_arch='ARCH_S390X = yes'
2227 iproc='390x'
2228 proc=''
2229 _march=''
2230 _mcpu=''
2231 _optimizing=''
2234 vax)
2235 _arch='VAX'
2236 _target_arch='ARCH_VAX = yes'
2237 iproc='vax'
2238 proc=''
2239 _march=''
2240 _mcpu=''
2241 _optimizing=''
2244 xtensa)
2245 _arch='XTENSA'
2246 _target_arch='ARCH_XTENSA = yes'
2247 iproc='xtensa'
2248 proc=''
2249 _march=''
2250 _mcpu=''
2251 _optimizing=''
2254 generic)
2255 _arch='GENERIC'
2256 _target_arch='ARCH_GENERIC = yes'
2257 iproc=''
2258 proc=''
2259 _march=''
2260 _mcpu=''
2261 _optimizing=''
2265 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2266 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2267 die "unsupported architecture $host_arch"
2269 esac # case "$host_arch" in
2271 if test "$_runtime_cpudetection" = yes ; then
2272 if x86 ; then
2273 test "$_cmov" != no && _cmov=yes
2274 x86_32 && _cmov=no
2275 test "$_mmx" != no && _mmx=yes
2276 test "$_3dnow" != no && _3dnow=yes
2277 test "$_3dnowext" != no && _3dnowext=yes
2278 test "$_mmxext" != no && _mmxext=yes
2279 test "$_sse" != no && _sse=yes
2280 test "$_sse2" != no && _sse2=yes
2281 test "$_ssse3" != no && _ssse3=yes
2282 test "$_mtrr" != no && _mtrr=yes
2284 if ppc; then
2285 _altivec=yes
2290 echocheck "extern symbol prefix"
2291 cat > $TMPC << EOF
2292 int ff_extern;
2294 cc_check -c || die "Symbol mangling check failed."
2295 sym=$(nm -P -g $TMPEXE)
2296 extern_prefix=${sym%%ff_extern*}
2297 _def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
2298 echores $extern_prefix
2301 echocheck "assembler support of -pipe option"
2302 cat > $TMPC << EOF
2303 int main(void) { return 0; }
2305 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
2308 echocheck "compiler support of named assembler arguments"
2309 _named_asm_args=yes
2310 _def_named_asm_args="#define NAMED_ASM_ARGS 1"
2311 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2312 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2313 _named_asm_args=no
2314 _def_named_asm_args="#undef NAMED_ASM_ARGS"
2316 echores $_named_asm_args
2319 if darwin && test "$cc_vendor" = "gnu" ; then
2320 echocheck "GCC support of -mstackrealign"
2321 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2322 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2323 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2324 # wrong code with this flag, but this can be worked around by adding
2325 # -fno-unit-at-a-time as described in the blog post at
2326 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2327 cat > $TMPC << EOF
2328 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2329 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2331 cc_check -O4 -mstackrealign && tmp_run && _stackrealign=-mstackrealign
2332 test -z "$_stackrealign" && cc_check -O4 -mstackrealign -fno-unit-at-a-time \
2333 && tmp_run && _stackrealign="-mstackrealign -fno-unit-at-a-time"
2334 test -n "$_stackrealign" && echores "yes" || echores "no"
2335 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2338 # Checking for CFLAGS
2339 _install_strip="-s"
2340 if test "$_profile" != "" || test "$_debug" != "" ; then
2341 CFLAGS="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2342 _install_strip=
2343 elif test -z "$CFLAGS" ; then
2344 if test "$cc_vendor" = "intel" ; then
2345 CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2346 elif test "$cc_vendor" != "gnu" ; then
2347 CFLAGS="-O2 $_march $_mcpu $_pipe"
2348 else
2349 CFLAGS="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2351 else
2352 _warn_CFLAGS=yes
2354 if test -n "$LDFLAGS" ; then
2355 _ld_extra="$_ld_extra $LDFLAGS"
2356 _warn_CFLAGS=yes
2357 elif test "$cc_vendor" = "intel" ; then
2358 _ld_extra="$_ld_extra -i-static"
2360 if test -n "$CPPFLAGS" ; then
2361 _inc_extra="$_inc_extra $CPPFLAGS"
2362 _warn_CFLAGS=yes
2367 if x86_32 ; then
2368 # Checking assembler (_as) compatibility...
2369 # Added workaround for older as that reads from stdin by default - atmos
2370 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2371 echocheck "assembler ($_as $as_version)"
2373 _pref_as_version='2.9.1'
2374 echo 'nop' > $TMPS
2375 if test "$_mmx" = yes ; then
2376 echo 'emms' >> $TMPS
2378 if test "$_3dnow" = yes ; then
2379 _pref_as_version='2.10.1'
2380 echo 'femms' >> $TMPS
2382 if test "$_3dnowext" = yes ; then
2383 _pref_as_version='2.10.1'
2384 echo 'pswapd %mm0, %mm0' >> $TMPS
2386 if test "$_mmxext" = yes ; then
2387 _pref_as_version='2.10.1'
2388 echo 'movntq %mm0, (%eax)' >> $TMPS
2390 if test "$_sse" = yes ; then
2391 _pref_as_version='2.10.1'
2392 echo 'xorps %xmm0, %xmm0' >> $TMPS
2394 #if test "$_sse2" = yes ; then
2395 # _pref_as_version='2.11'
2396 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2398 if test "$_cmov" = yes ; then
2399 _pref_as_version='2.10.1'
2400 echo 'cmovb %eax, %ebx' >> $TMPS
2402 if test "$_ssse3" = yes ; then
2403 _pref_as_version='2.16.92'
2404 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2406 $_as $TMPS -o $TMPEXE > /dev/null 2>&1 || as_verc_fail=yes
2408 if test "$as_verc_fail" != yes ; then
2409 echores "ok"
2410 else
2411 _res_comment="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2412 echores "failed"
2413 die "obsolete binutils version"
2416 fi #if x86_32
2418 echocheck ".align is a power of two"
2419 if test "$_asmalign_pot" = auto ; then
2420 _asmalign_pot=no
2421 cat > $TMPC << EOF
2422 int main(void) { asm (".align 3"); return 0; }
2424 cc_check && _asmalign_pot=yes
2426 if test "$_asmalign_pot" = "yes" ; then
2427 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2428 else
2429 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2431 echores $_asmalign_pot
2434 #FIXME: This should happen before the check for CFLAGS..
2435 if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
2437 # check if AltiVec is supported by the compiler, and how to enable it
2438 echocheck "GCC AltiVec flags"
2439 cat > $TMPC << EOF
2440 int main(void) { return 0; }
2442 if $(cc_check -maltivec -mabi=altivec) ; then
2443 _altivec_gcc_flags="-maltivec -mabi=altivec"
2444 # check if <altivec.h> should be included
2445 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2446 cat > $TMPC << EOF
2447 #include <altivec.h>
2448 int main(void) { return 0; }
2450 if $(cc_check $_altivec_gcc_flags) ; then
2451 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2452 inc_altivec_h='#include <altivec.h>'
2453 else
2454 cat > $TMPC << EOF
2455 int main(void) { return 0; }
2457 if $(cc_check -faltivec) ; then
2458 _altivec_gcc_flags="-faltivec"
2459 else
2460 _altivec=no
2461 _altivec_gcc_flags="none, AltiVec disabled"
2465 echores "$_altivec_gcc_flags"
2467 # check if the compiler supports braces for vector declarations
2468 cat > $TMPC << EOF
2469 $inc_altivec_h
2470 int main(void) { (vector int) {1}; return 0; }
2472 cc_check $_altivec_gcc_flags || die "You need a compiler that supports {} in AltiVec vector declarations."
2474 # Disable runtime cpudetection if we cannot generate AltiVec code or
2475 # AltiVec is disabled by the user.
2476 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2477 && _runtime_cpudetection=no
2479 # Show that we are optimizing for AltiVec (if enabled and supported).
2480 test "$_runtime_cpudetection" = no && test "$_altivec" = yes \
2481 && _optimizing="$_optimizing altivec"
2483 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2484 test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"
2487 if arm ; then
2488 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2489 if test $_armv5te = "auto" ; then
2490 cat > $TMPC << EOF
2491 int main(void) { __asm__ __volatile__ ("qadd r0, r0, r0"); return 0; }
2493 _armv5te=no
2494 cc_check && _armv5te=yes
2496 echores "$_armv5te"
2498 echocheck "ARMv6 (SIMD instructions)"
2499 if test $_armv6 = "auto" ; then
2500 cat > $TMPC << EOF
2501 int main(void) { __asm__ __volatile__ ("sadd16 r0, r0, r0"); return 0; }
2503 _armv6=no
2504 cc_check && _armv6=yes
2506 echores "$_armv6"
2508 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2509 if test $_iwmmxt = "auto" ; then
2510 cat > $TMPC << EOF
2511 int main(void) { __asm__ __volatile__ ("wunpckelub wr6, wr4"); return 0; }
2513 _iwmmxt=no
2514 cc_check && _iwmmxt=yes
2516 echores "$_iwmmxt"
2519 _cpuexts_all='ALTIVEC MMX MMX2 3DNOW 3DNOWEX SSE SSE2 SSSE3 FAST_CMOV CMOV ARMV5TE ARMV6 IWMMXT MLIB MMI SH4 VIS MVI'
2520 test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts"
2521 test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
2522 test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
2523 test "$_3dnow" = yes && _cpuexts="3DNOW $_cpuexts"
2524 test "$_3dnowext" = yes && _cpuexts="3DNOWEX $_cpuexts"
2525 test "$_sse" = yes && _cpuexts="SSE $_cpuexts"
2526 test "$_sse2" = yes && _cpuexts="SSE2 $_cpuexts"
2527 test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
2528 test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
2529 test "$_fast_cmov" = yes && _cpuexts="FAST_CMOV $_cpuexts"
2530 test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
2531 test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
2532 test "$_iwmmxt" = yes && _cpuexts="IWMMXT $_cpuexts"
2533 test "$_vis" = yes && _cpuexts="VIS $_cpuexts"
2534 test "$_mvi" = yes && _cpuexts="MVI $_cpuexts"
2536 # Checking kernel version...
2537 if x86_32 && linux ; then
2538 _k_verc_problem=no
2539 kernel_version=`uname -r 2>&1`
2540 echocheck "$system_name kernel version"
2541 case "$kernel_version" in
2542 '') kernel_version="?.??"; _k_verc_fail=yes;;
2543 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2544 _k_verc_problem=yes;;
2545 esac
2546 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2547 _k_verc_fail=yes
2549 if test "$_k_verc_fail" ; then
2550 echores "$kernel_version, fail"
2551 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2552 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2553 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2554 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2555 echo "2.2.x you must upgrade it to get SSE support!"
2556 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2557 else
2558 echores "$kernel_version, ok"
2562 ######################
2563 # MAIN TESTS GO HERE #
2564 ######################
2567 echocheck "-lposix"
2568 cat > $TMPC <<EOF
2569 int main(void) { return 0; }
2571 if cc_check -lposix ; then
2572 _ld_extra="$_ld_extra -lposix"
2573 echores "yes"
2574 else
2575 echores "no"
2578 echocheck "-lm"
2579 cat > $TMPC <<EOF
2580 int main(void) { return 0; }
2582 if cc_check -lm ; then
2583 _ld_lm="-lm"
2584 echores "yes"
2585 else
2586 _ld_lm=""
2587 echores "no"
2591 echocheck "langinfo"
2592 if test "$_langinfo" = auto ; then
2593 cat > $TMPC <<EOF
2594 #include <langinfo.h>
2595 int main(void) { nl_langinfo(CODESET); return 0; }
2597 _langinfo=no
2598 cc_check && _langinfo=yes
2600 if test "$_langinfo" = yes ; then
2601 _def_langinfo='#define CONFIG_LANGINFO 1'
2602 else
2603 _def_langinfo='#undef CONFIG_LANGINFO'
2605 echores "$_langinfo"
2608 echocheck "language"
2609 test -z "$_language" && _language=$LINGUAS
2610 _language=`echo $_language | tr , " "`
2611 if $(echo $_language | grep -q all) ; then
2612 doc_lang=en ; doc_langs=$doc_lang_all
2613 man_lang=en ; man_langs=$man_lang_all
2614 msg_lang=en
2615 else
2616 for lang in $_language ; do
2617 if test -d DOCS/man/$lang ; then
2618 tmp_man_langs="$tmp_man_langs $lang"
2620 if test -d DOCS/xml/$lang ; then
2621 tmp_doc_langs="$tmp_doc_langs $lang"
2623 done
2624 man_langs=$tmp_man_langs
2625 doc_langs=$tmp_man_langs
2626 for lang in $_language ; do
2627 if test -f "help/help_mp-${lang}.h" ; then
2628 msg_lang=$lang
2629 break
2630 else
2631 echo ${_echo_n} "$lang not found, ${_echo_c}"
2632 _language=`echo $_language | sed "s/$lang *//"`
2634 done
2636 test -z "$doc_langs" && doc_langs=en
2637 test -z "$man_langs" && man_langs=en
2638 test -z "$doc_lang" && doc_lang=$(echo $doc_langs | cut -f1 -d" ")
2639 test -z "$man_lang" && man_lang=$(echo $man_langs | cut -f1 -d" ")
2640 test -z "$msg_lang" && msg_lang=en
2641 _mp_help="help/help_mp-${msg_lang}.h"
2642 echores "messages: $msg_lang - man pages: $man_langs - documentation: $doc_langs"
2645 echocheck "enable sighandler"
2646 if test "$_sighandler" = yes ; then
2647 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2648 else
2649 _def_sighandler='#undef ENABLE_SIGHANDLER'
2651 echores "$_sighandler"
2653 echocheck "runtime cpudetection"
2654 if test "$_runtime_cpudetection" = yes ; then
2655 _optimizing="Runtime CPU-Detection enabled"
2656 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2657 else
2658 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2660 echores "$_runtime_cpudetection"
2663 echocheck "restrict keyword"
2664 for restrict_keyword in restrict __restrict __restrict__ ; do
2665 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2666 if cc_check; then
2667 _def_restrict_keyword=$restrict_keyword
2668 break;
2670 done
2671 if [ -n "$_def_restrict_keyword" ]; then
2672 echores "$_def_restrict_keyword"
2673 else
2674 echores "none"
2676 # Avoid infinite recursion loop ("#define restrict restrict")
2677 if [ "$_def_restrict_keyword" != "restrict" ]; then
2678 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2679 else
2680 _def_restrict_keyword=""
2684 echocheck "__builtin_expect"
2685 # GCC branch prediction hint
2686 cat > $TMPC << EOF
2687 int foo (int a) {
2688 a = __builtin_expect (a, 10);
2689 return a == 10 ? 0 : 1;
2691 int main(void) { return foo(10) && foo(0); }
2693 _builtin_expect=no
2694 cc_check && _builtin_expect=yes
2695 if test "$_builtin_expect" = yes ; then
2696 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2697 else
2698 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2700 echores "$_builtin_expect"
2703 echocheck "kstat"
2704 cat > $TMPC << EOF
2705 #include <kstat.h>
2706 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2708 _kstat=no
2709 cc_check -lkstat && _kstat=yes
2710 if test "$_kstat" = yes ; then
2711 _def_kstat="#define HAVE_LIBKSTAT 1"
2712 _ld_extra="$_ld_extra -lkstat"
2713 else
2714 _def_kstat="#undef HAVE_LIBKSTAT"
2716 echores "$_kstat"
2719 echocheck "posix4"
2720 # required for nanosleep on some systems
2721 cat > $TMPC << EOF
2722 #include <time.h>
2723 int main(void) { (void) nanosleep(0, 0); return 0; }
2725 _posix4=no
2726 cc_check -lposix4 && _posix4=yes
2727 if test "$_posix4" = yes ; then
2728 _ld_extra="$_ld_extra -lposix4"
2730 echores "$_posix4"
2732 for func in llrint lrint lrintf round roundf; do
2733 echocheck $func
2734 cat > $TMPC << EOF
2735 #include <math.h>
2736 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
2738 eval _$func=no
2739 cc_check -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes
2740 if eval test "x\$_$func" = "xyes"; then
2741 eval _def_$func="\"#define HAVE_`echo $func | tr '[a-z]' '[A-Z]'` 1\""
2742 echores yes
2743 else
2744 eval _def_$func="\"#undef HAVE_`echo $func | tr '[a-z]' '[A-Z]'`\""
2745 echores no
2747 done
2750 echocheck "mkstemp"
2751 cat > $TMPC << EOF
2752 #include <stdlib.h>
2753 int main(void) { char a; mkstemp(&a); return 0; }
2755 _mkstemp=no
2756 cc_check && _mkstemp=yes
2757 if test "$_mkstemp" = yes ; then
2758 _def_mkstemp='#define HAVE_MKSTEMP 1'
2759 else
2760 _def_mkstemp='#undef HAVE_MKSTEMP'
2762 echores "$_mkstemp"
2765 echocheck "nanosleep"
2766 # also check for nanosleep
2767 cat > $TMPC << EOF
2768 #include <time.h>
2769 int main(void) { (void) nanosleep(0, 0); return 0; }
2771 _nanosleep=no
2772 cc_check && _nanosleep=yes
2773 if test "$_nanosleep" = yes ; then
2774 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2775 else
2776 _def_nanosleep='#undef HAVE_NANOSLEEP'
2778 echores "$_nanosleep"
2781 echocheck "socklib"
2782 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2783 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2784 cat > $TMPC << EOF
2785 #include <netdb.h>
2786 #include <sys/socket.h>
2787 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2789 _socklib=no
2790 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2791 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2792 done
2793 if test $_winsock2 = auto && ! cygwin ; then
2794 _winsock2=no
2795 cat > $TMPC << EOF
2796 #include <winsock2.h>
2797 int main(void) { (void) gethostbyname(0); return 0; }
2799 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2801 test "$_ld_sock" && _res_comment="using $_ld_sock"
2802 echores "$_socklib"
2805 if test $_winsock2 = yes ; then
2806 _ld_sock="-lws2_32"
2807 _def_winsock2='#define HAVE_WINSOCK2 1'
2808 else
2809 _def_winsock2='#undef HAVE_WINSOCK2'
2813 _use_aton=no
2814 echocheck "inet_pton()"
2815 cat > $TMPC << EOF
2816 #include <sys/types.h>
2817 #include <sys/socket.h>
2818 #include <arpa/inet.h>
2819 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2821 if test "$_winsock2" = yes ; then
2822 _res_comment="using winsock2 functions instead"
2823 echores "no"
2824 elif cc_check $_ld_sock ; then
2825 # NOTE: Linux has libresolv but does not need it
2827 _res_comment="using $_ld_sock"
2828 echores "yes"
2829 elif cc_check $_ld_sock -lresolv ; then
2830 # NOTE: needed for SunOS at least
2831 _ld_sock="$_ld_sock -lresolv"
2832 _res_comment="using $_ld_sock"
2833 echores "yes"
2834 else
2835 _res_comment="trying inet_aton next"
2836 echores "no"
2838 echocheck "inet_aton()"
2839 cat > $TMPC << EOF
2840 #include <sys/types.h>
2841 #include <sys/socket.h>
2842 #include <arpa/inet.h>
2843 int main(void) { (void) inet_aton(0, 0); return 0; }
2845 _use_aton=yes
2846 if cc_check $_ld_sock ; then
2847 # NOTE: Linux has libresolv but does not need it
2849 _res_comment="using $_ld_sock"
2850 elif cc_check $_ld_sock -lresolv ; then
2851 # NOTE: needed for SunOS at least
2852 _ld_sock="$_ld_sock -lresolv"
2853 _res_comment="using $_ld_sock"
2854 else
2855 _use_aton=no
2856 _network=no
2857 _res_comment="network support disabled"
2859 echores "$_use_aton"
2862 _def_use_aton='#undef CONFIG_ATON'
2863 if test "$_use_aton" = yes; then
2864 _def_use_aton='#define CONFIG_ATON 1'
2868 echocheck "socklen_t"
2869 cat > $TMPC << EOF
2870 #include <sys/socket.h>
2871 int main(void) { socklen_t v = 0; return v; }
2873 cc_check && _socklen_t=yes
2874 if test "$_socklen_t" = yes ; then
2875 _def_socklen_t='#define HAVE_SOCKLEN_T 1'
2876 else
2877 _def_socklen_t='#undef HAVE_SOCKLEN_T'
2879 echores "$_socklen_t"
2882 echocheck "network"
2883 # FIXME network check
2884 if test "$_network" = yes ; then
2885 _def_network='#define MPLAYER_NETWORK 1'
2886 _ld_extra="$_ld_extra $_ld_sock"
2887 _inputmodules="network $_inputmodules"
2888 else
2889 _noinputmodules="network $_noinputmodules"
2890 _def_network='#undef MPLAYER_NETWORK'
2891 _ftp=no
2893 echores "$_network"
2895 echocheck "inttypes.h (required)"
2896 cat > $TMPC << EOF
2897 #include <inttypes.h>
2898 int main(void) { return 0; }
2900 _inttypes=no
2901 cc_check && _inttypes=yes
2902 echores "$_inttypes"
2904 if test "$_inttypes" = no ; then
2905 echocheck "bitypes.h (inttypes.h predecessor)"
2906 cat > $TMPC << EOF
2907 #include <sys/bitypes.h>
2908 int main(void) { return 0; }
2910 cc_check && _inttypes=yes
2911 if test "$_inttypes" = yes ; then
2912 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."
2913 else
2914 die "Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
2919 echocheck "int_fastXY_t in inttypes.h"
2920 cat > $TMPC << EOF
2921 #include <inttypes.h>
2922 int main(void) {
2923 volatile int_fast16_t v= 0;
2924 return v; }
2926 _fast_inttypes=no
2927 cc_check && _fast_inttypes=yes
2928 if test "$_fast_inttypes" = no ; then
2929 _def_fast_inttypes='
2930 typedef signed char int_fast8_t;
2931 typedef signed int int_fast16_t;
2932 typedef signed int int_fast32_t;
2933 typedef signed long long int_fast64_t;
2934 typedef unsigned char uint_fast8_t;
2935 typedef unsigned int uint_fast16_t;
2936 typedef unsigned int uint_fast32_t;
2937 typedef unsigned long long uint_fast64_t;'
2939 echores "$_fast_inttypes"
2942 echocheck "word size"
2943 _mp_wordsize="#undef MP_WORDSIZE"
2944 cat > $TMPC << EOF
2945 #include <stdio.h>
2946 #include <sys/types.h>
2947 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2949 cc_check && _wordsize=`$TMPEXE` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2950 echores "$_wordsize"
2953 echocheck "malloc.h"
2954 cat > $TMPC << EOF
2955 #include <malloc.h>
2956 int main(void) { (void) malloc(0); return 0; }
2958 _malloc=no
2959 cc_check && _malloc=yes
2960 if test "$_malloc" = yes ; then
2961 _def_malloc='#define HAVE_MALLOC_H 1'
2962 else
2963 _def_malloc='#undef HAVE_MALLOC_H'
2965 # malloc.h emits a warning in FreeBSD and OpenBSD
2966 freebsd || openbsd || dragonfly && _def_malloc='#undef HAVE_MALLOC_H'
2967 echores "$_malloc"
2970 echocheck "memalign()"
2971 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2972 cat > $TMPC << EOF
2973 #include <malloc.h>
2974 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
2976 _memalign=no
2977 cc_check && _memalign=yes
2978 if test "$_memalign" = yes ; then
2979 _def_memalign='#define HAVE_MEMALIGN 1'
2980 else
2981 _def_memalign='#undef HAVE_MEMALIGN'
2982 _def_map_memalign='#define memalign(a,b) malloc(b)'
2983 darwin || _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
2985 echores "$_memalign"
2988 echocheck "alloca.h"
2989 cat > $TMPC << EOF
2990 #include <alloca.h>
2991 int main(void) { (void) alloca(0); return 0; }
2993 _alloca=no
2994 cc_check && _alloca=yes
2995 if cc_check ; then
2996 _def_alloca='#define HAVE_ALLOCA_H 1'
2997 else
2998 _def_alloca='#undef HAVE_ALLOCA_H'
3000 echores "$_alloca"
3003 echocheck "byteswap.h"
3004 cat > $TMPC << EOF
3005 #include <byteswap.h>
3006 int main(void) { bswap_16(0); return 0; }
3008 _byteswap_h=no
3009 cc_check && _byteswap_h=yes
3010 if cc_check ; then
3011 _def_byteswap_h='#define HAVE_BYTESWAP_H 1'
3012 else
3013 _def_byteswap_h='#undef HAVE_BYTESWAP_H'
3015 echores "$_byteswap_h"
3018 echocheck "mman.h"
3019 cat > $TMPC << EOF
3020 #include <sys/types.h>
3021 #include <sys/mman.h>
3022 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3024 _mman=no
3025 cc_check && _mman=yes
3026 if test "$_mman" = yes ; then
3027 _def_mman='#define HAVE_SYS_MMAN_H 1'
3028 else
3029 _def_mman='#undef HAVE_SYS_MMAN_H'
3030 os2 && _need_mmap=yes
3032 echores "$_mman"
3034 cat > $TMPC << EOF
3035 #include <sys/types.h>
3036 #include <sys/mman.h>
3037 int main(void) { void *p = MAP_FAILED; return 0; }
3039 _mman_has_map_failed=no
3040 cc_check && _mman_has_map_failed=yes
3041 if test "$_mman_has_map_failed" = yes ; then
3042 _def_mman_has_map_failed=''
3043 else
3044 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
3047 echocheck "dynamic loader"
3048 cat > $TMPC << EOF
3049 #include <stddef.h>
3050 #include <dlfcn.h>
3051 int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
3053 _dl=no
3054 for _ld_tmp in "" "-ldl" ; do
3055 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
3056 done
3057 if test "$_dl" = yes ; then
3058 _def_dl='#define HAVE_LIBDL 1'
3059 else
3060 _def_dl='#undef HAVE_LIBDL'
3062 echores "$_dl"
3065 echocheck "dynamic a/v plugins support"
3066 if test "$_dl" = no ; then
3067 _dynamic_plugins=no
3069 if test "$_dynamic_plugins" = yes ; then
3070 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
3071 else
3072 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
3074 echores "$_dynamic_plugins"
3077 _def_threads='#undef HAVE_THREADS'
3079 echocheck "pthread"
3080 if test "$_pthreads" = auto ; then
3081 cat > $TMPC << EOF
3082 #include <pthread.h>
3083 void* func(void *arg) { return arg; }
3084 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3086 _pthreads=no
3087 if ! hpux ; then
3088 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3089 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3090 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3091 done
3094 if test "$_pthreads" = yes ; then
3095 _res_comment="using $_ld_pthread"
3096 _def_pthreads='#define HAVE_PTHREADS 1'
3097 _def_threads='#define HAVE_THREADS 1'
3098 else
3099 _res_comment="v4l, v4l2, ao_nas, win32 loader disabled"
3100 _def_pthreads='#undef HAVE_PTHREADS'
3101 _nas=no ; _tv_v4l1=no ; _tv_v4l2=no
3102 mingw32 || _win32dll=no
3104 echores "$_pthreads"
3106 echocheck "w32threads"
3107 if test "$_pthreads" = yes ; then
3108 _res_comment="using pthread instead"
3109 _w32threads=no
3111 if test "$_w32threads" = auto ; then
3112 _w32threads=no
3113 mingw32 && _w32threads=yes
3115 test "$_w32threads" = yes && _def_threads='#define HAVE_THREADS 1'
3116 echores "$_w32threads"
3118 echocheck "rpath"
3119 netbsd &&_rpath=yes
3120 if test "$_rpath" = yes ; then
3121 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
3122 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3123 done
3124 _ld_extra=$tmp
3126 echores "$_rpath"
3128 echocheck "iconv"
3129 if test "$_iconv" = auto ; then
3130 cat > $TMPC << EOF
3131 #include <stdio.h>
3132 #include <unistd.h>
3133 #include <iconv.h>
3134 #define INBUFSIZE 1024
3135 #define OUTBUFSIZE 4096
3137 char inbuffer[INBUFSIZE];
3138 char outbuffer[OUTBUFSIZE];
3140 int main(void) {
3141 size_t numread;
3142 iconv_t icdsc;
3143 char *tocode="UTF-8";
3144 char *fromcode="cp1250";
3145 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3146 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3147 char *iptr=inbuffer;
3148 char *optr=outbuffer;
3149 size_t inleft=numread;
3150 size_t outleft=OUTBUFSIZE;
3151 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3152 != (size_t)(-1)) {
3153 write (1, outbuffer, OUTBUFSIZE - outleft);
3156 if (iconv_close(icdsc) == -1)
3159 return 0;
3162 _iconv=no
3163 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3164 cc_check $_ld_lm $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3165 _iconv=yes && break
3166 done
3168 if test "$_iconv" = yes ; then
3169 _def_iconv='#define CONFIG_ICONV 1'
3170 else
3171 _def_iconv='#undef CONFIG_ICONV'
3173 echores "$_iconv"
3176 echocheck "soundcard.h"
3177 _soundcard_h=no
3178 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3179 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3180 for _soundcard_header in "sys/soundcard.h" "soundcard.h"; do
3181 cat > $TMPC << EOF
3182 #include <$_soundcard_header>
3183 int main(void) { return 0; }
3185 cc_check && _soundcard_h=yes && _res_comment="$_soundcard_header" && break
3186 done
3188 if test "$_soundcard_h" = yes ; then
3189 if test $_soundcard_header = "sys/soundcard.h"; then
3190 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
3191 else
3192 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3195 echores "$_soundcard_h"
3198 echocheck "sys/dvdio.h"
3199 cat > $TMPC << EOF
3200 #include <unistd.h>
3201 #include <sys/dvdio.h>
3202 int main(void) { return 0; }
3204 _dvdio=no
3205 cc_check && _dvdio=yes
3206 if test "$_dvdio" = yes ; then
3207 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3208 else
3209 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3211 echores "$_dvdio"
3214 echocheck "sys/cdio.h"
3215 cat > $TMPC << EOF
3216 #include <unistd.h>
3217 #include <sys/cdio.h>
3218 int main(void) { return 0; }
3220 _cdio=no
3221 cc_check && _cdio=yes
3222 if test "$_cdio" = yes ; then
3223 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3224 else
3225 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3227 echores "$_cdio"
3230 echocheck "linux/cdrom.h"
3231 cat > $TMPC << EOF
3232 #include <sys/types.h>
3233 #include <linux/cdrom.h>
3234 int main(void) { return 0; }
3236 _cdrom=no
3237 cc_check && _cdrom=yes
3238 if test "$_cdrom" = yes ; then
3239 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3240 else
3241 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3243 echores "$_cdrom"
3246 echocheck "dvd.h"
3247 cat > $TMPC << EOF
3248 #include <dvd.h>
3249 int main(void) { return 0; }
3251 _dvd=no
3252 cc_check && _dvd=yes
3253 if test "$_dvd" = yes ; then
3254 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3255 else
3256 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3258 echores "$_dvd"
3261 if bsdos; then
3262 echocheck "BSDI dvd.h"
3263 cat > $TMPC << EOF
3264 #include <dvd.h>
3265 int main(void) { return 0; }
3267 _bsdi_dvd=no
3268 cc_check && _bsdi_dvd=yes
3269 if test "$_bsdi_dvd" = yes ; then
3270 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3271 else
3272 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3274 echores "$_bsdi_dvd"
3275 fi #if bsdos
3278 if hpux; then
3279 # also used by AIX, but AIX does not support VCD and/or libdvdread
3280 echocheck "HP-UX SCSI header"
3281 cat > $TMPC << EOF
3282 #include <sys/scsi.h>
3283 int main(void) { return 0; }
3285 _hpux_scsi_h=no
3286 cc_check && _hpux_scsi_h=yes
3287 if test "$_hpux_scsi_h" = yes ; then
3288 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3289 else
3290 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3292 echores "$_hpux_scsi_h"
3293 fi #if hpux
3296 if sunos; then
3297 echocheck "userspace SCSI headers (Solaris)"
3298 cat > $TMPC << EOF
3299 #include <unistd.h>
3300 #include <stropts.h>
3301 #include <sys/scsi/scsi_types.h>
3302 #include <sys/scsi/impl/uscsi.h>
3303 int main(void) { return 0; }
3305 _sol_scsi_h=no
3306 cc_check && _sol_scsi_h=yes
3307 if test "$_sol_scsi_h" = yes ; then
3308 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3309 else
3310 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3312 echores "$_sol_scsi_h"
3313 fi #if sunos
3316 echocheck "termcap"
3317 if test "$_termcap" = auto ; then
3318 cat > $TMPC <<EOF
3319 #include <stddef.h>
3320 #include <term.h>
3321 int main(void) { tgetent(NULL, NULL); return 0; }
3323 _termcap=no
3324 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3325 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
3326 && _termcap=yes && break
3327 done
3329 if test "$_termcap" = yes ; then
3330 _def_termcap='#define CONFIG_TERMCAP 1'
3331 _res_comment="using $_ld_tmp"
3332 else
3333 _def_termcap='#undef CONFIG_TERMCAP'
3335 echores "$_termcap"
3338 echocheck "termios"
3339 _def_termios='#undef HAVE_TERMIOS'
3340 _def_termios_h='#undef HAVE_TERMIOS_H'
3341 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3342 if test "$_termios" = auto ; then
3343 _termios=no
3344 for _termios_header in "sys/termios.h" "termios.h"; do
3345 cat > $TMPC <<EOF
3346 #include <$_termios_header>
3347 int main(void) { return 0; }
3349 cc_check && _termios=yes && _res_comment="$_termios_header" && break
3350 done
3353 if test "$_termios" = yes ; then
3354 _def_termios='#define HAVE_TERMIOS 1'
3355 if test "$_termios_header" = "termios.h" ; then
3356 _def_termios_h='#define HAVE_TERMIOS_H 1'
3357 else
3358 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3361 echores "$_termios"
3364 echocheck "shm"
3365 if test "$_shm" = auto ; then
3366 cat > $TMPC << EOF
3367 #include <sys/types.h>
3368 #include <sys/shm.h>
3369 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3371 _shm=no
3372 cc_check && _shm=yes
3374 if test "$_shm" = yes ; then
3375 _def_shm='#define HAVE_SHM 1'
3376 else
3377 _def_shm='#undef HAVE_SHM'
3379 echores "$_shm"
3382 echocheck "strsep()"
3383 cat > $TMPC << EOF
3384 #include <string.h>
3385 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3387 _strsep=no
3388 cc_check && _strsep=yes
3389 if test "$_strsep" = yes ; then
3390 _def_strsep='#define HAVE_STRSEP 1'
3391 _need_strsep=no
3392 else
3393 _def_strsep='#undef HAVE_STRSEP'
3394 _need_strsep=yes
3396 echores "$_strsep"
3399 echocheck "vsscanf()"
3400 cat > $TMPC << EOF
3401 #include <stdarg.h>
3402 int main(void) { vsscanf(0, 0, 0); return 0; }
3404 _vsscanf=no
3405 cc_check && _vsscanf=yes
3406 if test "$_vsscanf" = yes ; then
3407 _def_vsscanf='#define HAVE_VSSCANF 1'
3408 _need_vsscanf=no
3409 else
3410 _def_vsscanf='#undef HAVE_VSSCANF'
3411 _need_vsscanf=yes
3413 echores "$_vsscanf"
3416 echocheck "swab()"
3417 cat > $TMPC << EOF
3418 #include <unistd.h>
3419 int main(void) { swab(0, 0, 0); return 0; }
3421 _swab=no
3422 cc_check && _swab=yes
3423 if test "$_swab" = yes ; then
3424 _def_swab='#define HAVE_SWAB 1'
3425 _need_swab=no
3426 else
3427 _def_swab='#undef HAVE_SWAB'
3428 _need_swab=yes
3430 echores "$_swab"
3432 echocheck "POSIX select()"
3433 cat > $TMPC << EOF
3434 #include <stdio.h>
3435 #include <stdlib.h>
3436 #include <sys/types.h>
3437 #include <string.h>
3438 #include <sys/time.h>
3439 #include <unistd.h>
3440 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3442 _posix_select=no
3443 _def_posix_select='#undef HAVE_POSIX_SELECT'
3444 #select() of kLIBC (OS/2) supports socket only
3445 ! os2 && cc_check && _posix_select=yes \
3446 && _def_posix_select='#define HAVE_POSIX_SELECT 1'
3447 echores "$_posix_select"
3450 echocheck "gettimeofday()"
3451 cat > $TMPC << EOF
3452 #include <stdio.h>
3453 #include <sys/time.h>
3454 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3456 _gettimeofday=no
3457 cc_check && _gettimeofday=yes
3458 if test "$_gettimeofday" = yes ; then
3459 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3460 _need_gettimeofday=no
3461 else
3462 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3463 _need_gettimeofday=yes
3465 echores "$_gettimeofday"
3468 echocheck "glob()"
3469 cat > $TMPC << EOF
3470 #include <stdio.h>
3471 #include <glob.h>
3472 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3474 _glob=no
3475 cc_check && _glob=yes
3476 if test "$_glob" = yes ; then
3477 _def_glob='#define HAVE_GLOB 1'
3478 _need_glob=no
3479 else
3480 _def_glob='#undef HAVE_GLOB'
3481 _need_glob=yes
3483 echores "$_glob"
3486 echocheck "setenv()"
3487 cat > $TMPC << EOF
3488 #include <stdlib.h>
3489 int main(void) { setenv("","",0); return 0; }
3491 _setenv=no
3492 cc_check && _setenv=yes
3493 if test "$_setenv" = yes ; then
3494 _def_setenv='#define HAVE_SETENV 1'
3495 _need_setenv=no
3496 else
3497 _def_setenv='#undef HAVE_SETENV'
3498 _need_setenv=yes
3500 echores "$_setenv"
3503 if sunos; then
3504 echocheck "sysi86()"
3505 cat > $TMPC << EOF
3506 #include <sys/sysi86.h>
3507 int main(void) { sysi86(0); return 0; }
3509 _sysi86=no
3510 cc_check && _sysi86=yes
3511 if test "$_sysi86" = yes ; then
3512 _def_sysi86='#define HAVE_SYSI86 1'
3513 cat > $TMPC << EOF
3514 #include <sys/sysi86.h>
3515 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3517 cc_check && _def_sysi86_iv='#define HAVE_SYSI86_iv 1'
3518 else
3519 _def_sysi86='#undef HAVE_SYSI86'
3521 echores "$_sysi86"
3522 fi #if sunos
3525 echocheck "sys/sysinfo.h"
3526 cat > $TMPC << EOF
3527 #include <sys/sysinfo.h>
3528 int main(void) {
3529 struct sysinfo s_info;
3530 sysinfo(&s_info);
3531 return 0;
3534 _sys_sysinfo=no
3535 cc_check && _sys_sysinfo=yes
3536 if test "$_sys_sysinfo" = yes ; then
3537 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3538 else
3539 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3541 echores "$_sys_sysinfo"
3544 if darwin; then
3546 echocheck "Mac OS X APIs"
3547 if test "$_macosx" = auto ; then
3548 productName=`/usr/bin/sw_vers -productName`
3549 if test "$productName" = "Mac OS X" ||
3550 test "$productName" = "Mac OS X Server" ; then
3551 _macosx=yes
3552 else
3553 _macosx=no
3554 _noaomodules="macosx $_noaomodules"
3555 _novomodules="quartz $_novomodules"
3558 if test "$_macosx" = yes ; then
3559 cat > $TMPC <<EOF
3560 #include <Carbon/Carbon.h>
3561 #include <QuickTime/QuickTime.h>
3562 #include <CoreAudio/CoreAudio.h>
3563 int main(void) {
3564 EnterMovies();
3565 ExitMovies();
3566 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3567 return 0;
3570 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3571 _ld_extra="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3572 _coreaudio=yes
3573 _def_coreaudio='#define HAVE_COREAUDIO 1'
3574 _aosrc="$_aosrc ao_macosx.c"
3575 _aomodules="macosx $_aomodules"
3576 _def_quartz='#define HAVE_QUARTZ 1'
3577 _vosrc="$_vosrc vo_quartz.c"
3578 _vomodules="quartz $_vomodules"
3579 _def_quicktime='#define HAVE_QUICKTIME 1'
3580 else
3581 _macosx=no
3582 _coreaudio=no
3583 _def_coreaudio='#undef HAVE_COREAUDIO'
3584 _noaomodules="macosx $_noaomodules"
3585 _def_quartz='#undef HAVE_QUARTZ'
3586 _novomodules="quartz $_novomodules"
3587 _def_quicktime='#undef HAVE_QUICKTIME'
3589 cat > $TMPC <<EOF
3590 #include <Carbon/Carbon.h>
3591 #include <QuartzCore/CoreVideo.h>
3592 int main(void) { return 0; }
3594 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3595 _vosrc="$_vosrc vo_macosx.m"
3596 _vomodules="macosx $_vomodules"
3597 _ld_extra="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
3598 _def_corevideo='#define HAVE_COREVIDEO 1'
3599 _corevideo=yes
3600 else
3601 _novomodules="macosx $_novomodules"
3602 _def_corevideo='#undef HAVE_COREVIDEO'
3603 _corevideo=no
3606 echores "$_macosx"
3608 echocheck "Mac OS X Finder Support"
3609 if test "$_macosx_finder_support" = auto ; then
3610 _macosx_finder_support=$_macosx
3612 if test "$_macosx_finder_support" = yes; then
3613 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3614 _macosx_finder_support=yes
3615 else
3616 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3617 _macosx_finder_support=no
3619 echores "$_macosx_finder_support"
3621 echocheck "Mac OS X Bundle file locations"
3622 if test "$_macosx_bundle" = auto ; then
3623 _macosx_bundle=$_macosx_finder_support
3625 if test "$_macosx_bundle" = yes; then
3626 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3627 else
3628 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3629 _macosx_bundle=no
3631 echores "$_macosx_bundle"
3633 echocheck "Apple Remote"
3634 if test "$_apple_remote" = auto ; then
3635 _apple_remote=no
3636 cat > $TMPC <<EOF
3637 #include <stdio.h>
3638 #include <IOKit/IOCFPlugIn.h>
3639 int main(void) {
3640 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3641 CFMutableDictionaryRef hidMatchDictionary;
3642 IOReturn ioReturnValue;
3644 // Set up a matching dictionary to search the I/O Registry by class.
3645 // name for all HID class devices
3646 hidMatchDictionary = IOServiceMatching("AppleIRController");
3648 // Now search I/O Registry for matching devices.
3649 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3650 hidMatchDictionary, &hidObjectIterator);
3652 // If search is unsuccessful, return nonzero.
3653 if (ioReturnValue != kIOReturnSuccess ||
3654 !IOIteratorIsValid(hidObjectIterator)) {
3655 return 1;
3657 return 0;
3660 cc_check -framework IOKit && tmp_run && _apple_remote=yes
3662 if test "$_apple_remote" = yes ; then
3663 _def_apple_remote='#define HAVE_APPLE_REMOTE 1'
3664 _ld_extra="$_ld_extra -framework IOKit"
3665 else
3666 _def_apple_remote='#undef HAVE_APPLE_REMOTE'
3668 echores "$_apple_remote"
3670 fi #if darwin
3672 if linux; then
3674 echocheck "Apple IR"
3675 if test "$_apple_ir" = auto ; then
3676 _apple_ir=no
3677 cat > $TMPC <<EOF
3678 #include <linux/types.h>
3679 #include <linux/input.h>
3680 int main(void) {
3681 struct input_event ev;
3682 struct input_id id;
3683 return 0;
3686 cc_check && tmp_run && _apple_ir=yes
3688 if test "$_apple_ir" = yes ; then
3689 _def_apple_ir='#define HAVE_APPLE_IR 1'
3690 else
3691 _def_apple_ir='#undef HAVE_APPLE_IR'
3693 echores "$_apple_ir"
3694 fi #if linux
3696 echocheck "pkg-config"
3697 _pkg_config=pkg-config
3698 if `$_pkg_config --version > /dev/null 2>&1`; then
3699 if test "$_ld_static"; then
3700 _pkg_config="$_pkg_config --static"
3702 echores "yes"
3703 else
3704 _pkg_config=false
3705 echores "no"
3709 echocheck "Samba support (libsmbclient)"
3710 if test "$_smbsupport" = yes; then
3711 _ld_extra="$_ld_extra -lsmbclient"
3713 if test "$_smbsupport" = auto; then
3714 _smbsupport=no
3715 cat > $TMPC << EOF
3716 #include <libsmbclient.h>
3717 int main(void) { smbc_opendir("smb://"); return 0; }
3719 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3720 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3721 _smbsupport=yes && break
3722 done
3725 if test "$_smbsupport" = yes; then
3726 _def_smbsupport="#define LIBSMBCLIENT"
3727 _inputmodules="smb $_inputmodules"
3728 else
3729 _def_smbsupport="#undef LIBSMBCLIENT"
3730 _noinputmodules="smb $_noinputmodules"
3732 echores "$_smbsupport"
3735 #########
3736 # VIDEO #
3737 #########
3740 echocheck "tdfxfb"
3741 if test "$_tdfxfb" = yes ; then
3742 _def_tdfxfb='#define HAVE_TDFXFB 1'
3743 _vosrc="$_vosrc vo_tdfxfb.c"
3744 _vomodules="tdfxfb $_vomodules"
3745 else
3746 _def_tdfxfb='#undef HAVE_TDFXFB'
3747 _novomodules="tdfxfb $_novomodules"
3749 echores "$_tdfxfb"
3751 echocheck "s3fb"
3752 if test "$_s3fb" = yes ; then
3753 _def_s3fb='#define HAVE_S3FB 1'
3754 _vosrc="$_vosrc vo_s3fb.c"
3755 _vomodules="s3fb $_vomodules"
3756 else
3757 _def_s3fb='#undef HAVE_S3FB'
3758 _novomodules="s3fb $_novomodules"
3760 echores "$_s3fb"
3762 echocheck "tdfxvid"
3763 if test "$_tdfxvid" = yes ; then
3764 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3765 _vosrc="$_vosrc vo_tdfx_vid.c"
3766 _vomodules="tdfx_vid $_vomodules"
3767 else
3768 _def_tdfxvid='#undef HAVE_TDFX_VID'
3769 _novomodules="tdfx_vid $_novomodules"
3771 echores "$_tdfxvid"
3773 echocheck "xvr100"
3774 if test "$_xvr100" = auto ; then
3775 cat > $TMPC << EOF
3776 #include <unistd.h>
3777 #include <sys/fbio.h>
3778 #include <sys/visual_io.h>
3779 int main(void) {
3780 struct vis_identifier ident;
3781 struct fbgattr attr;
3782 ioctl(0, VIS_GETIDENTIFIER, &ident);
3783 ioctl(0, FBIOGATTR, &attr);
3784 return 0;
3787 _xvr100=no
3788 cc_check && _xvr100=yes
3790 if test "$_xvr100" = yes ; then
3791 _def_xvr100='#define HAVE_XVR100 1'
3792 _vosrc="$_vosrc vo_xvr100.c"
3793 _vomodules="xvr100 $_vomodules"
3794 else
3795 _def_tdfxvid='#undef HAVE_XVR100'
3796 _novomodules="xvr100 $_novomodules"
3798 echores "$_xvr100"
3800 echocheck "tga"
3801 if test "$_tga" = yes ; then
3802 _def_tga='#define HAVE_TGA 1'
3803 _vosrc="$_vosrc vo_tga.c"
3804 _vomodules="tga $_vomodules"
3805 else
3806 _def_tga='#undef HAVE_TGA'
3807 _novomodules="tga $_novomodules"
3809 echores "$_tga"
3812 echocheck "md5sum support"
3813 if test "$_md5sum" = yes; then
3814 _def_md5sum="#define HAVE_MD5SUM"
3815 _vosrc="$_vosrc vo_md5sum.c"
3816 _vomodules="md5sum $_vomodules"
3817 else
3818 _def_md5sum="#undef HAVE_MD5SUM"
3819 _novomodules="md5sum $_novomodules"
3821 echores "$_md5sum"
3824 echocheck "yuv4mpeg support"
3825 if test "$_yuv4mpeg" = yes; then
3826 _def_yuv4mpeg="#define HAVE_YUV4MPEG"
3827 _vosrc="$_vosrc vo_yuv4mpeg.c"
3828 _vomodules="yuv4mpeg $_vomodules"
3829 else
3830 _def_yuv4mpeg="#undef HAVE_YUV4MPEG"
3831 _novomodules="yuv4mpeg $_novomodules"
3833 echores "$_yuv4mpeg"
3836 echocheck "bl"
3837 if test "$_bl" = yes ; then
3838 _def_bl='#define HAVE_BL 1'
3839 _vosrc="$_vosrc vo_bl.c"
3840 _vomodules="bl $_vomodules"
3841 else
3842 _def_bl='#undef HAVE_BL'
3843 _novomodules="bl $_novomodules"
3845 echores "$_bl"
3848 echocheck "DirectFB"
3849 if test "$_directfb" = auto ; then
3850 _directfb=no
3851 cat > $TMPC <<EOF
3852 #include <directfb.h>
3853 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3855 for _inc_tmp in "" -I/usr/local/include/directfb \
3856 -I/usr/include/directfb -I/usr/local/include; do
3857 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
3858 _inc_extra="$_inc_extra $_inc_tmp" && break
3859 done
3862 dfb_version() {
3863 expr $1 \* 65536 + $2 \* 256 + $3
3866 if test "$_directfb" = yes; then
3867 cat > $TMPC << EOF
3868 #include <directfb_version.h>
3870 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3873 if $_cc -E $TMPC $_inc_extra > "$TMPEXE"; then
3874 _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()'`
3875 _dfb_major=`echo $_directfb_version | cut -d . -f 1`
3876 _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
3877 _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
3878 _dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3879 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3880 _def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
3881 _res_comment="$_directfb_version"
3882 test "$_dfb_version" -ge `dfb_version 0 9 15` && _dfbmga=yes
3883 else
3884 _def_directfb_version='#undef DIRECTFBVERSION'
3885 _directfb=no
3886 _res_comment="version >=0.9.13 required"
3888 else
3889 _directfb=no
3890 _res_comment="failed to get version"
3893 echores "$_directfb"
3895 if test "$_directfb" = yes ; then
3896 _def_directfb='#define HAVE_DIRECTFB 1'
3897 _vosrc="$_vosrc vo_directfb2.c"
3898 _vomodules="directfb $_vomodules"
3899 _libs_mplayer="$_libs_mplayer -ldirectfb"
3900 else
3901 _def_directfb='#undef HAVE_DIRECTFB'
3902 _novomodules="directfb $_novomodules"
3904 if test "$_dfbmga" = yes; then
3905 _vosrc="$_vosrc vo_dfbmga.c"
3906 _vomodules="dfbmga $_vomodules"
3907 _def_dfbmga='#define HAVE_DFBMGA 1'
3908 else
3909 _novomodules="dfbmga $_novomodules"
3910 _def_dfbmga='#undef HAVE_DFBMGA'
3914 echocheck "X11 headers presence"
3915 _x11_headers="no"
3916 _res_comment="check if the dev(el) packages are installed"
3917 for I in `echo $_inc_extra | sed s/-I//g` /usr/include ; do
3918 if test -f "$I/X11/Xlib.h" ; then
3919 _x11_headers="yes"
3920 _res_comment=""
3921 break
3923 done
3924 if test $_cross_compile = no; then
3925 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/openwin/include ; do
3926 if test -f "$I/X11/Xlib.h" ; then
3927 _inc_extra="$_inc_extra -I$I"
3928 _x11_headers="yes"
3929 _res_comment="using $I"
3930 break
3932 done
3934 echores "$_x11_headers"
3937 echocheck "X11"
3938 if test "$_x11" = auto && test "$_x11_headers" = yes ; then
3939 cat > $TMPC <<EOF
3940 #include <X11/Xlib.h>
3941 #include <X11/Xutil.h>
3942 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3944 for I in "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3945 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3946 if netbsd; then
3947 _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
3948 else
3949 _ld_tmp="$I -lXext -lX11 $_ld_pthread"
3951 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" \
3952 && _x11=yes && break
3953 done
3955 if test "$_x11" = yes ; then
3956 _def_x11='#define HAVE_X11 1'
3957 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3958 _vomodules="x11 xover $_vomodules"
3959 else
3960 _x11=no
3961 _def_x11='#undef HAVE_X11'
3962 _novomodules="x11 $_novomodules"
3963 _res_comment="check if the dev(el) packages are installed"
3964 # disable stuff that depends on X
3965 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no
3967 echores "$_x11"
3969 echocheck "Xss screensaver extensions"
3970 if test "$_xss" = auto ; then
3971 cat > $TMPC << EOF
3972 #include <X11/Xlib.h>
3973 #include <X11/extensions/scrnsaver.h>
3974 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
3976 _xss=no
3977 cc_check -lXss && _xss=yes
3979 if test "$_xss" = yes ; then
3980 _def_xss='#define HAVE_XSS 1'
3981 _libs_mplayer="$_libs_mplayer -lXss"
3982 else
3983 _def_xss='#undef HAVE_XSS'
3985 echores "$_xss"
3987 echocheck "DPMS"
3988 _xdpms3=no
3989 _xdpms4=no
3990 if test "$_x11" = yes ; then
3991 cat > $TMPC <<EOF
3992 #include <X11/Xmd.h>
3993 #include <X11/Xlib.h>
3994 #include <X11/Xutil.h>
3995 #include <X11/Xatom.h>
3996 #include <X11/extensions/dpms.h>
3997 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
3999 cc_check -lXdpms && _xdpms3=yes
4000 cat > $TMPC <<EOF
4001 #include <X11/Xlib.h>
4002 #include <X11/extensions/dpms.h>
4003 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4005 cc_check -lXext && _xdpms4=yes
4007 if test "$_xdpms4" = yes ; then
4008 _def_xdpms='#define HAVE_XDPMS 1'
4009 _res_comment="using Xdpms 4"
4010 echores "yes"
4011 elif test "$_xdpms3" = yes ; then
4012 _def_xdpms='#define HAVE_XDPMS 1'
4013 _libs_mplayer="$_libs_mplayer -lXdpms"
4014 _res_comment="using Xdpms 3"
4015 echores "yes"
4016 else
4017 _def_xdpms='#undef HAVE_XDPMS'
4018 echores "no"
4022 echocheck "Xv"
4023 if test "$_xv" = auto ; then
4024 cat > $TMPC <<EOF
4025 #include <X11/Xlib.h>
4026 #include <X11/extensions/Xvlib.h>
4027 int main(void) {
4028 (void) XvGetPortAttribute(0, 0, 0, 0);
4029 (void) XvQueryPortAttributes(0, 0, 0);
4030 return 0; }
4032 _xv=no
4033 cc_check -lXv && _xv=yes
4036 if test "$_xv" = yes ; then
4037 _def_xv='#define HAVE_XV 1'
4038 _libs_mplayer="$_libs_mplayer -lXv"
4039 _vosrc="$_vosrc vo_xv.c"
4040 _vomodules="xv $_vomodules"
4041 else
4042 _def_xv='#undef HAVE_XV'
4043 _novomodules="xv $_novomodules"
4045 echores "$_xv"
4048 echocheck "XvMC"
4049 if test "$_xv" = yes && test "$_xvmc" != no ; then
4050 _xvmc=no
4051 cat > $TMPC <<EOF
4052 #include <X11/Xlib.h>
4053 #include <X11/extensions/Xvlib.h>
4054 #include <X11/extensions/XvMClib.h>
4055 int main(void) {
4056 (void) XvMCQueryExtension(0,0,0);
4057 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4058 return 0; }
4060 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
4061 cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
4062 done
4064 if test "$_xvmc" = yes ; then
4065 _def_xvmc='#define HAVE_XVMC 1'
4066 _libs_mplayer="$_libs_mplayer -lXvMC -l$_xvmclib"
4067 _vosrc="$_vosrc vo_xvmc.c"
4068 _vomodules="xvmc $_vomodules"
4069 _res_comment="using $_xvmclib"
4070 else
4071 _def_xvmc='#undef HAVE_XVMC'
4072 _novomodules="xvmc $_novomodules"
4073 _libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
4075 echores "$_xvmc"
4078 echocheck "Xinerama"
4079 if test "$_xinerama" = auto ; then
4080 cat > $TMPC <<EOF
4081 #include <X11/Xlib.h>
4082 #include <X11/extensions/Xinerama.h>
4083 int main(void) { (void) XineramaIsActive(0); return 0; }
4085 _xinerama=no
4086 cc_check -lXinerama && _xinerama=yes
4089 if test "$_xinerama" = yes ; then
4090 _def_xinerama='#define HAVE_XINERAMA 1'
4091 _libs_mplayer="$_libs_mplayer -lXinerama"
4092 else
4093 _def_xinerama='#undef HAVE_XINERAMA'
4095 echores "$_xinerama"
4098 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4099 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4100 # named 'X extensions' or something similar.
4101 # This check may be useful for future mplayer versions (to change resolution)
4102 # If you run into problems, remove '-lXxf86vm'.
4103 echocheck "Xxf86vm"
4104 if test "$_vm" = auto ; then
4105 cat > $TMPC <<EOF
4106 #include <X11/Xlib.h>
4107 #include <X11/extensions/xf86vmode.h>
4108 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4110 _vm=no
4111 cc_check -lXxf86vm && _vm=yes
4113 if test "$_vm" = yes ; then
4114 _def_vm='#define HAVE_XF86VM 1'
4115 _libs_mplayer="$_libs_mplayer -lXxf86vm"
4116 else
4117 _def_vm='#undef HAVE_XF86VM'
4119 echores "$_vm"
4121 # Check for the presence of special keycodes, like audio control buttons
4122 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4123 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4124 # have these new keycodes.
4125 echocheck "XF86keysym"
4126 if test "$_xf86keysym" = auto; then
4127 _xf86keysym=no
4128 cat > $TMPC <<EOF
4129 #include <X11/Xlib.h>
4130 #include <X11/XF86keysym.h>
4131 int main(void) { return XF86XK_AudioPause; }
4133 cc_check && _xf86keysym=yes
4135 if test "$_xf86keysym" = yes ; then
4136 _def_xf86keysym='#define HAVE_XF86XK 1'
4137 else
4138 _def_xf86keysym='#undef HAVE_XF86XK'
4140 echores "$_xf86keysym"
4142 echocheck "DGA"
4143 if test "$_dga2" = auto && test "$_x11" = yes ; then
4144 cat > $TMPC << EOF
4145 #include <X11/Xlib.h>
4146 #include <X11/extensions/xf86dga.h>
4147 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4149 _dga2=no
4150 cc_check -lXxf86dga && _dga2=yes
4152 if test "$_dga1" = auto && test "$_dga2" = no && test "$_vm" = yes ; then
4153 cat > $TMPC << EOF
4154 #include <X11/Xlib.h>
4155 #include <X11/extensions/xf86dga.h>
4156 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4158 _dga1=no
4159 cc_check -lXxf86dga -lXxf86vm && _dga1=yes
4162 _dga=no
4163 _def_dga='#undef HAVE_DGA'
4164 _def_dga1='#undef HAVE_DGA1'
4165 _def_dga2='#undef HAVE_DGA2'
4166 if test "$_dga1" = yes ; then
4167 _dga=yes
4168 _def_dga1='#define HAVE_DGA1 1'
4169 _res_comment="using DGA 1.0"
4170 elif test "$_dga2" = yes ; then
4171 _dga=yes
4172 _def_dga2='#define HAVE_DGA2 1'
4173 _res_comment="using DGA 2.0"
4175 if test "$_dga" = yes ; then
4176 _def_dga='#define HAVE_DGA 1'
4177 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4178 _vosrc="$_vosrc vo_dga.c"
4179 _vomodules="dga $_vomodules"
4180 else
4181 _novomodules="dga $_novomodules"
4183 echores "$_dga"
4186 echocheck "3dfx"
4187 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4188 _def_3dfx='#define HAVE_3DFX 1'
4189 _vosrc="$_vosrc vo_3dfx.c"
4190 _vomodules="3dfx $_vomodules"
4191 else
4192 _def_3dfx='#undef HAVE_3DFX'
4193 _novomodules="3dfx $_novomodules"
4195 echores "$_3dfx"
4198 echocheck "OpenGL"
4199 #Note: this test is run even with --enable-gl since we autodetect linker flags
4200 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
4201 cat > $TMPC << EOF
4202 #include <GL/gl.h>
4203 #ifdef GL_WIN32
4204 #include <windows.h>
4205 #include <GL/glext.h>
4206 #else
4207 #include <X11/Xlib.h>
4208 #include <GL/glx.h>
4209 #endif
4210 int main(void) {
4211 #ifdef GL_WIN32
4212 HDC dc;
4213 wglCreateContext(dc);
4214 #else
4215 glXCreateContext(NULL, NULL, NULL, True);
4216 #endif
4217 glFinish();
4218 return 0;
4221 _gl=no
4222 if cc_check -lGL $_ld_lm ; then
4223 _gl=yes
4224 _libs_mplayer="$_libs_mplayer -lGL $_ld_dl"
4225 elif cc_check -lGL $_ld_lm $_ld_pthread ; then
4226 _gl=yes
4227 _libs_mplayer="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
4228 elif cc_check -DGL_WIN32 -lopengl32 ; then
4229 _gl=yes
4230 _gl_win32=yes
4231 _libs_mplayer="$_libs_mplayer -lopengl32 -lgdi32"
4233 else
4234 _gl=no
4236 if test "$_gl" = yes ; then
4237 _def_gl='#define HAVE_GL 1'
4238 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4239 if test "$_gl_win32" = yes ; then
4240 _def_gl_win32='#define GL_WIN32 1'
4241 _vosrc="$_vosrc w32_common.c"
4242 _res_comment="win32 version"
4244 _vomodules="opengl $_vomodules"
4245 else
4246 _def_gl='#undef HAVE_GL'
4247 _def_gl_win32='#undef GL_WIN32'
4248 _novomodules="opengl $_novomodules"
4250 echores "$_gl"
4253 echocheck "VIDIX"
4254 _def_vidix='#undef CONFIG_VIDIX'
4255 _def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4256 _vidix_drv_cyberblade=no
4257 _def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
4258 _vidix_drv_ivtv=no
4259 _def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
4260 _vidix_drv_ivtv=no
4261 _def_vidix_drv_mach64='#undef CONFIG_VIDIX_DRV_MACH64'
4262 _vidix_drv_mach64=no
4263 _def_vidix_drv_mga='#undef CONFIG_VIDIX_DRV_MGA'
4264 _vidix_drv_mga=no
4265 _def_vidix_drv_mga_crtc2='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4266 _vidix_drv_mga_crtc2=no
4267 _def_vidix_drv_nvidia='#undef CONFIG_VIDIX_DRV_NVIDIA'
4268 _vidix_drv_nvidia=no
4269 _def_vidix_drv_pm2='#undef CONFIG_VIDIX_DRV_PM2'
4270 _vidix_drv_pm2=no
4271 _def_vidix_drv_pm3='#undef CONFIG_VIDIX_DRV_PM3'
4272 _vidix_drv_pm3=no
4273 _def_vidix_drv_radeon='#undef CONFIG_VIDIX_DRV_RADEON'
4274 _vidix_drv_radeon=no
4275 _def_vidix_drv_rage128='#undef CONFIG_VIDIX_DRV_RAGE128'
4276 _vidix_drv_rage128=no
4277 _def_vidix_drv_s3='#undef CONFIG_VIDIX_DRV_S3'
4278 _vidix_drv_s3=no
4279 _def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
4280 _vidix_drv_sis=no
4281 _def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
4282 _vidix_drv_unichrome=no
4283 if test "$_vidix" = auto ; then
4284 _vidix=no
4285 x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
4286 && _vidix=yes
4287 (ppc || alpha) && linux && _vidix=yes
4289 echores "$_vidix"
4291 if test "$_vidix" = yes ; then
4292 _def_vidix='#define CONFIG_VIDIX 1'
4293 _vosrc="$_vosrc vo_cvidix.c"
4294 _vomodules="cvidix $_vomodules"
4295 test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sis unichrome"
4296 test $_ivtv = "yes" || _vidix_drivers=`echo $_vidix_drivers | sed s/ivtv//`
4298 # some vidix drivers are meant to work on x86 only, discard them elsewhere
4299 x86 || _vidix_drivers=`echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//`
4301 for driver in $_vidix_drivers ; do
4302 uc_driver=`echo $driver | tr '[a-z]' '[A-Z]'`
4303 eval _vidix_drv_${driver}=yes
4304 eval _def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4305 done
4307 echocheck "VIDIX PCI device name database"
4308 echores "$_vidix_pcidb"
4309 if test "$_vidix_pcidb" = yes ; then
4310 _vidix_pcidb_val=1
4311 else
4312 _vidix_pcidb_val=0
4315 echocheck "VIDIX dhahelper support"
4316 test "$_dhahelper" = yes && cflag_dhahelper=-DCONFIG_DHAHELPER
4317 echores "$_dhahelper"
4319 echocheck "VIDIX svgalib_helper support"
4320 test "$_svgalib_helper" = yes && cflag_svgalib_helper=-DCONFIG_SVGAHELPER
4321 echores "$_svgalib_helper"
4323 else
4324 _novomodules="cvidix $_novomodules"
4327 if test "$_vidix" = yes && win32; then
4328 _vosrc="$_vosrc vo_winvidix.c"
4329 _vomodules="winvidix $_vomodules"
4330 _libs_mplayer="$_libs_mplayer -lgdi32"
4331 else
4332 _novomodules="winvidix $_novomodules"
4334 if test "$_vidix" = yes && test "$_x11" = yes; then
4335 _vosrc="$_vosrc vo_xvidix.c"
4336 _vomodules="xvidix $_vomodules"
4337 else
4338 _novomodules="xvidix $_novomodules"
4341 echocheck "/dev/mga_vid"
4342 if test "$_mga" = auto ; then
4343 _mga=no
4344 test -c /dev/mga_vid && _mga=yes
4346 if test "$_mga" = yes ; then
4347 _def_mga='#define HAVE_MGA 1'
4348 _vosrc="$_vosrc vo_mga.c"
4349 _vomodules="mga $_vomodules"
4350 else
4351 _def_mga='#undef HAVE_MGA'
4352 _novomodules="mga $_novomodules"
4354 echores "$_mga"
4357 echocheck "xmga"
4358 if test "$_xmga" = auto ; then
4359 _xmga=no
4360 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4362 if test "$_xmga" = yes ; then
4363 _def_xmga='#define HAVE_XMGA 1'
4364 _vosrc="$_vosrc vo_xmga.c"
4365 _vomodules="xmga $_vomodules"
4366 else
4367 _def_xmga='#undef HAVE_XMGA'
4368 _novomodules="xmga $_novomodules"
4370 echores "$_xmga"
4373 echocheck "GGI"
4374 if test "$_ggi" = auto ; then
4375 cat > $TMPC << EOF
4376 #include <ggi/ggi.h>
4377 int main(void) { ggiInit(); return 0; }
4379 _ggi=no
4380 cc_check -lggi && _ggi=yes
4382 if test "$_ggi" = yes ; then
4383 _def_ggi='#define HAVE_GGI 1'
4384 _libs_mplayer="$_libs_mplayer -lggi"
4385 _vosrc="$_vosrc vo_ggi.c"
4386 _vomodules="ggi $_vomodules"
4387 else
4388 _def_ggi='#undef HAVE_GGI'
4389 _novomodules="ggi $_novomodules"
4391 echores "$_ggi"
4393 echocheck "GGI extension: libggiwmh"
4394 if test "$_ggiwmh" = auto ; then
4395 _ggiwmh=no
4396 cat > $TMPC << EOF
4397 #include <ggi/ggi.h>
4398 #include <ggi/wmh.h>
4399 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4401 cc_check -lggi -lggiwmh && _ggiwmh=yes
4403 # needed to get right output on obscure combination
4404 # like --disable-ggi --enable-ggiwmh
4405 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4406 _def_ggiwmh='#define HAVE_GGIWMH 1'
4407 _libs_mplayer="$_libs_mplayer -lggiwmh"
4408 else
4409 _ggiwmh=no
4410 _def_ggiwmh='#undef HAVE_GGIWMH'
4412 echores "$_ggiwmh"
4415 echocheck "AA"
4416 if test "$_aa" = auto ; then
4417 cat > $TMPC << EOF
4418 #include <aalib.h>
4419 extern struct aa_hardware_params aa_defparams;
4420 extern struct aa_renderparams aa_defrenderparams;
4421 int main(void) {
4422 aa_context *c;
4423 aa_renderparams *p;
4424 (void) aa_init(0, 0, 0);
4425 c = aa_autoinit(&aa_defparams);
4426 p = aa_getrenderparams();
4427 aa_autoinitkbd(c,0);
4428 return 0; }
4430 _aa=no
4431 for _ld_tmp in "-laa" ; do
4432 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" && _aa=yes && break
4433 done
4435 if test "$_aa" = yes ; then
4436 _def_aa='#define HAVE_AA 1'
4437 if cygwin ; then
4438 _libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4440 _vosrc="$_vosrc vo_aa.c"
4441 _vomodules="aa $_vomodules"
4442 else
4443 _def_aa='#undef HAVE_AA'
4444 _novomodules="aa $_novomodules"
4446 echores "$_aa"
4449 echocheck "CACA"
4450 if test "$_caca" = auto ; then
4451 _caca=no
4452 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4453 cat > $TMPC << EOF
4454 #include <caca.h>
4455 #ifdef CACA_API_VERSION_1
4456 #include <caca0.h>
4457 #endif
4458 int main(void) { (void) caca_init(); return 0; }
4460 cc_check `caca-config --libs` && _caca=yes
4463 if test "$_caca" = yes ; then
4464 _def_caca='#define HAVE_CACA 1'
4465 _inc_extra="$_inc_extra `caca-config --cflags`"
4466 _libs_mplayer="$_libs_mplayer `caca-config --libs`"
4467 _vosrc="$_vosrc vo_caca.c"
4468 _vomodules="caca $_vomodules"
4469 else
4470 _def_caca='#undef HAVE_CACA'
4471 _novomodules="caca $_novomodules"
4473 echores "$_caca"
4476 echocheck "SVGAlib"
4477 if test "$_svga" = auto ; then
4478 cat > $TMPC << EOF
4479 #include <vga.h>
4480 int main(void) { return 0; }
4482 _svga=no
4483 cc_check -lvga $_ld_lm && _svga=yes
4485 if test "$_svga" = yes ; then
4486 _def_svga='#define HAVE_SVGALIB 1'
4487 _libs_mplayer="$_libs_mplayer -lvga"
4488 _vosrc="$_vosrc vo_svga.c"
4489 _vomodules="svga $_vomodules"
4490 else
4491 _def_svga='#undef HAVE_SVGALIB'
4492 _novomodules="svga $_novomodules"
4494 echores "$_svga"
4497 echocheck "FBDev"
4498 if test "$_fbdev" = auto ; then
4499 _fbdev=no
4500 linux && _fbdev=yes
4502 if test "$_fbdev" = yes ; then
4503 _def_fbdev='#define HAVE_FBDEV 1'
4504 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4505 _vomodules="fbdev $_vomodules"
4506 else
4507 _def_fbdev='#undef HAVE_FBDEV'
4508 _novomodules="fbdev $_novomodules"
4510 echores "$_fbdev"
4514 echocheck "DVB"
4515 if test "$_dvb" = auto ; then
4516 _dvb=no
4517 cat >$TMPC << EOF
4518 #include <sys/poll.h>
4519 #include <sys/ioctl.h>
4520 #include <stdio.h>
4521 #include <time.h>
4522 #include <unistd.h>
4523 #include <ost/dmx.h>
4524 #include <ost/frontend.h>
4525 #include <ost/sec.h>
4526 #include <ost/video.h>
4527 #include <ost/audio.h>
4528 int main(void) {return 0;}
4530 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4531 cc_check $_inc_tmp && _dvb=yes && \
4532 _inc_extra="$_inc_extra $_inc_tmp" && break
4533 done
4535 echores "$_dvb"
4536 if test "$_dvb" = yes ; then
4537 _def_dvb='#define HAVE_DVB 1'
4538 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4539 _aomodules="mpegpes(dvb) $_aomodules"
4540 _vomodules="mpegpes(dvb) $_vomodules"
4543 echocheck "DVB HEAD"
4544 if test "$_dvbhead" = auto ; then
4545 _dvbhead=no
4547 cat >$TMPC << EOF
4548 #include <sys/poll.h>
4549 #include <sys/ioctl.h>
4550 #include <stdio.h>
4551 #include <time.h>
4552 #include <unistd.h>
4553 #include <linux/dvb/dmx.h>
4554 #include <linux/dvb/frontend.h>
4555 #include <linux/dvb/video.h>
4556 #include <linux/dvb/audio.h>
4557 int main(void) {return 0;}
4559 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4560 cc_check $_inc_tmp && _dvbhead=yes && \
4561 _inc_extra="$_inc_extra $_inc_tmp" && break
4562 done
4564 echores "$_dvbhead"
4565 if test "$_dvbhead" = yes ; then
4566 _def_dvb='#define HAVE_DVB_HEAD 1'
4567 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4568 _aomodules="mpegpes(dvb) $_aomodules"
4569 _vomodules="mpegpes(dvb) $_vomodules"
4572 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4573 _def_dvb='#undef HAVE_DVB'
4574 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4575 _aomodules="mpegpes(file) $_aomodules"
4576 _vomodules="mpegpes(file) $_vomodules"
4579 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4580 _dvbin=yes
4581 _inputmodules="dvb $_inputmodules"
4582 else
4583 _dvbin=no
4584 _noinputmodules="dvb $_noinputmodules"
4590 echocheck "PNG support"
4591 if test "$_png" = auto ; then
4592 _png=no
4593 if irix ; then
4594 # Don't check for -lpng on irix since it has its own libpng
4595 # incompatible with the GNU libpng
4596 _res_comment="disabled on irix (not GNU libpng)"
4597 else
4598 cat > $TMPC << EOF
4599 #include <png.h>
4600 #include <string.h>
4601 int main(void) {
4602 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4603 printf("libpng: %s\n", png_libpng_ver);
4604 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4607 if cc_check -lpng -lz $_ld_lm ; then
4608 if tmp_run ; then
4609 _png=yes
4610 else
4611 _res_comment="mismatch of library and header versions"
4616 echores "$_png"
4617 if test "$_png" = yes ; then
4618 _def_png='#define HAVE_PNG 1'
4619 _ld_extra="$_ld_extra -lpng -lz"
4620 _vosrc="$_vosrc vo_png.c"
4621 _vomodules="png $_vomodules"
4622 else
4623 _def_png='#undef HAVE_PNG'
4624 _novomodules="png $_novomodules"
4627 echocheck "JPEG support"
4628 if test "$_jpeg" = auto ; then
4629 _jpeg=no
4630 cat > $TMPC << EOF
4631 #include <stdio.h>
4632 #include <stdlib.h>
4633 #include <setjmp.h>
4634 #include <string.h>
4635 #include <jpeglib.h>
4636 int main(void) { return 0; }
4638 if cc_check -ljpeg $_ld_lm ; then
4639 if tmp_run ; then
4640 _jpeg=yes
4644 echores "$_jpeg"
4646 if test "$_jpeg" = yes ; then
4647 _def_jpeg='#define HAVE_JPEG 1'
4648 _vosrc="$_vosrc vo_jpeg.c"
4649 _vomodules="jpeg $_vomodules"
4650 _ld_extra="$_ld_extra -ljpeg"
4651 else
4652 _def_jpeg='#undef HAVE_JPEG'
4653 _novomodules="jpeg $_novomodules"
4658 echocheck "PNM support"
4659 if test "$_pnm" = yes; then
4660 _def_pnm="#define HAVE_PNM"
4661 _vosrc="$_vosrc vo_pnm.c"
4662 _vomodules="pnm $_vomodules"
4663 else
4664 _def_pnm="#undef HAVE_PNM"
4665 _novomodules="pnm $_novomodules"
4667 echores "$_pnm"
4671 echocheck "GIF support"
4672 # This is to appease people who want to force gif support.
4673 # If it is forced to yes, then we still do checks to determine
4674 # which gif library to use.
4675 if test "$_gif" = yes ; then
4676 _force_gif=yes
4677 _gif=auto
4680 if test "$_gif" = auto ; then
4681 _gif=no
4682 cat > $TMPC << EOF
4683 #include <gif_lib.h>
4684 int main(void) { return 0; }
4686 for _ld_gif in "-lungif" "-lgif" ; do
4687 cc_check $_ld_gif && tmp_run && _gif=yes && break
4688 done
4691 # If no library was found, and the user wants support forced,
4692 # then we force it on with libgif, as this is the safest
4693 # assumption IMHO. (libungif & libregif both create symbolic
4694 # links to libgif. We also assume that no x11 support is needed,
4695 # because if you are forcing this, then you _should_ know what
4696 # you are doing. [ Besides, package maintainers should never
4697 # have compiled x11 deps into libungif in the first place. ] )
4698 # </rant>
4699 # --Joey
4700 if test "$_force_gif" = yes && test "$_gif" = no ; then
4701 _gif=yes
4702 _ld_gif="-lgif"
4705 if test "$_gif" = yes ; then
4706 _def_gif='#define HAVE_GIF 1'
4707 _vosrc="$_vosrc vo_gif89a.c"
4708 _codecmodules="gif $_codecmodules"
4709 _vomodules="gif89a $_vomodules"
4710 _res_comment="old version, some encoding functions disabled"
4711 _def_gif_4='#undef HAVE_GIF_4'
4712 _ld_extra="$_ld_extra $_ld_gif"
4714 cat > $TMPC << EOF
4715 #include <signal.h>
4716 #include <gif_lib.h>
4717 void catch() { exit(1); }
4718 int main(void) {
4719 signal(SIGSEGV, catch); // catch segfault
4720 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4721 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4722 return 0;
4725 if cc_check "$_ld_gif" && tmp_run ; then
4726 _def_gif_4='#define HAVE_GIF_4 1'
4727 _res_comment=""
4729 else
4730 _def_gif='#undef HAVE_GIF'
4731 _def_gif_4='#undef HAVE_GIF_4'
4732 _novomodules="gif89a $_novomodules"
4733 _nocodecmodules="gif $_nocodecmodules"
4735 echores "$_gif"
4738 case "$_gif" in yes*)
4739 echocheck "broken giflib workaround"
4740 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4742 cat > $TMPC << EOF
4743 #include <gif_lib.h>
4744 int main(void) {
4745 GifFileType gif;
4746 printf("UserData is at address %p\n", gif.UserData);
4747 return 0;
4750 if cc_check "$_ld_gif" && tmp_run ; then
4751 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4752 echores "disabled"
4753 else
4754 echores "enabled"
4757 esac
4760 echocheck "VESA support"
4761 if test "$_vesa" = auto ; then
4762 cat > $TMPC << EOF
4763 #include <vbe.h>
4764 int main(void) { vbeVersion(); return 0; }
4766 _vesa=no
4767 cc_check -lvbe -llrmi && _vesa=yes
4769 if test "$_vesa" = yes ; then
4770 _def_vesa='#define HAVE_VESA 1'
4771 _libs_mplayer="$_libs_mplayer -lvbe -llrmi"
4772 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4773 _vomodules="vesa $_vomodules"
4774 else
4775 _def_vesa='#undef HAVE_VESA'
4776 _novomodules="vesa $_novomodules"
4778 echores "$_vesa"
4780 #################
4781 # VIDEO + AUDIO #
4782 #################
4785 echocheck "SDL"
4786 if test -z "$_sdlconfig" ; then
4787 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4788 _sdlconfig="sdl-config"
4789 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4790 _sdlconfig="sdl11-config"
4791 else
4792 _sdlconfig=false
4795 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4796 cat > $TMPC << EOF
4797 #include <SDL.h>
4798 int main(void) {
4799 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4800 return 0;
4803 _sdl=no
4804 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4805 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4806 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4807 if test "$_sdlversion" -gt 116 ; then
4808 if test "$_sdlversion" -lt 121 ; then
4809 _def_sdlbuggy='#define BUGGY_SDL'
4810 else
4811 _def_sdlbuggy='#undef BUGGY_SDL'
4813 _sdl=yes
4818 if test "$_sdl" = yes ; then
4819 _def_sdl='#define HAVE_SDL 1'
4820 if cygwin ; then
4821 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4822 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4823 elif mingw32 ; then
4824 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4825 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4826 else
4827 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs`"
4828 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4830 _vosrc="$_vosrc vo_sdl.c"
4831 _vomodules="sdl $_vomodules"
4832 _aosrc="$_aosrc ao_sdl.c"
4833 _aomodules="sdl $_aomodules"
4834 _res_comment="using $_sdlconfig"
4835 else
4836 _def_sdl='#undef HAVE_SDL'
4837 _novomodules="sdl $_novomodules"
4838 _noaomodules="sdl $_noaomodules"
4840 echores "$_sdl"
4843 if win32; then
4845 echocheck "Windows waveout"
4846 if test "$_win32waveout" = auto ; then
4847 cat > $TMPC << EOF
4848 #include <windows.h>
4849 #include <mmsystem.h>
4850 int main(void) { return 0; }
4852 _win32waveout=no
4853 cc_check -lwinmm && _win32waveout=yes
4855 if test "$_win32waveout" = yes ; then
4856 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4857 _libs_mplayer="$_libs_mplayer -lwinmm"
4858 _aosrc="$_aosrc ao_win32.c"
4859 _aomodules="win32 $_aomodules"
4860 else
4861 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4862 _noaomodules="win32 $_noaomodules"
4864 echores "$_win32waveout"
4866 echocheck "Directx"
4867 if test "$_directx" = auto ; then
4868 cat > $TMPC << EOF
4869 #include <windows.h>
4870 #include <ddraw.h>
4871 #include <dsound.h>
4872 int main(void) { return 0; }
4874 _directx=no
4875 cc_check -lgdi32 && _directx=yes
4877 if test "$_directx" = yes ; then
4878 _def_directx='#define HAVE_DIRECTX 1'
4879 _libs_mplayer="$_libs_mplayer -lgdi32"
4880 _vosrc="$_vosrc vo_directx.c"
4881 _vomodules="directx $_vomodules"
4882 _aosrc="$_aosrc ao_dsound.c"
4883 _aomodules="dsound $_aomodules"
4884 else
4885 _def_directx='#undef HAVE_DIRECTX'
4886 _novomodules="directx $_novomodules"
4887 _noaomodules="dsound $_noaomodules"
4889 echores "$_directx"
4891 fi #if win32; then
4894 echocheck "NAS"
4895 if test "$_nas" = auto ; then
4896 cat > $TMPC << EOF
4897 #include <audio/audiolib.h>
4898 int main(void) { return 0; }
4900 _nas=no
4901 cc_check $_ld_lm -laudio -lXt && _nas=yes
4903 if test "$_nas" = yes ; then
4904 _def_nas='#define HAVE_NAS 1'
4905 _libs_mplayer="$_libs_mplayer -laudio -lXt"
4906 _aosrc="$_aosrc ao_nas.c"
4907 _aomodules="nas $_aomodules"
4908 else
4909 _noaomodules="nas $_noaomodules"
4910 _def_nas='#undef HAVE_NAS'
4912 echores "$_nas"
4914 echocheck "DXR2"
4915 if test "$_dxr2" = auto; then
4916 _dxr2=no
4917 cat > $TMPC << EOF
4918 #include <dxr2ioctl.h>
4919 int main(void) { return 0; }
4921 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4922 cc_check $_inc_tmp && _dxr2=yes && \
4923 _inc_extra="$_inc_extra $_inc_tmp" && break
4924 done
4926 if test "$_dxr2" = yes; then
4927 _def_dxr2='#define HAVE_DXR2 1'
4928 _vosrc="$_vosrc vo_dxr2.c"
4929 _aosrc="$_aosrc ao_dxr2.c"
4930 _aomodules="dxr2 $_aomodules"
4931 _vomodules="dxr2 $_vomodules"
4932 else
4933 _def_dxr2='#undef HAVE_DXR2'
4934 _noaomodules="dxr2 $_noaomodules"
4935 _novomodules="dxr2 $_novomodules"
4937 echores "$_dxr2"
4939 echocheck "DXR3/H+"
4940 if test "$_dxr3" = auto ; then
4941 cat > $TMPC << EOF
4942 #include <linux/em8300.h>
4943 int main(void) { return 0; }
4945 _dxr3=no
4946 cc_check && _dxr3=yes
4948 if test "$_dxr3" = yes ; then
4949 _def_dxr3='#define HAVE_DXR3 1'
4950 _vosrc="$_vosrc vo_dxr3.c"
4951 _vomodules="dxr3 $_vomodules"
4952 else
4953 _def_dxr3='#undef HAVE_DXR3'
4954 _novomodules="dxr3 $_novomodules"
4956 echores "$_dxr3"
4959 echocheck "IVTV TV-Out (pre linux-2.6.24)"
4960 if test "$_ivtv" = auto ; then
4961 cat > $TMPC << EOF
4962 #include <stdlib.h>
4963 #include <inttypes.h>
4964 #include <linux/types.h>
4965 #include <linux/videodev2.h>
4966 #include <linux/ivtv.h>
4967 #include <sys/ioctl.h>
4968 int main(void) {
4969 struct ivtv_cfg_stop_decode sd;
4970 struct ivtv_cfg_start_decode sd1;
4971 ioctl (0, IVTV_IOC_START_DECODE, &sd1);
4972 ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
4973 return 0; }
4975 _ivtv=no
4976 cc_check && _ivtv=yes
4978 if test "$_ivtv" = yes ; then
4979 _def_ivtv='#define HAVE_IVTV 1'
4980 _vosrc="$_vosrc vo_ivtv.c"
4981 _vomodules="ivtv $_vomodules"
4982 _aosrc="$_aosrc ao_ivtv.c"
4983 _aomodules="ivtv $_aomodules"
4984 else
4985 _def_ivtv='#undef HAVE_IVTV'
4986 _novomodules="ivtv $_novomodules"
4987 _noaomodules="ivtv $_noaomodules"
4989 echores "$_ivtv"
4992 echocheck "V4L2 MPEG Decoder"
4993 if test "$_v4l2" = auto ; then
4994 cat > $TMPC << EOF
4995 #include <stdlib.h>
4996 #include <inttypes.h>
4997 #include <linux/types.h>
4998 #include <linux/videodev2.h>
4999 #include <linux/version.h>
5000 int main(void) {
5001 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5002 #error kernel headers too old, need 2.6.22
5003 bad_kernel_version();
5004 #endif
5005 struct v4l2_ext_controls ctrls;
5006 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5007 return 0;
5010 _v4l2=no
5011 cc_check && _v4l2=yes
5013 if test "$_v4l2" = yes ; then
5014 _def_v4l2='#define HAVE_V4L2_DECODER 1'
5015 _vosrc="$_vosrc vo_v4l2.c"
5016 _vomodules="v4l2 $_vomodules"
5017 _aosrc="$_aosrc ao_v4l2.c"
5018 _aomodules="v4l2 $_aomodules"
5019 else
5020 _def_v4l2='#undef HAVE_V4L2_DECODER'
5021 _novomodules="v4l2 $_novomodules"
5022 _noaomodules="v4l2 $_noaomodules"
5024 echores "$_v4l2"
5028 #########
5029 # AUDIO #
5030 #########
5033 echocheck "OSS Audio"
5034 if test "$_ossaudio" = auto ; then
5035 cat > $TMPC << EOF
5036 #include <sys/ioctl.h>
5037 #include <$_soundcard_header>
5038 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5040 _ossaudio=no
5041 cc_check && _ossaudio=yes
5043 if test "$_ossaudio" = yes ; then
5044 _def_ossaudio='#define CONFIG_OSS_AUDIO 1'
5045 _aosrc="$_aosrc ao_oss.c"
5046 _aomodules="oss $_aomodules"
5047 if test "$_linux_devfs" = yes; then
5048 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
5049 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5050 else
5051 cat > $TMPC << EOF
5052 #include <sys/ioctl.h>
5053 #include <$_soundcard_header>
5054 #ifdef OPEN_SOUND_SYSTEM
5055 int main(void) { return 0; }
5056 #else
5057 #error Not the real thing
5058 #endif
5060 _real_ossaudio=no
5061 cc_check && _real_ossaudio=yes
5062 if test "$_real_ossaudio" = yes; then
5063 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5064 elif netbsd || openbsd ; then
5065 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
5066 _ld_extra="$_ld_extra -lossaudio"
5067 else
5068 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5070 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
5072 else
5073 _def_ossaudio='#undef CONFIG_OSS_AUDIO'
5074 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
5075 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
5076 _noaomodules="oss $_noaomodules"
5078 echores "$_ossaudio"
5081 echocheck "aRts"
5082 if test "$_arts" = auto ; then
5083 _arts=no
5084 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
5086 cat > $TMPC << EOF
5087 #include <artsc.h>
5088 int main(void) { return 0; }
5090 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
5095 if test "$_arts" = yes ; then
5096 _def_arts='#define CONFIG_ARTS 1'
5097 _aosrc="$_aosrc ao_arts.c"
5098 _aomodules="arts $_aomodules"
5099 _libs_mplayer="$_libs_mplayer `artsc-config --libs`"
5100 _inc_extra="$_inc_extra `artsc-config --cflags`"
5101 else
5102 _noaomodules="arts $_noaomodules"
5104 echores "$_arts"
5107 echocheck "EsounD"
5108 if test "$_esd" = auto ; then
5109 _esd=no
5110 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
5112 cat > $TMPC << EOF
5113 #include <esd.h>
5114 int main(void) { int fd = esd_open_sound("test"); return fd; }
5116 cc_check `esd-config --libs` `esd-config --cflags` && _esd=yes
5120 echores "$_esd"
5122 if test "$_esd" = yes ; then
5123 _def_esd='#define CONFIG_ESD 1'
5124 _aosrc="$_aosrc ao_esd.c"
5125 _aomodules="esd $_aomodules"
5126 _libs_mplayer="$_libs_mplayer `esd-config --libs`"
5127 _inc_extra="$_inc_extra `esd-config --cflags`"
5129 echocheck "esd_get_latency()"
5130 cat > $TMPC << EOF
5131 #include <esd.h>
5132 int main(void) { return esd_get_latency(0); }
5134 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
5135 echores "$_esd_latency"
5136 else
5137 _def_esd='#undef CONFIG_ESD'
5138 _def_esd_latency='#undef HAVE_ESD_LATENCY'
5139 _noaomodules="esd $_noaomodules"
5142 echocheck "pulse"
5143 if test "$_pulse" = auto ; then
5144 _pulse=no
5145 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5147 cat > $TMPC << EOF
5148 #include <pulse/pulseaudio.h>
5149 int main(void) { return 0; }
5151 cc_check `$_pkg_config --libs --cflags libpulse` && tmp_run && _pulse=yes
5155 echores "$_pulse"
5157 if test "$_pulse" = yes ; then
5158 _def_pulse='#define CONFIG_PULSE 1'
5159 _aosrc="$_aosrc ao_pulse.c"
5160 _aomodules="pulse $_aomodules"
5161 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs libpulse`"
5162 _inc_extra="$_inc_extra `$_pkg_config --cflags libpulse`"
5163 else
5164 _def_pulse='#undef CONFIG_PULSE'
5165 _noaomodules="pulse $_noaomodules"
5169 echocheck "JACK"
5170 if test "$_jack" = auto ; then
5171 _jack=yes
5173 cat > $TMPC << EOF
5174 #include <jack/jack.h>
5175 int main(void) { jack_client_new("test"); return 0; }
5177 if cc_check -ljack ; then
5178 _libs_mplayer="$_libs_mplayer -ljack"
5179 elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
5180 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs jack`"
5181 _inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
5182 else
5183 _jack=no
5187 if test "$_jack" = yes ; then
5188 _def_jack='#define CONFIG_JACK 1'
5189 _aosrc="$_aosrc ao_jack.c"
5190 _aomodules="jack $_aomodules"
5191 else
5192 _noaomodules="jack $_noaomodules"
5194 echores "$_jack"
5196 echocheck "OpenAL"
5197 if test "$_openal" = auto ; then
5198 _openal=no
5199 cat > $TMPC << EOF
5200 #ifdef OPENAL_AL_H
5201 #include <OpenAL/al.h>
5202 #else
5203 #include <AL/al.h>
5204 #endif
5205 int main(void) {
5206 alSourceQueueBuffers(0, 0, 0);
5207 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5208 return 0;
5211 for I in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5212 cc_check $I && _openal=yes && break
5213 cc_check -DOPENAL_AL_H=1 $I && _def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
5214 done
5215 test "$_openal" = yes && _libs_mplayer="$_libs_mplayer $I"
5217 if test "$_openal" = yes ; then
5218 _def_openal='#define CONFIG_OPENAL 1'
5219 _aosrc="$_aosrc ao_openal.c"
5220 _aomodules="openal $_aomodules"
5221 else
5222 _noaomodules="openal $_noaomodules"
5224 echores "$_openal"
5226 echocheck "ALSA audio"
5227 if test "$_alloca" != yes ; then
5228 _alsa=no
5229 _res_comment="alloca missing"
5231 if test "$_alsa" != no ; then
5232 _alsa=no
5233 cat > $TMPC << EOF
5234 #include <sys/time.h>
5235 #include <sys/asoundlib.h>
5236 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5237 #error "alsa version != 0.5.x"
5238 #endif
5239 int main(void) { return 0; }
5241 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
5243 cat > $TMPC << EOF
5244 #include <sys/time.h>
5245 #include <sys/asoundlib.h>
5246 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5247 #error "alsa version != 0.9.x"
5248 #endif
5249 int main(void) { return 0; }
5251 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
5252 cat > $TMPC << EOF
5253 #include <sys/time.h>
5254 #include <alsa/asoundlib.h>
5255 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5256 #error "alsa version != 0.9.x"
5257 #endif
5258 int main(void) { return 0; }
5260 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5262 cat > $TMPC << EOF
5263 #include <sys/time.h>
5264 #include <sys/asoundlib.h>
5265 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5266 #error "alsa version != 1.0.x"
5267 #endif
5268 int main(void) { return 0; }
5270 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5271 cat > $TMPC << EOF
5272 #include <sys/time.h>
5273 #include <alsa/asoundlib.h>
5274 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5275 #error "alsa version != 1.0.x"
5276 #endif
5277 int main(void) { return 0; }
5279 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5281 _def_alsa5='#undef HAVE_ALSA5'
5282 _def_alsa9='#undef HAVE_ALSA9'
5283 _def_alsa1x='#undef HAVE_ALSA1X'
5284 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5285 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5286 if test "$_alsaver" ; then
5287 _alsa=yes
5288 if test "$_alsaver" = '0.5.x' ; then
5289 _alsa5=yes
5290 _aosrc="$_aosrc ao_alsa5.c"
5291 _aomodules="alsa5 $_aomodules"
5292 _def_alsa5='#define HAVE_ALSA5 1'
5293 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5294 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5295 elif test "$_alsaver" = '0.9.x-sys' ; then
5296 _alsa9=yes
5297 _aosrc="$_aosrc ao_alsa.c"
5298 _aomodules="alsa $_aomodules"
5299 _def_alsa9='#define HAVE_ALSA9 1'
5300 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5301 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5302 elif test "$_alsaver" = '0.9.x-alsa' ; then
5303 _alsa9=yes
5304 _aosrc="$_aosrc ao_alsa.c"
5305 _aomodules="alsa $_aomodules"
5306 _def_alsa9='#define HAVE_ALSA9 1'
5307 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5308 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5309 elif test "$_alsaver" = '1.0.x-sys' ; then
5310 _alsa1x=yes
5311 _aosrc="$_aosrc ao_alsa.c"
5312 _aomodules="alsa $_aomodules"
5313 _def_alsa1x="#define HAVE_ALSA1X 1"
5314 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5315 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5316 elif test "$_alsaver" = '1.0.x-alsa' ; then
5317 _alsa1x=yes
5318 _aosrc="$_aosrc ao_alsa.c"
5319 _aomodules="alsa $_aomodules"
5320 _def_alsa1x="#define HAVE_ALSA1X 1"
5321 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5322 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5323 else
5324 _alsa=no
5325 _res_comment="unknown version"
5327 _ld_extra="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5328 else
5329 _noaomodules="alsa $_noaomodules"
5331 echores "$_alsa"
5334 echocheck "Sun audio"
5335 if test "$_sunaudio" = auto ; then
5336 cat > $TMPC << EOF
5337 #include <sys/types.h>
5338 #include <sys/audioio.h>
5339 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5341 _sunaudio=no
5342 cc_check && _sunaudio=yes
5344 if test "$_sunaudio" = yes ; then
5345 _def_sunaudio='#define CONFIG_SUN_AUDIO 1'
5346 _aosrc="$_aosrc ao_sun.c"
5347 _aomodules="sun $_aomodules"
5348 else
5349 _def_sunaudio='#undef CONFIG_SUN_AUDIO'
5350 _noaomodules="sun $_noaomodules"
5352 echores "$_sunaudio"
5355 if sunos; then
5356 echocheck "Sun mediaLib"
5357 if test "$_mlib" = auto ; then
5358 _mlib=no
5359 cat > $TMPC << EOF
5360 #include <mlib.h>
5361 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5363 cc_check -lmlib && _mlib=yes
5365 test "$_mlib" = yes && _cpuexts="MLIB $_cpuexts"
5366 echores "$_mlib"
5367 fi #if sunos
5370 if irix; then
5371 echocheck "SGI audio"
5372 if test "$_sgiaudio" = auto ; then
5373 # check for SGI audio
5374 cat > $TMPC << EOF
5375 #include <dmedia/audio.h>
5376 int main(void) { return 0; }
5378 _sgiaudio=no
5379 cc_check && _sgiaudio=yes
5381 if test "$_sgiaudio" = "yes" ; then
5382 _def_sgiaudio='#define CONFIG_SGI_AUDIO 1'
5383 _libs_mplayer="$_libs_mplayer -laudio"
5384 _aosrc="$_aosrc ao_sgi.c"
5385 _aomodules="sgi $_aomodules"
5386 else
5387 _def_sgiaudio='#undef CONFIG_SGI_AUDIO'
5388 _noaomodules="sgi $_noaomodules"
5390 echores "$_sgiaudio"
5391 fi #if irix
5394 echocheck "VCD support"
5395 if linux || freebsd || netbsd || dragonfly || bsdos || darwin || sunos || mingw32; then
5396 _inputmodules="vcd $_inputmodules"
5397 _def_vcd='#define HAVE_VCD 1'
5398 _vcd="yes"
5399 else
5400 _def_vcd='#undef HAVE_VCD'
5401 _noinputmodules="vcd $_noinputmodules"
5402 _res_comment="not supported on this OS"
5403 _vcd="no"
5405 echores "$_vcd"
5409 echocheck "dvdread"
5410 if test "$_dvdread_internal" = auto ; then
5411 _dvdread_internal=no
5412 _dvdread=no
5413 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux) \
5414 && (test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5415 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes) \
5416 || darwin || win32; then
5417 _dvdread_internal=yes
5418 _dvdread=yes
5420 elif test "$_dvdread" = auto ; then
5421 _dvdread=no
5422 if test "$_dl" = yes; then
5423 cat > $TMPC << EOF
5424 #include <inttypes.h>
5425 #include <libdvdread/dvd_reader.h>
5426 #include <libdvdread/ifo_types.h>
5427 #include <libdvdread/ifo_read.h>
5428 #include <libdvdread/nav_read.h>
5429 int main(void) { return 0; }
5432 _dvdreadcflags=`$_dvdreadconfig --cflags`
5433 _dvdreadlibs=`$_dvdreadconfig --libs`
5434 if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5435 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5436 _dvdread=yes
5437 _inc_extra="$_inc_extra $_dvdreadcflags"
5438 _ld_extra="$_ld_extra $_dvdreadlibs"
5439 _res_comment="external"
5443 if test "$_dvdread_internal" = yes; then
5444 _def_dvdread_internal="#define CONFIG_DVDREAD_INTERNAL 1"
5445 _def_dvdread='#define CONFIG_DVDREAD 1'
5446 _inputmodules="dvdread(internal) $_inputmodules"
5447 _largefiles=yes
5448 _res_comment="internal"
5449 elif test "$_dvdread" = yes; then
5450 _def_dvdread='#define CONFIG_DVDREAD 1'
5451 _largefiles=yes
5452 _ld_extra="$_ld_extra -ldvdread"
5453 _inputmodules="dvdread(external) $_inputmodules"
5454 _res_comment="external"
5455 else
5456 _def_dvdread_internal="#undef CONFIG_DVDREAD_INTERNAL"
5457 _def_dvdread='#undef CONFIG_DVDREAD'
5458 _noinputmodules="dvdread $_noinputmodules"
5460 echores "$_dvdread"
5463 echocheck "internal libdvdcss"
5464 if test "$_libdvdcss_internal" = auto ; then
5465 _libdvdcss_internal=no
5466 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5467 hpux && test "$_hpux_scsi_h" = no && _libdvdcss_internal=no
5469 if test "$_libdvdcss_internal" = yes ; then
5470 if linux || netbsd || openbsd || bsdos ; then
5471 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5472 openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5473 elif freebsd || dragonfly ; then
5474 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5475 elif darwin ; then
5476 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5477 _ld_extra="$_ld_extra -framework IOKit"
5478 elif cygwin ; then
5479 CFLAGS="$CFLAGS -DSYS_CYGWIN"
5480 elif beos ; then
5481 CFLAGS="$CFLAGS -DSYS_BEOS"
5482 elif os2 ; then
5483 CFLAGS="$CFLAGS -DSYS_OS2"
5485 _libdvdcss_dvdread_flags="-Ilibdvdcss -DHAVE_DVDCSS_DVDCSS_H"
5486 _inputmodules="libdvdcss(internal) $_inputmodules"
5487 _largefiles=yes
5488 else
5489 _noinputmodules="libdvdcss(internal) $_noinputmodules"
5491 echores "$_libdvdcss_internal"
5494 echocheck "cdparanoia"
5495 if test "$_cdparanoia" = auto ; then
5496 cat > $TMPC <<EOF
5497 #include <cdda_interface.h>
5498 #include <cdda_paranoia.h>
5499 // This need a better test. How ?
5500 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5502 _cdparanoia=no
5503 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5504 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5505 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5506 done
5508 if test "$_cdparanoia" = yes ; then
5509 _cdda='yes'
5510 _ld_extra="$_ld_extra -lcdda_interface -lcdda_paranoia"
5511 openbsd && _ld_extra="$_ld_extra -lutil"
5513 echores "$_cdparanoia"
5516 echocheck "libcdio"
5517 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5518 cat > $TMPC << EOF
5519 #include <stdio.h>
5520 #include <cdio/version.h>
5521 #include <cdio/cdda.h>
5522 #include <cdio/paranoia.h>
5523 int main(void) {
5524 void *test = cdda_verbose_set;
5525 printf("%s\n", CDIO_VERSION);
5526 return test == (void *)1;
5529 _libcdio=no
5530 for _ld_tmp in "" "-lwinmm" ; do
5531 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5532 cc_check $_ld_tmp $_ld_lm \
5533 && _libcdio=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5534 done
5535 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5536 _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
5537 _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
5538 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5539 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5542 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5543 _cdda='yes'
5544 _def_libcdio='#define HAVE_LIBCDIO'
5545 _def_havelibcdio='yes'
5546 else
5547 if test "$_cdparanoia" = yes ; then
5548 _res_comment="using cdparanoia"
5550 _def_libcdio='#undef HAVE_LIBCDIO'
5551 _def_havelibcdio='no'
5553 echores "$_libcdio"
5555 if test "$_cdda" = yes ; then
5556 test $_cddb = auto && test $_network = yes && _cddb=yes
5557 _def_cdparanoia='#define HAVE_CDDA'
5558 _inputmodules="cdda $_inputmodules"
5559 else
5560 _def_cdparanoia='#undef HAVE_CDDA'
5561 _noinputmodules="cdda $_noinputmodules"
5564 if test "$_cddb" = yes ; then
5565 _def_cddb='#define HAVE_CDDB'
5566 _inputmodules="cddb $_inputmodules"
5567 else
5568 _cddb=no
5569 _def_cddb='#undef HAVE_CDDB'
5570 _noinputmodules="cddb $_noinputmodules"
5573 echocheck "bitmap font support"
5574 if test "$_bitmap_font" = yes ; then
5575 _def_bitmap_font="#define HAVE_BITMAP_FONT 1"
5576 else
5577 _def_bitmap_font="#undef HAVE_BITMAP_FONT"
5579 echores "$_bitmap_font"
5582 echocheck "freetype >= 2.0.9"
5584 # freetype depends on iconv
5585 if test "$_iconv" = no ; then
5586 _freetype=no
5587 _res_comment="iconv support needed"
5590 if test "$_freetype" = auto ; then
5591 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5592 cat > $TMPC << EOF
5593 #include <stdio.h>
5594 #include <ft2build.h>
5595 #include FT_FREETYPE_H
5596 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5597 #error "Need FreeType 2.0.9 or newer"
5598 #endif
5599 int main(void) {
5600 FT_Library library;
5601 FT_Int major=-1,minor=-1,patch=-1;
5602 int err=FT_Init_FreeType(&library);
5603 if(err){
5604 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5605 exit(err);
5607 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5608 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5609 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5610 (int)major,(int)minor,(int)patch );
5611 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5612 printf("Library and header version mismatch! Fix it in your distribution!\n");
5613 exit(1);
5615 return 0;
5618 _freetype=no
5619 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5620 else
5621 _freetype=no
5624 if test "$_freetype" = yes ; then
5625 _def_freetype='#define HAVE_FREETYPE'
5626 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5627 _ld_extra="$_ld_extra `$_freetypeconfig --libs`"
5628 else
5629 _def_freetype='#undef HAVE_FREETYPE'
5631 echores "$_freetype"
5633 if test "$_freetype" = no ; then
5634 _fontconfig=no
5635 _res_comment="freetype support needed"
5637 echocheck "fontconfig"
5638 if test "$_fontconfig" = auto ; then
5639 cat > $TMPC << EOF
5640 #include <stdio.h>
5641 #include <stdlib.h>
5642 #include <fontconfig/fontconfig.h>
5643 int main(void) {
5644 int err = FcInit();
5645 if(err == FcFalse){
5646 printf("Couldn't initialize fontconfig lib\n");
5647 exit(err);
5649 return 0;
5652 _fontconfig=no
5653 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5654 _ld_tmp="-lfontconfig $_ld_tmp"
5655 cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5656 done
5657 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
5658 _inc_tmp=`$_pkg_config --cflags fontconfig`
5659 _ld_tmp=`$_pkg_config --libs fontconfig`
5660 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
5661 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5664 if test "$_fontconfig" = yes ; then
5665 _def_fontconfig='#define HAVE_FONTCONFIG'
5666 else
5667 _def_fontconfig='#undef HAVE_FONTCONFIG'
5669 echores "$_fontconfig"
5672 echocheck "SSA/ASS support"
5673 # libass depends on FreeType
5674 if test "$_freetype" = no ; then
5675 _ass=no
5676 _res_comment="FreeType support needed"
5679 if test "$_ass" = auto ; then
5680 cat > $TMPC << EOF
5681 #include <ft2build.h>
5682 #include FT_FREETYPE_H
5683 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5684 #error "Need FreeType 2.1.8 or newer"
5685 #endif
5686 int main(void) { return 0; }
5688 _ass=no
5689 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5690 if test "$_ass" = no ; then
5691 _res_comment="FreeType >= 2.1.8 needed"
5694 if test "$_ass" = yes ; then
5695 _def_ass='#define CONFIG_ASS'
5696 else
5697 _def_ass='#undef CONFIG_ASS'
5699 echores "$_ass"
5702 echocheck "fribidi with charsets"
5703 if test "$_fribidi" = auto ; then
5704 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5705 cat > $TMPC << EOF
5706 #include <stdio.h>
5707 /* workaround for fribidi 0.10.4 and below */
5708 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5709 #include <fribidi/fribidi.h>
5710 int main(void) {
5711 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5712 printf("Fribidi headers are not consistents with the library!\n");
5713 exit(1);
5715 return 0;
5718 _fribidi=no
5719 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5720 else
5721 _fribidi=no
5724 if test "$_fribidi" = yes ; then
5725 _def_fribidi='#define CONFIG_FRIBIDI'
5726 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5727 _ld_extra="$_ld_extra `$_fribidiconfig --libs`"
5728 else
5729 _def_fribidi='#undef CONFIG_FRIBIDI'
5731 echores "$_fribidi"
5734 echocheck "ENCA"
5735 if test "$_enca" = auto ; then
5736 cat > $TMPC << EOF
5737 #include <sys/types.h>
5738 #include <enca.h>
5739 int main(void) {
5740 const char **langs;
5741 size_t langcnt;
5742 langs = enca_get_languages(&langcnt);
5743 return 0;
5746 _enca=no
5747 cc_check -lenca $_ld_lm && _enca=yes
5749 if test "$_enca" = yes ; then
5750 _def_enca='#define HAVE_ENCA 1'
5751 _ld_extra="$_ld_extra -lenca"
5752 else
5753 _def_enca='#undef HAVE_ENCA'
5755 echores "$_enca"
5758 echocheck "zlib"
5759 cat > $TMPC << EOF
5760 #include <zlib.h>
5761 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5763 _zlib=no
5764 cc_check -lz && _zlib=yes
5765 if test "$_zlib" = yes ; then
5766 _def_zlib='#define CONFIG_ZLIB 1'
5767 _ld_extra="$_ld_extra -lz"
5768 else
5769 _def_zlib='#undef CONFIG_ZLIB'
5770 _libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `
5771 _libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
5773 echores "$_zlib"
5776 echocheck "RTC"
5777 if test "$_rtc" = auto ; then
5778 cat > $TMPC << EOF
5779 #include <sys/ioctl.h>
5780 #ifdef __linux__
5781 #include <linux/rtc.h>
5782 #else
5783 #include <rtc.h>
5784 #define RTC_PIE_ON RTCIO_PIE_ON
5785 #endif
5786 int main(void) { return RTC_PIE_ON; }
5788 _rtc=no
5789 cc_check && _rtc=yes
5790 ppc && _rtc=no
5792 if test "$_rtc" = yes ; then
5793 _def_rtc='#define HAVE_RTC 1'
5794 else
5795 _def_rtc='#undef HAVE_RTC'
5797 echores "$_rtc"
5800 echocheck "liblzo2 support"
5801 if test "$_liblzo" = auto ; then
5802 _liblzo=no
5803 cat > $TMPC << EOF
5804 #include <lzo/lzo1x.h>
5805 int main(void) { lzo_init();return 0; }
5807 cc_check -llzo2 && _liblzo=yes
5809 if test "$_liblzo" = yes ; then
5810 _def_liblzo='#define CONFIG_LIBLZO 1'
5811 _ld_extra="$_ld_extra -llzo2"
5812 _codecmodules="liblzo $_codecmodules"
5813 else
5814 _def_liblzo='#undef CONFIG_LIBLZO'
5815 _nocodecmodules="liblzo $_nocodecmodules"
5817 echores "$_liblzo"
5820 echocheck "mad support"
5821 if test "$_mad" = auto ; then
5822 _mad=no
5823 cat > $TMPC << EOF
5824 #include <mad.h>
5825 int main(void) { return 0; }
5827 cc_check -lmad && _mad=yes
5829 if test "$_mad" = yes ; then
5830 _def_mad='#define CONFIG_LIBMAD 1'
5831 _ld_extra="$_ld_extra -lmad"
5832 _codecmodules="libmad $_codecmodules"
5833 else
5834 _def_mad='#undef CONFIG_LIBMAD'
5835 _nocodecmodules="libmad $_nocodecmodules"
5837 echores "$_mad"
5839 echocheck "Twolame"
5840 if test "$_twolame" = auto ; then
5841 cat > $TMPC <<EOF
5842 #include <twolame.h>
5843 int main(void) { twolame_init(); return 0; }
5845 _twolame=no
5846 cc_check -ltwolame $_ld_lm && _twolame=yes
5848 if test "$_twolame" = yes ; then
5849 _def_twolame='#define HAVE_TWOLAME 1'
5850 _libs_mencoder="$_libs_mencoder -ltwolame"
5851 _codecmodules="twolame $_codecmodules"
5852 else
5853 _def_twolame='#undef HAVE_TWOLAME'
5854 _nocodecmodules="twolame $_nocodecmodules"
5856 echores "$_twolame"
5858 echocheck "Toolame"
5859 if test "$_toolame" = auto ; then
5860 _toolame=no
5861 if test "$_twolame" = yes ; then
5862 _res_comment="disabled by twolame"
5863 else
5864 cat > $TMPC <<EOF
5865 #include <toolame.h>
5866 int main(void) { toolame_init(); return 0; }
5868 cc_check -ltoolame $_ld_lm && _toolame=yes
5871 if test "$_toolame" = yes ; then
5872 _def_toolame='#define HAVE_TOOLAME 1'
5873 _libs_mencoder="$_libs_mencoder -ltoolame"
5874 _codecmodules="toolame $_codecmodules"
5875 else
5876 _def_toolame='#undef HAVE_TOOLAME'
5877 _nocodecmodules="toolame $_nocodecmodules"
5879 if test "$_toolamedir" ; then
5880 _res_comment="using $_toolamedir"
5882 echores "$_toolame"
5884 echocheck "OggVorbis support"
5885 if test "$_tremor_internal" = yes; then
5886 _libvorbis=no
5887 elif test "$_tremor_external" = auto; then
5888 _tremor_external=no
5889 cat > $TMPC << EOF
5890 #include <tremor/ivorbiscodec.h>
5891 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5893 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5895 if test "$_libvorbis" = auto; then
5896 _libvorbis=no
5897 cat > $TMPC << EOF
5898 #include <vorbis/codec.h>
5899 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5901 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5903 if test "$_tremor_internal" = yes ; then
5904 _vorbis=yes
5905 _def_vorbis='#define HAVE_OGGVORBIS 1'
5906 _def_tremor='#define TREMOR 1'
5907 _codecmodules="tremor(internal) $_codecmodules"
5908 _res_comment="internal Tremor"
5909 if test "$_tremor_low" = yes ; then
5910 CFLAGS="$CFLAGS -D_LOW_ACCURACY_"
5911 _res_comment="internal low accuracy Tremor"
5913 elif test "$_tremor_external" = yes ; then
5914 _vorbis=yes
5915 _def_vorbis='#define HAVE_OGGVORBIS 1'
5916 _def_tremor='#define TREMOR 1'
5917 _codecmodules="tremor(external) $_codecmodules"
5918 _res_comment="external Tremor"
5919 _ld_extra="$_ld_extra -logg -lvorbisidec"
5920 elif test "$_libvorbis" = yes ; then
5921 _vorbis=yes
5922 _def_vorbis='#define HAVE_OGGVORBIS 1'
5923 _codecmodules="libvorbis $_codecmodules"
5924 _res_comment="libvorbis"
5925 _ld_extra="$_ld_extra -lvorbis -logg"
5926 else
5927 _vorbis=no
5928 _nocodecmodules="libvorbis $_nocodecmodules"
5930 echores "$_vorbis"
5932 echocheck "libspeex (version >= 1.1 required)"
5933 if test "$_speex" = auto ; then
5934 _speex=no
5935 cat > $TMPC << EOF
5936 #include <speex/speex.h>
5937 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
5939 cc_check -lspeex $_ld_lm && _speex=yes
5941 if test "$_speex" = yes ; then
5942 _def_speex='#define HAVE_SPEEX 1'
5943 _ld_extra="$_ld_extra -lspeex"
5944 _codecmodules="speex $_codecmodules"
5945 else
5946 _def_speex='#undef HAVE_SPEEX'
5947 _nocodecmodules="speex $_nocodecmodules"
5949 echores "$_speex"
5951 echocheck "OggTheora support"
5952 if test "$_theora" = auto ; then
5953 _theora=no
5954 cat > $TMPC << EOF
5955 #include <theora/theora.h>
5956 #include <string.h>
5957 int main(void) {
5958 /* theora is in flux, make sure that all interface routines and
5959 * datatypes exist and work the way we expect it, so we don't break
5960 * mplayer */
5961 ogg_packet op;
5962 theora_comment tc;
5963 theora_info inf;
5964 theora_state st;
5965 yuv_buffer yuv;
5966 int r;
5967 double t;
5969 theora_info_init (&inf);
5970 theora_comment_init (&tc);
5972 return 0;
5974 /* we don't want to execute this kind of nonsense; just for making sure
5975 * that compilation works... */
5976 memset(&op, 0, sizeof(op));
5977 r = theora_decode_header (&inf, &tc, &op);
5978 r = theora_decode_init (&st, &inf);
5979 t = theora_granule_time (&st, op.granulepos);
5980 r = theora_decode_packetin (&st, &op);
5981 r = theora_decode_YUVout (&st, &yuv);
5982 theora_clear (&st);
5984 return 0;
5987 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
5988 cc_check $_ld_theora && _ld_extra="$_ld_extra $_ld_theora" \
5989 && _theora=yes && break
5990 done
5991 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5992 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
5993 cc_check -I. tremor/bitwise.c $_ld_theora \
5994 && _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
5995 done
5998 if test "$_theora" = yes ; then
5999 _def_theora='#define HAVE_OGGTHEORA 1'
6000 _codecmodules="libtheora $_codecmodules"
6001 # when --enable-theora is forced, we'd better provide a probably sane
6002 # $_ld_theora than nothing
6003 test -z "$_ld_theora" && _ld_extra="$_ld_extra -ltheora -logg"
6004 else
6005 _def_theora='#undef HAVE_OGGTHEORA'
6006 _nocodecmodules="libtheora $_nocodecmodules"
6008 echores "$_theora"
6010 echocheck "internal mp3lib support"
6011 if test "$_mp3lib" = yes ; then
6012 _def_mp3lib='#define CONFIG_MP3LIB 1'
6013 _codecmodules="mp3lib $_codecmodules"
6014 else
6015 _def_mp3lib='#undef CONFIG_MP3LIB'
6016 _nocodecmodules="mp3lib $_nocodecmodules"
6018 echores "$_mp3lib"
6020 echocheck "internal liba52 support"
6021 if test "$_liba52" = yes ; then
6022 _def_liba52='#define CONFIG_LIBA52 1'
6023 _codecmodules="liba52 $_codecmodules"
6024 else
6025 _def_liba52='#undef CONFIG_LIBA52'
6026 _nocodecmodules="liba52 $_nocodecmodules"
6028 echores "$_liba52"
6030 echocheck "internal libmpeg2 support"
6031 if test "$_libmpeg2" = auto ; then
6032 _libmpeg2=yes
6033 if alpha && test cc_vendor=gnu; then
6034 case $cc_version in
6035 2*|3.0*|3.1*) # cannot compile MVI instructions
6036 _libmpeg2=no
6037 _res_comment="broken gcc"
6039 esac
6042 if test "$_libmpeg2" = yes ; then
6043 _def_libmpeg2='#define CONFIG_LIBMPEG2 1'
6044 _codecmodules="libmpeg2 $_codecmodules"
6045 else
6046 _def_libmpeg2='#undef CONFIG_LIBMPEG2'
6047 _nocodecmodules="libmpeg2 $_nocodecmodules"
6049 echores "$_libmpeg2"
6051 echocheck "libdca support"
6052 if test "$_libdca" = auto ; then
6053 _libdca=no
6054 cat > $TMPC << EOF
6055 #include <inttypes.h>
6056 #include <dts.h>
6057 int main(void) { dts_init (0); return 0; }
6059 for _ld_dca in -ldts -ldca ; do
6060 cc_check $_ld_dca $_ld_lm && _ld_extra="$_ld_extra $_ld_dca" \
6061 && _libdca=yes && break
6062 done
6064 if test "$_libdca" = yes ; then
6065 _def_libdca='#define CONFIG_LIBDCA 1'
6066 _codecmodules="libdca $_codecmodules"
6067 else
6068 _def_libdca='#undef CONFIG_LIBDCA'
6069 _nocodecmodules="libdca $_nocodecmodules"
6071 echores "$_libdca"
6073 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
6074 if test "$_musepack" = auto ; then
6075 _musepack=no
6076 cat > $TMPC << EOF
6077 #include <stddef.h>
6078 #include <mpcdec/mpcdec.h>
6079 int main(void) {
6080 mpc_streaminfo info;
6081 mpc_decoder decoder;
6082 mpc_decoder_set_streaminfo(&decoder, &info);
6083 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6084 return 0;
6087 cc_check -lmpcdec $_ld_lm && _musepack=yes
6089 if test "$_musepack" = yes ; then
6090 _def_musepack='#define HAVE_MUSEPACK 1'
6091 _ld_extra="$_ld_extra -lmpcdec"
6092 _codecmodules="musepack $_codecmodules"
6093 else
6094 _def_musepack='#undef HAVE_MUSEPACK'
6095 _nocodecmodules="musepack $_nocodecmodules"
6097 echores "$_musepack"
6100 echocheck "FAAC (AAC encoder) support"
6101 if test "$_faac" = auto ; then
6102 cat > $TMPC <<EOF
6103 #include <inttypes.h>
6104 #include <faac.h>
6105 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6107 _faac=no
6108 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6109 cc_check -O4 $_ld_faac $_ld_lm && _libs_mencoder="$_libs_mencoder $_ld_faac" && _faac=yes && break
6110 done
6112 if test "$_faac" = yes ; then
6113 _def_faac="#define HAVE_FAAC 1"
6114 test "$_faac_lavc" = auto && _faac_lavc=yes
6115 if test "$_faac_lavc" = yes ; then
6116 _def_faac_lavc="#define CONFIG_LIBFAAC 1"
6117 _libs_mplayer="$_libs_mplayer $_ld_faac"
6118 _libavencoders="$_libavencoders LIBFAAC_ENCODER"
6120 _codecmodules="faac $_codecmodules"
6121 else
6122 _faac_lavc=no
6123 _def_faac="#undef HAVE_FAAC"
6124 _def_faac_lavc="#undef CONFIG_LIBFAAC"
6125 _nocodecmodules="faac $_nocodecmodules"
6127 _res_comment="in libavcodec: $_faac_lavc"
6128 echores "$_faac"
6131 echocheck "FAAD2 (AAC) support"
6132 if test "$_faad_internal" = auto ; then
6133 if x86_32 && test cc_vendor=gnu; then
6134 case $cc_version in
6135 3.1*|3.2) # ICE/insn with these versions
6136 _faad_internal=no
6137 _res_comment="broken gcc"
6140 _faad_internal=yes
6142 esac
6143 else
6144 _faad_internal=yes
6146 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
6147 _faad_external=no
6148 cat > $TMPC << EOF
6149 #include <faad.h>
6150 #ifndef FAAD_MIN_STREAMSIZE
6151 #error Too old version
6152 #endif
6153 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6154 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6156 cc_check -lfaad $_ld_lm && _faad_external=yes
6159 if test "$_faad_internal" = yes ; then
6160 _def_faad_internal="#define CONFIG_FAAD_INTERNAL 1"
6161 _faad=yes
6162 _res_comment="internal floating-point"
6163 if test "$_faad_fixed" = yes ; then
6164 # The FIXED_POINT implementation of FAAD2 improves performance
6165 # on some platforms, especially for SBR files.
6166 CFLAGS="$CFLAGS -DFIXED_POINT"
6167 _res_comment="internal fixed-point"
6169 elif test "$_faad_external" = yes ; then
6170 _faad=yes
6171 _ld_extra="$_ld_extra -lfaad"
6172 else
6173 _def_faad_internal="#undef CONFIG_FAAD_INTERNAL"
6174 _faad=no
6177 if test "$_faad" = yes ; then
6178 _def_faad='#define HAVE_FAAD 1'
6179 _codecmodules="faad2 $_codecmodules"
6180 else
6181 _def_faad='#undef HAVE_FAAD'
6182 _nocodecmodules="faad2 $_nocodecmodules"
6184 echores "$_faad"
6187 echocheck "LADSPA plugin support"
6188 if test "$_ladspa" = auto ; then
6189 cat > $TMPC <<EOF
6190 #include <stdio.h>
6191 #include <ladspa.h>
6192 int main(void) {
6193 const LADSPA_Descriptor *ld = NULL;
6194 return 0;
6197 _ladspa=no
6198 cc_check && _ladspa=yes
6200 if test "$_ladspa" = yes; then
6201 _def_ladspa="#define HAVE_LADSPA"
6202 else
6203 _def_ladspa="#undef HAVE_LADSPA"
6205 echores "$_ladspa"
6208 if test -z "$_codecsdir" ; then
6209 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
6210 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
6211 if test -d "$dir" ; then
6212 _codecsdir="$dir"
6213 break;
6215 done
6217 # Fall back on default directory.
6218 if test -z "$_codecsdir" ; then
6219 _codecsdir="$_libdir/codecs"
6220 mingw32 && _codecsdir="codecs"
6221 os2 && _codecsdir="codecs"
6225 echocheck "Win32 codecs"
6226 if test "$_win32dll" = auto ; then
6227 _win32dll=no
6228 if x86_32 && ! qnx; then
6229 _win32dll=yes
6232 if test "$_win32dll" = yes ; then
6233 _def_win32dll='#define CONFIG_WIN32DLL 1'
6234 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
6235 _res_comment="using $_win32codecsdir"
6236 if ! win32 ; then
6237 _def_win32_loader='#define WIN32_LOADER 1'
6238 _win32_emulation=yes
6239 else
6240 _ld_extra="$_ld_extra -ladvapi32 -lole32"
6241 _res_comment="using native windows"
6243 _codecmodules="win32 $_codecmodules"
6244 else
6245 _def_win32dll='#undef CONFIG_WIN32DLL'
6246 _def_win32_loader='#undef WIN32_LOADER'
6247 _nocodecmodules="win32 $_nocodecmodules"
6249 echores "$_win32dll"
6252 echocheck "XAnim codecs"
6253 if test "$_xanim" = auto ; then
6254 _xanim=no
6255 _res_comment="dynamic loader support needed"
6256 if test "$_dl" = yes ; then
6257 _xanim=yes
6260 if test "$_xanim" = yes ; then
6261 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6262 _def_xanim='#define CONFIG_XANIM 1'
6263 _def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6264 _codecmodules="xanim $_codecmodules"
6265 _res_comment="using $_xanimcodecsdir"
6266 else
6267 _def_xanim='#undef CONFIG_XANIM'
6268 _def_xanim_path='#undef XACODEC_PATH'
6269 _nocodecmodules="xanim $_nocodecmodules"
6271 echores "$_xanim"
6274 echocheck "RealPlayer codecs"
6275 if test "$_real" = auto ; then
6276 _real=no
6277 _res_comment="dynamic loader support needed"
6278 if test "$_dl" = yes || test "$_win32dll" = yes &&
6279 (linux || freebsd || netbsd || dragonfly || darwin || win32) ; then
6280 _real=yes
6283 if test "$_real" = yes ; then
6284 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6285 _def_real='#define CONFIG_REALCODECS 1'
6286 _def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6287 _codecmodules="real $_codecmodules"
6288 _res_comment="using $_realcodecsdir"
6289 else
6290 _def_real='#undef CONFIG_REALCODECS'
6291 _def_real_path="#undef REALCODEC_PATH"
6292 _nocodecmodules="real $_nocodecmodules"
6294 echores "$_real"
6297 echocheck "QuickTime codecs"
6298 _qtx_emulation=no
6299 _def_qtx_win32='#undef CONFIG_QTX_CODECS_WIN32'
6300 if test "$_qtx" = auto ; then
6301 test "$_win32dll" = yes || darwin && _qtx=yes
6303 if test "$_qtx" = yes ; then
6304 _def_qtx='#define CONFIG_QTX_CODECS 1'
6305 win32 && _qtx_codecs_win32=yes && _def_qtx_win32='#define CONFIG_QTX_CODECS_WIN32 1'
6306 _codecmodules="qtx $_codecmodules"
6307 darwin || win32 || _qtx_emulation=yes
6308 else
6309 _def_qtx='#undef CONFIG_QTX_CODECS'
6310 _nocodecmodules="qtx $_nocodecmodules"
6312 echores "$_qtx"
6314 echocheck "Nemesi Streaming Media libraries"
6315 if test "$_nemesi" = auto && test "$_network" = yes ; then
6316 _nemesi=no
6317 if $_pkg_config libnemesi --atleast-version=0.6.3 ; then
6318 _inc_extra="$_inc_extra `$_pkg_config --cflags libnemesi`"
6319 _ld_extra="$_ld_extra `$_pkg_config --libs libnemesi`"
6320 _nemesi=yes
6323 if test "$_nemesi" = yes; then
6324 _native_rtsp=no
6325 _def_nemesi='#define LIBNEMESI 1'
6326 _inputmodules="nemesi $_inputmodules"
6327 else
6328 _native_rtsp="$_network"
6329 _nemesi=no
6330 _def_nemesi='#undef LIBNEMESI'
6331 _noinputmodules="nemesi $_noinputmodules"
6333 echores "$_nemesi"
6335 echocheck "LIVE555 Streaming Media libraries"
6336 if test "$_live" = auto && test "$_network" = yes ; then
6337 cat > $TMPCPP << EOF
6338 #include <liveMedia.hh>
6339 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6340 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6341 #endif
6342 int main(void) { return 0; }
6345 _live=no
6346 for I in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6347 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6348 $I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
6349 _ld_extra="$_livelibdir/liveMedia/libliveMedia.a \
6350 $_livelibdir/groupsock/libgroupsock.a \
6351 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6352 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6353 $_ld_extra -lstdc++" \
6354 _inc_extraxx="-I$_livelibdir/liveMedia/include \
6355 -I$_livelibdir/UsageEnvironment/include \
6356 -I$_livelibdir/BasicUsageEnvironment/include \
6357 -I$_livelibdir/groupsock/include" && \
6358 _live=yes && break
6359 done
6360 if test "$_live" != yes ; then
6361 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6362 _live_dist=yes
6366 if test "$_live" = yes && test "$_network" = yes; then
6367 _res_comment="using $_livelibdir"
6368 _def_live='#define STREAMING_LIVE555 1'
6369 _inputmodules="live555 $_inputmodules"
6370 elif test "$_live_dist" = yes && test "$_network" = yes; then
6371 _res_comment="using distribution version"
6372 _live="yes"
6373 _def_live='#define STREAMING_LIVE555 1'
6374 _ld_extra="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6375 _inc_extraxx="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6376 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6377 _inputmodules="live555 $_inputmodules"
6378 else
6379 _live=no
6380 _def_live='#undef STREAMING_LIVE555'
6381 _noinputmodules="live555 $_noinputmodules"
6383 echores "$_live"
6386 echocheck "FFmpeg libavutil"
6387 if test "$_libavutil_a" = auto ; then
6388 if test -d ffmpeg/libavutil ; then
6389 _libavutil_a=yes
6390 _res_comment="static"
6391 else
6392 die "MPlayer will not compile without libavutil in the source tree."
6394 elif test "$_libavutil_so" = auto ; then
6395 _libavutil_so=no
6396 cat > $TMPC << EOF
6397 #include <libavutil/common.h>
6398 int main(void) { ff_gcd(1,1); return 0; }
6400 if $_pkg_config --exists libavutil ; then
6401 _inc_libavutil=`$_pkg_config --cflags libavutil`
6402 _ld_tmp=`$_pkg_config --libs libavutil`
6403 cc_check $_inc_libavutil $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6404 && _libavutil_so=yes
6405 elif cc_check -lavutil $_ld_lm ; then
6406 _ld_extra="$_ld_extra -lavutil"
6407 _libavutil_so=yes
6408 _res_comment="using libavutil.so, but static libavutil is recommended"
6411 _libavutil=no
6412 _def_libavutil='#undef CONFIG_LIBAVUTIL'
6413 _def_libavutil_a='#undef CONFIG_LIBAVUTIL_A'
6414 _def_libavutil_so='#undef CONFIG_LIBAVUTIL_SO'
6415 test "$_libavutil_a" = yes || test "$_libavutil_so" = yes && _libavutil=yes
6416 test "$_libavutil" = yes && _def_libavutil='#define CONFIG_LIBAVUTIL 1'
6417 test "$_libavutil_a" = yes && _def_libavutil_a='#define CONFIG_LIBAVUTIL_A 1'
6418 test "$_libavutil_so" = yes && _def_libavutil_so='#define CONFIG_LIBAVUTIL_SO 1'
6419 # neither static nor shared libavutil is available, but it is mandatory ...
6420 if test "$_libavutil" = no ; then
6421 die "You need static or shared libavutil, MPlayer will not compile without!"
6423 echores "$_libavutil"
6425 echocheck "FFmpeg libavcodec"
6426 if test "$_libavcodec_a" = auto ; then
6427 _libavcodec_a=no
6428 if test -d ffmpeg/libavcodec && test -f ffmpeg/libavcodec/utils.c ; then
6429 _libavcodec_a="yes"
6430 _res_comment="static"
6432 elif test "$_libavcodec_so" = auto ; then
6433 _libavcodec_so=no
6434 _res_comment="libavcodec.so is discouraged over static libavcodec"
6435 cat > $TMPC << EOF
6436 #include <libavcodec/avcodec.h>
6437 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6439 if $_pkg_config --exists libavcodec ; then
6440 _inc_libavcodec=`$_pkg_config --cflags libavcodec`
6441 _ld_tmp=`$_pkg_config --libs libavcodec`
6442 cc_check $_inc_libavcodec $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6443 && _libavcodec_so=yes
6444 elif cc_check -lavcodec $_ld_lm ; then
6445 _ld_extra="$_ld_extra -lavcodec"
6446 _libavcodec_so=yes
6447 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6450 _libavcodec=no
6451 _def_libavcodec='#undef CONFIG_LIBAVCODEC'
6452 _def_libavcodec_a='#undef CONFIG_LIBAVCODEC_A'
6453 _def_libavcodec_so='#undef CONFIG_LIBAVCODEC_SO'
6454 test "$_libavcodec_a" = yes || test "$_libavcodec_so" = yes && _libavcodec=yes
6455 test "$_libavcodec" = yes && _def_libavcodec='#define CONFIG_LIBAVCODEC 1'
6456 test "$_libavcodec_a" = yes && _def_libavcodec_a='#define CONFIG_LIBAVCODEC_A 1'
6457 test "$_libavcodec_so" = yes && _def_libavcodec_so='#define CONFIG_LIBAVCODEC_SO 1'
6458 test "$_libavcodec_mpegaudio_hp" = yes \
6459 && _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6460 if test "$_libavcodec_a" = yes ; then
6461 _codecmodules="libavcodec $_codecmodules"
6462 elif test "$_libavcodec_so" = yes ; then
6463 _codecmodules="libavcodec.so $_codecmodules"
6464 else
6465 _nocodecmodules="libavcodec $_nocodecmodules"
6467 echores "$_libavcodec"
6469 echocheck "FFmpeg libavformat"
6470 if test "$_libavformat_a" = auto ; then
6471 _libavformat_a=no
6472 if test -d ffmpeg/libavformat && test -f ffmpeg/libavformat/utils.c ; then
6473 _libavformat_a=yes
6474 _res_comment="static"
6476 elif test "$_libavformat_so" = auto ; then
6477 _libavformat_so=no
6478 cat > $TMPC <<EOF
6479 #include <libavformat/avformat.h>
6480 #include <libavcodec/opt.h>
6481 int main(void) { av_alloc_format_context(); return 0; }
6483 if $_pkg_config --exists libavformat ; then
6484 _inc_libavformat=`$_pkg_config --cflags libavformat`
6485 _ld_tmp=`$_pkg_config --libs libavformat`
6486 cc_check $_inc_libavformat $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6487 && _libavformat_so=yes
6488 elif cc_check $_ld_lm -lavformat ; then
6489 _ld_extra="$_ld_extra -lavformat"
6490 _libavformat_so=yes
6491 _res_comment="using libavformat.so, but static libavformat is recommended"
6494 _libavformat=no
6495 _def_libavformat='#undef CONFIG_LIBAVFORMAT'
6496 _def_libavformat_a='#undef CONFIG_LIBAVFORMAT_A'
6497 _def_libavformat_so='#undef CONFIG_LIBAVFORMAT_SO'
6498 test "$_libavformat_a" = yes || test "$_libavformat_so" = yes && _libavformat=yes
6499 test "$_libavformat" = yes && _def_libavformat='#define CONFIG_LIBAVFORMAT 1'
6500 test "$_libavformat_a" = yes && _def_libavformat_a='#define CONFIG_LIBAVFORMAT_A 1'
6501 test "$_libavformat_so" = yes \
6502 && _def_libavformat_so='#define CONFIG_LIBAVFORMAT_SO 1'
6503 echores "$_libavformat"
6505 echocheck "FFmpeg libpostproc"
6506 if test "$_libpostproc_a" = auto ; then
6507 _libpostproc_a=no
6508 if test -d ffmpeg/libpostproc && test -f ffmpeg/libpostproc/postprocess.h ; then
6509 _libpostproc_a='yes'
6510 _res_comment="static"
6512 elif test "$_libpostproc_so" = auto ; then
6513 _libpostproc_so=no
6514 cat > $TMPC << EOF
6515 #define CONFIG_LIBPOSTPROC 1
6516 #include <inttypes.h>
6517 #include <libpostproc/postprocess.h>
6518 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6520 if cc_check -lpostproc $_ld_lm ; then
6521 _ld_extra="$_ld_extra -lpostproc"
6522 _libpostproc_so=yes
6523 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6526 _libpostproc=no
6527 _def_libpostproc='#undef CONFIG_LIBPOSTPROC'
6528 _def_libpostproc_a='#undef CONFIG_LIBPOSTPROC_A'
6529 _def_libpostproc_so='#undef CONFIG_LIBPOSTPROC_SO'
6530 test "$_libpostproc_a" = yes || test "$_libpostproc_so" = yes && _libpostproc=yes
6531 test "$_libpostproc" = yes && _def_libpostproc='#define CONFIG_LIBPOSTPROC 1'
6532 test "$_libpostproc_a" = yes && _def_libpostproc_a='#define CONFIG_LIBPOSTPROC_A 1'
6533 test "$_libpostproc_so" = yes \
6534 && _def_libpostproc_so='#define CONFIG_LIBPOSTPROC_SO 1'
6535 echores "$_libpostproc"
6538 echocheck "libamr narrowband"
6539 if test "$_libamr_nb" = auto ; then
6540 _libamr_nb=no
6541 cat > $TMPC << EOF
6542 #include <amrnb/sp_dec.h>
6543 int main(void) { Speech_Decode_Frame_init(); return 0; }
6545 cc_check -lamrnb && _libamr_nb=yes
6546 if test "$_libavcodec_a" != yes ; then
6547 _libamr_nb=no
6548 _res_comment="libavcodec (static) is required by libamr_nb, sorry"
6551 if test "$_libamr_nb" = yes ; then
6552 _libamr=yes
6553 _ld_extra="$_ld_extra -lamrnb"
6554 _def_libamr='#define CONFIG_LIBAMR 1'
6555 _def_libamr_nb='#define CONFIG_LIBAMR_NB 1'
6556 _libavdecoders="$_libavdecoders LIBAMR_NB_DECODER"
6557 _libavencoders="$_libavencoders LIBAMR_NB_ENCODER"
6558 _codecmodules="libamr_nb $_codecmodules"
6559 else
6560 _def_libamr_nb='#undef CONFIG_LIBAMR_NB'
6561 _nocodecmodules="libamr_nb $_nocodecmodules"
6563 echores "$_libamr_nb"
6566 echocheck "libamr wideband"
6567 if test "$_libamr_wb" = auto ; then
6568 _libamr_wb=no
6569 cat > $TMPC << EOF
6570 #include <amrwb/dec_if.h>
6571 int main(void) { D_IF_init(); return 0; }
6573 cc_check -lamrwb && _libamr_wb=yes
6574 if test "$_libavcodec_a" != yes ; then
6575 _libamr_wb=no
6576 _res_comment="libavcodec (static) is required by libamr_wb, sorry"
6579 if test "$_libamr_wb" = yes ; then
6580 _libamr=yes
6581 _ld_extra="$_ld_extra -lamrwb"
6582 _def_libamr='#define CONFIG_LIBAMR 1'
6583 _def_libamr_wb='#define CONFIG_LIBAMR_WB 1'
6584 _libavdecoders="$_libavdecoders LIBAMR_WB_DECODER"
6585 _libavencoders="$_libavencoders LIBAMR_WB_ENCODER"
6586 _codecmodules="libamr_wb $_codecmodules"
6587 else
6588 _def_libamr_wb='#undef CONFIG_LIBAMR_WB'
6589 _nocodecmodules="libamr_wb $_nocodecmodules"
6591 echores "$_libamr_wb"
6593 echocheck "libdv-0.9.5+"
6594 if test "$_libdv" = auto ; then
6595 _libdv=no
6596 cat > $TMPC <<EOF
6597 #include <libdv/dv.h>
6598 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6600 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6602 if test "$_libdv" = yes ; then
6603 _def_libdv='#define HAVE_LIBDV095 1'
6604 _ld_extra="$_ld_extra -ldv"
6605 _codecmodules="libdv $_codecmodules"
6606 else
6607 _def_libdv='#undef HAVE_LIBDV095'
6608 _nocodecmodules="libdv $_nocodecmodules"
6610 echores "$_libdv"
6613 echocheck "Xvid"
6614 if test "$_xvid" = auto ; then
6615 _xvid=no
6616 cat > $TMPC << EOF
6617 #include <xvid.h>
6618 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6620 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6621 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && _xvid=yes && break
6622 done
6625 if test "$_xvid" = yes ; then
6626 _def_xvid='#define HAVE_XVID4 1'
6627 _codecmodules="xvid $_codecmodules"
6628 else
6629 _def_xvid='#undef HAVE_XVID4'
6630 _nocodecmodules="xvid $_nocodecmodules"
6632 echores "$_xvid"
6634 echocheck "Xvid two pass plugin"
6635 if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
6636 cat > $TMPC << EOF
6637 #include <xvid.h>
6638 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6640 cc_check && _xvid_lavc=yes
6642 if test "$_xvid_lavc" = yes ; then
6643 _def_xvid_lavc='#define CONFIG_LIBXVID 1'
6644 _libavencoders="$_libavencoders LIBXVID_ENCODER"
6645 else
6646 _xvid_lavc=no
6647 _def_xvid_lavc='#undef CONFIG_LIBXVID'
6649 echores "$_xvid_lavc"
6652 echocheck "x264"
6653 if test "$_x264" = auto ; then
6654 cat > $TMPC << EOF
6655 #include <inttypes.h>
6656 #include <x264.h>
6657 #if X264_BUILD < 59
6658 #error We do not support old versions of x264. Get the latest from SVN.
6659 #endif
6660 int main(void) { x264_encoder_open((void*)0); return 0; }
6662 _x264=no
6663 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6664 cc_check $_ld_x264 && _libs_mencoder="$_libs_mencoder $_ld_x264" && _x264=yes && break
6665 done
6668 if test "$_x264" = yes ; then
6669 _def_x264='#define HAVE_X264 1'
6670 _codecmodules="x264 $_codecmodules"
6671 test "$_x264_lavc" = auto && _x264_lavc=yes
6672 if test "$_x264_lavc" = yes ; then
6673 _def_x264_lavc='#define CONFIG_LIBX264 1'
6674 _libs_mplayer="$_libs_mplayer $_ld_x264"
6675 _libavencoders="$_libavencoders LIBX264_ENCODER"
6677 else
6678 _x264_lavc=no
6679 _def_x264='#undef HAVE_X264'
6680 _def_x264_lavc='#undef CONFIG_LIBX264'
6681 _nocodecmodules="x264 $_nocodecmodules"
6683 _res_comment="in libavcodec: $_x264_lavc"
6684 echores "$_x264"
6687 echocheck "libdirac"
6688 if test "$_libdirac_lavc" = auto; then
6689 _libdirac_lavc=no
6690 if test "$_libavcodec_a" != yes; then
6691 _res_comment="libavcodec (static) is required by libdirac, sorry"
6692 else
6693 cat > $TMPC << EOF
6694 #include <libdirac_encoder/dirac_encoder.h>
6695 #include <libdirac_decoder/dirac_parser.h>
6696 int main(void)
6698 dirac_encoder_context_t enc_ctx;
6699 dirac_decoder_t *dec_handle;
6700 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
6701 dec_handle = dirac_decoder_init(0);
6702 if (dec_handle)
6703 dirac_decoder_close(dec_handle);
6704 return 0;
6707 if $_pkg_config --exists dirac ; then
6708 _inc_dirac=`$_pkg_config --silence-errors --cflags dirac`
6709 _ld_dirac=`$_pkg_config --silence-errors --libs dirac`
6710 cc_check $_inc_dirac $_ld_dirac &&
6711 _libdirac_lavc=yes &&
6712 _inc_extra="$_inc_extra $_inc_dirac" &&
6713 _ld_extra="$_ld_extra $_ld_dirac"
6717 if test "$_libdirac_lavc" = yes ; then
6718 _def_libdirac_lavc='#define CONFIG_LIBDIRAC 1'
6719 _libavencoders="$_libavencoders LIBDIRAC_ENCODER"
6720 _libavdecoders="$_libavdecoders LIBDIRAC_DECODER"
6721 _codecmodules="libdirac $_codecmodules"
6722 else
6723 _def_libdirac_lavc='#undef CONFIG_LIBDIRAC'
6724 _nocodecmodules="libdirac $_nocodecmodules"
6726 echores "$_libdirac_lavc"
6729 echocheck "libschroedinger"
6730 if test "$_libschroedinger_lavc" = auto ; then
6731 _libschroedinger_lavc=no
6732 if test "$_libavcodec_a" != yes; then
6733 _res_comment="libavcodec (static) is required by libschroedinger, sorry"
6734 else
6735 cat > $TMPC << EOF
6736 #include <schroedinger/schro.h>
6737 int main(void) { schro_init(); return 0; }
6739 if $_pkg_config --exists schroedinger-1.0 ; then
6740 _inc_schroedinger=`$_pkg_config --silence-errors --cflags schroedinger-1.0`
6741 _ld_schroedinger=`$_pkg_config --silence-errors --libs schroedinger-1.0`
6742 cc_check $_inc_schroedinger $_ld_schroedinger &&
6743 _libschroedinger_lavc=yes &&
6744 _inc_extra="$_inc_extra $_inc_schroedinger" &&
6745 _ld_extra="$_ld_extra $_ld_schroedinger"
6749 if test "$_libschroedinger_lavc" = yes ; then
6750 _def_libschroedinger_lavc='#define CONFIG_LIBSCHROEDINGER 1'
6751 _libavencoders="$_libavencoders LIBSCHROEDINGER_ENCODER"
6752 _libavdecoders="$_libavdecoders LIBSCHROEDINGER_DECODER"
6753 _codecmodules="libschroedinger $_codecmodules"
6754 else
6755 _def_libschroedinger_lavc='#undef CONFIG_LIBSCHROEDINGER'
6756 _nocodecmodules="libschroedinger $_nocodecmodules"
6758 echores "$_libschroedinger_lavc"
6760 echocheck "libnut"
6761 if test "$_libnut" = auto ; then
6762 cat > $TMPC << EOF
6763 #include <stdio.h>
6764 #include <stdlib.h>
6765 #include <inttypes.h>
6766 #include <libnut.h>
6767 int main(void) { (void)nut_error(0); return 0; }
6769 _libnut=no
6770 cc_check -lnut && _libnut=yes
6773 if test "$_libnut" = yes ; then
6774 _def_libnut='#define HAVE_LIBNUT 1'
6775 _ld_extra="$_ld_extra -lnut"
6776 else
6777 _def_libnut='#undef HAVE_LIBNUT'
6779 echores "$_libnut"
6781 #check must be done after libavcodec one
6782 echocheck "zr"
6783 if test "$_zr" = auto ; then
6784 #36067's seem to identify themselves as 36057PQC's, so the line
6785 #below should work for 36067's and 36057's.
6786 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci ; then
6787 _zr=yes
6788 else
6789 _zr=no
6792 if test "$_zr" = yes ; then
6793 if test "$_libavcodec_a" = yes ; then
6794 _def_zr='#define HAVE_ZR 1'
6795 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6796 _vomodules="zr zr2 $_vomodules"
6797 else
6798 _res_comment="libavcodec (static) is required by zr, sorry"
6799 _novomodules="zr $_novomodules"
6800 _def_zr='#undef HAVE_ZR'
6802 else
6803 _def_zr='#undef HAVE_ZR'
6804 _novomodules="zr zr2 $_novomodules"
6806 echores "$_zr"
6808 # mencoder requires (optional) those libs: libmp3lame
6809 if test "$_mencoder" != no ; then
6811 echocheck "libmp3lame (for mencoder)"
6812 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6813 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6814 if test "$_mp3lame" = auto ; then
6815 _mp3lame=no
6816 cat > $TMPC <<EOF
6817 #include <lame/lame.h>
6818 int main(void) { lame_version_t lv; (void) lame_init();
6819 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
6820 return 0; }
6822 cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
6824 if test "$_mp3lame" = yes ; then
6825 _def_mp3lame="#define HAVE_MP3LAME"
6826 _ld_mp3lame=-lmp3lame
6827 _libs_mencoder="$_libs_mencoder $_ld_mp3lame"
6828 cat > $TMPC << EOF
6829 #include <lame/lame.h>
6830 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6832 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6833 cat > $TMPC << EOF
6834 #include <lame/lame.h>
6835 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6837 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6838 test "$_mp3lame_lavc" = auto && _mp3lame_lavc=yes
6839 if test "$_mp3lame_lavc" = yes ; then
6840 _def_mp3lame_lavc="#define CONFIG_LIBMP3LAME 1"
6841 _libavencoders="$_libavencoders LIBMP3LAME_ENCODER"
6842 _libs_mplayer="$_libs_mplayer $_ld_mp3lame"
6844 else
6845 _mp3lame_lavc=no
6846 _def_mp3lame='#undef HAVE_MP3LAME'
6847 _def_mp3lame_lavc="#undef CONFIG_LIBMP3LAME"
6849 _res_comment="in libavcodec: $_mp3lame_lavc"
6850 echores "$_mp3lame"
6854 echocheck "mencoder"
6855 _mencoder_flag='#undef HAVE_MENCODER'
6856 if test "$_mencoder" = yes ; then
6857 _mencoder_flag='#define HAVE_MENCODER'
6858 _def_muxers='#define CONFIG_MUXERS 1'
6859 else
6860 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6861 _libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
6862 _libavmuxers=""
6864 echores "$_mencoder"
6866 echocheck "fastmemcpy"
6867 # fastmemcpy check is done earlier with tests of CPU & binutils features
6868 if test "$_fastmemcpy" = yes ; then
6869 _def_fastmemcpy='#define CONFIG_FASTMEMCPY 1'
6870 else
6871 _def_fastmemcpy='#undef CONFIG_FASTMEMCPY'
6873 echores "$_fastmemcpy"
6876 echocheck "UnRAR executable"
6877 if test "$_unrar_exec" = auto ; then
6878 _unrar_exec="yes"
6879 mingw32 && _unrar_exec="no"
6881 if test "$_unrar_exec" = yes ; then
6882 _def_unrar_exec='#define CONFIG_UNRAR_EXEC 1'
6883 else
6884 _def_unrar_exec='#undef CONFIG_UNRAR_EXEC'
6886 echores "$_unrar_exec"
6888 echocheck "TV interface"
6889 if test "$_tv" = yes ; then
6890 _def_tv='#define CONFIG_TV 1'
6891 _inputmodules="tv $_inputmodules"
6892 else
6893 _noinputmodules="tv $_noinputmodules"
6894 _def_tv='#undef CONFIG_TV'
6896 echores "$_tv"
6899 if freebsd || netbsd || openbsd || dragonfly || bsdos ; then
6900 echocheck "*BSD BT848 bt8xx header"
6901 _ioctl_bt848_h=no
6902 for file in "machine/ioctl_bt848.h" \
6903 "dev/bktr/ioctl_bt848.h" \
6904 "dev/video/bktr/ioctl_bt848.h" \
6905 "dev/ic/bt8xx.h" ; do
6906 cat > $TMPC <<EOF
6907 #include <sys/types.h>
6908 #include <sys/ioctl.h>
6909 #include <$file>
6910 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
6912 if cc_check ; then
6913 _ioctl_bt848_h=yes
6914 _ioctl_bt848_h_name="$file"
6915 break;
6917 done
6918 if test "$_ioctl_bt848_h" = yes ; then
6919 _def_ioctl_bt848_h_name="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
6920 _res_comment="using $_ioctl_bt848_h_name"
6921 else
6922 _def_ioctl_bt848_h_name="#undef IOCTL_BT848_H_NAME"
6924 echores "$_ioctl_bt848_h"
6926 echocheck "*BSD ioctl_meteor.h"
6927 _ioctl_meteor_h=no
6928 for file in "machine/ioctl_meteor.h" \
6929 "dev/bktr/ioctl_meteor.h" \
6930 "dev/video/bktr/ioctl_meteor.h" ; do
6931 cat > $TMPC <<EOF
6932 #include <sys/types.h>
6933 #include <$file>
6934 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
6936 if cc_check ; then
6937 _ioctl_meteor_h=yes
6938 _ioctl_meteor_h_name="$file"
6939 break;
6941 done
6942 if test "$_ioctl_meteor_h" = yes ; then
6943 _def_ioctl_meteor_h_name="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
6944 _res_comment="using $_ioctl_meteor_h_name"
6945 else
6946 _def_ioctl_meteor_h_name="#undef IOCTL_METEOR_H_NAME"
6948 echores "$_ioctl_meteor_h"
6950 echocheck "*BSD BrookTree 848 TV interface"
6951 if test "$_tv_bsdbt848" = auto ; then
6952 _tv_bsdbt848=no
6953 if test "$_tv" = yes ; then
6954 cat > $TMPC <<EOF
6955 #include <sys/types.h>
6956 $_def_ioctl_meteor_h_name
6957 $_def_ioctl_bt848_h_name
6958 #ifdef IOCTL_METEOR_H_NAME
6959 #include IOCTL_METEOR_H_NAME
6960 #endif
6961 #ifdef IOCTL_BT848_H_NAME
6962 #include IOCTL_BT848_H_NAME
6963 #endif
6964 int main(void) {
6965 ioctl(0, METEORSINPUT, 0);
6966 ioctl(0, TVTUNER_GETFREQ, 0);
6967 return 0;
6970 cc_check && _tv_bsdbt848=yes
6973 if test "$_tv_bsdbt848" = yes ; then
6974 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6975 _inputmodules="tv-bsdbt848 $_inputmodules"
6976 else
6977 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6978 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6980 echores "$_tv_bsdbt848"
6981 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
6984 echocheck "DirectShow TV interface"
6985 if test "$_tv_dshow" = auto ; then
6986 _tv_dshow=no
6987 if test "$_tv" = yes && win32 ; then
6988 cat > $TMPC <<EOF
6989 #include <ole2.h>
6990 int main(void) {
6991 void* p;
6992 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
6993 return 0;
6996 cc_check -lole32 -luuid && _tv_dshow=yes
6999 if test "$_tv_dshow" = yes ; then
7000 _inputmodules="tv-dshow $_inputmodules"
7001 _def_tv_dshow='#define HAVE_TV_DSHOW 1'
7002 _ld_extra="$_ld_extra -lole32 -luuid"
7003 else
7004 _noinputmodules="tv-dshow $_noinputmodules"
7005 _def_tv_dshow='#undef HAVE_TV_DSHOW'
7007 echores "$_tv_dshow"
7010 echocheck "Video 4 Linux TV interface"
7011 if test "$_tv_v4l1" = auto ; then
7012 _tv_v4l1=no
7013 if test "$_tv" = yes && linux ; then
7014 cat > $TMPC <<EOF
7015 #include <stdlib.h>
7016 #include <linux/videodev.h>
7017 int main(void) { return 0; }
7019 cc_check && _tv_v4l1=yes
7022 if test "$_tv_v4l1" = yes ; then
7023 _audio_input=yes
7024 _tv_v4l=yes
7025 _def_tv_v4l='#define HAVE_TV_V4L 1'
7026 _def_tv_v4l1='#define HAVE_TV_V4L1 1'
7027 _inputmodules="tv-v4l $_inputmodules"
7028 else
7029 _noinputmodules="tv-v4l1 $_noinputmodules"
7030 _def_tv_v4l='#undef HAVE_TV_V4L'
7032 echores "$_tv_v4l1"
7035 echocheck "Video 4 Linux 2 TV interface"
7036 if test "$_tv_v4l2" = auto ; then
7037 _tv_v4l2=no
7038 if test "$_tv" = yes && linux ; then
7039 cat > $TMPC <<EOF
7040 #include <stdlib.h>
7041 #include <linux/types.h>
7042 #include <linux/videodev2.h>
7043 int main(void) { return 0; }
7045 cc_check && _tv_v4l2=yes
7048 if test "$_tv_v4l2" = yes ; then
7049 _audio_input=yes
7050 _tv_v4l=yes
7051 _def_tv_v4l='#define HAVE_TV_V4L 1'
7052 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
7053 _inputmodules="tv-v4l2 $_inputmodules"
7054 else
7055 _noinputmodules="tv-v4l2 $_noinputmodules"
7056 _def_tv_v4l2='#undef HAVE_TV_V4L2'
7058 echores "$_tv_v4l2"
7061 echocheck "TV teletext interface"
7062 if test "$_tv_teletext" = auto ; then
7063 _tv_teletext=no
7064 if test "$_freetype" = yes && test "$_pthreads" = yes; then
7065 if test "$_tv_v4l2" = yes || test "$_v4l" = yes || test "$_tv_dshow" = yes; then
7066 _tv_teletext=yes
7070 if test "$_tv_teletext" = yes ; then
7071 _def_tv_teletext='#define HAVE_TV_TELETEXT 1'
7072 _inputmodules="tv-teletext $_inputmodules"
7073 else
7074 _noinputmodules="tv-teletext $_noinputmodules"
7075 _def_tv_teletext='#undef HAVE_TV_TELETEXT'
7077 echores "$_tv_teletext"
7080 echocheck "Radio interface"
7081 if test "$_radio" = yes ; then
7082 _def_radio='#define CONFIG_RADIO 1'
7083 _inputmodules="radio $_inputmodules"
7084 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7085 _radio_capture=no
7087 if test "$_radio_capture" = yes ; then
7088 _audio_input=yes
7089 _def_radio_capture="#define CONFIG_RADIO_CAPTURE 1"
7090 else
7091 _def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7093 else
7094 _noinputmodules="radio $_noinputmodules"
7095 _def_radio='#undef CONFIG_RADIO'
7096 _def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7097 _radio_capture=no
7099 echores "$_radio"
7100 echocheck "Capture for Radio interface"
7101 echores "$_radio_capture"
7103 echocheck "Video 4 Linux 2 Radio interface"
7104 if test "$_radio_v4l2" = auto ; then
7105 _radio_v4l2=no
7106 if test "$_radio" = yes && linux ; then
7107 cat > $TMPC <<EOF
7108 #include <stdlib.h>
7109 #include <linux/types.h>
7110 #include <linux/videodev2.h>
7111 int main(void) { return 0; }
7113 cc_check && _radio_v4l2=yes
7116 if test "$_radio_v4l2" = yes ; then
7117 _def_radio_v4l2='#define HAVE_RADIO_V4L2 1'
7118 else
7119 _def_radio_v4l2='#undef HAVE_RADIO_V4L2'
7121 echores "$_radio_v4l2"
7123 echocheck "Video 4 Linux Radio interface"
7124 if test "$_radio_v4l" = auto ; then
7125 _radio_v4l=no
7126 if test "$_radio" = yes && linux ; then
7127 cat > $TMPC <<EOF
7128 #include <stdlib.h>
7129 #include <linux/videodev.h>
7130 int main(void) { return 0; }
7132 cc_check && _radio_v4l=yes
7135 if test "$_radio_v4l" = yes ; then
7136 _def_radio_v4l='#define HAVE_RADIO_V4L 1'
7137 else
7138 _def_radio_v4l='#undef HAVE_RADIO_V4L'
7140 echores "$_radio_v4l"
7142 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7143 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
7144 echocheck "*BSD BrookTree 848 Radio interface"
7145 _radio_bsdbt848=no
7146 cat > $TMPC <<EOF
7147 #include <sys/types.h>
7148 $_def_ioctl_bt848_h_name
7149 #ifdef IOCTL_BT848_H_NAME
7150 #include IOCTL_BT848_H_NAME
7151 #endif
7152 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7154 cc_check && _radio_bsdbt848=yes
7155 echores "$_radio_bsdbt848"
7156 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7158 if test "$_radio_bsdbt848" = yes ; then
7159 _def_radio_bsdbt848='#define HAVE_RADIO_BSDBT848 1'
7160 else
7161 _def_radio_bsdbt848='#undef HAVE_RADIO_BSDBT848'
7164 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
7165 test "$_radio_bsdbt848" = no && test "$_radio" = yes ; then
7166 die "Radio driver requires BSD BT848, V4L or V4L2!"
7169 echocheck "Video 4 Linux 2 MPEG PVR interface"
7170 if test "$_pvr" = auto ; then
7171 _pvr=no
7172 if test "$_tv_v4l2" = yes && linux ; then
7173 cat > $TMPC <<EOF
7174 #include <stdlib.h>
7175 #include <inttypes.h>
7176 #include <linux/types.h>
7177 #include <linux/videodev2.h>
7178 int main(void) { struct v4l2_ext_controls ext; return 0; }
7180 cc_check && _pvr=yes
7183 if test "$_pvr" = yes ; then
7184 _def_pvr='#define HAVE_PVR 1'
7185 _inputmodules="pvr $_inputmodules"
7186 else
7187 _noinputmodules="pvr $_noinputmodules"
7188 _def_pvr='#undef HAVE_PVR'
7190 echores "$_pvr"
7193 echocheck "audio select()"
7194 if test "$_select" = no ; then
7195 _def_select='#undef HAVE_AUDIO_SELECT'
7196 elif test "$_select" = yes ; then
7197 _def_select='#define HAVE_AUDIO_SELECT 1'
7199 echores "$_select"
7202 echocheck "ftp"
7203 if ! beos && test "$_ftp" = yes ; then
7204 _def_ftp='#define HAVE_FTP 1'
7205 _inputmodules="ftp $_inputmodules"
7206 else
7207 _noinputmodules="ftp $_noinputmodules"
7208 _def_ftp='#undef HAVE_FTP'
7210 echores "$_ftp"
7212 echocheck "vstream client"
7213 if test "$_vstream" = auto ; then
7214 _vstream=no
7215 cat > $TMPC <<EOF
7216 #include <vstream-client.h>
7217 void vstream_error(const char *format, ... ) {}
7218 int main(void) { vstream_start(); return 0; }
7220 cc_check -lvstream-client && _vstream=yes
7222 if test "$_vstream" = yes ; then
7223 _def_vstream='#define HAVE_VSTREAM 1'
7224 _inputmodules="vstream $_inputmodules"
7225 _ld_extra="$_ld_extra -lvstream-client"
7226 else
7227 _noinputmodules="vstream $_noinputmodules"
7228 _def_vstream='#undef HAVE_VSTREAM'
7230 echores "$_vstream"
7232 # endian testing
7233 echocheck "byte order"
7234 if test "$_big_endian" = auto ; then
7235 cat > $TMPC <<EOF
7236 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
7237 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
7238 int main(void) { return (int)ascii_name; }
7240 if cc_check ; then
7241 if strings $TMPEXE | grep -q -l MPlayerBigEndian ; then
7242 _big_endian=yes
7243 else
7244 _big_endian=no
7246 else
7247 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
7250 if test "$_big_endian" = yes ; then
7251 _byte_order='big-endian'
7252 _def_words_endian='#define WORDS_BIGENDIAN 1'
7253 else
7254 _byte_order='little-endian'
7255 _def_words_endian='#undef WORDS_BIGENDIAN'
7257 echores "$_byte_order"
7259 echocheck "OSD menu"
7260 if test "$_menu" = yes ; then
7261 _def_menu='#define HAVE_MENU 1'
7262 test $_dvbin = "yes" && _menu_dvbin=yes
7263 else
7264 _def_menu='#undef HAVE_MENU'
7265 _menu_dvbin=no
7267 echores "$_menu"
7270 echocheck "Subtitles sorting"
7271 if test "$_sortsub" = yes ; then
7272 _def_sortsub='#define CONFIG_SORTSUB 1'
7273 else
7274 _def_sortsub='#undef CONFIG_SORTSUB'
7276 echores "$_sortsub"
7279 echocheck "XMMS inputplugin support"
7280 if test "$_xmms" = yes ; then
7281 if ( xmms-config --version ) >/dev/null 2>&1 ; then
7282 _xmmsplugindir=`xmms-config --input-plugin-dir`
7283 _xmmslibdir=`xmms-config --exec-prefix`/lib
7284 else
7285 _xmmsplugindir=/usr/lib/xmms/Input
7286 _xmmslibdir=/usr/lib
7289 _def_xmms='#define HAVE_XMMS 1'
7290 if darwin ; then
7291 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
7292 else
7293 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7295 else
7296 _def_xmms='#undef HAVE_XMMS'
7298 echores "$_xmms"
7300 echocheck "inet6"
7301 if test "$_inet6" = auto ; then
7302 cat > $TMPC << EOF
7303 #include <sys/types.h>
7304 #if !defined(_WIN32) || defined(__CYGWIN__)
7305 #include <sys/socket.h>
7306 #include <netinet/in.h>
7307 #else
7308 #include <ws2tcpip.h>
7309 #endif
7310 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
7312 _inet6=no
7313 if cc_check $_ld_sock ; then
7314 _inet6=yes
7317 if test "$_inet6" = yes ; then
7318 _def_inet6='#define HAVE_AF_INET6 1'
7319 else
7320 _def_inet6='#undef HAVE_AF_INET6'
7322 echores "$_inet6"
7325 echocheck "gethostbyname2"
7326 if test "$_gethostbyname2" = auto ; then
7327 cat > $TMPC << EOF
7328 #include <sys/types.h>
7329 #include <sys/socket.h>
7330 #include <netdb.h>
7331 int main(void) { gethostbyname2("", AF_INET); return 0; }
7333 _gethostbyname2=no
7334 if cc_check ; then
7335 _gethostbyname2=yes
7339 if test "$_gethostbyname2" = yes ; then
7340 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
7341 else
7342 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
7344 echores "$_gethostbyname2"
7347 # --------------- GUI specific tests begin -------------------
7348 echocheck "GUI"
7349 echo "$_gui"
7350 if test "$_gui" = yes ; then
7352 # Required libraries
7353 if test "$_libavcodec" != yes ||
7354 ! echo $_libavdecoders | grep -q PNG_DECODER ; then
7355 die "The GUI requires libavcodec with PNG support (needs zlib)."
7357 test "$_freetype" = no && test "$_bitmap_font" = no && \
7358 die "The GUI requires either FreeType or bitmap font support."
7359 if ! win32 ; then
7360 _gui_gtk=yes
7361 test "$_x11" != yes && die "X11 support required for GUI compilation."
7363 echocheck "XShape extension"
7364 if test "$_xshape" = auto ; then
7365 _xshape=no
7366 cat > $TMPC << EOF
7367 #include <X11/Xlib.h>
7368 #include <X11/Xproto.h>
7369 #include <X11/Xutil.h>
7370 #include <X11/extensions/shape.h>
7371 #include <stdlib.h>
7372 int main(void) {
7373 char *name = ":0.0";
7374 Display *wsDisplay;
7375 int exitvar = 0;
7376 int eventbase, errorbase;
7377 if (getenv("DISPLAY"))
7378 name=getenv("DISPLAY");
7379 wsDisplay=XOpenDisplay(name);
7380 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7381 exitvar=1;
7382 XCloseDisplay(wsDisplay);
7383 return exitvar;
7386 cc_check -lXext && _xshape=yes
7388 if test "$_xshape" = yes ; then
7389 _def_xshape='#define HAVE_XSHAPE 1'
7390 else
7391 die "The GUI requires the X11 extension XShape (which was not found)."
7393 echores "$_xshape"
7395 #Check for GTK
7396 if test "$_gtk1" = no ; then
7397 #Check for GTK2 :
7398 echocheck "GTK+ version"
7400 if $_pkg_config gtk+-2.0 --exists ; then
7401 _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7402 _inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7403 _libs_mplayer="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7404 echores "$_gtk"
7406 # Check for GLIB2
7407 if $_pkg_config glib-2.0 --exists ; then
7408 echocheck "glib version"
7409 _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7410 _libs_mplayer="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7411 echores "$_glib"
7413 _def_gui='#define HAVE_NEW_GUI 1'
7414 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
7415 else
7416 _gtk1=yes
7417 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7419 else
7420 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7421 _gtk1=yes
7425 if test "$_gtk1" = yes ; then
7426 # Check for old GTK (1.2.x)
7427 echocheck "GTK version"
7428 if test -z "$_gtkconfig" ; then
7429 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7430 _gtkconfig="gtk-config"
7431 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7432 _gtkconfig="gtk12-config"
7433 else
7434 die "The GUI requires GTK devel packages (which were not found)."
7437 _gtk=`$_gtkconfig --version 2>&1`
7438 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7439 _libs_mplayer="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7440 echores "$_gtk (using $_gtkconfig)"
7442 # Check for GLIB
7443 echocheck "glib version"
7444 if test -z "$_glibconfig" ; then
7445 if ( glib-config --version ) >/dev/null 2>&1 ; then
7446 _glibconfig="glib-config"
7447 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7448 _glibconfig="glib12-config"
7449 else
7450 die "The GUI requires GLIB devel packages (which were not found)"
7453 _glib=`$_glibconfig --version 2>&1`
7454 _libs_mplayer="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7455 echores "$_glib (using $_glibconfig)"
7457 _def_gui='#define HAVE_NEW_GUI 1'
7458 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7461 else #if ! win32
7462 _gui_win32=yes
7463 _libs_mplayer="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7464 _def_gui='#define HAVE_NEW_GUI 1'
7465 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7466 fi #if ! win32
7468 else #if test "$_gui"
7469 _def_gui='#undef HAVE_NEW_GUI'
7470 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7471 fi #if test "$_gui"
7472 # --------------- GUI specific tests end -------------------
7475 if test "$_charset" = "noconv" ; then
7476 _charset=""
7478 if test "$_charset" ; then
7479 _def_charset="#define MSG_CHARSET \"$_charset\""
7480 else
7481 _def_charset="#undef MSG_CHARSET"
7484 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
7485 echocheck "iconv program"
7486 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7487 if test "$?" -ne 0 ; then
7488 echores "no"
7489 echo "No working iconv program found, use "
7490 echo "--charset=UTF-8 to continue anyway."
7491 echo "If you also have problems with iconv library functions use --charset=noconv."
7492 echo "Messages in the GTK-2 interface will be broken then."
7493 exit 1
7494 else
7495 echores "yes"
7499 #############################################################################
7501 echocheck "automatic gdb attach"
7502 if test "$_crash_debug" = yes ; then
7503 _def_crash_debug='#define CRASH_DEBUG 1'
7504 else
7505 _def_crash_debug='#undef CRASH_DEBUG'
7506 _crash_debug=no
7508 echores "$_crash_debug"
7510 echocheck "compiler support for noexecstack"
7511 cat > $TMPC <<EOF
7512 int main(void) { return 0; }
7514 if cc_check -Wl,-z,noexecstack ; then
7515 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7516 echores "yes"
7517 else
7518 echores "no"
7522 # Dynamic linking flags
7523 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7524 _ld_dl_dynamic=''
7525 freebsd || netbsd || openbsd || dragonfly || bsdos && _ld_dl_dynamic='-rdynamic'
7526 if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin && ! os2 ; then
7527 _ld_dl_dynamic='-rdynamic'
7530 _ld_extra="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7531 bsdos && _ld_extra="$_ld_extra -ldvd"
7532 netbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7533 openbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7535 _def_debug='#undef MP_DEBUG'
7536 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7539 echocheck "joystick"
7540 _def_joystick='#undef HAVE_JOYSTICK'
7541 if test "$_joystick" = yes ; then
7542 if linux ; then
7543 # TODO add some check
7544 _def_joystick='#define HAVE_JOYSTICK 1'
7545 else
7546 _joystick="no"
7547 _res_comment="unsupported under $system_name"
7550 echores "$_joystick"
7552 echocheck "lirc"
7553 if test "$_lirc" = auto ; then
7554 _lirc=no
7555 cat > $TMPC <<EOF
7556 #include <lirc/lirc_client.h>
7557 int main(void) { return 0; }
7559 cc_check -llirc_client && _lirc=yes
7561 if test "$_lirc" = yes ; then
7562 _def_lirc='#define HAVE_LIRC 1'
7563 _ld_extra="$_ld_extra -llirc_client"
7564 else
7565 _def_lirc='#undef HAVE_LIRC'
7567 echores "$_lirc"
7569 echocheck "lircc"
7570 if test "$_lircc" = auto ; then
7571 _lircc=no
7572 cat > $TMPC <<EOF
7573 #include <lirc/lircc.h>
7574 int main(void) { return 0; }
7576 cc_check -llircc && _lircc=yes
7578 if test "$_lircc" = yes ; then
7579 _def_lircc='#define HAVE_LIRCC 1'
7580 _ld_extra="$_ld_extra -llircc"
7581 else
7582 _def_lircc='#undef HAVE_LIRCC'
7584 echores "$_lircc"
7586 if arm; then
7587 # Detect maemo development platform libraries availability (http://www.maemo.org),
7588 # they are used when run on Nokia 770|8x0
7589 echocheck "maemo (Nokia 770|8x0)"
7590 if test "$_maemo" = auto ; then
7591 _maemo=no
7592 cat > $TMPC << EOF
7593 #include <libosso.h>
7594 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7596 cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
7598 if test "$_maemo" = yes ; then
7599 _def_maemo='#define HAVE_MAEMO 1'
7600 _inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
7601 _ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7602 else
7603 _def_maemo='#undef HAVE_MAEMO'
7605 echores "$_maemo"
7608 #this must be the last test to be performed or the ones following it will likely fail
7609 #because libdvdnavmini is intentionally not linked against libdvdread (to permit mplayer
7610 # to use its own copy of the library)
7611 echocheck "DVD support (libdvdnav)"
7612 if test "$_dvdnav" = auto ; then
7613 if test "$_dvdread_internal" = yes ; then
7614 _dvdnav=no
7615 _res_comment="Disabled in favor of the internal copy of dvdread. Append --disable-dvdread-internal."
7616 else
7617 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
7620 if test "$_dvdnav" = auto ; then
7621 cat > $TMPC <<EOF
7622 #include <inttypes.h>
7623 #include <dvdnav/dvdnav.h>
7624 int main(void) { dvdnav_t *dvd=0; return 0; }
7626 _dvdnav=no
7627 _dvdnavdir=`$_dvdnavconfig --cflags`
7628 _dvdnavlibs=`$_dvdnavconfig --libs`
7629 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
7631 if test "$_dvdnav" = yes ; then
7632 _largefiles=yes
7633 _def_dvdnav='#define CONFIG_DVDNAV 1'
7634 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
7635 _ld_extra="$_ld_extra `$_dvdnavconfig --minilibs`"
7636 _inputmodules="dvdnav $_inputmodules"
7637 else
7638 _def_dvdnav='#undef CONFIG_DVDNAV'
7639 _noinputmodules="dvdnav $_noinputmodules"
7641 echores "$_dvdnav"
7644 #############################################################################
7646 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7647 # the OMF format needs to come after the 'extern symbol prefix' check, which
7648 # uses nm.
7649 if os2 ; then
7650 _ld_extra="$_ld_extra -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7653 # linker paths should be the same for mencoder and mplayer
7654 _ld_tmp=""
7655 for I in $_libs_mplayer ; do
7656 _tmp=`echo $I | sed -e 's/^-L.*$//'`
7657 if test -z "$_tmp" ; then
7658 _ld_extra="$I $_ld_extra"
7659 else
7660 _ld_tmp="$_ld_tmp $I"
7662 done
7663 _libs_mplayer=$_ld_tmp
7666 #############################################################################
7667 if darwin ; then
7668 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -shared-libgcc"
7669 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7670 CFLAGS="$CFLAGS -no-cpp-precomp"
7673 if amigaos ; then
7674 CFLAGS="$CFLAGS -DNEWLIB -D__USE_INLINE__"
7676 # Thread support
7677 if linux ; then
7678 CFLAGS="$CFLAGS -D_REENTRANT"
7679 elif freebsd || netbsd || openbsd || bsdos ; then
7680 # FIXME bsd needs this so maybe other OS'es
7681 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7683 # 64 bit file offsets?
7684 if test "$_largefiles" = yes || freebsd ; then
7685 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7686 if test "$_dvdread" = yes || test "$_libdvdcss_internal" = yes ; then
7687 # dvdread support requires this (for off64_t)
7688 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7692 cat > $TMPC << EOF
7693 int main(void) { return 0; }
7695 if test "$cc_vendor" = "gnu" ; then
7696 cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
7697 cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
7698 cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
7701 CFLAGS_FFMPEG="-I../.. $CFLAGS"
7702 CFLAGS="-I. -Iffmpeg $CFLAGS"
7703 CXXFLAGS=" $CFLAGS -D__STDC_LIMIT_MACROS"
7705 cc_check -mno-omit-leaf-frame-pointer && CFLAG_NO_OMIT_LEAF_FRAME_POINTER="-mno-omit-leaf-frame-pointer"
7707 #############################################################################
7708 echo "Creating config.mak"
7709 cat > config.mak << EOF
7710 # -------- Generated by configure -----------
7712 # Ensure that locale settings do not interfere with shell commands.
7713 export LC_ALL = C
7715 DOC_LANG = $doc_lang
7716 DOC_LANGS = $doc_langs
7717 DOC_LANG_ALL = $doc_lang_all
7718 MAN_LANG = $man_lang
7719 MAN_LANGS = $man_langs
7720 MAN_LANG_ALL = $man_lang_all
7722 DESTDIR =
7723 prefix = \$(DESTDIR)$_prefix
7724 BINDIR = \$(DESTDIR)$_bindir
7725 DATADIR = \$(DESTDIR)$_datadir
7726 MANDIR = \$(DESTDIR)$_mandir
7727 CONFDIR = \$(DESTDIR)$_confdir
7728 LIBDIR = \$(DESTDIR)$_libdir
7730 AR = $_ar
7731 CC = $_cc
7732 CXX = $_cc
7733 HOST_CC = $_host_cc
7734 RANLIB = $_ranlib
7735 WINDRES = $_windres
7736 INSTALL = $_install
7737 INSTALLSTRIP = $_install_strip
7739 EXTRA_INC = $_inc_extra
7740 EXTRAXX_INC = $_inc_extra $_inc_extraxx
7741 CFLAGS = $CFLAGS \$(EXTRA_INC)
7742 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7743 FFMPEG_OFLAGS = $CFLAGS_FFMPEG \$(EXTRA_INC)
7744 CFLAG_NO_OMIT_LEAF_FRAME_POINTER = $CFLAG_NO_OMIT_LEAF_FRAME_POINTER
7745 CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
7746 CFLAG_STACKREALIGN = $_stackrealign
7747 LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
7748 CFLAG_DHAHELPER = $cflag_dhahelper
7749 CFLAG_SVGALIB_HELPER = $cflag_svgalib_helper
7751 EXTRALIBS = $_extra_libs
7752 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7753 EXTRALIBS_MPLAYER = $_libs_mplayer
7754 EXTRALIBS_MENCODER = $_libs_mencoder
7756 CHARSET = $_charset
7757 HELP_FILE = $_mp_help
7759 EXESUF = $_exesuf
7761 $_target_arch
7762 $_target_arch_x86
7763 `echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
7765 GETCH = $_getch
7766 TIMER = $_timer
7768 AO_SRCS = $_aosrc
7769 VO_SRCS = $_vosrc
7771 MENCODER = $_mencoder
7772 MPLAYER = $_mplayer
7774 #internal libraries
7775 LIBA52 = $_liba52
7776 LIBMPEG2 = $_libmpeg2
7777 MP3LIB = $_mp3lib
7778 TREMOR_INTERNAL = $_tremor_internal
7779 TREMOR_LOW = $_tremor_low
7781 HAVE_SYS_MMAN_H = $_mman
7782 HAVE_POSIX_SELECT = $_posix_select
7784 NEED_GETTIMEOFDAY = $_need_gettimeofday
7785 NEED_GLOB = $_need_glob
7786 NEED_MMAP = $_need_mmap
7787 NEED_SETENV = $_need_setenv
7788 NEED_SHMEM = $_need_shmem
7789 NEED_STRSEP = $_need_strsep
7790 NEED_SWAB = $_need_swab
7791 NEED_VSSCANF = $_need_vsscanf
7793 # audio output
7794 OSS = $_ossaudio
7795 ALSA9 = $_alsa9
7796 ALSA1X = $_alsa1x
7798 # features
7799 APPLE_IR = $_apple_ir
7800 APPLE_REMOTE = $_apple_remote
7801 AUDIO_INPUT = $_audio_input
7802 BITMAP_FONT = $_bitmap_font
7803 CDDA = $_cdda
7804 CDDB = $_cddb
7805 COREAUDIO = $_coreaudio
7806 COREVIDEO = $_corevideo
7807 DVBIN = $_dvbin
7808 DVDNAV = $_dvdnav
7809 DVDREAD = $_dvdread
7810 DVDREAD_INTERNAL = $_dvdread_internal
7811 FAAC=$_faac
7812 FAAD = $_faad
7813 FAAD_INTERNAL = $_faad_internal
7814 FREETYPE = $_freetype
7815 FTP = $_ftp
7816 GIF = $_gif
7817 GUI = $_gui
7818 GUI_GTK = $_gui_gtk
7819 GUI_WIN32 = $_gui_win32
7820 JOYSTICK = $_joystick
7821 JPEG = $_jpeg
7822 LADSPA = $_ladspa
7823 LIBASS = $_ass
7824 LIBDCA = $_libdca
7825 LIBDV = $_libdv
7826 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7827 LIBLZO = $_liblzo
7828 LIBMAD = $_mad
7829 LIBMENU = $_menu
7830 LIBMENU_DVBIN = $_menu_dvbin
7831 LIBNEMESI = $_nemesi
7832 LIBNUT = $_libnut
7833 LIBSMBCLIENT = $_smbsupport
7834 LIBTHEORA = $_theora
7835 LIBVORBIS = $_vorbis
7836 LIRC = $_lirc
7837 MACOSX_BUNDLE = $_macosx_bundle
7838 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7839 MP3LAME = $_mp3lame
7840 MPLAYER_NETWORK = $_network
7841 MUSEPACK = $_musepack
7842 NATIVE_RTSP = $_native_rtsp
7843 PE_EXECUTABLE = $_pe_executable
7844 PNG = $_png
7845 PVR = $_pvr
7846 QTX_CODECS = $_qtx
7847 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7848 QTX_EMULATION = $_qtx_emulation
7849 QUARTZ = $_quartz
7850 RADIO=$_radio
7851 RADIO_CAPTURE=$_radio_capture
7852 REAL_CODECS = $_real
7853 SPEEX = $_speex
7854 STREAMING_LIVE555 = $_live
7855 STREAM_CACHE = $_stream_cache
7856 TOOLAME=$_toolame
7857 TV = $_tv
7858 TV_BSDBT848 = $_tv_bsdbt848
7859 TV_DSHOW = $_tv_dshow
7860 TV_TELETEXT = $_tv_teletext
7861 TV_V4L = $_tv_v4l
7862 TV_V4L1 = $_tv_v4l1
7863 TV_V4L2 = $_tv_v4l2
7864 TWOLAME=$_twolame
7865 UNRAR_EXEC = $_unrar_exec
7866 VCD = $_vcd
7867 VIDIX = $_vidix
7868 VIDIX_PCIDB = $_vidix_pcidb_val
7869 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7870 VIDIX_IVTV=$_vidix_drv_ivtv
7871 VIDIX_MACH64=$_vidix_drv_mach64
7872 VIDIX_MGA=$_vidix_drv_mga
7873 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7874 VIDIX_NVIDIA=$_vidix_drv_nvidia
7875 VIDIX_PM2=$_vidix_drv_pm2
7876 VIDIX_PM3=$_vidix_drv_pm3
7877 VIDIX_RADEON=$_vidix_drv_radeon
7878 VIDIX_RAGE128=$_vidix_drv_rage128
7879 VIDIX_S3=$_vidix_drv_s3
7880 VIDIX_SIS=$_vidix_drv_sis
7881 VIDIX_UNICHROME=$_vidix_drv_unichrome
7882 VSTREAM = $_vstream
7883 WIN32DLL = $_win32dll
7884 WIN32_EMULATION = $_win32_emulation
7885 X264 = $_x264
7886 XANIM_CODECS = $_xanim
7887 XMMS_PLUGINS = $_xmms
7888 XVID4 = $_xvid
7889 ZORAN = $_zr
7891 # FFmpeg
7892 LIBAVUTIL = $_libavutil
7893 LIBAVUTIL_A = $_libavutil_a
7894 LIBAVUTIL_SO = $_libavutil_so
7895 LIBAVCODEC = $_libavcodec
7896 LIBAVCODEC_A = $_libavcodec_a
7897 LIBAVCODEC_SO = $_libavcodec_so
7898 LIBAVFORMAT = $_libavformat
7899 LIBAVFORMAT_A = $_libavformat_a
7900 LIBAVFORMAT_SO = $_libavformat_so
7901 LIBPOSTPROC = $_libpostproc
7902 LIBPOSTPROC_A = $_libpostproc_a
7903 LIBPOSTPROC_SO = $_libpostproc_so
7905 BUILD_STATIC=yes
7906 SRC_PATH=..
7907 BUILD_ROOT=..
7908 LIBPREF=lib
7909 LIBSUF=.a
7910 LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7912 CONFIG_ENCODERS=yes
7913 CONFIG_GPL=yes
7914 CONFIG_MUXERS=$_mencoder
7915 CONFIG_LIBAMR=$_libamr
7916 CONFIG_LIBAMR_NB=$_libamr_nb
7917 CONFIG_LIBAMR_WB=$_libamr_wb
7918 CONFIG_LIBDIRAC=$_libdirac_lavc
7919 CONFIG_LIBFAAC=$_faac_lavc
7920 CONFIG_LIBMP3LAME=$_mp3lame_lavc
7921 CONFIG_LIBSCHROEDINGER=$_libschroedinger_lavc
7922 CONFIG_LIBVORBIS=$_libvorbis
7923 CONFIG_LIBX264=$_x264_lavc
7924 CONFIG_LIBXVID=$_xvid_lavc
7925 CONFIG_MLIB = $_mlib
7926 CONFIG_POSTPROC = yes
7927 # Prevent building libavcodec/imgresample.c with conflicting symbols
7928 CONFIG_SWSCALE=yes
7929 CONFIG_ZLIB=$_zlib
7931 HAVE_PTHREADS = $_pthreads
7932 HAVE_W32THREADS = $_w32threads
7933 HAVE_XVMC = $_xvmc
7935 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7936 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7937 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7938 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7939 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7940 `echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7942 DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
7944 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7945 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7949 #############################################################################
7951 ff_config_enable () {
7952 _nprefix=$3;
7953 test -z "$_nprefix" && _nprefix='CONFIG'
7954 for part in $1; do
7955 if ` echo $2 | grep -q -E "(^| )$part($| )" `; then
7956 echo "#define ${_nprefix}_$part 1"
7957 echo "#define ENABLE_$part 1"
7958 else
7959 echo "#define ENABLE_$part 0"
7961 done
7964 echo "Creating config.h"
7965 cat > $TMPH << EOF
7966 /* -------- This file has been automatically generated by configure ---------
7967 Note: Any changes in it will be lost when you run configure again. */
7969 /* Protect against multiple inclusion */
7970 #ifndef MPLAYER_CONFIG_H
7971 #define MPLAYER_CONFIG_H
7973 #define CONFIGURATION "$_configuration"
7975 /* make sure we never get lavformat's poll() emulation, the results are
7976 horrible if the X libs try to actually use it, see MPlayer-users
7977 Message-ID: <45D49541.8060101@infernix.net>
7978 Date: Thu, 15 Feb 2007 18:15:45 +0100
7979 Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
7981 #define HAVE_SYS_POLL_H 1
7983 /* yes, we have inttypes.h */
7984 #define HAVE_INTTYPES_H 1
7986 /* int_fastXY_t emulation */
7987 $_def_fast_inttypes
7989 /* libdvdcss */
7990 #define HAVE_ERRNO_H 1
7992 /* libdvdcss + libdvdread */
7993 #define HAVE_LIMITS_H 1
7995 /* libdvdcss + libfaad2 */
7996 #define HAVE_UNISTD_H 1
7998 /* libfaad2 + libdvdread */
7999 #define STDC_HEADERS 1
8001 /* libfaad2 */
8002 #define HAVE_MEMCPY 1
8003 #define HAVE_STRCHR 1
8005 /* libdvdread */
8006 #define HAVE_UINTPTR_T 1
8008 /* name of messages charset */
8009 $_def_charset
8011 /* Runtime CPU detection */
8012 $_def_runtime_cpudetection
8014 /* Dynamic a/v plugins */
8015 $_def_dynamic_plugins
8017 /* "restrict" keyword */
8018 $_def_restrict_keyword
8020 /* __builtin_expect branch prediction hint */
8021 $_def_builtin_expect
8022 #ifdef HAVE_BUILTIN_EXPECT
8023 #define likely(x) __builtin_expect ((x) != 0, 1)
8024 #define unlikely(x) __builtin_expect ((x) != 0, 0)
8025 #else
8026 #define likely(x) (x)
8027 #define unlikely(x) (x)
8028 #endif
8030 /* attribute(used) as needed by some compilers */
8031 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
8032 # define attribute_used __attribute__((used))
8033 #else
8034 # define attribute_used
8035 #endif
8037 /* extern symbol prefix */
8038 $_def_extern_prefix
8040 /* compiler support for named assembler arguments */
8041 $_def_named_asm_args
8043 /* enable/disable SIGHANDLER */
8044 $_def_sighandler
8046 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
8047 $_def_crash_debug
8049 /* Toggles debugging informations */
8050 $_def_debug
8052 /* Indicates that libcdio is available for VCD and CD-DA playback */
8053 $_def_libcdio
8055 /* Indicates that Ogle's libdvdread is available for DVD playback */
8056 $_def_dvdread
8058 /* Indicates that dvdread is internal */
8059 $_def_dvdread_internal
8061 /* Additional options for libdvdread/libdvdcss */
8062 $_def_dvd
8063 $_def_cdrom
8064 $_def_cdio
8065 $_def_dvdio
8066 $_def_bsdi_dvd
8067 $_def_dvd_bsd
8068 $_def_dvd_linux
8069 $_dev_dvd_openbsd
8070 $_def_dvd_darwin
8071 $_def_sol_scsi_h
8072 $_def_hpux_scsi_h
8074 /* Common data directory (for fonts, etc) */
8075 #define MPLAYER_DATADIR "$_datadir"
8076 #define MPLAYER_CONFDIR "$_confdir"
8077 #define MPLAYER_LIBDIR "$_libdir"
8079 /* Define this to compile stream-caching support, it can be enabled via
8080 -cache <kilobytes> */
8081 $_def_stream_cache
8083 /* Define if you are using Xvid library */
8084 $_def_xvid
8086 /* Define if you are using the X.264 library */
8087 $_def_x264
8089 /* Define if you are using libnut */
8090 $_def_libnut
8092 /* Define to include support for libdv-0.9.5 */
8093 $_def_libdv
8095 /* If build mencoder */
8096 $_mencoder_flag
8098 /* Indicates if libmp3lame is available
8099 Note: for mencoder */
8100 $_def_mp3lame
8101 $_def_mp3lame_preset
8102 $_def_mp3lame_preset_medium
8104 /* Undefine this if you do not want to select mono audio (left or right)
8105 with a stereo MPEG layer 2/3 audio stream. The command line option
8106 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8107 right-only), with 0 being the default.
8109 #define CONFIG_FAKE_MONO 1
8111 /* Undefine this if your sound card driver has no working select().
8112 If you have kernel Oops, player hangups, or just no audio, you should
8113 try to recompile MPlayer with this option disabled! */
8114 $_def_select
8116 /* define this to use iconv(3) function to codepage conversions */
8117 $_def_iconv
8119 /* define this to use nl_langinfo function */
8120 $_def_langinfo
8122 /* define this to use RTC (/dev/rtc) for video timers */
8123 $_def_rtc
8125 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8126 #define MAX_OUTBURST 65536
8128 /* set up audio OUTBURST. Do not change this! */
8129 #define OUTBURST 512
8131 /* Define this if your system has the header file for the OSS sound interface */
8132 $_def_sys_soundcard
8134 /* Define this if your system has the header file for the OSS sound interface
8135 * in /usr/include */
8136 $_def_soundcard
8138 /* Define this if your system has the sysinfo header */
8139 $_def_sys_sysinfo
8141 /* Define this if your system has the "malloc.h" header file */
8142 $_def_malloc
8144 /* memalign is mapped to malloc if unsupported */
8145 $_def_memalign
8146 $_def_map_memalign
8147 $_def_memalign_hack
8149 /* assembler handling of .align */
8150 $_def_asmalign_pot
8152 /* Define this if your system has the "alloca.h" header file */
8153 $_def_alloca
8155 /* Define this if your system has the "byteswap.h" header file */
8156 $_def_byteswap_h
8158 /* Define this if your system has the "sys/mman.h" header file */
8159 $_def_mman
8160 $_def_mman_has_map_failed
8162 /* Define this if you have the elf dynamic linker -ldl library */
8163 $_def_dl
8165 /* Define this if you have the kstat kernel statistics library */
8166 $_def_kstat
8168 /* Define this if you have zlib */
8169 $_def_zlib
8171 /* Define this if you have shm support */
8172 $_def_shm
8174 /* Define this if your system has strsep */
8175 $_def_strsep
8177 /* Define this if your system has vsscanf */
8178 $_def_vsscanf
8180 /* Define this if your system has swab */
8181 $_def_swab
8183 /* Define this if your system has posix select */
8184 $_def_posix_select
8186 /* Define this if your system has gettimeofday */
8187 $_def_gettimeofday
8189 /* Define this if your system has glob */
8190 $_def_glob
8192 /* Define this if your system has setenv */
8193 $_def_setenv
8194 #ifndef HAVE_SETENV
8195 int setenv(const char *name, const char *val, int overwrite);
8196 #endif
8198 /* Define this if your system has sysi86 */
8199 $_def_sysi86
8200 $_def_sysi86_iv
8202 /* Define this if your system has pthreads */
8203 $_def_pthreads
8205 /* LIRC (remote control, see www.lirc.org) support: */
8206 $_def_lirc
8208 /* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */
8209 $_def_apple_remote
8211 /* Apple IR Remote (Linux remote control driver) */
8212 $_def_apple_ir
8214 /* Support for maemo (http://www.maemo.org) */
8215 $_def_maemo
8218 * LIRCCD (LIRC client daemon)
8219 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
8221 $_def_lircc
8223 /* DVD navigation support using libdvdnav */
8224 $_def_dvdnav
8226 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
8227 #define MPEG12_POSTPROC 1
8229 /* maximum alignment used by libmpeg2 */
8230 #define ATTRIBUTE_ALIGNED_MAX 16
8232 /* Win32 DLL support */
8233 $_def_win32dll
8234 #define WIN32_PATH "$_win32codecsdir"
8236 /* Mac OS X specific features */
8237 $_def_macosx_finder_support
8238 $_def_macosx_bundle
8239 $_def_coreaudio
8240 $_def_corevideo
8241 $_def_quartz
8242 $_def_quicktime
8244 /* Build our Win32-loader */
8245 $_def_win32_loader
8247 /* FFmpeg */
8248 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
8249 $_def_libpostproc
8250 $_def_libpostproc_a
8251 $_def_libpostproc_so
8253 /* Define this if you enabled thread support for libavcodec */
8254 $_def_threads
8255 #ifdef HAVE_THREADS
8256 #define ENABLE_THREADS 1
8257 #else
8258 #define ENABLE_THREADS 0
8259 #endif
8261 /* ffmpeg's libavcodec support (requires libavcodec source) */
8262 $_def_libavcodec
8263 $_def_libavcodec_a
8264 $_def_libavcodec_so
8265 $_def_libavcodec_mpegaudio_hp
8267 /* ffmpeg's libavformat support (requires libavformat source) */
8268 $_def_libavformat
8269 $_def_libavformat_a
8270 $_def_libavformat_so
8272 $_def_libavutil
8273 $_def_libavutil_a
8274 $_def_libavutil_so
8276 /* Use libavcodec's decoders */
8277 #define CONFIG_DECODERS 1
8278 #define ENABLE_DECODERS 1
8279 /* Use libavcodec's encoders */
8280 #define CONFIG_ENCODERS 1
8281 #define ENABLE_ENCODERS 1
8283 /* Use libavformat's demuxers */
8284 #define CONFIG_DEMUXERS 1
8285 #define ENABLE_DEMUXERS 1
8286 /* Use libavformat's muxers */
8287 $_def_muxers
8289 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8290 #define HAVE_EBX_AVAILABLE 1
8291 #ifndef MP_DEBUG
8292 #define HAVE_EBP_AVAILABLE 1
8293 #endif
8295 #define CONFIG_GPL 1
8296 #define ENABLE_SMALL 0
8297 #define ENABLE_GRAY 0
8299 /* Use AMR codecs from libavcodec. */
8300 $_def_libamr
8301 $_def_libamr_nb
8302 $_def_libamr_wb
8304 /* Use specific parts from FFmpeg. */
8305 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
8306 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
8307 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
8308 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
8309 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
8310 `ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
8311 `ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
8313 $_def_libdirac_lavc
8314 $_def_faac_lavc
8315 $_def_mp3lame_lavc
8316 $_def_libschroedinger_lavc
8317 $_def_x264_lavc
8318 $_def_xvid_lavc
8320 /* Use codec libs included in mplayer CVS / source dist: */
8321 $_def_mp3lib
8322 $_def_liba52
8323 $_def_libmpeg2
8325 /* XAnim DLL support */
8326 $_def_xanim
8327 /* Default search path */
8328 $_def_xanim_path
8330 /* RealPlayer DLL support */
8331 $_def_real
8332 /* Default search path */
8333 $_def_real_path
8335 /* LIVE555 Streaming Media library support */
8336 $_def_live
8338 /* libnemesi Streaming Media library support */
8339 $_def_nemesi
8341 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8342 $_def_fastmemcpy
8344 /* Use UnRAR executable for Vobsubs */
8345 $_def_unrar_exec
8347 /* gui support, please do not edit this option */
8348 $_def_gui
8349 $_def_gtk2_gui
8351 /* Audio output drivers */
8352 $_def_ossaudio
8353 $_def_ossaudio_devdsp
8354 $_def_ossaudio_devmixer
8355 $_def_alsa5
8356 $_def_alsa9
8357 $_def_alsa1x
8358 $_def_arts
8359 $_def_esd
8360 $_def_esd_latency
8361 $_def_pulse
8362 $_def_jack
8363 $_def_openal
8364 $_def_openal_h
8365 $_def_sys_asoundlib_h
8366 $_def_alsa_asoundlib_h
8367 $_def_sunaudio
8368 $_def_sgiaudio
8369 $_def_win32waveout
8370 $_def_nas
8372 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8373 #undef FAST_OSD
8374 #undef FAST_OSD_TABLE
8376 /* Enable TV Interface support */
8377 $_def_tv
8379 /* Enable Video 4 Linux TV interface support */
8380 $_def_tv_v4l
8382 /* Enable Video 4 Linux 1 TV interface support */
8383 $_def_tv_v4l1
8385 /* Enable Video 4 Linux 2 TV interface support */
8386 $_def_tv_v4l2
8388 /* Enable DirectShow TV interface support */
8389 $_def_tv_dshow
8391 /* *BSD BrookTree headers */
8392 $_def_ioctl_meteor_h_name
8393 $_def_ioctl_bt848_h_name
8395 /* Enable *BSD BrookTree TV interface support */
8396 $_def_tv_bsdbt848
8398 /* Enable TV Teletext Interface support */
8399 $_def_tv_teletext
8401 /* Enable Radio Interface support */
8402 $_def_radio
8404 /* Enable Capture for Radio Interface support */
8405 $_def_radio_capture
8407 /* Enable Video 4 Linux Radio interface support */
8408 $_def_radio_v4l
8410 /* Enable Video 4 Linux 2 Radio interface support */
8411 $_def_radio_v4l2
8413 /* Enable *BSD BrookTree Radio interface support */
8414 $_def_radio_bsdbt848
8416 /* Enable Video 4 Linux 2 MPEG PVR support */
8417 $_def_pvr
8419 /* Define if your processor stores words with the most significant
8420 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8421 $_def_words_endian
8423 /* Define if your processor can access unaligned data in a fast way */
8424 $_def_fast_unaligned
8426 `ff_config_enable "$_arch_all" "$_arch" "ARCH"`
8428 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8429 have the instruction. */
8430 $_def_dcbzl
8432 /* Define this for Cygwin build for win32 */
8433 $_def_confwin32
8435 /* Define this to any prefered value from 386 up to infinity with step 100 */
8436 #define __CPU__ $iproc
8438 $_mp_wordsize
8440 $_def_vcd
8442 #ifdef sun
8443 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8444 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8445 #elif defined(WIN32) || defined(__OS2__)
8446 #define DEFAULT_CDROM_DEVICE "D:"
8447 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8448 #elif defined(__APPLE__) || defined(__DARWIN__)
8449 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8450 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8451 #elif defined(__OpenBSD__)
8452 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8453 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8454 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8455 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8456 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8457 #elif defined(__DragonFly__)
8458 #define DEFAULT_CDROM_DEVICE "/dev/cd0"
8459 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8460 #elif defined(__AMIGAOS4__)
8461 #define DEFAULT_CDROM_DEVICE "a1ide.device:2"
8462 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8463 #else
8464 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8465 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8466 #endif
8469 /*----------------------------------------------------------------------------
8471 ** NOTE: Instead of modifying these definitions here, use the
8472 ** --enable/--disable options of the ./configure script!
8473 ** See ./configure --help for details.
8475 *---------------------------------------------------------------------------*/
8477 /* C99 *lrint* and round* functions available */
8478 $_def_llrint
8479 $_def_lrint
8480 $_def_lrintf
8481 $_def_round
8482 $_def_roundf
8484 /* mkstemp support */
8485 $_def_mkstemp
8487 /* nanosleep support */
8488 $_def_nanosleep
8490 /* SMB support */
8491 $_def_smbsupport
8493 /* termcap flag for getch2.c */
8494 $_def_termcap
8496 /* termios flag for getch2.c */
8497 $_def_termios
8498 $_def_termios_h
8499 $_def_termios_sys_h
8501 /* enable PNG support */
8502 $_def_png
8504 /* enable JPEG support */
8505 $_def_jpeg
8507 /* enable PNM support */
8508 $_def_pnm
8510 /* enable md5sum support */
8511 $_def_md5sum
8513 /* enable yuv4mpeg support */
8514 $_def_yuv4mpeg
8516 /* enable GIF support */
8517 $_def_gif
8518 $_def_gif_4
8519 $_def_gif_tvt_hack
8521 /* enable bitmap font support */
8522 $_def_bitmap_font
8524 /* enable FreeType support */
8525 $_def_freetype
8527 /* enable Fontconfig support */
8528 $_def_fontconfig
8530 /* enable SSA/ASS support */
8531 $_def_ass
8533 /* enable FriBiDi usage */
8534 $_def_fribidi
8536 /* enable ENCA usage */
8537 $_def_enca
8539 /* liblzo support */
8540 $_def_liblzo
8542 /* libmad support */
8543 $_def_mad
8545 /* enable OggVorbis support */
8546 $_def_vorbis
8547 $_def_tremor
8549 /* enable Speex support */
8550 $_def_speex
8552 /* enable musepack support */
8553 $_def_musepack
8555 /* enable OggTheora support */
8556 $_def_theora
8558 /* enable FAAD (AAC) support */
8559 $_def_faad
8560 $_def_faad_internal
8562 /* enable FAAC (AAC encoder) support */
8563 $_def_faac
8565 /* enable libdca support */
8566 $_def_libdca
8568 /* enable LADSPA plugin support */
8569 $_def_ladspa
8571 /* enable network */
8572 $_def_network
8574 /* enable ftp support */
8575 $_def_ftp
8577 /* enable vstream support */
8578 $_def_vstream
8580 /* enable winsock2 instead of Unix functions*/
8581 $_def_winsock2
8583 /* define this to use inet_aton() instead of inet_pton() */
8584 $_def_use_aton
8586 /* socklen_t support */
8587 $_def_socklen_t
8588 #ifndef HAVE_SOCKLEN_T
8589 typedef int socklen_t;
8590 #endif
8592 /* enables / disables cdparanoia support */
8593 $_def_cdparanoia
8594 $_def_cddb
8596 /* enables / disables VIDIX usage */
8597 $_def_vidix
8598 $_def_vidix_drv_cyberblade
8599 $_def_vidix_drv_ivtv
8600 $_def_vidix_drv_mach64
8601 $_def_vidix_drv_mga
8602 $_def_vidix_drv_mga_crtc2
8603 $_def_vidix_drv_nvidia
8604 $_def_vidix_drv_pm3
8605 $_def_vidix_drv_radeon
8606 $_def_vidix_drv_rage128
8607 $_def_vidix_drv_s3
8608 $_def_vidix_drv_sis
8609 $_def_vidix_drv_unichrome
8610 $_def_vidix_pfx
8612 /* enables / disables new input joystick support */
8613 $_def_joystick
8615 /* enables / disables QTX codecs */
8616 $_def_qtx
8617 $_def_qtx_win32
8619 /* enables / disables osd menu */
8620 $_def_menu
8622 /* enables / disables subtitles sorting */
8623 $_def_sortsub
8625 /* XMMS input plugin support */
8626 $_def_xmms
8627 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8629 /* enables inet6 support */
8630 $_def_inet6
8632 /* do we have gethostbyname2? */
8633 $_def_gethostbyname2
8635 /* Extension defines */
8636 `ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
8638 $_def_altivec_h // enables usage of altivec.h
8640 /* libvo options */
8641 #define SCREEN_SIZE_X 1
8642 #define SCREEN_SIZE_Y 1
8643 $_def_x11
8644 $_def_xv
8645 $_def_xvmc
8646 $_def_vm
8647 $_def_xf86keysym
8648 $_def_xinerama
8649 $_def_gl
8650 $_def_gl_win32
8651 $_def_dga
8652 $_def_dga1
8653 $_def_dga2
8654 $_def_sdl
8655 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8656 $_def_sdlbuggy
8657 $_def_directx
8658 $_def_ggi
8659 $_def_ggiwmh
8660 $_def_3dfx
8661 $_def_s3fb
8662 $_def_tdfxfb
8663 $_def_tdfxvid
8664 $_def_xvr100
8665 $_def_directfb
8666 $_def_directfb_version
8667 $_def_dfbmga
8668 $_def_zr
8669 $_def_bl
8670 $_def_mga
8671 $_def_xmga
8672 $_def_fbdev
8673 $_def_dxr2
8674 $_def_dxr3
8675 $_def_ivtv
8676 $_def_v4l2
8677 $_def_dvb
8678 $_def_dvb_in
8679 $_def_svga
8680 $_def_vesa
8681 $_def_xss
8682 $_def_xdpms
8683 $_def_aa
8684 $_def_caca
8685 $_def_tga
8686 $_def_toolame
8687 $_def_twolame
8689 /* used by GUI: */
8690 $_def_xshape
8692 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8693 #define X11_FULLSCREEN 1
8694 #endif
8696 #endif /* MPLAYER_CONFIG_H */
8699 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8700 cmp -s "$TMPH" config.h || mv -f "$TMPH" config.h
8702 cp -p config.h ffmpeg/config.h
8703 sed -e 's/OPTFLAGS/MPLAYER_OPTFLAGS/' -e 's/FFMPEG_OFLAGS/OPTFLAGS/' config.mak >ffmpeg/config.mak
8705 #############################################################################
8707 cat << EOF
8709 Config files successfully generated by ./configure $_configuration !
8711 Install prefix: $_prefix
8712 Data directory: $_datadir
8713 Config direct.: $_confdir
8715 Byte order: $_byte_order
8716 Optimizing for: $_optimizing
8718 Languages:
8719 Messages/GUI: $msg_lang
8720 Manual pages: $man_langs
8722 Enabled optional drivers:
8723 Input: $_inputmodules
8724 Codecs: $_codecmodules
8725 Audio output: $_aomodules
8726 Video output: $_vomodules
8728 Disabled optional drivers:
8729 Input: $_noinputmodules
8730 Codecs: $_nocodecmodules
8731 Audio output: $_noaomodules
8732 Video output: $_novomodules
8734 'config.h' and 'config.mak' contain your configuration options.
8735 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8736 compile *** DO NOT REPORT BUGS if you tweak these files ***
8738 'make' will now compile MPlayer and 'make install' will install it.
8739 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8744 if test "$_mtrr" = yes ; then
8745 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
8746 echo
8749 if ! x86_32; then
8750 cat <<EOF
8751 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8752 operating system ($system_name). You may encounter a few files that cannot
8753 be played due to missing open source video/audio codec support.
8759 cat <<EOF
8760 Check $TMPLOG if you wonder why an autodetection failed (make sure
8761 development headers/packages are installed).
8763 NOTE: The --enable-* parameters unconditionally force options on, completely
8764 skipping autodetection. This behavior is unlike what you may be used to from
8765 autoconf-based configure scripts that can decide to override you. This greater
8766 level of control comes at a price. You may have to provide the correct compiler
8767 and linker flags yourself.
8768 If you used one of these options (except --enable-gui and similar ones that
8769 turn on internal features) and experience a compilation or linking failure,
8770 make sure you have passed the necessary compiler/linker flags to configure.
8772 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
8776 if test "$_warn_CFLAGS" = yes; then
8777 cat <<EOF
8779 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8781 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8783 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8784 To do so, execute 'CFLAGS= ./configure <options>'
8789 # Last move:
8790 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"