mplayer.c: Fix compilation with dvdnav enabled
[mplayer/kovensky.git] / configure
blob76f0233ea7f919f140b10919c2de87482831691c
1 #! /bin/sh
3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: Check the Subversion 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 test "$_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 # fi
33 # if test "$_feature" = yes ; then
34 # def_feature='#define CONFIG_FEATURE 1'
35 # else
36 # def_feature='#undef CONFIG_FEATURE'
37 # fi
38 # echores "$_feature"
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
47 # _feature : should have a value of yes/no/auto
48 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature : '-L/path/dir -lfeature' GCC options
51 #############################################################################
53 # Prevent locale nonsense from breaking basic text processing utils
54 export LC_ALL=C
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 $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
66 rm -f "$TMPEXE"
67 $_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
68 TMPRES="$?"
69 echo >> "$TMPLOG"
70 echo >> "$TMPLOG"
71 return "$TMPRES"
74 cc_check() {
75 compile_check $TMPC $@
78 cxx_check() {
79 compile_check $TMPCPP $@ -lstdc++
82 yasm_check() {
83 echo >> "$TMPLOG"
84 cat "$TMPS" >> "$TMPLOG"
85 echo >> "$TMPLOG"
86 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
87 rm -f "$TMPEXE"
88 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
89 TMPRES="$?"
90 echo >> "$TMPLOG"
91 echo >> "$TMPLOG"
92 return "$TMPRES"
95 tmp_run() {
96 "$TMPEXE" >> "$TMPLOG" 2>&1
99 # Display error message, flushes tempfile, exit
100 die () {
101 echo
102 echo "Error: $@" >&2
103 echo >&2
104 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
105 echo "Check \"$TMPLOG\" if you do not understand why it failed."
106 exit 1
109 # OS test booleans functions
110 issystem() {
111 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
113 aix() { issystem "AIX"; }
114 amigaos() { issystem "AmigaOS"; }
115 beos() { issystem "BEOS"; }
116 bsdos() { issystem "BSD/OS"; }
117 cygwin() { issystem "CYGWIN"; }
118 darwin() { issystem "Darwin"; }
119 dragonfly() { issystem "DragonFly"; }
120 freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; }
121 gnu() { issystem "GNU"; }
122 hpux() { issystem "HP-UX"; }
123 irix() { issystem "IRIX"; }
124 linux() { issystem "Linux"; }
125 mingw32() { issystem "MINGW32"; }
126 morphos() { issystem "MorphOS"; }
127 netbsd() { issystem "NetBSD"; }
128 openbsd() { issystem "OpenBSD"; }
129 os2() { issystem "OS/2"; }
130 qnx() { issystem "QNX"; }
131 sunos() { issystem "SunOS"; }
132 win32() { cygwin || mingw32; }
134 # arch test boolean functions
135 # x86/x86pc is used by QNX
136 x86_32() {
137 case "$host_arch" in
138 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
139 *) return 1 ;;
140 esac
143 x86_64() {
144 case "$host_arch" in
145 x86_64|amd64) return 0 ;;
146 *) return 1 ;;
147 esac
150 x86() {
151 x86_32 || x86_64
154 ppc() {
155 case "$host_arch" in
156 ppc|ppc64|powerpc|powerpc64) return 0;;
157 *) return 1;;
158 esac
161 alpha() {
162 case "$host_arch" in
163 alpha*) return 0;;
164 *) return 1;;
165 esac
168 arm() {
169 case "$host_arch" in
170 arm) return 0;;
171 *) return 1;;
172 esac
175 # Use this before starting a check
176 echocheck() {
177 echo "============ Checking for $@ ============" >> "$TMPLOG"
178 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
181 # Use this to echo the results of a check
182 echores() {
183 if test "$_res_comment" ; then
184 _res_comment="($_res_comment)"
186 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
187 echo "##########################################" >> "$TMPLOG"
188 echo "" >> "$TMPLOG"
189 echo "$@ $_res_comment"
190 _res_comment=""
192 #############################################################################
194 # Check how echo works in this /bin/sh
195 case $(echo -n) in
196 -n) _echo_n= _echo_c='\c' ;; # SysV echo
197 *) _echo_n='-n ' _echo_c= ;; # BSD echo
198 esac
200 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")
201 man_lang_all=$(echo DOCS/man/??/mplayer.1 DOCS/man/??_??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
202 doc_lang_all=$(echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
204 show_help(){
205 cat << EOF
206 Usage: $0 [OPTIONS]...
208 Configuration:
209 -h, --help display this help and exit
211 Installation directories:
212 --prefix=DIR prefix directory for installation [/usr/local]
213 --bindir=DIR directory for installing binaries [PREFIX/bin]
214 --datadir=DIR directory for installing machine independent
215 data files (skins, etc) [PREFIX/share/mplayer]
216 --mandir=DIR directory for installing man pages [PREFIX/share/man]
217 --confdir=DIR directory for installing configuration files
218 [PREFIX/etc/mplayer]
219 --libdir=DIR directory for object code libraries [PREFIX/lib]
220 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
221 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
222 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
223 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
225 Optional features:
226 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
227 --disable-mplayer disable MPlayer compilation [enable]
228 --disable-largefiles disable support for files > 2GB [enable]
229 --enable-linux-devfs set default devices to devfs [disable]
230 --enable-termcap use termcap database for key codes [autodetect]
231 --enable-termios use termios database for key codes [autodetect]
232 --disable-iconv disable iconv for encoding conversion [autodetect]
233 --disable-langinfo do not use langinfo [autodetect]
234 --enable-lirc enable LIRC (remote control) support [autodetect]
235 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
236 --enable-joystick enable joystick support [disable]
237 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
238 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
239 --disable-vm disable X video mode extensions [autodetect]
240 --disable-xf86keysym disable support for multimedia keys [autodetect]
241 --enable-radio enable radio interface [disable]
242 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
243 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
244 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
245 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
246 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
247 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
248 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
249 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
250 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
251 --disable-network disable networking [enable]
252 --enable-winsock2_h enable winsock2_h [autodetect]
253 --enable-smb enable Samba (SMB) input [autodetect]
254 --enable-live enable LIVE555 Streaming Media [autodetect]
255 --enable-nemesi enable Nemesi Streaming Media [autodetect]
256 --disable-vcd disable VCD support [autodetect]
257 --disable-dvdnav disable libdvdnav [autodetect]
258 --disable-dvdread disable libdvdread [autodetect]
259 --disable-dvdread-internal disable internal libdvdread [autodetect]
260 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
261 --disable-cdparanoia disable cdparanoia [autodetect]
262 --disable-cddb disable cddb [autodetect]
263 --disable-bitmap-font disable bitmap font support [enable]
264 --disable-freetype disable FreeType 2 font rendering [autodetect]
265 --disable-fontconfig disable fontconfig font lookup [autodetect]
266 --disable-unrarexec disable using of UnRAR executable [enabled]
267 --enable-menu enable OSD menu (not DVD menu) [disabled]
268 --disable-sortsub disable subtitle sorting [enabled]
269 --enable-fribidi enable the FriBiDi libs [autodetect]
270 --disable-enca disable ENCA charset oracle library [autodetect]
271 --disable-maemo disable maemo specific features [autodetect]
272 --enable-macosx-finder enable Mac OS X Finder invocation parameter
273 parsing [disabled]
274 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
275 --disable-inet6 disable IPv6 support [autodetect]
276 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
277 --disable-ftp disable FTP support [enabled]
278 --disable-vstream disable TiVo vstream client support [autodetect]
279 --disable-pthreads disable Posix threads support [autodetect]
280 --disable-w32threads disable Win32 threads support [autodetect]
281 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
282 --enable-rpath enable runtime linker path for extra libs [disabled]
284 Codecs:
285 --enable-gif enable GIF support [autodetect]
286 --enable-png enable PNG input/output support [autodetect]
287 --enable-mng enable MNG input support [autodetect]
288 --enable-jpeg enable JPEG input/output support [autodetect]
289 --enable-libcdio enable libcdio support [autodetect]
290 --enable-liblzo enable liblzo support [autodetect]
291 --disable-win32dll disable Win32 DLL support [enabled]
292 --disable-qtx disable QuickTime codecs support [enabled]
293 --disable-xanim disable XAnim codecs support [enabled]
294 --disable-real disable RealPlayer codecs support [enabled]
295 --disable-xvid disable Xvid [autodetect]
296 --disable-x264 disable x264 [autodetect]
297 --disable-libnut disable libnut [autodetect]
298 --disable-libavutil disable libavutil [autodetect]
299 --disable-libavcodec disable libavcodec [autodetect]
300 --disable-libavformat disable libavformat [autodetect]
301 --disable-libpostproc disable libpostproc [autodetect]
302 --disable-libswscale disable libswscale [autodetect]
303 --disable-tremor-internal disable internal Tremor [enabled]
304 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
305 --enable-tremor enable external Tremor [autodetect]
306 --disable-libvorbis disable libvorbis support [autodetect]
307 --disable-speex disable Speex support [autodetect]
308 --enable-theora enable OggTheora libraries [autodetect]
309 --enable-faad enable external FAAD2 (AAC) [autodetect]
310 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
311 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
312 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
313 --disable-ladspa disable LADSPA plugin support [autodetect]
314 --disable-libbs2b disable libbs2b audio filter support [autodetect]
315 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
316 --disable-mad disable libmad (MPEG audio) support [autodetect]
317 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
318 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
319 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
320 --enable-xmms enable XMMS input plugin support [disabled]
321 --enable-libdca enable libdca support [autodetect]
322 --disable-mp3lib disable builtin mp3lib [autodetect]
323 --disable-liba52 disable liba52 [autodetect]
324 --disable-liba52-internal disable builtin liba52 [autodetect]
325 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
326 --disable-musepack disable musepack support [autodetect]
328 Video output:
329 --disable-vidix disable VIDIX [for x86 *nix]
330 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
331 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
332 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
333 --disable-vidix-pcidb disable VIDIX PCI device name database
334 --enable-dhahelper enable VIDIX dhahelper support
335 --enable-svgalib_helper enable VIDIX svgalib_helper support
336 --enable-gl enable OpenGL video output [autodetect]
337 --enable-dga2 enable DGA 2 support [autodetect]
338 --enable-dga1 enable DGA 1 support [autodetect]
339 --enable-vesa enable VESA video output [autodetect]
340 --enable-svga enable SVGAlib video output [autodetect]
341 --enable-sdl enable SDL video output [autodetect]
342 --enable-kva enable KVA video output [autodetect]
343 --enable-aa enable AAlib video output [autodetect]
344 --enable-caca enable CACA video output [autodetect]
345 --enable-ggi enable GGI video output [autodetect]
346 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
347 --enable-direct3d enable Direct3D video output [autodetect]
348 --enable-directx enable DirectX video output [autodetect]
349 --enable-dxr2 enable DXR2 video output [autodetect]
350 --enable-dxr3 enable DXR3/H+ video output [autodetect]
351 --enable-ivtv enable IVTV TV-Out video output [autodetect]
352 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
353 --enable-dvb enable DVB video output [autodetect]
354 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
355 --enable-mga enable mga_vid video output [autodetect]
356 --enable-xmga enable mga_vid X11 video output [autodetect]
357 --enable-xv enable Xv video output [autodetect]
358 --enable-xvmc enable XvMC acceleration [disable]
359 --enable-vdpau enable VDPAU acceleration [autodetect]
360 --enable-vm enable XF86VidMode support [autodetect]
361 --enable-xinerama enable Xinerama support [autodetect]
362 --enable-x11 enable X11 video output [autodetect]
363 --enable-xshape enable XShape support [autodetect]
364 --disable-xss disable screensaver support via xss [autodetect]
365 --enable-fbdev enable FBDev video output [autodetect]
366 --enable-mlib enable mediaLib video output (Solaris) [disable]
367 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
368 --enable-tdfxfb enable tdfxfb video output [disable]
369 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
370 --enable-wii enable Nintendo Wii/GameCube video output [disable]
371 --enable-directfb enable DirectFB video output [autodetect]
372 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
373 --enable-bl enable Blinkenlights video output [disable]
374 --enable-tdfxvid enable tdfx_vid video output [disable]
375 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
376 --disable-tga disable Targa video output [enable]
377 --disable-pnm disable PNM video output [enable]
378 --disable-md5sum disable md5sum video output [enable]
379 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
380 --disable-corevideo disable CoreVideo video output [autodetect]
381 --disable-quartz disable Quartz video output [autodetect]
383 Audio output:
384 --disable-alsa disable ALSA audio output [autodetect]
385 --disable-ossaudio disable OSS audio output [autodetect]
386 --disable-arts disable aRts audio output [autodetect]
387 --disable-esd disable esd audio output [autodetect]
388 --disable-pulse disable Pulseaudio audio output [autodetect]
389 --disable-jack disable JACK audio output [autodetect]
390 --enable-openal enable OpenAL audio output [disable]
391 --disable-nas disable NAS audio output [autodetect]
392 --disable-sgiaudio disable SGI audio output [autodetect]
393 --disable-sunaudio disable Sun audio output [autodetect]
394 --disable-dart disable DART audio output [autodetect]
395 --disable-win32waveout disable Windows waveout audio output [autodetect]
396 --disable-coreaudio disable CoreAudio audio output [autodetect]
397 --disable-select disable using select() on the audio device [enable]
399 Language options:
400 --charset=charset convert the console messages to this character set
401 --language-doc=lang language to use for the documentation [en]
402 --language-man=lang language to use for the man pages [en]
403 --language-msg=lang language to use for the messages [en]
404 --language=lang default language to use [en]
405 Specific options override --language. You can pass a list of languages separated
406 by whitespace or commas instead of a single language. Nonexisting translations
407 will be dropped from each list. All documentation and man page translations
408 available in the list will be installed, for the messages the first available
409 translation will be used. The value "all" will activate all translations. The
410 LINGUAS environment variable is honored. In all cases the fallback is English.
411 Available values are: all $msg_lang_all
413 Miscellaneous options:
414 --enable-runtime-cpudetection enable runtime CPU detection [disable]
415 --enable-cross-compile enable cross-compilation [autodetect]
416 --cc=COMPILER C compiler to build MPlayer [gcc]
417 --host-cc=COMPILER C compiler for tools needed while building [gcc]
418 --as=ASSEMBLER assembler to build MPlayer [as]
419 --nm=NM nm tool to build MPlayer [nm]
420 --yasm=YASM Yasm assembler to build MPlayer [yasm]
421 --ar=AR librarian to build MPlayer [ar]
422 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
423 --windres=WINDRES windres to build MPlayer [windres]
424 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
425 --enable-static build a statically linked binary
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-armv6t2 enable ARMv6t2 (ARM) [autodetect]
441 --enable-armvfp enable ARM VFP (ARM) [autodetect]
442 --enable-neon enable NEON (ARM) [autodetect]
443 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
444 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
445 --enable-big-endian force byte order to big-endian [autodetect]
446 --enable-debug[=1-3] compile-in debugging information [disable]
447 --enable-profile compile-in profiling information [disable]
448 --disable-sighandler disable sighandler for crashes [enable]
449 --enable-crash-debug enable automatic gdb attach on crash [disable]
450 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
451 --ffmpeg-source-dir=PATH enable features requiring internal FFmpeg headers
453 Use these options if autodetection fails:
454 --extra-cflags=FLAGS extra CFLAGS
455 --extra-ldflags=FLAGS extra LDFLAGS
456 --extra-libs=FLAGS extra linker flags
457 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
458 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
459 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
461 --with-freetype-config=PATH path to freetype-config
462 --with-fribidi-config=PATH path to fribidi-config
463 --with-glib-config=PATH path to glib*-config
464 --with-gtk-config=PATH path to gtk*-config
465 --with-sdl-config=PATH path to sdl*-config
466 --with-dvdnav-config=PATH path to dvdnav-config
467 --with-dvdread-config=PATH path to dvdread-config
469 This configure script is NOT autoconf-based, even though its output is similar.
470 It will try to autodetect all configuration options. If you --enable an option
471 it will be forcefully turned on, skipping autodetection. This can break
472 compilation, so you need to know what you are doing.
474 exit 0
475 } #show_help()
477 # GOTCHA: the variables below defines the default behavior for autodetection
478 # and have - unless stated otherwise - at least 2 states : yes no
479 # If autodetection is available then the third state is: auto
480 _mmx=auto
481 _3dnow=auto
482 _3dnowext=auto
483 _mmxext=auto
484 _sse=auto
485 _sse2=auto
486 _ssse3=auto
487 _cmov=auto
488 _fast_cmov=auto
489 _armv5te=auto
490 _armv6=auto
491 _armv6t2=auto
492 _armvfp=auto
493 neon=auto
494 _iwmmxt=auto
495 _mtrr=auto
496 _altivec=auto
497 _install=install
498 _ranlib=ranlib
499 _windres=windres
500 _cc=cc
501 _ar=ar
502 test "$CC" && _cc="$CC"
503 _as=auto
504 _nm=auto
505 _yasm=yasm
506 _runtime_cpudetection=no
507 _cross_compile=auto
508 _prefix="/usr/local"
509 _libavutil=auto
510 _libavcodec=auto
511 _libavformat=auto
512 _libpostproc=auto
513 _libswscale=auto
514 _libavcodec_internals=no
515 _libswscale_internals=no
516 _mencoder=yes
517 _mplayer=yes
518 _x11=auto
519 _xshape=auto
520 _xss=auto
521 _dga1=auto
522 _dga2=auto
523 _xv=auto
524 _xvmc=no #auto when complete
525 _vdpau=auto
526 _sdl=auto
527 _kva=auto
528 _direct3d=auto
529 _directx=auto
530 _win32waveout=auto
531 _nas=auto
532 _png=auto
533 _mng=auto
534 _jpeg=auto
535 _pnm=yes
536 _md5sum=yes
537 _yuv4mpeg=yes
538 _gif=auto
539 _gl=auto
540 _ggi=auto
541 _ggiwmh=auto
542 _aa=auto
543 _caca=auto
544 _svga=auto
545 _vesa=auto
546 _fbdev=auto
547 _dvb=auto
548 _dvbhead=auto
549 _dxr2=auto
550 _dxr3=auto
551 _ivtv=auto
552 _v4l2=auto
553 _iconv=auto
554 _langinfo=auto
555 _rtc=auto
556 _ossaudio=auto
557 _arts=auto
558 _esd=auto
559 _pulse=auto
560 _jack=auto
561 _dart=auto
562 _openal=no
563 _libcdio=auto
564 _liblzo=auto
565 _mad=auto
566 _mp3lame=auto
567 _toolame=auto
568 _twolame=auto
569 _tremor=auto
570 _tremor_internal=yes
571 _tremor_low=no
572 _libvorbis=auto
573 _speex=auto
574 _theora=auto
575 _mp3lib=auto
576 _liba52=auto
577 _liba52_internal=auto
578 _libdca=auto
579 _libmpeg2=auto
580 _faad=auto
581 _faad_internal=auto
582 _faad_fixed=no
583 _faac=auto
584 _ladspa=auto
585 _libbs2b=auto
586 _xmms=no
587 _vcd=auto
588 _dvdnav=auto
589 _dvdnavconfig=dvdnav-config
590 _dvdreadconfig=dvdread-config
591 _dvdread=auto
592 _dvdread_internal=auto
593 _libdvdcss_internal=auto
594 _xanim=auto
595 _real=auto
596 _live=auto
597 _nemesi=auto
598 _native_rtsp=yes
599 _xinerama=auto
600 _mga=auto
601 _xmga=auto
602 _vm=auto
603 _xf86keysym=auto
604 _mlib=no #broken, thus disabled
605 _sgiaudio=auto
606 _sunaudio=auto
607 _alsa=auto
608 _fastmemcpy=yes
609 _unrar_exec=auto
610 _win32dll=auto
611 _select=yes
612 _radio=no
613 _radio_capture=no
614 _radio_v4l=auto
615 _radio_v4l2=auto
616 _radio_bsdbt848=auto
617 _tv=yes
618 _tv_v4l1=auto
619 _tv_v4l2=auto
620 _tv_bsdbt848=auto
621 _tv_dshow=auto
622 _pvr=auto
623 _network=yes
624 _winsock2_h=auto
625 _smb=auto
626 _vidix=auto
627 _vidix_pcidb=yes
628 _dhahelper=no
629 _svgalib_helper=no
630 _joystick=no
631 _xvid=auto
632 _x264=auto
633 _libnut=auto
634 _lirc=auto
635 _lircc=auto
636 _apple_remote=auto
637 _apple_ir=auto
638 _gui=no
639 _gtk1=no
640 _termcap=auto
641 _termios=auto
642 _3dfx=no
643 _s3fb=no
644 _wii=no
645 _tdfxfb=no
646 _tdfxvid=no
647 _xvr100=auto
648 _tga=yes
649 _directfb=auto
650 _zr=auto
651 _bl=no
652 _largefiles=yes
653 #language=en
654 _shm=auto
655 _linux_devfs=no
656 _charset="UTF-8"
657 _dynamic_plugins=no
658 _crash_debug=no
659 _sighandler=yes
660 _libdv=auto
661 _cdparanoia=auto
662 _cddb=auto
663 _big_endian=auto
664 _bitmap_font=yes
665 _freetype=auto
666 _fontconfig=auto
667 _menu=no
668 _qtx=auto
669 _maemo=auto
670 _coreaudio=auto
671 _corevideo=auto
672 _quartz=auto
673 quicktime=auto
674 _macosx_finder=no
675 _macosx_bundle=auto
676 _sortsub=yes
677 _freetypeconfig='freetype-config'
678 _fribidi=auto
679 _fribidiconfig='fribidi-config'
680 _enca=auto
681 _inet6=auto
682 _gethostbyname2=auto
683 _ftp=yes
684 _musepack=auto
685 _vstream=auto
686 _pthreads=auto
687 _w32threads=auto
688 _ass=auto
689 _rpath=no
690 _asmalign_pot=auto
691 _stream_cache=yes
692 _priority=no
693 def_dos_paths="#define HAVE_DOS_PATHS 0"
694 def_stream_cache="#define CONFIG_STREAM_CACHE 1"
695 def_priority="#undef CONFIG_PRIORITY"
696 def_pthread_cache="#undef PTHREAD_CACHE"
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)
734 --with-install=*)
735 _install=$(echo $ac_option | cut -d '=' -f 2 )
737 --with-xvmclib=*)
738 _xvmclib=$(echo $ac_option | cut -d '=' -f 2)
741 --with-sdl-config=*)
742 _sdlconfig=$(echo $ac_option | cut -d '=' -f 2)
744 --with-freetype-config=*)
745 _freetypeconfig=$(echo $ac_option | cut -d '=' -f 2)
747 --with-fribidi-config=*)
748 _fribidiconfig=$(echo $ac_option | cut -d '=' -f 2)
750 --with-gtk-config=*)
751 _gtkconfig=$(echo $ac_option | cut -d '=' -f 2)
753 --with-glib-config=*)
754 _glibconfig=$(echo $ac_option | cut -d '=' -f 2)
756 --with-dvdnav-config=*)
757 _dvdnavconfig=$(echo $ac_option | cut -d '=' -f 2)
759 --with-dvdread-config=*)
760 _dvdreadconfig=$(echo $ac_option | cut -d '=' -f 2)
763 --extra-cflags=*)
764 extra_cflags="$extra_cflags $(echo $ac_option | cut -d '=' -f 2-)"
766 --extra-ldflags=*)
767 extra_ldflags="$extra_ldflags $(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 --nm=*)
792 _nm=$(echo $ac_option | cut -d '=' -f 2)
794 --yasm=*)
795 _yasm=$(echo $ac_option | cut -d '=' -f 2)
797 --ar=*)
798 _ar=$(echo $ac_option | cut -d '=' -f 2)
800 --ranlib=*)
801 _ranlib=$(echo $ac_option | cut -d '=' -f 2)
803 --windres=*)
804 _windres=$(echo $ac_option | cut -d '=' -f 2)
806 --charset=*)
807 _charset=$(echo $ac_option | cut -d '=' -f 2)
809 --language-doc=*)
810 language_doc=$(echo $ac_option | cut -d '=' -f 2)
812 --language-man=*)
813 language_man=$(echo $ac_option | cut -d '=' -f 2)
815 --language-msg=*)
816 language_msg=$(echo $ac_option | cut -d '=' -f 2)
818 --language=*)
819 language=$(echo $ac_option | cut -d '=' -f 2)
822 --enable-static)
823 _ld_static='-static'
825 --disable-static)
826 _ld_static=''
828 --enable-profile)
829 _profile='-p'
831 --disable-profile)
832 _profile=
834 --enable-debug)
835 _debug='-g'
837 --enable-debug=*)
838 _debug=$(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2)
840 --disable-debug)
841 _debug=
843 --enable-runtime-cpudetection) _runtime_cpudetection=yes ;;
844 --disable-runtime-cpudetection) _runtime_cpudetection=no ;;
845 --enable-cross-compile) _cross_compile=yes ;;
846 --disable-cross-compile) _cross_compile=no ;;
847 --enable-mencoder) _mencoder=yes ;;
848 --disable-mencoder) _mencoder=no ;;
849 --enable-mplayer) _mplayer=yes ;;
850 --disable-mplayer) _mplayer=no ;;
851 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
852 --disable-dynamic-plugins) _dynamic_plugins=no ;;
853 --enable-x11) _x11=yes ;;
854 --disable-x11) _x11=no ;;
855 --enable-xshape) _xshape=yes ;;
856 --disable-xshape) _xshape=no ;;
857 --enable-xss) _xss=yes ;;
858 --disable-xss) _xss=no ;;
859 --enable-xv) _xv=yes ;;
860 --disable-xv) _xv=no ;;
861 --enable-xvmc) _xvmc=yes ;;
862 --disable-xvmc) _xvmc=no ;;
863 --enable-vdpau) _vdpau=yes ;;
864 --disable-vdpau) _vdpau=no ;;
865 --enable-sdl) _sdl=yes ;;
866 --disable-sdl) _sdl=no ;;
867 --enable-kva) _kva=yes ;;
868 --disable-kva) _kva=no ;;
869 --enable-direct3d) _direct3d=yes ;;
870 --disable-direct3d) _direct3d=no ;;
871 --enable-directx) _directx=yes ;;
872 --disable-directx) _directx=no ;;
873 --enable-win32waveout) _win32waveout=yes ;;
874 --disable-win32waveout) _win32waveout=no ;;
875 --enable-nas) _nas=yes ;;
876 --disable-nas) _nas=no ;;
877 --enable-png) _png=yes ;;
878 --disable-png) _png=no ;;
879 --enable-mng) _mng=yes ;;
880 --disable-mng) _mng=no ;;
881 --enable-jpeg) _jpeg=yes ;;
882 --disable-jpeg) _jpeg=no ;;
883 --enable-pnm) _pnm=yes ;;
884 --disable-pnm) _pnm=no ;;
885 --enable-md5sum) _md5sum=yes ;;
886 --disable-md5sum) _md5sum=no ;;
887 --enable-yuv4mpeg) _yuv4mpeg=yes ;;
888 --disable-yuv4mpeg) _yuv4mpeg=no ;;
889 --enable-gif) _gif=yes ;;
890 --disable-gif) _gif=no ;;
891 --enable-gl) _gl=yes ;;
892 --disable-gl) _gl=no ;;
893 --enable-ggi) _ggi=yes ;;
894 --disable-ggi) _ggi=no ;;
895 --enable-ggiwmh) _ggiwmh=yes ;;
896 --disable-ggiwmh) _ggiwmh=no ;;
897 --enable-aa) _aa=yes ;;
898 --disable-aa) _aa=no ;;
899 --enable-caca) _caca=yes ;;
900 --disable-caca) _caca=no ;;
901 --enable-svga) _svga=yes ;;
902 --disable-svga) _svga=no ;;
903 --enable-vesa) _vesa=yes ;;
904 --disable-vesa) _vesa=no ;;
905 --enable-fbdev) _fbdev=yes ;;
906 --disable-fbdev) _fbdev=no ;;
907 --enable-dvb) _dvb=yes ;;
908 --disable-dvb) _dvb=no ;;
909 --enable-dvbhead) _dvbhead=yes ;;
910 --disable-dvbhead) _dvbhead=no ;;
911 --enable-dxr2) _dxr2=yes ;;
912 --disable-dxr2) _dxr2=no ;;
913 --enable-dxr3) _dxr3=yes ;;
914 --disable-dxr3) _dxr3=no ;;
915 --enable-ivtv) _ivtv=yes ;;
916 --disable-ivtv) _ivtv=no ;;
917 --enable-v4l2) _v4l2=yes ;;
918 --disable-v4l2) _v4l2=no ;;
919 --enable-iconv) _iconv=yes ;;
920 --disable-iconv) _iconv=no ;;
921 --enable-langinfo) _langinfo=yes ;;
922 --disable-langinfo) _langinfo=no ;;
923 --enable-rtc) _rtc=yes ;;
924 --disable-rtc) _rtc=no ;;
925 --enable-libdv) _libdv=yes ;;
926 --disable-libdv) _libdv=no ;;
927 --enable-ossaudio) _ossaudio=yes ;;
928 --disable-ossaudio) _ossaudio=no ;;
929 --enable-arts) _arts=yes ;;
930 --disable-arts) _arts=no ;;
931 --enable-esd) _esd=yes ;;
932 --disable-esd) _esd=no ;;
933 --enable-pulse) _pulse=yes ;;
934 --disable-pulse) _pulse=no ;;
935 --enable-jack) _jack=yes ;;
936 --disable-jack) _jack=no ;;
937 --enable-openal) _openal=yes ;;
938 --disable-openal) _openal=no ;;
939 --enable-dart) _dart=yes ;;
940 --disable-dart) _dart=no ;;
941 --enable-mad) _mad=yes ;;
942 --disable-mad) _mad=no ;;
943 --enable-mp3lame) _mp3lame=yes ;;
944 --disable-mp3lame) _mp3lame=no ;;
945 --enable-toolame) _toolame=yes ;;
946 --disable-toolame) _toolame=no ;;
947 --enable-twolame) _twolame=yes ;;
948 --disable-twolame) _twolame=no ;;
949 --enable-libcdio) _libcdio=yes ;;
950 --disable-libcdio) _libcdio=no ;;
951 --enable-liblzo) _liblzo=yes ;;
952 --disable-liblzo) _liblzo=no ;;
953 --enable-libvorbis) _libvorbis=yes ;;
954 --disable-libvorbis) _libvorbis=no ;;
955 --enable-speex) _speex=yes ;;
956 --disable-speex) _speex=no ;;
957 --enable-tremor) _tremor=yes ;;
958 --disable-tremor) _tremor=no ;;
959 --enable-tremor-internal) _tremor_internal=yes ;;
960 --disable-tremor-internal) _tremor_internal=no ;;
961 --enable-tremor-low) _tremor_low=yes ;;
962 --disable-tremor-low) _tremor_low=no ;;
963 --enable-theora) _theora=yes ;;
964 --disable-theora) _theora=no ;;
965 --enable-mp3lib) _mp3lib=yes ;;
966 --disable-mp3lib) _mp3lib=no ;;
967 --enable-liba52-internal) _liba52_internal=yes ;;
968 --disable-liba52-internal) _liba52_internal=no ;;
969 --enable-liba52) _liba52=yes ;;
970 --disable-liba52) _liba52=no ;;
971 --enable-libdca) _libdca=yes ;;
972 --disable-libdca) _libdca=no ;;
973 --enable-libmpeg2) _libmpeg2=yes ;;
974 --disable-libmpeg2) _libmpeg2=no ;;
975 --enable-musepack) _musepack=yes ;;
976 --disable-musepack) _musepack=no ;;
977 --enable-faad) _faad=yes ;;
978 --disable-faad) _faad=no ;;
979 --enable-faad-internal) _faad_internal=yes ;;
980 --disable-faad-internal) _faad_internal=no ;;
981 --enable-faad-fixed) _faad_fixed=yes ;;
982 --disable-faad-fixed) _faad_fixed=no ;;
983 --enable-faac) _faac=yes ;;
984 --disable-faac) _faac=no ;;
985 --enable-ladspa) _ladspa=yes ;;
986 --disable-ladspa) _ladspa=no ;;
987 --enable-libbs2b) _libbs2b=yes ;;
988 --disable-libbs2b) _libbs2b=no ;;
989 --enable-xmms) _xmms=yes ;;
990 --disable-xmms) _xmms=no ;;
991 --enable-vcd) _vcd=yes ;;
992 --disable-vcd) _vcd=no ;;
993 --enable-dvdread) _dvdread=yes ;;
994 --disable-dvdread) _dvdread=no ;;
995 --enable-dvdread-internal) _dvdread_internal=yes ;;
996 --disable-dvdread-internal) _dvdread_internal=no ;;
997 --enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
998 --disable-libdvdcss-internal) _libdvdcss_internal=no ;;
999 --enable-dvdnav) _dvdnav=yes ;;
1000 --disable-dvdnav) _dvdnav=no ;;
1001 --enable-xanim) _xanim=yes ;;
1002 --disable-xanim) _xanim=no ;;
1003 --enable-real) _real=yes ;;
1004 --disable-real) _real=no ;;
1005 --enable-live) _live=yes ;;
1006 --disable-live) _live=no ;;
1007 --enable-nemesi) _nemesi=yes ;;
1008 --disable-nemesi) _nemesi=no ;;
1009 --enable-xinerama) _xinerama=yes ;;
1010 --disable-xinerama) _xinerama=no ;;
1011 --enable-mga) _mga=yes ;;
1012 --disable-mga) _mga=no ;;
1013 --enable-xmga) _xmga=yes ;;
1014 --disable-xmga) _xmga=no ;;
1015 --enable-vm) _vm=yes ;;
1016 --disable-vm) _vm=no ;;
1017 --enable-xf86keysym) _xf86keysym=yes ;;
1018 --disable-xf86keysym) _xf86keysym=no ;;
1019 --enable-mlib) _mlib=yes ;;
1020 --disable-mlib) _mlib=no ;;
1021 --enable-sunaudio) _sunaudio=yes ;;
1022 --disable-sunaudio) _sunaudio=no ;;
1023 --enable-sgiaudio) _sgiaudio=yes ;;
1024 --disable-sgiaudio) _sgiaudio=no ;;
1025 --enable-alsa) _alsa=yes ;;
1026 --disable-alsa) _alsa=no ;;
1027 --enable-tv) _tv=yes ;;
1028 --disable-tv) _tv=no ;;
1029 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1030 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1031 --enable-tv-v4l1) _tv_v4l1=yes ;;
1032 --disable-tv-v4l1) _tv_v4l1=no ;;
1033 --enable-tv-v4l2) _tv_v4l2=yes ;;
1034 --disable-tv-v4l2) _tv_v4l2=no ;;
1035 --enable-tv-dshow) _tv_dshow=yes ;;
1036 --disable-tv-dshow) _tv_dshow=no ;;
1037 --enable-radio) _radio=yes ;;
1038 --enable-radio-capture) _radio_capture=yes ;;
1039 --disable-radio-capture) _radio_capture=no ;;
1040 --disable-radio) _radio=no ;;
1041 --enable-radio-v4l) _radio_v4l=yes ;;
1042 --disable-radio-v4l) _radio_v4l=no ;;
1043 --enable-radio-v4l2) _radio_v4l2=yes ;;
1044 --disable-radio-v4l2) _radio_v4l2=no ;;
1045 --enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
1046 --disable-radio-bsdbt848) _radio_bsdbt848=no ;;
1047 --enable-pvr) _pvr=yes ;;
1048 --disable-pvr) _pvr=no ;;
1049 --enable-fastmemcpy) _fastmemcpy=yes ;;
1050 --disable-fastmemcpy) _fastmemcpy=no ;;
1051 --enable-network) _network=yes ;;
1052 --disable-network) _network=no ;;
1053 --enable-winsock2_h) _winsock2_h=yes ;;
1054 --disable-winsock2_h) _winsock2_h=no ;;
1055 --enable-smb) _smb=yes ;;
1056 --disable-smb) _smb=no ;;
1057 --enable-vidix) _vidix=yes ;;
1058 --disable-vidix) _vidix=no ;;
1059 --with-vidix-drivers=*)
1060 _vidix_drivers=$(echo $ac_option | cut -d '=' -f 2)
1062 --disable-vidix-pcidb) _vidix_pcidb=no ;;
1063 --enable-dhahelper) _dhahelper=yes ;;
1064 --disable-dhahelper) _dhahelper=no ;;
1065 --enable-svgalib_helper) _svgalib_helper=yes ;;
1066 --disable-svgalib_helper) _svgalib_helper=no ;;
1067 --enable-joystick) _joystick=yes ;;
1068 --disable-joystick) _joystick=no ;;
1069 --enable-xvid) _xvid=yes ;;
1070 --disable-xvid) _xvid=no ;;
1071 --enable-x264) _x264=yes ;;
1072 --disable-x264) _x264=no ;;
1073 --enable-libnut) _libnut=yes ;;
1074 --disable-libnut) _libnut=no ;;
1075 --enable-libavutil) _libavutil=yes ;;
1076 --disable-libavutil) _libavutil=no ;;
1077 --enable-libavcodec) _libavcodec=yes ;;
1078 --disable-libavcodec) _libavcodec=no ;;
1079 --enable-libavformat) _libavformat=yes ;;
1080 --disable-libavformat) _libavformat=no ;;
1081 --enable-libpostproc) _libpostproc=yes ;;
1082 --disable-libpostproc) _libpostproc=no ;;
1083 --enable-libswscale) _libswscale=yes ;;
1084 --disable-libswscale) _libswscale=no ;;
1085 --ffmpeg-source-dir=*)
1086 _ffmpeg_source=$(echo $ac_option | cut -d '=' -f 2 ) ;;
1088 --enable-lirc) _lirc=yes ;;
1089 --disable-lirc) _lirc=no ;;
1090 --enable-lircc) _lircc=yes ;;
1091 --disable-lircc) _lircc=no ;;
1092 --enable-apple-remote) _apple_remote=yes ;;
1093 --disable-apple-remote) _apple_remote=no ;;
1094 --enable-apple-ir) _apple_ir=yes ;;
1095 --disable-apple-ir) _apple_ir=no ;;
1096 --enable-gui) _gui=yes ;;
1097 --disable-gui) _gui=no ;;
1098 --enable-gtk1) _gtk1=yes ;;
1099 --disable-gtk1) _gtk1=no ;;
1100 --enable-termcap) _termcap=yes ;;
1101 --disable-termcap) _termcap=no ;;
1102 --enable-termios) _termios=yes ;;
1103 --disable-termios) _termios=no ;;
1104 --enable-3dfx) _3dfx=yes ;;
1105 --disable-3dfx) _3dfx=no ;;
1106 --enable-s3fb) _s3fb=yes ;;
1107 --disable-s3fb) _s3fb=no ;;
1108 --enable-wii) _wii=yes ;;
1109 --disable-wii) _wii=no ;;
1110 --enable-tdfxfb) _tdfxfb=yes ;;
1111 --disable-tdfxfb) _tdfxfb=no ;;
1112 --disable-tdfxvid) _tdfxvid=no ;;
1113 --enable-tdfxvid) _tdfxvid=yes ;;
1114 --disable-xvr100) _xvr100=no ;;
1115 --enable-xvr100) _xvr100=yes ;;
1116 --disable-tga) _tga=no ;;
1117 --enable-tga) _tga=yes ;;
1118 --enable-directfb) _directfb=yes ;;
1119 --disable-directfb) _directfb=no ;;
1120 --enable-zr) _zr=yes ;;
1121 --disable-zr) _zr=no ;;
1122 --enable-bl) _bl=yes ;;
1123 --disable-bl) _bl=no ;;
1124 --enable-mtrr) _mtrr=yes ;;
1125 --disable-mtrr) _mtrr=no ;;
1126 --enable-largefiles) _largefiles=yes ;;
1127 --disable-largefiles) _largefiles=no ;;
1128 --enable-shm) _shm=yes ;;
1129 --disable-shm) _shm=no ;;
1130 --enable-select) _select=yes ;;
1131 --disable-select) _select=no ;;
1132 --enable-linux-devfs) _linux_devfs=yes ;;
1133 --disable-linux-devfs) _linux_devfs=no ;;
1134 --enable-cdparanoia) _cdparanoia=yes ;;
1135 --disable-cdparanoia) _cdparanoia=no ;;
1136 --enable-cddb) _cddb=yes ;;
1137 --disable-cddb) _cddb=no ;;
1138 --enable-big-endian) _big_endian=yes ;;
1139 --disable-big-endian) _big_endian=no ;;
1140 --enable-bitmap-font) _bitmap_font=yes ;;
1141 --disable-bitmap-font) _bitmap_font=no ;;
1142 --enable-freetype) _freetype=yes ;;
1143 --disable-freetype) _freetype=no ;;
1144 --enable-fontconfig) _fontconfig=yes ;;
1145 --disable-fontconfig) _fontconfig=no ;;
1146 --enable-unrarexec) _unrar_exec=yes ;;
1147 --disable-unrarexec) _unrar_exec=no ;;
1148 --enable-ftp) _ftp=yes ;;
1149 --disable-ftp) _ftp=no ;;
1150 --enable-vstream) _vstream=yes ;;
1151 --disable-vstream) _vstream=no ;;
1152 --enable-pthreads) _pthreads=yes ;;
1153 --disable-pthreads) _pthreads=no ;;
1154 --enable-w32threads) _w32threads=yes ;;
1155 --disable-w32threads) _w32threads=no ;;
1156 --enable-ass) _ass=yes ;;
1157 --disable-ass) _ass=no ;;
1158 --enable-rpath) _rpath=yes ;;
1159 --disable-rpath) _rpath=no ;;
1161 --enable-fribidi) _fribidi=yes ;;
1162 --disable-fribidi) _fribidi=no ;;
1164 --enable-enca) _enca=yes ;;
1165 --disable-enca) _enca=no ;;
1167 --enable-inet6) _inet6=yes ;;
1168 --disable-inet6) _inet6=no ;;
1170 --enable-gethostbyname2) _gethostbyname2=yes ;;
1171 --disable-gethostbyname2) _gethostbyname2=no ;;
1173 --enable-dga1) _dga1=yes ;;
1174 --disable-dga1) _dga1=no ;;
1175 --enable-dga2) _dga2=yes ;;
1176 --disable-dga2) _dga2=no ;;
1178 --enable-menu) _menu=yes ;;
1179 --disable-menu) _menu=no ;;
1181 --enable-qtx) _qtx=yes ;;
1182 --disable-qtx) _qtx=no ;;
1184 --enable-coreaudio) _coreaudio=yes ;;
1185 --disable-coreaudio) _coreaudio=no ;;
1186 --enable-corevideo) _corevideo=yes ;;
1187 --disable-corevideo) _corevideo=no ;;
1188 --enable-quartz) _quartz=yes ;;
1189 --disable-quartz) _quartz=no ;;
1190 --enable-macosx-finder) _macosx_finder=yes ;;
1191 --disable-macosx-finder) _macosx_finder=no ;;
1192 --enable-macosx-bundle) _macosx_bundle=yes;;
1193 --disable-macosx-bundle) _macosx_bundle=no;;
1195 --enable-maemo) _maemo=yes ;;
1196 --disable-maemo) _maemo=no ;;
1198 --enable-sortsub) _sortsub=yes ;;
1199 --disable-sortsub) _sortsub=no ;;
1201 --enable-crash-debug) _crash_debug=yes ;;
1202 --disable-crash-debug) _crash_debug=no ;;
1203 --enable-sighandler) _sighandler=yes ;;
1204 --disable-sighandler) _sighandler=no ;;
1205 --enable-win32dll) _win32dll=yes ;;
1206 --disable-win32dll) _win32dll=no ;;
1208 --enable-sse) _sse=yes ;;
1209 --disable-sse) _sse=no ;;
1210 --enable-sse2) _sse2=yes ;;
1211 --disable-sse2) _sse2=no ;;
1212 --enable-ssse3) _ssse3=yes ;;
1213 --disable-ssse3) _ssse3=no ;;
1214 --enable-mmxext) _mmxext=yes ;;
1215 --disable-mmxext) _mmxext=no ;;
1216 --enable-3dnow) _3dnow=yes ;;
1217 --disable-3dnow) _3dnow=no _3dnowext=no ;;
1218 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
1219 --disable-3dnowext) _3dnowext=no ;;
1220 --enable-cmov) _cmov=yes ;;
1221 --disable-cmov) _cmov=no ;;
1222 --enable-fast-cmov) _fast_cmov=yes ;;
1223 --disable-fast-cmov) _fast_cmov=no ;;
1224 --enable-altivec) _altivec=yes ;;
1225 --disable-altivec) _altivec=no ;;
1226 --enable-armv5te) _armv5te=yes ;;
1227 --disable-armv5te) _armv5te=no ;;
1228 --enable-armv6) _armv6=yes ;;
1229 --disable-armv6) _armv6=no ;;
1230 --enable-armv6t2) _armv6t2=yes ;;
1231 --disable-armv6t2) _armv6t2=no ;;
1232 --enable-armvfp) _armvfp=yes ;;
1233 --disable-armvfp) _armvfp=no ;;
1234 --enable-neon) neon=yes ;;
1235 --disable-neon) neon=no ;;
1236 --enable-iwmmxt) _iwmmxt=yes ;;
1237 --disable-iwmmxt) _iwmmxt=no ;;
1238 --enable-mmx) _mmx=yes ;;
1239 --disable-mmx) # 3Dnow! and MMX2 require MMX
1240 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
1243 echo "Unknown parameter: $ac_option"
1244 exit 1
1247 esac
1248 done
1250 if test "$_gui" = yes ; then
1251 die "Internal GUI was removed from MPlayer. Please use one of many available\n frontends\
1252 (http://www.mplayerhq.hu/design7/projects.html#mplayer_frontends)."
1255 # Atmos: moved this here, to be correct, if --prefix is specified
1256 test -z "$_bindir" && _bindir="$_prefix/bin"
1257 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1258 test -z "$_mandir" && _mandir="$_prefix/share/man"
1259 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1260 test -z "$_libdir" && _libdir="$_prefix/lib"
1262 # Determine our OS name and CPU architecture
1263 if test -z "$_target" ; then
1264 # OS name
1265 system_name=$(uname -s 2>&1)
1266 case "$system_name" in
1267 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
1269 Haiku)
1270 system_name=BeOS
1272 IRIX*)
1273 system_name=IRIX
1275 GNU/kFreeBSD)
1276 system_name=FreeBSD
1278 HP-UX*)
1279 system_name=HP-UX
1281 [cC][yY][gG][wW][iI][nN]*)
1282 system_name=CYGWIN
1284 MINGW32*)
1285 system_name=MINGW32
1287 OS/2*)
1288 system_name=OS/2
1291 system_name="$system_name-UNKNOWN"
1293 esac
1296 # host's CPU/instruction set
1297 host_arch=$(uname -p 2>&1)
1298 case "$host_arch" in
1299 i386|sparc|ppc|alpha|arm|mips|vax)
1301 powerpc) # Darwin returns 'powerpc'
1302 host_arch=ppc
1304 *) # uname -p on Linux returns 'unknown' for the processor type,
1305 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1307 # Maybe uname -m (machine hardware name) returns something we
1308 # recognize.
1310 # x86/x86pc is used by QNX
1311 case "$(uname -m 2>&1)" in
1312 x86_64|amd64|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 ;;
1313 ia64) host_arch=ia64 ;;
1314 macppc|ppc) host_arch=ppc ;;
1315 ppc64) host_arch=ppc64 ;;
1316 alpha) host_arch=alpha ;;
1317 sparc) host_arch=sparc ;;
1318 sparc64) host_arch=sparc64 ;;
1319 parisc*|hppa*|9000*) host_arch=hppa ;;
1320 arm*|zaurus|cats) host_arch=arm ;;
1321 sh3|sh4|sh4a) host_arch=sh ;;
1322 s390) host_arch=s390 ;;
1323 s390x) host_arch=s390x ;;
1324 *mips*) host_arch=mips ;;
1325 vax) host_arch=vax ;;
1326 xtensa*) host_arch=xtensa ;;
1327 *) host_arch=UNKNOWN ;;
1328 esac
1330 esac
1331 else # if test -z "$_target"
1332 system_name=$(echo $_target | cut -d '-' -f 2)
1333 case "$(echo $system_name | tr A-Z a-z)" in
1334 linux) system_name=Linux ;;
1335 freebsd) system_name=FreeBSD ;;
1336 gnu/kfreebsd) system_name=FreeBSD ;;
1337 netbsd) system_name=NetBSD ;;
1338 bsd/os) system_name=BSD/OS ;;
1339 openbsd) system_name=OpenBSD ;;
1340 dragonfly) system_name=DragonFly ;;
1341 sunos) system_name=SunOS ;;
1342 qnx) system_name=QNX ;;
1343 morphos) system_name=MorphOS ;;
1344 amigaos) system_name=AmigaOS ;;
1345 mingw32msvc) system_name=MINGW32 ;;
1346 esac
1347 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1348 host_arch=$(echo $_target | cut -d '-' -f 1)
1349 if test $(echo $host_arch) != "x86_64" ; then
1350 host_arch=$(echo $host_arch | tr '_' '-')
1354 extra_cflags="-I. $extra_cflags"
1355 _timer=timer-linux.c
1356 _getch=getch2.c
1357 if freebsd ; then
1358 extra_ldflags="$extra_ldflags -L/usr/local/lib"
1359 extra_cflags="$extra_cflags -I/usr/local/include"
1362 if netbsd || dragonfly ; then
1363 extra_ldflags="$extra_ldflags -L/usr/pkg/lib"
1364 extra_cflags="$extra_cflags -I/usr/pkg/include"
1367 if darwin; then
1368 extra_cflags="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1369 _timer=timer-darwin.c
1372 if aix ; then
1373 extra_ldflags="$extra_ldflags -lC"
1376 if irix ; then
1377 _ranlib='ar -r'
1378 elif linux ; then
1379 _ranlib='true'
1382 if win32 ; then
1383 _exesuf=".exe"
1384 # -lwinmm is always needed for osdep/timer-win2.c
1385 extra_ldflags="$extra_ldflags -lwinmm"
1386 _pe_executable=yes
1387 _timer=timer-win2.c
1388 _priority=yes
1389 def_dos_paths="#define HAVE_DOS_PATHS 1"
1390 def_priority="#define CONFIG_PRIORITY 1"
1393 if mingw32 ; then
1394 _getch=getch2-win.c
1395 _need_shmem=no
1398 if amigaos ; then
1399 _select=no
1400 _sighandler=no
1401 _stream_cache=no
1402 def_stream_cache="#undef CONFIG_STREAM_CACHE"
1403 extra_cflags="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1406 if qnx ; then
1407 extra_ldflags="$extra_ldflags -lph"
1410 if os2 ; then
1411 _exesuf=".exe"
1412 _getch=getch2-os2.c
1413 _need_shmem=no
1414 _priority=yes
1415 def_dos_paths="#define HAVE_DOS_PATHS 1"
1416 def_priority="#define CONFIG_PRIORITY 1"
1419 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1420 test "$I" && break
1421 done
1424 TMPLOG="configure.log"
1425 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
1426 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
1427 TMPEXE="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1428 TMPH="$I/mplayer-conf-$RANDOM-$$.h"
1429 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
1431 rm -f "$TMPLOG"
1432 echo configuration: $_configuration > "$TMPLOG"
1433 echo >> "$TMPLOG"
1436 if test "$_runtime_cpudetection" = yes && ! x86 && ! ppc; then
1437 die "Runtime CPU detection only works for x86, x86-64 and PPC!"
1441 # Checking CC version...
1442 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1443 if test "$(basename $_cc)" = "icc" || test "$(basename $_cc)" = "ecc"; then
1444 echocheck "$_cc version"
1445 cc_vendor=intel
1446 cc_name=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 1)
1447 cc_version=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 3)
1448 _cc_major=$(echo $cc_version | cut -d '.' -f 1)
1449 _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
1450 # TODO verify older icc/ecc compatibility
1451 case $cc_version in
1453 cc_version="v. ?.??, bad"
1454 cc_fail=yes
1456 10.1|11.0|11.1)
1457 cc_version="$cc_version, ok"
1460 cc_version="$cc_version, bad"
1461 cc_fail=yes
1463 esac
1464 echores "$cc_version"
1465 else
1466 for _cc in "$_cc" cc gcc ; do
1467 cc_name_tmp=$($_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1)
1468 if test "$cc_name_tmp" = "gcc"; then
1469 cc_name=$cc_name_tmp
1470 echocheck "$_cc version"
1471 cc_vendor=gnu
1472 cc_version=$($_cc -dumpversion 2>&1)
1473 case $cc_version in
1474 2.96*)
1475 cc_fail=yes
1478 _cc_major=$(echo $cc_version | cut -d '.' -f 1)
1479 _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
1480 _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
1482 esac
1483 echores "$cc_version"
1484 break
1486 done
1487 fi # icc
1488 test "$cc_fail" = yes && die "unsupported compiler version"
1490 if test -z "$_target" && x86 ; then
1491 cat > $TMPC << EOF
1492 int main(void) {
1493 int test[(int)sizeof(char *)-7];
1494 return 0;
1497 cc_check && host_arch=x86_64 || host_arch=i386
1500 echo "Detected operating system: $system_name"
1501 echo "Detected host architecture: $host_arch"
1503 echocheck "host cc"
1504 test "$_host_cc" || _host_cc=$_cc
1505 echores $_host_cc
1507 echocheck "cross compilation"
1508 if test $_cross_compile = auto ; then
1509 cat > $TMPC << EOF
1510 int main(void) { return 0; }
1512 _cross_compile=yes
1513 cc_check && "$TMPEXE" && _cross_compile=no
1515 echores $_cross_compile
1517 if test $_cross_compile = yes; then
1518 tmp_run() {
1519 return 0
1523 # ---
1525 # now that we know what compiler should be used for compilation, try to find
1526 # out which assembler is used by the $_cc compiler
1527 if test "$_as" = auto ; then
1528 _as=$($_cc -print-prog-name=as)
1529 test -z "$_as" && _as=as
1532 if test "$_nm" = auto ; then
1533 _nm=$($_cc -print-prog-name=nm)
1534 test -z "$_nm" && _nm=nm
1537 # XXX: this should be ok..
1538 _cpuinfo="echo"
1540 if test "$_runtime_cpudetection" = no ; then
1542 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1543 # FIXME: Remove the cygwin check once AMD CPUs are supported
1544 if test -r /proc/cpuinfo && ! cygwin; then
1545 # Linux with /proc mounted, extract CPU information from it
1546 _cpuinfo="cat /proc/cpuinfo"
1547 elif test -r /compat/linux/proc/cpuinfo && ! x86_32 ; then
1548 # FreeBSD with Linux emulation /proc mounted,
1549 # extract CPU information from it
1550 _cpuinfo="cat /compat/linux/proc/cpuinfo"
1551 elif darwin && ! x86 ; then
1552 # use hostinfo on Darwin
1553 _cpuinfo="hostinfo"
1554 elif aix; then
1555 # use 'lsattr' on AIX
1556 _cpuinfo="lsattr -E -l proc0 -a type"
1557 elif x86; then
1558 # all other OSes try to extract CPU information from a small helper
1559 # program cpuinfo instead
1560 $_cc -o cpuinfo$_exesuf cpuinfo.c
1561 _cpuinfo="./cpuinfo$_exesuf"
1564 if x86 ; then
1565 # gather more CPU information
1566 pname=$($_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -n 1)
1567 pvendor=$($_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1568 pfamily=$($_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1569 pmodel=$($_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1570 pstepping=$($_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1572 exts=$($_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | head -n 1)
1574 pparam=$(echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1575 -e s/xmm/sse/ -e s/kni/sse/)
1577 for ext in $pparam ; do
1578 eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
1579 done
1581 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1582 test $_sse = kernel_check && _mmxext=kernel_check
1584 echocheck "CPU vendor"
1585 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
1587 echocheck "CPU type"
1588 echores "$pname"
1591 fi # test "$_runtime_cpudetection" = no
1593 if x86 && test "$_runtime_cpudetection" = no ; then
1594 extcheck() {
1595 if test "$1" = kernel_check ; then
1596 echocheck "kernel support of $2"
1597 cat > $TMPC <<EOF
1598 #include <stdlib.h>
1599 #include <signal.h>
1600 void catch() { exit(1); }
1601 int main(void) {
1602 signal(SIGILL, catch);
1603 __asm__ volatile ("$3":::"memory"); return 0;
1607 if cc_check && tmp_run ; then
1608 eval _$2=yes
1609 echores "yes"
1610 _optimizing="$_optimizing $2"
1611 return 0
1612 else
1613 eval _$2=no
1614 echores "failed"
1615 echo "It seems that your kernel does not correctly support $2."
1616 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1617 return 1
1620 return 0
1623 extcheck $_mmx "mmx" "emms"
1624 extcheck $_mmxext "mmxext" "sfence"
1625 extcheck $_3dnow "3dnow" "femms"
1626 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1627 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
1628 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
1629 extcheck $_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1630 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx"
1632 echocheck "mtrr support"
1633 if test "$_mtrr" = kernel_check ; then
1634 _mtrr="yes"
1635 _optimizing="$_optimizing mtrr"
1637 echores "$_mtrr"
1639 if test "$_gcc3_ext" != ""; then
1640 # if we had to disable sse/sse2 because the active kernel does not
1641 # support this instruction set extension, we also have to tell
1642 # gcc3 to not generate sse/sse2 instructions for normal C code
1643 cat > $TMPC << EOF
1644 int main(void) { return 0; }
1646 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1652 def_fast_64bit='#define HAVE_FAST_64BIT 0'
1653 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 0'
1654 _arch_all='X86 X86_32 X86_64 IA64 SPARC ARM AVR32 SH4 PPC PPC64 ALPHA MIPS SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1655 case "$host_arch" in
1656 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
1657 _arch='X86 X86_32'
1658 _target_arch="ARCH_X86 = yes"
1659 _target_subarch="ARCH_X86_32 = yes"
1660 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1661 iproc=486
1662 proc=i486
1665 if test "$_runtime_cpudetection" = no ; then
1666 case "$pvendor" in
1667 AuthenticAMD)
1668 case "$pfamily" in
1669 3) proc=i386 iproc=386 ;;
1670 4) proc=i486 iproc=486 ;;
1671 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1672 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1673 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1674 proc=k6-3
1675 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1676 proc=geode
1677 elif test "$pmodel" -ge 8; then
1678 proc=k6-2
1679 elif test "$pmodel" -ge 6; then
1680 proc=k6
1681 else
1682 proc=i586
1685 6) iproc=686
1686 # It's a bit difficult to determine the correct type of Family 6
1687 # AMD CPUs just from their signature. Instead, we check directly
1688 # whether it supports SSE.
1689 if test "$_sse" = yes; then
1690 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1691 proc=athlon-xp
1692 else
1693 # Again, gcc treats athlon and athlon-tbird similarly.
1694 proc=athlon
1697 15) iproc=686
1698 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1699 # caught and remedied in the optimization tests below.
1700 proc=k8
1703 *) proc=k8 iproc=686 ;;
1704 esac
1706 GenuineIntel)
1707 case "$pfamily" in
1708 3) proc=i386 iproc=386 ;;
1709 4) proc=i486 iproc=486 ;;
1710 5) iproc=586
1711 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
1712 proc=pentium-mmx # 4 is desktop, 8 is mobile
1713 else
1714 proc=i586
1717 6) iproc=686
1718 if test "$pmodel" -ge 15; then
1719 proc=core2
1720 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1721 proc=pentium-m
1722 elif test "$pmodel" -ge 7; then
1723 proc=pentium3
1724 elif test "$pmodel" -ge 3; then
1725 proc=pentium2
1726 else
1727 proc=i686
1730 15) iproc=686
1731 # A nocona in 32-bit mode has no more capabilities than a prescott.
1732 if test "$pmodel" -ge 3; then
1733 proc=prescott
1734 else
1735 proc=pentium4
1737 test $_fast_cmov = "auto" && _fast_cmov=no
1739 *) proc=prescott iproc=686 ;;
1740 esac
1742 CentaurHauls)
1743 case "$pfamily" in
1744 5) iproc=586
1745 if test "$pmodel" -ge 8; then
1746 proc=winchip2
1747 elif test "$pmodel" -ge 4; then
1748 proc=winchip-c6
1749 else
1750 proc=i586
1753 6) iproc=686
1754 if test "$pmodel" -ge 9; then
1755 proc=c3-2
1756 else
1757 proc=c3
1758 iproc=586
1761 *) proc=i686 iproc=i686 ;;
1762 esac
1764 unknown)
1765 case "$pfamily" in
1766 3) proc=i386 iproc=386 ;;
1767 4) proc=i486 iproc=486 ;;
1768 *) proc=i586 iproc=586 ;;
1769 esac
1772 proc=i586 iproc=586 ;;
1773 esac
1774 fi # test "$_runtime_cpudetection" = no
1777 # check that gcc supports our CPU, if not, fall back to earlier ones
1778 # LGB: check -mcpu and -march swithing step by step with enabling
1779 # to fall back till 386.
1781 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1783 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1784 cpuopt=-mtune
1785 else
1786 cpuopt=-mcpu
1789 echocheck "GCC & CPU optimization abilities"
1790 cat > $TMPC << EOF
1791 int main(void) { return 0; }
1793 if test "$_runtime_cpudetection" = no ; then
1794 cc_check -march=native && proc=native
1795 if test "$proc" = "k8"; then
1796 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1798 if test "$proc" = "athlon-xp"; then
1799 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1801 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1802 cc_check -march=$proc $cpuopt=$proc || proc=k6
1804 if test "$proc" = "k6" || test "$proc" = "c3"; then
1805 if ! cc_check -march=$proc $cpuopt=$proc; then
1806 if cc_check -march=i586 $cpuopt=i686; then
1807 proc=i586-i686
1808 else
1809 proc=i586
1813 if test "$proc" = "prescott" ; then
1814 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1816 if test "$proc" = "core2" ; then
1817 cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
1819 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
1820 cc_check -march=$proc $cpuopt=$proc || proc=i686
1822 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1823 cc_check -march=$proc $cpuopt=$proc || proc=i586
1825 if test "$proc" = "i586"; then
1826 cc_check -march=$proc $cpuopt=$proc || proc=i486
1828 if test "$proc" = "i486" ; then
1829 cc_check -march=$proc $cpuopt=$proc || proc=i386
1831 if test "$proc" = "i386" ; then
1832 cc_check -march=$proc $cpuopt=$proc || proc=error
1834 if test "$proc" = "error" ; then
1835 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1836 _mcpu=""
1837 _march=""
1838 _optimizing=""
1839 elif test "$proc" = "i586-i686"; then
1840 _march="-march=i586"
1841 _mcpu="$cpuopt=i686"
1842 _optimizing="$proc"
1843 else
1844 _march="-march=$proc"
1845 _mcpu="$cpuopt=$proc"
1846 _optimizing="$proc"
1848 else # if test "$_runtime_cpudetection" = no
1849 _mcpu="$cpuopt=generic"
1850 # at least i486 required, for bswap instruction
1851 _march="-march=i486"
1852 cc_check $_mcpu || _mcpu="$cpuopt=i686"
1853 cc_check $_mcpu || _mcpu=""
1854 cc_check $_march $_mcpu || _march=""
1857 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1858 ## autodetected mcpu/march parameters
1859 if test "$_target" ; then
1860 # TODO: it may be a good idea to check GCC and fall back in all cases
1861 if test "$host_arch" = "i586-i686"; then
1862 _march="-march=i586"
1863 _mcpu="$cpuopt=i686"
1864 else
1865 _march="-march=$host_arch"
1866 _mcpu="$cpuopt=$host_arch"
1869 proc="$host_arch"
1871 case "$proc" in
1872 i386) iproc=386 ;;
1873 i486) iproc=486 ;;
1874 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1875 i686|athlon*|pentium*) iproc=686 ;;
1876 *) iproc=586 ;;
1877 esac
1880 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1881 _fast_cmov="yes"
1882 else
1883 _fast_cmov="no"
1886 echores "$proc"
1889 ia64)
1890 _arch='IA64'
1891 _target_arch='ARCH_IA64 = yes'
1892 def_fast_64bit='#define HAVE_FAST_64BIT 1'
1893 iproc='ia64'
1896 x86_64|amd64)
1897 _arch='X86 X86_64'
1898 _target_subarch='ARCH_X86_64 = yes'
1899 _target_arch="ARCH_X86 = yes"
1900 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1901 def_fast_64bit='#define HAVE_FAST_64BIT 1'
1902 iproc='x86_64'
1904 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1905 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1906 cpuopt=-mtune
1907 else
1908 cpuopt=-mcpu
1910 test $_fast_cmov = "auto" && _fast_cmov=yes
1911 if test "$_runtime_cpudetection" = no ; then
1912 case "$pvendor" in
1913 AuthenticAMD)
1914 proc=k8;;
1915 GenuineIntel)
1916 case "$pfamily" in
1917 6) proc=core2;;
1919 # 64-bit prescotts exist, but as far as GCC is concerned they
1920 # have the same capabilities as a nocona.
1921 proc=nocona
1923 esac
1926 proc=error;;
1927 esac
1928 fi # test "$_runtime_cpudetection" = no
1930 echocheck "GCC & CPU optimization abilities"
1931 cat > $TMPC << EOF
1932 int main(void) { return 0; }
1934 # This is a stripped-down version of the i386 fallback.
1935 if test "$_runtime_cpudetection" = no ; then
1936 cc_check -march=native && proc=native
1937 # --- AMD processors ---
1938 if test "$proc" = "k8"; then
1939 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1941 # This will fail if gcc version < 3.3, which is ok because earlier
1942 # versions don't really support 64-bit on amd64.
1943 # Is this a valid assumption? -Corey
1944 if test "$proc" = "athlon-xp"; then
1945 cc_check -march=$proc $cpuopt=$proc || proc=error
1947 # --- Intel processors ---
1948 if test "$proc" = "core2"; then
1949 cc_check -march=$proc $cpuopt=$proc || proc=nocona
1951 if test "$proc" = "nocona"; then
1952 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1954 if test "$proc" = "pentium4"; then
1955 cc_check -march=$proc $cpuopt=$proc || proc=error
1958 _march="-march=$proc"
1959 _mcpu="$cpuopt=$proc"
1960 if test "$proc" = "error" ; then
1961 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1962 _mcpu=""
1963 _march=""
1965 else # if test "$_runtime_cpudetection" = no
1966 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1967 _march="-march=x86-64"
1968 _mcpu="$cpuopt=generic"
1969 cc_check $_mcpu || _mcpu="x86-64"
1970 cc_check $_mcpu || _mcpu=""
1971 cc_check $_march $_mcpu || _march=""
1974 _optimizing=""
1976 echores "$proc"
1979 sparc|sparc64)
1980 _arch='SPARC'
1981 _target_arch='ARCH_SPARC = yes'
1982 iproc='sparc'
1983 if test "$host_arch" = "sparc64" ; then
1984 _vis='yes'
1985 proc='ultrasparc'
1986 def_fast_64bit='#define HAVE_FAST_64BIT 1'
1987 elif sunos ; then
1988 echocheck "CPU type"
1989 karch=$(uname -m)
1990 case "$(echo $karch)" in
1991 sun4) proc=v7 ;;
1992 sun4c) proc=v7 ;;
1993 sun4d) proc=v8 ;;
1994 sun4m) proc=v8 ;;
1995 sun4u) proc=ultrasparc _vis='yes' ;;
1996 sun4v) proc=v9 ;;
1997 *) proc=v8 ;;
1998 esac
1999 echores "$proc"
2000 else
2001 proc=v8
2003 _mcpu="-mcpu=$proc"
2004 _optimizing="$proc"
2007 arm|armv4l|armv5tel)
2008 _arch='ARM'
2009 _target_arch='ARCH_ARM = yes'
2010 iproc='arm'
2013 avr32)
2014 _arch='AVR32'
2015 _target_arch='ARCH_AVR32 = yes'
2016 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
2017 iproc='avr32'
2020 sh|sh4)
2021 _arch='SH4'
2022 _target_arch='ARCH_SH4 = yes'
2023 iproc='sh4'
2026 ppc|ppc64|powerpc|powerpc64)
2027 _arch='PPC'
2028 def_dcbzl='#define HAVE_DCBZL 0'
2029 _target_arch='ARCH_PPC = yes'
2030 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
2031 iproc='ppc'
2033 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2034 _arch='PPC PPC64'
2035 _target_subarch='ARCH_PPC64 = yes'
2036 def_fast_64bit='#define HAVE_FAST_64BIT 1'
2038 echocheck "CPU type"
2039 case $system_name in
2040 Linux)
2041 proc=$($_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -n 1)
2042 if test -n "$($_cpuinfo | grep altivec)"; then
2043 test $_altivec = auto && _altivec=yes
2046 Darwin)
2047 proc=$($_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//')
2048 if [ $(sysctl -n hw.vectorunit) -eq 1 -o \
2049 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2050 test $_altivec = auto && _altivec=yes
2053 NetBSD)
2054 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2055 case $cc_version in
2056 2*|3.0*|3.1*|3.2*|3.3*)
2059 if [ $(sysctl -n machdep.altivec) -eq 1 ]; then
2060 test $_altivec = auto && _altivec=yes
2063 esac
2065 AIX)
2066 proc=$($_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//')
2068 esac
2069 if test "$_altivec" = yes; then
2070 echores "$proc altivec"
2071 else
2072 _altivec=no
2073 echores "$proc"
2076 echocheck "GCC & CPU optimization abilities"
2078 if test -n "$proc"; then
2079 case "$proc" in
2080 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
2081 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
2082 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
2083 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
2084 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
2085 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
2086 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
2087 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
2088 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
2089 *) ;;
2090 esac
2091 # gcc 3.1(.1) and up supports 7400 and 7450
2092 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
2093 case "$proc" in
2094 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
2095 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
2096 *) ;;
2097 esac
2099 # gcc 3.2 and up supports 970
2100 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2101 case "$proc" in
2102 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
2103 def_dcbzl='#define HAVE_DCBZL 1' ;;
2104 *) ;;
2105 esac
2107 # gcc 3.3 and up supports POWER4
2108 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2109 case "$proc" in
2110 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
2111 *) ;;
2112 esac
2114 # gcc 3.4 and up supports 440*
2115 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
2116 case "$proc" in
2117 440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
2118 440G* ) _march='-mcpu=440' _mcpu='-mtune=440' ;;
2119 *) ;;
2120 esac
2122 # gcc 4.0 and up supports POWER5
2123 if test "$_cc_major" -ge "4"; then
2124 case "$proc" in
2125 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
2126 *) ;;
2127 esac
2131 if test -n "$_mcpu"; then
2132 _optimizing=$(echo $_mcpu | cut -c 8-)
2133 echores "$_optimizing"
2134 else
2135 echores "none"
2140 alpha*)
2141 _arch='ALPHA'
2142 _target_arch='ARCH_ALPHA = yes'
2143 iproc='alpha'
2144 def_fast_64bit='#define HAVE_FAST_64BIT 1'
2146 echocheck "CPU type"
2147 cat > $TMPC << EOF
2148 int main(void) {
2149 unsigned long ver, mask;
2150 __asm__ ("implver %0" : "=r" (ver));
2151 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2152 printf("%ld-%x\n", ver, ~mask);
2153 return 0;
2156 $_cc -o "$TMPEXE" "$TMPC"
2157 case $("$TMPEXE") in
2159 0-0) proc="ev4"; _mvi="0";;
2160 1-0) proc="ev5"; _mvi="0";;
2161 1-1) proc="ev56"; _mvi="0";;
2162 1-101) proc="pca56"; _mvi="1";;
2163 2-303) proc="ev6"; _mvi="1";;
2164 2-307) proc="ev67"; _mvi="1";;
2165 2-1307) proc="ev68"; _mvi="1";;
2166 esac
2167 echores "$proc"
2169 echocheck "GCC & CPU optimization abilities"
2170 if test "$proc" = "ev68" ; then
2171 cc_check -mcpu=$proc || proc=ev67
2173 if test "$proc" = "ev67" ; then
2174 cc_check -mcpu=$proc || proc=ev6
2176 _mcpu="-mcpu=$proc"
2177 echores "$proc"
2179 _optimizing="$proc"
2182 mips)
2183 _arch='SGI_MIPS'
2184 _target_arch='ARCH_SGI_MIPS = yes'
2185 iproc='sgi-mips'
2187 if irix ; then
2188 echocheck "CPU type"
2189 proc=$(hinv -c processor | grep CPU | cut -d " " -f3)
2190 case "$(echo $proc)" in
2191 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
2192 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
2193 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
2194 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
2195 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
2196 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
2197 esac
2198 # gcc < 3.x does not support -mtune.
2199 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2200 _mcpu=''
2202 echores "$proc"
2207 hppa)
2208 _arch='PA_RISC'
2209 _target_arch='ARCH_PA_RISC = yes'
2210 iproc='PA-RISC'
2213 s390)
2214 _arch='S390'
2215 _target_arch='ARCH_S390 = yes'
2216 iproc='390'
2219 s390x)
2220 _arch='S390X'
2221 _target_arch='ARCH_S390X = yes'
2222 iproc='390x'
2225 vax)
2226 _arch='VAX'
2227 _target_arch='ARCH_VAX = yes'
2228 iproc='vax'
2231 xtensa)
2232 _arch='XTENSA'
2233 _target_arch='ARCH_XTENSA = yes'
2234 iproc='xtensa'
2237 generic)
2238 _arch='GENERIC'
2239 _target_arch='ARCH_GENERIC = yes'
2243 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2244 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2245 die "unsupported architecture $host_arch"
2247 esac # case "$host_arch" in
2249 if test "$_runtime_cpudetection" = yes ; then
2250 if x86 ; then
2251 test "$_cmov" != no && _cmov=yes
2252 x86_32 && _cmov=no
2253 test "$_mmx" != no && _mmx=yes
2254 test "$_3dnow" != no && _3dnow=yes
2255 test "$_3dnowext" != no && _3dnowext=yes
2256 test "$_mmxext" != no && _mmxext=yes
2257 test "$_sse" != no && _sse=yes
2258 test "$_sse2" != no && _sse2=yes
2259 test "$_ssse3" != no && _ssse3=yes
2260 test "$_mtrr" != no && _mtrr=yes
2262 if ppc; then
2263 _altivec=yes
2268 # endian testing
2269 echocheck "byte order"
2270 if test "$_big_endian" = auto ; then
2271 cat > $TMPC <<EOF
2272 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2273 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2274 int main(void) { return (int)ascii_name; }
2276 if cc_check ; then
2277 if strings $TMPEXE | grep -q -l MPlayerBigEndian ; then
2278 _big_endian=yes
2279 else
2280 _big_endian=no
2282 else
2283 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2286 if test "$_big_endian" = yes ; then
2287 _byte_order='big-endian'
2288 def_words_endian='#define WORDS_BIGENDIAN 1'
2289 def_bigendian='#define HAVE_BIGENDIAN 1'
2290 else
2291 _byte_order='little-endian'
2292 def_words_endian='#undef WORDS_BIGENDIAN'
2293 def_bigendian='#define HAVE_BIGENDIAN 0'
2295 echores "$_byte_order"
2298 echocheck "extern symbol prefix"
2299 cat > $TMPC << EOF
2300 int ff_extern;
2302 cc_check -c || die "Symbol mangling check failed."
2303 sym=$($_nm -P -g $TMPEXE)
2304 extern_prefix=${sym%%ff_extern*}
2305 def_extern_asm="#define EXTERN_ASM $extern_prefix"
2306 def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
2307 echores $extern_prefix
2310 echocheck "assembler support of -pipe option"
2311 cat > $TMPC << EOF
2312 int main(void) { return 0; }
2314 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
2317 echocheck "compiler support of named assembler arguments"
2318 _named_asm_args=yes
2319 def_named_asm_args="#define NAMED_ASM_ARGS 1"
2320 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2321 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2322 _named_asm_args=no
2323 def_named_asm_args="#undef NAMED_ASM_ARGS"
2325 echores $_named_asm_args
2328 if darwin && test "$cc_vendor" = "gnu" ; then
2329 echocheck "GCC support of -mstackrealign"
2330 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2331 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2332 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2333 # wrong code with this flag, but this can be worked around by adding
2334 # -fno-unit-at-a-time as described in the blog post at
2335 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2336 cat > $TMPC << EOF
2337 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2338 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2340 cc_check -O2 -mstackrealign && tmp_run && cflags_stackrealign=-mstackrealign
2341 test -z "$cflags_stackrealign" && cc_check -O2 -mstackrealign -fno-unit-at-a-time \
2342 && tmp_run && cflags_stackrealign="-mstackrealign -fno-unit-at-a-time"
2343 test -n "$cflags_stackrealign" && echores "yes" || echores "no"
2344 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2347 # Checking for CFLAGS
2348 _install_strip="-s"
2349 if test "$_profile" != "" || test "$_debug" != "" ; then
2350 CFLAGS="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2351 _install_strip=
2352 elif test -z "$CFLAGS" ; then
2353 if test "$cc_vendor" = "intel" ; then
2354 CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2355 elif test "$cc_vendor" != "gnu" ; then
2356 CFLAGS="-O2 $_march $_mcpu $_pipe"
2357 else
2358 CFLAGS="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O2 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2359 extra_ldflags="$extra_ldflags -ffast-math"
2361 else
2362 _warn_CFLAGS=yes
2365 cat > $TMPC << EOF
2366 int main(void) { return 0; }
2368 if test "$cc_vendor" = "gnu" ; then
2369 cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
2370 cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
2371 cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
2372 cc_check -Wundef && CFLAGS="-Wundef $CFLAGS"
2373 else
2374 CFLAGS="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2377 cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
2380 if test -n "$LDFLAGS" ; then
2381 extra_ldflags="$extra_ldflags $LDFLAGS"
2382 _warn_CFLAGS=yes
2383 elif test "$cc_vendor" = "intel" ; then
2384 extra_ldflags="$extra_ldflags -i-static"
2386 if test -n "$CPPFLAGS" ; then
2387 extra_cflags="$extra_cflags $CPPFLAGS"
2388 _warn_CFLAGS=yes
2393 if x86_32 ; then
2394 # Checking assembler (_as) compatibility...
2395 # Added workaround for older as that reads from stdin by default - atmos
2396 as_version=$(echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2397 echocheck "assembler ($_as $as_version)"
2399 _pref_as_version='2.9.1'
2400 echo 'nop' > $TMPS
2401 if test "$_mmx" = yes ; then
2402 echo 'emms' >> $TMPS
2404 if test "$_3dnow" = yes ; then
2405 _pref_as_version='2.10.1'
2406 echo 'femms' >> $TMPS
2408 if test "$_3dnowext" = yes ; then
2409 _pref_as_version='2.10.1'
2410 echo 'pswapd %mm0, %mm0' >> $TMPS
2412 if test "$_mmxext" = yes ; then
2413 _pref_as_version='2.10.1'
2414 echo 'movntq %mm0, (%eax)' >> $TMPS
2416 if test "$_sse" = yes ; then
2417 _pref_as_version='2.10.1'
2418 echo 'xorps %xmm0, %xmm0' >> $TMPS
2420 #if test "$_sse2" = yes ; then
2421 # _pref_as_version='2.11'
2422 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2424 if test "$_cmov" = yes ; then
2425 _pref_as_version='2.10.1'
2426 echo 'cmovb %eax, %ebx' >> $TMPS
2428 if test "$_ssse3" = yes ; then
2429 _pref_as_version='2.16.92'
2430 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2432 $_as $TMPS -o $TMPEXE > /dev/null 2>&1 || as_verc_fail=yes
2434 if test "$as_verc_fail" != yes ; then
2435 echores "ok"
2436 else
2437 _res_comment="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2438 echores "failed"
2439 die "obsolete binutils version"
2442 fi #if x86_32
2444 echocheck ".align is a power of two"
2445 if test "$_asmalign_pot" = auto ; then
2446 _asmalign_pot=no
2447 cat > $TMPC << EOF
2448 int main(void) { __asm__ (".align 3"); return 0; }
2450 cc_check && _asmalign_pot=yes
2452 if test "$_asmalign_pot" = "yes" ; then
2453 def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2454 else
2455 def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2457 echores $_asmalign_pot
2459 if x86 ; then
2460 echocheck "10 assembler operands"
2461 ten_operands=no
2462 def_ten_operands='#define HAVE_TEN_OPERANDS 0'
2463 cat > $TMPC << EOF
2464 int main(void) {
2465 int x=0;
2466 __asm__ volatile(
2468 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2470 return 0;
2473 cc_check && ten_operands=yes && def_ten_operands='#define HAVE_TEN_OPERANDS 1'
2474 echores $ten_operands
2476 echocheck "ebx availability"
2477 ebx_available=no
2478 def_ebx_available='#define HAVE_EBX_AVAILABLE 0'
2479 cat > $TMPC << EOF
2480 int main(void) {
2481 int x;
2482 __asm__ volatile(
2483 "xor %0, %0"
2484 :"=b"(x)
2485 // just adding ebx to clobber list seems unreliable with some
2486 // compilers, e.g. Haiku's gcc 2.95
2488 // and the above check does not work for OSX 64 bit...
2489 __asm__ volatile("":::"%ebx");
2490 return 0;
2493 cc_check && ebx_available=yes && def_ebx_available='#define HAVE_EBX_AVAILABLE 1'
2494 echores $ebx_available
2496 echocheck "PIC"
2497 pic=no
2498 cat > $TMPC << EOF
2499 int main(void) {
2500 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2501 #error PIC not enabled
2502 #endif
2503 return 0;
2506 cc_check && pic=yes && extra_cflags="$extra_cflags -DPIC"
2507 echores $pic
2509 echocheck "yasm"
2510 if test -z "$YASMFLAGS" ; then
2511 if darwin ; then
2512 x86_64 && objformat="macho64" || objformat="macho"
2513 elif win32 ; then
2514 objformat="win32"
2515 else
2516 objformat="elf"
2518 # currently tested for Linux x86, x86_64
2519 YASMFLAGS="-f $objformat"
2520 x86_64 && YASMFLAGS="$YASMFLAGS -DARCH_X86_64 -m amd64"
2521 test "$pic" = "yes" && YASMFLAGS="$YASMFLAGS -DPIC"
2522 case "$objformat" in
2523 elf) test $_debug && YASMFLAGS="$YASMFLAGS -g dwarf2" ;;
2524 *) YASMFLAGS="$YASMFLAGS -DPREFIX" ;;
2525 esac
2526 else
2527 _warn_CFLAGS=yes
2530 echo "pabsw xmm0, xmm0" > $TMPS
2531 yasm_check || _yasm=""
2532 if test $_yasm ; then
2533 test "$_mmx" = "yes" && fft_mmx="yes"
2534 def_yasm='#define HAVE_YASM 1'
2535 _have_yasm="yes"
2536 echores "$_yasm"
2537 else
2538 def_yasm='#define HAVE_YASM 0'
2539 fft_mmx="no"
2540 _have_yasm="no"
2541 echores "no"
2544 echocheck "bswap"
2545 def_bswap='#define HAVE_BSWAP 0'
2546 echo 'bswap %eax' > $TMPS
2547 $_as $TMPS -o $TMPEXE > /dev/null 2>&1 && def_bswap='#define HAVE_BSWAP 1' && bswap=yes || bswap=no
2548 echores "$bswap"
2549 fi #if x86
2552 #FIXME: This should happen before the check for CFLAGS..
2553 def_altivec_h='#define HAVE_ALTIVEC_H 0'
2554 if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
2556 # check if AltiVec is supported by the compiler, and how to enable it
2557 echocheck "GCC AltiVec flags"
2558 cat > $TMPC << EOF
2559 int main(void) { return 0; }
2561 if $(cc_check -maltivec -mabi=altivec) ; then
2562 _altivec_gcc_flags="-maltivec -mabi=altivec"
2563 # check if <altivec.h> should be included
2564 cat > $TMPC << EOF
2565 #include <altivec.h>
2566 int main(void) { return 0; }
2568 if $(cc_check $_altivec_gcc_flags) ; then
2569 def_altivec_h='#define HAVE_ALTIVEC_H 1'
2570 inc_altivec_h='#include <altivec.h>'
2571 else
2572 cat > $TMPC << EOF
2573 int main(void) { return 0; }
2575 if $(cc_check -faltivec) ; then
2576 _altivec_gcc_flags="-faltivec"
2577 else
2578 _altivec=no
2579 _altivec_gcc_flags="none, AltiVec disabled"
2583 echores "$_altivec_gcc_flags"
2585 # check if the compiler supports braces for vector declarations
2586 cat > $TMPC << EOF
2587 $inc_altivec_h
2588 int main(void) { (vector int) {1}; return 0; }
2590 cc_check $_altivec_gcc_flags || die "You need a compiler that supports {} in AltiVec vector declarations."
2592 # Disable runtime cpudetection if we cannot generate AltiVec code or
2593 # AltiVec is disabled by the user.
2594 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2595 && _runtime_cpudetection=no
2597 # Show that we are optimizing for AltiVec (if enabled and supported).
2598 test "$_runtime_cpudetection" = no && test "$_altivec" = yes \
2599 && _optimizing="$_optimizing altivec"
2601 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2602 test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"
2605 if ppc ; then
2606 def_xform_asm='#define HAVE_XFORM_ASM 0'
2607 xform_asm=no
2608 echocheck "XFORM ASM support"
2609 cat > $TMPC << EOF
2610 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2612 cc_check && xform_asm=yes && def_xform_asm='#define HAVE_XFORM_ASM 1'
2613 echores "$xform_asm"
2616 if arm ; then
2617 echocheck "ARM pld instruction"
2618 cat > $TMPC << EOF
2619 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2621 pld=no
2622 cc_check && pld=yes
2623 echores "$pld"
2625 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2626 if test $_armv5te = "auto" ; then
2627 cat > $TMPC << EOF
2628 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2630 _armv5te=no
2631 cc_check && _armv5te=yes
2633 echores "$_armv5te"
2635 echocheck "ARMv6 (SIMD instructions)"
2636 if test $_armv6 = "auto" ; then
2637 cat > $TMPC << EOF
2638 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2640 _armv6=no
2641 cc_check && _armv6=yes
2643 echores "$_armv6"
2645 echocheck "ARMv6t2 (SIMD instructions)"
2646 if test $_armv6t2 = "auto" ; then
2647 cat > $TMPC << EOF
2648 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2650 _armv6t2=no
2651 cc_check && _armv6t2=yes
2653 echores "$_armv6"
2655 echocheck "ARM VFP"
2656 if test $_armvfp = "auto" ; then
2657 cat > $TMPC << EOF
2658 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2660 _armvfp=no
2661 cc_check && _armvfp=yes
2663 echores "$_armvfp"
2665 echocheck "ARM NEON"
2666 if test $neon = "auto" ; then
2667 cat > $TMPC << EOF
2668 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2670 neon=no
2671 cc_check && neon=yes
2673 echores "$neon"
2675 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2676 if test $_iwmmxt = "auto" ; then
2677 cat > $TMPC << EOF
2678 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2680 _iwmmxt=no
2681 cc_check && _iwmmxt=yes
2683 echores "$_iwmmxt"
2686 _cpuexts_all='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
2687 test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts"
2688 test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
2689 test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
2690 test "$_3dnow" = yes && _cpuexts="AMD3DNOW $_cpuexts"
2691 test "$_3dnowext" = yes && _cpuexts="AMD3DNOWEXT $_cpuexts"
2692 test "$_sse" = yes && _cpuexts="SSE $_cpuexts"
2693 test "$_sse2" = yes && _cpuexts="SSE2 $_cpuexts"
2694 test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
2695 test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
2696 test "$_fast_cmov" = yes && _cpuexts="FAST_CMOV $_cpuexts"
2697 test "$pld" = yes && _cpuexts="PLD $_cpuexts"
2698 test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
2699 test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
2700 test "$_armv6t2" = yes && _cpuexts="ARMV6T2 $_cpuexts"
2701 test "$_armvfp" = yes && _cpuexts="ARMVFP $_cpuexts"
2702 test "$neon" = yes && _cpuexts="NEON $_cpuexts"
2703 test "$_iwmmxt" = yes && _cpuexts="IWMMXT $_cpuexts"
2704 test "$_vis" = yes && _cpuexts="VIS $_cpuexts"
2705 test "$_mvi" = yes && _cpuexts="MVI $_cpuexts"
2707 # Checking kernel version...
2708 if x86_32 && linux ; then
2709 _k_verc_problem=no
2710 kernel_version=$(uname -r 2>&1)
2711 echocheck "$system_name kernel version"
2712 case "$kernel_version" in
2713 '') kernel_version="?.??"; _k_verc_fail=yes;;
2714 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2715 _k_verc_problem=yes;;
2716 esac
2717 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2718 _k_verc_fail=yes
2720 if test "$_k_verc_fail" ; then
2721 echores "$kernel_version, fail"
2722 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2723 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2724 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2725 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2726 echo "2.2.x you must upgrade it to get SSE support!"
2727 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2728 else
2729 echores "$kernel_version, ok"
2733 ######################
2734 # MAIN TESTS GO HERE #
2735 ######################
2738 echocheck "-lposix"
2739 cat > $TMPC <<EOF
2740 int main(void) { return 0; }
2742 if cc_check -lposix ; then
2743 extra_ldflags="$extra_ldflags -lposix"
2744 echores "yes"
2745 else
2746 echores "no"
2749 echocheck "-lm"
2750 cat > $TMPC <<EOF
2751 int main(void) { return 0; }
2753 if cc_check -lm ; then
2754 _ld_lm="-lm"
2755 echores "yes"
2756 else
2757 _ld_lm=""
2758 echores "no"
2762 echocheck "langinfo"
2763 if test "$_langinfo" = auto ; then
2764 cat > $TMPC <<EOF
2765 #include <langinfo.h>
2766 int main(void) { nl_langinfo(CODESET); return 0; }
2768 _langinfo=no
2769 cc_check && _langinfo=yes
2771 if test "$_langinfo" = yes ; then
2772 def_langinfo='#define HAVE_LANGINFO 1'
2773 else
2774 def_langinfo='#undef HAVE_LANGINFO'
2776 echores "$_langinfo"
2779 echocheck "language"
2780 # Set preferred languages, "all" uses English as main language.
2781 test -z "$language" && language=$LINGUAS
2782 test -z "$language_doc" && language_doc=$language
2783 test -z "$language_man" && language_man=$language
2784 test -z "$language_msg" && language_msg=$language
2785 language_doc=$(echo $language_doc | tr , " ")
2786 language_man=$(echo $language_man | tr , " ")
2787 language_msg=$(echo $language_msg | tr , " ")
2789 test "$language_doc" = "all" && language_doc=$doc_lang_all
2790 test "$language_man" = "all" && language_man=$man_lang_all
2791 test "$language_msg" = "all" && language_msg=en
2793 # Prune non-existing translations from language lists.
2794 # Set message translation to the first available language.
2795 # Fall back on English.
2796 for lang in $language_doc ; do
2797 test -d DOCS/xml/$lang && tmp_language_doc="$tmp_language_doc $lang"
2798 done
2799 language_doc=$tmp_language_doc
2800 test -z "$language_doc" && language_doc=en
2802 for lang in $language_man ; do
2803 test -d DOCS/man/$lang && tmp_language_man="$tmp_language_man $lang"
2804 done
2805 language_man=$tmp_language_man
2806 test -z "$language_man" && language_man=en
2808 for lang in $language_msg ; do
2809 test -f "help/help_mp-${lang}.h" && tmp_language_msg=$lang && break
2810 done
2811 language_msg=$tmp_language_msg
2812 test -z "$language_msg" && language_msg=en
2813 _mp_help="help/help_mp-${language_msg}.h"
2814 echores "messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2817 echocheck "enable sighandler"
2818 if test "$_sighandler" = yes ; then
2819 def_sighandler='#define CONFIG_SIGHANDLER 1'
2820 else
2821 def_sighandler='#undef CONFIG_SIGHANDLER'
2823 echores "$_sighandler"
2825 echocheck "runtime cpudetection"
2826 if test "$_runtime_cpudetection" = yes ; then
2827 _optimizing="Runtime CPU-Detection enabled"
2828 def_runtime_cpudetection='#define CONFIG_RUNTIME_CPUDETECT 1'
2829 else
2830 def_runtime_cpudetection='#define CONFIG_RUNTIME_CPUDETECT 0'
2832 echores "$_runtime_cpudetection"
2835 echocheck "restrict keyword"
2836 for restrict_keyword in restrict __restrict __restrict__ ; do
2837 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2838 if cc_check; then
2839 def_restrict_keyword=$restrict_keyword
2840 break;
2842 done
2843 if [ -n "$def_restrict_keyword" ]; then
2844 echores "$def_restrict_keyword"
2845 else
2846 echores "none"
2848 # Avoid infinite recursion loop ("#define restrict restrict")
2849 if [ "$def_restrict_keyword" != "restrict" ]; then
2850 def_restrict_keyword="#define restrict $def_restrict_keyword"
2851 else
2852 def_restrict_keyword=""
2856 echocheck "__builtin_expect"
2857 # GCC branch prediction hint
2858 cat > $TMPC << EOF
2859 int foo(int a) {
2860 a = __builtin_expect(a, 10);
2861 return a == 10 ? 0 : 1;
2863 int main(void) { return foo(10) && foo(0); }
2865 _builtin_expect=no
2866 cc_check && _builtin_expect=yes
2867 if test "$_builtin_expect" = yes ; then
2868 def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2869 else
2870 def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2872 echores "$_builtin_expect"
2875 echocheck "kstat"
2876 cat > $TMPC << EOF
2877 #include <kstat.h>
2878 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2880 _kstat=no
2881 cc_check -lkstat && _kstat=yes
2882 if test "$_kstat" = yes ; then
2883 def_kstat="#define HAVE_LIBKSTAT 1"
2884 extra_ldflags="$extra_ldflags -lkstat"
2885 else
2886 def_kstat="#undef HAVE_LIBKSTAT"
2888 echores "$_kstat"
2891 echocheck "posix4"
2892 # required for nanosleep on some systems
2893 cat > $TMPC << EOF
2894 #include <time.h>
2895 int main(void) { (void) nanosleep(0, 0); return 0; }
2897 _posix4=no
2898 cc_check -lposix4 && _posix4=yes
2899 if test "$_posix4" = yes ; then
2900 extra_ldflags="$extra_ldflags -lposix4"
2902 echores "$_posix4"
2904 for func in llrint log2 lrint lrintf round roundf truncf; do
2905 echocheck $func
2906 cat > $TMPC << EOF
2907 #include <math.h>
2908 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
2910 eval _$func=no
2911 cc_check -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes
2912 if eval test "x\$_$func" = "xyes"; then
2913 eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
2914 echores yes
2915 else
2916 eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
2917 echores no
2919 done
2922 echocheck "mkstemp"
2923 cat > $TMPC << EOF
2924 #include <stdlib.h>
2925 int main(void) { char a; mkstemp(&a); return 0; }
2927 _mkstemp=no
2928 cc_check && _mkstemp=yes
2929 if test "$_mkstemp" = yes ; then
2930 def_mkstemp='#define HAVE_MKSTEMP 1'
2931 else
2932 def_mkstemp='#undef HAVE_MKSTEMP'
2934 echores "$_mkstemp"
2937 echocheck "nanosleep"
2938 # also check for nanosleep
2939 cat > $TMPC << EOF
2940 #include <time.h>
2941 int main(void) { (void) nanosleep(0, 0); return 0; }
2943 _nanosleep=no
2944 cc_check && _nanosleep=yes
2945 if test "$_nanosleep" = yes ; then
2946 def_nanosleep='#define HAVE_NANOSLEEP 1'
2947 else
2948 def_nanosleep='#undef HAVE_NANOSLEEP'
2950 echores "$_nanosleep"
2953 echocheck "socklib"
2954 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2955 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2956 cat > $TMPC << EOF
2957 #include <netdb.h>
2958 #include <sys/socket.h>
2959 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2961 _socklib=no
2962 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2963 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2964 done
2965 if test $_winsock2_h = auto && ! cygwin ; then
2966 _winsock2_h=no
2967 cat > $TMPC << EOF
2968 #include <winsock2.h>
2969 int main(void) { (void) gethostbyname(0); return 0; }
2971 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2_h=yes
2973 test "$_ld_sock" && _res_comment="using $_ld_sock"
2974 echores "$_socklib"
2977 if test $_winsock2_h = yes ; then
2978 _ld_sock="-lws2_32"
2979 def_winsock2_h='#define HAVE_WINSOCK2_H 1'
2980 else
2981 def_winsock2_h='#define HAVE_WINSOCK2_H 0'
2985 echocheck "arpa/inet.h"
2986 arpa_inet_h=no
2987 def_arpa_inet_h='#define HAVE_ARPA_INET_H 0'
2988 cat > $TMPC << EOF
2989 #include <arpa/inet.h>
2990 int main(void) { return 0; }
2992 cc_check && arpa_inet_h=yes && def_arpa_inet_h='#define HAVE_ARPA_INET_H 1'
2993 echores "$arpa_inet_h"
2996 echocheck "inet_pton()"
2997 def_inet_pton='#define HAVE_INET_PTON 0'
2998 inet_pton=no
2999 cat > $TMPC << EOF
3000 #include <sys/types.h>
3001 #include <sys/socket.h>
3002 #include <arpa/inet.h>
3003 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3005 for _ld_tmp in "$_ld_sock" "$_ld_sock -lresolv" ; do
3006 cc_check $_ld_tmp && inet_pton=yes && break
3007 done
3008 if test $inet_pton = yes ; then
3009 test $_ld_tmp && _res_comment="using $_ld_tmp"
3010 def_inet_pton='#define HAVE_INET_PTON 1'
3012 echores "$inet_pton"
3015 echocheck "inet_aton()"
3016 def_inet_aton='#define HAVE_INET_ATON 0'
3017 inet_aton=no
3018 cat > $TMPC << EOF
3019 #include <sys/types.h>
3020 #include <sys/socket.h>
3021 #include <arpa/inet.h>
3022 int main(void) { (void) inet_aton(0, 0); return 0; }
3024 for _ld_tmp in "$_ld_sock" "$_ld_sock -lresolv" ; do
3025 cc_check $_ld_tmp && inet_aton=yes && break
3026 done
3027 if test $inet_aton = yes ; then
3028 test $_ld_tmp && _res_comment="using $_ld_tmp"
3029 def_inet_aton='#define HAVE_INET_ATON 1'
3031 echores "$inet_aton"
3034 echocheck "socklen_t"
3035 _socklen_t=no
3036 for header in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3037 cat > $TMPC << EOF
3038 #include <$header>
3039 int main(void) { socklen_t v = 0; return v; }
3041 cc_check && _socklen_t=yes && break
3042 done
3043 if test "$_socklen_t" = yes ; then
3044 def_socklen_t='#define HAVE_SOCKLEN_T 1'
3045 else
3046 def_socklen_t='#define HAVE_SOCKLEN_T 0'
3048 echores "$_socklen_t"
3051 echocheck "closesocket()"
3052 _closesocket=no
3053 cat > $TMPC << EOF
3054 #include <winsock2.h>
3055 int main(void) { closesocket(~0); return 0; }
3057 cc_check $_ld_sock && _closesocket=yes
3058 if test "$_closesocket" = yes ; then
3059 def_closesocket='#define HAVE_CLOSESOCKET 1'
3060 else
3061 def_closesocket='#define HAVE_CLOSESOCKET 0'
3063 echores "$_closesocket"
3066 echocheck "network"
3067 test $_winsock2_h = no && test $inet_pton = no &&
3068 test $inet_aton = no && _network=no
3069 if test "$_network" = yes ; then
3070 def_network='#define CONFIG_NETWORK 1'
3071 extra_ldflags="$extra_ldflags $_ld_sock"
3072 _inputmodules="network $_inputmodules"
3073 else
3074 _noinputmodules="network $_noinputmodules"
3075 def_network='#undef CONFIG_NETWORK'
3076 _ftp=no
3078 echores "$_network"
3081 echocheck "inet6"
3082 if test "$_inet6" = auto ; then
3083 cat > $TMPC << EOF
3084 #include <sys/types.h>
3085 #if !defined(_WIN32) || defined(__CYGWIN__)
3086 #include <sys/socket.h>
3087 #include <netinet/in.h>
3088 #else
3089 #include <ws2tcpip.h>
3090 #endif
3091 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3093 _inet6=no
3094 if cc_check $_ld_sock ; then
3095 _inet6=yes
3098 if test "$_inet6" = yes ; then
3099 def_inet6='#define HAVE_AF_INET6 1'
3100 else
3101 def_inet6='#undef HAVE_AF_INET6'
3103 echores "$_inet6"
3106 echocheck "gethostbyname2"
3107 if test "$_gethostbyname2" = auto ; then
3108 cat > $TMPC << EOF
3109 #include <sys/types.h>
3110 #include <sys/socket.h>
3111 #include <netdb.h>
3112 int main(void) { gethostbyname2("", AF_INET); return 0; }
3114 _gethostbyname2=no
3115 if cc_check ; then
3116 _gethostbyname2=yes
3119 if test "$_gethostbyname2" = yes ; then
3120 def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
3121 else
3122 def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
3124 echores "$_gethostbyname2"
3127 echocheck "inttypes.h (required)"
3128 cat > $TMPC << EOF
3129 #include <inttypes.h>
3130 int main(void) { return 0; }
3132 _inttypes=no
3133 cc_check && _inttypes=yes
3134 echores "$_inttypes"
3136 if test "$_inttypes" = no ; then
3137 echocheck "bitypes.h (inttypes.h predecessor)"
3138 cat > $TMPC << EOF
3139 #include <sys/bitypes.h>
3140 int main(void) { return 0; }
3142 cc_check && _inttypes=yes
3143 if test "$_inttypes" = yes ; then
3144 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."
3145 else
3146 die "Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3151 echocheck "int_fastXY_t in inttypes.h"
3152 cat > $TMPC << EOF
3153 #include <inttypes.h>
3154 int main(void) {
3155 volatile int_fast16_t v= 0;
3156 return v; }
3158 _fast_inttypes=no
3159 cc_check && _fast_inttypes=yes
3160 if test "$_fast_inttypes" = no ; then
3161 def_fast_inttypes='
3162 typedef signed char int_fast8_t;
3163 typedef signed int int_fast16_t;
3164 typedef signed int int_fast32_t;
3165 typedef signed long long int_fast64_t;
3166 typedef unsigned char uint_fast8_t;
3167 typedef unsigned int uint_fast16_t;
3168 typedef unsigned int uint_fast32_t;
3169 typedef unsigned long long uint_fast64_t;'
3171 echores "$_fast_inttypes"
3174 echocheck "malloc.h"
3175 cat > $TMPC << EOF
3176 #include <malloc.h>
3177 int main(void) { (void) malloc(0); return 0; }
3179 _malloc=no
3180 cc_check && _malloc=yes
3181 if test "$_malloc" = yes ; then
3182 def_malloc_h='#define HAVE_MALLOC_H 1'
3183 else
3184 def_malloc_h='#define HAVE_MALLOC_H 0'
3186 # malloc.h emits a warning in FreeBSD and OpenBSD
3187 freebsd || openbsd || dragonfly && def_malloc_h='#define HAVE_MALLOC_H 0'
3188 echores "$_malloc"
3191 echocheck "memalign()"
3192 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3193 def_memalign_hack='#define CONFIG_MEMALIGN_HACK 0'
3194 cat > $TMPC << EOF
3195 #include <malloc.h>
3196 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3198 _memalign=no
3199 cc_check && _memalign=yes
3200 if test "$_memalign" = yes ; then
3201 def_memalign='#define HAVE_MEMALIGN 1'
3202 else
3203 def_memalign='#define HAVE_MEMALIGN 0'
3204 def_map_memalign='#define memalign(a,b) malloc(b)'
3205 darwin || def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
3207 echores "$_memalign"
3210 echocheck "posix_memalign()"
3211 posix_memalign=no
3212 def_posix_memalign='#define HAVE_POSIX_MEMALIGN 0'
3213 cat > $TMPC << EOF
3214 #define _XOPEN_SOURCE 600
3215 #include <stdlib.h>
3216 int main(void) { posix_memalign(NULL, 0, 0); }
3218 cc_check && posix_memalign=yes && def_posix_memalign='#define HAVE_POSIX_MEMALIGN 1'
3219 echores "$posix_memalign"
3222 echocheck "alloca.h"
3223 cat > $TMPC << EOF
3224 #include <alloca.h>
3225 int main(void) { (void) alloca(0); return 0; }
3227 _alloca=no
3228 cc_check && _alloca=yes
3229 if cc_check ; then
3230 def_alloca_h='#define HAVE_ALLOCA_H 1'
3231 else
3232 def_alloca_h='#undef HAVE_ALLOCA_H'
3234 echores "$_alloca"
3237 echocheck "fastmemcpy"
3238 if test "$_fastmemcpy" = yes ; then
3239 def_fastmemcpy='#define CONFIG_FASTMEMCPY 1'
3240 else
3241 def_fastmemcpy='#undef CONFIG_FASTMEMCPY'
3243 echores "$_fastmemcpy"
3246 echocheck "mman.h"
3247 cat > $TMPC << EOF
3248 #include <sys/types.h>
3249 #include <sys/mman.h>
3250 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3252 _mman=no
3253 cc_check && _mman=yes
3254 if test "$_mman" = yes ; then
3255 def_mman_h='#define HAVE_SYS_MMAN_H 1'
3256 else
3257 def_mman_h='#undef HAVE_SYS_MMAN_H'
3258 os2 && _need_mmap=yes
3260 echores "$_mman"
3262 cat > $TMPC << EOF
3263 #include <sys/types.h>
3264 #include <sys/mman.h>
3265 int main(void) { void *p = MAP_FAILED; return 0; }
3267 _mman_has_map_failed=no
3268 cc_check && _mman_has_map_failed=yes
3269 if test "$_mman_has_map_failed" = yes ; then
3270 def_mman_has_map_failed=''
3271 else
3272 def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
3275 echocheck "dynamic loader"
3276 cat > $TMPC << EOF
3277 #include <stddef.h>
3278 #include <dlfcn.h>
3279 int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
3281 _dl=no
3282 for _ld_tmp in "" "-ldl" ; do
3283 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
3284 done
3285 if test "$_dl" = yes ; then
3286 def_dl='#define HAVE_LIBDL 1'
3287 else
3288 def_dl='#undef HAVE_LIBDL'
3290 echores "$_dl"
3293 echocheck "dynamic a/v plugins support"
3294 if test "$_dl" = no ; then
3295 _dynamic_plugins=no
3297 if test "$_dynamic_plugins" = yes ; then
3298 def_dynamic_plugins='#define CONFIG_DYNAMIC_PLUGINS 1'
3299 else
3300 def_dynamic_plugins='#undef CONFIG_DYNAMIC_PLUGINS'
3302 echores "$_dynamic_plugins"
3305 def_threads='#define HAVE_THREADS 0'
3307 echocheck "pthread"
3308 if linux ; then
3309 THREAD_CFLAGS=-D_REENTRANT
3310 elif freebsd || netbsd || openbsd || bsdos ; then
3311 THREAD_CFLAGS=-D_THREAD_SAFE
3313 if test "$_pthreads" = auto ; then
3314 cat > $TMPC << EOF
3315 #include <pthread.h>
3316 void* func(void *arg) { return arg; }
3317 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3319 _pthreads=no
3320 if ! hpux ; then
3321 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3322 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3323 cc_check $THREAD_CFLAGS $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3324 done
3327 if test "$_pthreads" = yes ; then
3328 test $_ld_pthread && _res_comment="using $_ld_pthread"
3329 def_pthreads='#define HAVE_PTHREADS 1'
3330 def_threads='#define HAVE_THREADS 1'
3331 extra_cflags="$extra_cflags $THREAD_CFLAGS"
3332 else
3333 _res_comment="v4l, v4l2, ao_nas, win32 loader disabled"
3334 def_pthreads='#undef HAVE_PTHREADS'
3335 _nas=no ; _tv_v4l1=no ; _tv_v4l2=no
3336 mingw32 || _win32dll=no
3338 echores "$_pthreads"
3340 if cygwin ; then
3341 if test "$_pthreads" = yes ; then
3342 def_pthread_cache="#define PTHREAD_CACHE 1"
3343 else
3344 _stream_cache=no
3345 def_stream_cache="#undef CONFIG_STREAM_CACHE"
3349 echocheck "w32threads"
3350 if test "$_pthreads" = yes ; then
3351 _res_comment="using pthread instead"
3352 _w32threads=no
3354 if test "$_w32threads" = auto ; then
3355 _w32threads=no
3356 mingw32 && _w32threads=yes
3358 test "$_w32threads" = yes && def_threads='#define HAVE_THREADS 1'
3359 echores "$_w32threads"
3361 echocheck "rpath"
3362 netbsd &&_rpath=yes
3363 if test "$_rpath" = yes ; then
3364 for I in $(echo $extra_ldflags | sed 's/-L//g') ; do
3365 tmp="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3366 done
3367 extra_ldflags=$tmp
3369 echores "$_rpath"
3371 echocheck "iconv"
3372 if test "$_iconv" = auto ; then
3373 cat > $TMPC << EOF
3374 #include <stdio.h>
3375 #include <unistd.h>
3376 #include <iconv.h>
3377 #define INBUFSIZE 1024
3378 #define OUTBUFSIZE 4096
3380 char inbuffer[INBUFSIZE];
3381 char outbuffer[OUTBUFSIZE];
3383 int main(void) {
3384 size_t numread;
3385 iconv_t icdsc;
3386 char *tocode="UTF-8";
3387 char *fromcode="cp1250";
3388 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3389 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3390 char *iptr=inbuffer;
3391 char *optr=outbuffer;
3392 size_t inleft=numread;
3393 size_t outleft=OUTBUFSIZE;
3394 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3395 != (size_t)(-1)) {
3396 write(1, outbuffer, OUTBUFSIZE - outleft);
3399 if (iconv_close(icdsc) == -1)
3402 return 0;
3405 _iconv=no
3406 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3407 cc_check $_ld_lm $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && \
3408 _iconv=yes && break
3409 done
3411 if test "$_iconv" = yes ; then
3412 def_iconv='#define CONFIG_ICONV 1'
3413 else
3414 def_iconv='#undef CONFIG_ICONV'
3416 echores "$_iconv"
3419 echocheck "soundcard.h"
3420 _soundcard_h=no
3421 def_soundcard_h='#undef HAVE_SOUNDCARD_H'
3422 def_sys_soundcard_h='#undef HAVE_SYS_SOUNDCARD_H'
3423 for _soundcard_header in "sys/soundcard.h" "soundcard.h"; do
3424 cat > $TMPC << EOF
3425 #include <$_soundcard_header>
3426 int main(void) { return 0; }
3428 cc_check && _soundcard_h=yes && _res_comment="$_soundcard_header" && break
3429 done
3431 if test "$_soundcard_h" = yes ; then
3432 if test $_soundcard_header = "sys/soundcard.h"; then
3433 def_sys_soundcard_h='#define HAVE_SYS_SOUNDCARD_H 1'
3434 else
3435 def_soundcard_h='#define HAVE_SOUNDCARD_H 1'
3438 echores "$_soundcard_h"
3441 echocheck "sys/dvdio.h"
3442 cat > $TMPC << EOF
3443 #include <unistd.h>
3444 #include <sys/dvdio.h>
3445 int main(void) { return 0; }
3447 _dvdio=no
3448 cc_check && _dvdio=yes
3449 if test "$_dvdio" = yes ; then
3450 def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3451 else
3452 def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3454 echores "$_dvdio"
3457 echocheck "sys/cdio.h"
3458 cat > $TMPC << EOF
3459 #include <unistd.h>
3460 #include <sys/cdio.h>
3461 int main(void) { return 0; }
3463 _cdio=no
3464 cc_check && _cdio=yes
3465 if test "$_cdio" = yes ; then
3466 def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3467 else
3468 def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3470 echores "$_cdio"
3473 echocheck "linux/cdrom.h"
3474 cat > $TMPC << EOF
3475 #include <sys/types.h>
3476 #include <linux/cdrom.h>
3477 int main(void) { return 0; }
3479 _cdrom=no
3480 cc_check && _cdrom=yes
3481 if test "$_cdrom" = yes ; then
3482 def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3483 else
3484 def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3486 echores "$_cdrom"
3489 echocheck "dvd.h"
3490 cat > $TMPC << EOF
3491 #include <dvd.h>
3492 int main(void) { return 0; }
3494 _dvd=no
3495 cc_check && _dvd=yes
3496 if test "$_dvd" = yes ; then
3497 def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3498 else
3499 def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3501 echores "$_dvd"
3504 if bsdos; then
3505 echocheck "BSDI dvd.h"
3506 cat > $TMPC << EOF
3507 #include <dvd.h>
3508 int main(void) { return 0; }
3510 _bsdi_dvd=no
3511 cc_check && _bsdi_dvd=yes
3512 if test "$_bsdi_dvd" = yes ; then
3513 def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3514 else
3515 def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3517 echores "$_bsdi_dvd"
3518 fi #if bsdos
3521 if hpux; then
3522 # also used by AIX, but AIX does not support VCD and/or libdvdread
3523 echocheck "HP-UX SCSI header"
3524 cat > $TMPC << EOF
3525 #include <sys/scsi.h>
3526 int main(void) { return 0; }
3528 _hpux_scsi_h=no
3529 cc_check && _hpux_scsi_h=yes
3530 if test "$_hpux_scsi_h" = yes ; then
3531 def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3532 else
3533 def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3535 echores "$_hpux_scsi_h"
3536 fi #if hpux
3539 if sunos; then
3540 echocheck "userspace SCSI headers (Solaris)"
3541 cat > $TMPC << EOF
3542 #include <unistd.h>
3543 #include <stropts.h>
3544 #include <sys/scsi/scsi_types.h>
3545 #include <sys/scsi/impl/uscsi.h>
3546 int main(void) { return 0; }
3548 _sol_scsi_h=no
3549 cc_check && _sol_scsi_h=yes
3550 if test "$_sol_scsi_h" = yes ; then
3551 def_sol_scsi_h='#define SOLARIS_USCSI 1'
3552 else
3553 def_sol_scsi_h='#undef SOLARIS_USCSI'
3555 echores "$_sol_scsi_h"
3556 fi #if sunos
3559 echocheck "termcap"
3560 if test "$_termcap" = auto ; then
3561 cat > $TMPC <<EOF
3562 #include <stddef.h>
3563 #include <term.h>
3564 int main(void) { tgetent(NULL, NULL); return 0; }
3566 _termcap=no
3567 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3568 cc_check $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" \
3569 && _termcap=yes && break
3570 done
3572 if test "$_termcap" = yes ; then
3573 def_termcap='#define HAVE_TERMCAP 1'
3574 test $_ld_tmp && _res_comment="using $_ld_tmp"
3575 else
3576 def_termcap='#undef HAVE_TERMCAP'
3578 echores "$_termcap"
3581 echocheck "termios"
3582 def_termios='#undef HAVE_TERMIOS'
3583 def_termios_h='#undef HAVE_TERMIOS_H'
3584 def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3585 if test "$_termios" = auto ; then
3586 _termios=no
3587 for _termios_header in "sys/termios.h" "termios.h"; do
3588 cat > $TMPC <<EOF
3589 #include <$_termios_header>
3590 int main(void) { return 0; }
3592 cc_check && _termios=yes && _res_comment="using $_termios_header" && break
3593 done
3596 if test "$_termios" = yes ; then
3597 def_termios='#define HAVE_TERMIOS 1'
3598 if test "$_termios_header" = "termios.h" ; then
3599 def_termios_h='#define HAVE_TERMIOS_H 1'
3600 else
3601 def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3604 echores "$_termios"
3607 echocheck "shm"
3608 if test "$_shm" = auto ; then
3609 cat > $TMPC << EOF
3610 #include <sys/types.h>
3611 #include <sys/shm.h>
3612 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3614 _shm=no
3615 cc_check && _shm=yes
3617 if test "$_shm" = yes ; then
3618 def_shm='#define HAVE_SHM 1'
3619 else
3620 def_shm='#undef HAVE_SHM'
3622 echores "$_shm"
3625 echocheck "strsep()"
3626 cat > $TMPC << EOF
3627 #include <string.h>
3628 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3630 _strsep=no
3631 cc_check && _strsep=yes
3632 if test "$_strsep" = yes ; then
3633 def_strsep='#define HAVE_STRSEP 1'
3634 _need_strsep=no
3635 else
3636 def_strsep='#undef HAVE_STRSEP'
3637 _need_strsep=yes
3639 echores "$_strsep"
3642 echocheck "vsscanf()"
3643 cat > $TMPC << EOF
3644 #define _ISOC99_SOURCE
3645 #include <stdarg.h>
3646 #include <stdio.h>
3647 int main(void) { vsscanf(0, 0, 0); return 0; }
3649 _vsscanf=no
3650 cc_check && _vsscanf=yes
3651 if test "$_vsscanf" = yes ; then
3652 def_vsscanf='#define HAVE_VSSCANF 1'
3653 _need_vsscanf=no
3654 else
3655 def_vsscanf='#undef HAVE_VSSCANF'
3656 _need_vsscanf=yes
3658 echores "$_vsscanf"
3661 echocheck "swab()"
3662 cat > $TMPC << EOF
3663 #define _XOPEN_SOURCE 600
3664 #include <unistd.h>
3665 int main(void) { swab(0, 0, 0); return 0; }
3667 _swab=no
3668 cc_check && _swab=yes
3669 if test "$_swab" = yes ; then
3670 def_swab='#define HAVE_SWAB 1'
3671 _need_swab=no
3672 else
3673 def_swab='#undef HAVE_SWAB'
3674 _need_swab=yes
3676 echores "$_swab"
3678 echocheck "POSIX select()"
3679 cat > $TMPC << EOF
3680 #include <stdio.h>
3681 #include <stdlib.h>
3682 #include <sys/types.h>
3683 #include <string.h>
3684 #include <sys/time.h>
3685 #include <unistd.h>
3686 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3688 _posix_select=no
3689 def_posix_select='#undef HAVE_POSIX_SELECT'
3690 #select() of kLIBC (OS/2) supports socket only
3691 ! os2 && cc_check && _posix_select=yes \
3692 && def_posix_select='#define HAVE_POSIX_SELECT 1'
3693 echores "$_posix_select"
3696 echocheck "audio select()"
3697 if test "$_select" = no ; then
3698 def_select='#undef HAVE_AUDIO_SELECT'
3699 elif test "$_select" = yes ; then
3700 def_select='#define HAVE_AUDIO_SELECT 1'
3702 echores "$_select"
3705 echocheck "gettimeofday()"
3706 cat > $TMPC << EOF
3707 #include <stdio.h>
3708 #include <sys/time.h>
3709 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3711 _gettimeofday=no
3712 cc_check && _gettimeofday=yes
3713 if test "$_gettimeofday" = yes ; then
3714 def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3715 _need_gettimeofday=no
3716 else
3717 def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3718 _need_gettimeofday=yes
3720 echores "$_gettimeofday"
3723 echocheck "glob()"
3724 cat > $TMPC << EOF
3725 #include <stdio.h>
3726 #include <glob.h>
3727 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3729 _glob=no
3730 cc_check && _glob=yes
3731 if test "$_glob" = yes ; then
3732 def_glob='#define HAVE_GLOB 1'
3733 _need_glob=no
3734 else
3735 def_glob='#undef HAVE_GLOB'
3736 _need_glob=yes
3738 echores "$_glob"
3741 echocheck "setenv()"
3742 cat > $TMPC << EOF
3743 #include <stdlib.h>
3744 int main(void) { setenv("","",0); return 0; }
3746 _setenv=no
3747 cc_check && _setenv=yes
3748 if test "$_setenv" = yes ; then
3749 def_setenv='#define HAVE_SETENV 1'
3750 _need_setenv=no
3751 else
3752 def_setenv='#undef HAVE_SETENV'
3753 _need_setenv=yes
3755 echores "$_setenv"
3758 if sunos; then
3759 echocheck "sysi86()"
3760 cat > $TMPC << EOF
3761 #include <sys/sysi86.h>
3762 int main(void) { sysi86(0); return 0; }
3764 _sysi86=no
3765 cc_check && _sysi86=yes
3766 if test "$_sysi86" = yes ; then
3767 def_sysi86='#define HAVE_SYSI86 1'
3768 cat > $TMPC << EOF
3769 #include <sys/sysi86.h>
3770 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3772 cc_check && def_sysi86_iv='#define HAVE_SYSI86_iv 1'
3773 else
3774 def_sysi86='#undef HAVE_SYSI86'
3776 echores "$_sysi86"
3777 fi #if sunos
3780 echocheck "sys/sysinfo.h"
3781 cat > $TMPC << EOF
3782 #include <sys/sysinfo.h>
3783 int main(void) {
3784 struct sysinfo s_info;
3785 sysinfo(&s_info);
3786 return 0;
3789 _sys_sysinfo=no
3790 cc_check && _sys_sysinfo=yes
3791 if test "$_sys_sysinfo" = yes ; then
3792 def_sys_sysinfo_h='#define HAVE_SYS_SYSINFO_H 1'
3793 else
3794 def_sys_sysinfo_h='#undef HAVE_SYS_SYSINFO_H'
3796 echores "$_sys_sysinfo"
3799 if darwin; then
3801 echocheck "Mac OS X Finder Support"
3802 def_macosx_finder='#undef CONFIG_MACOSX_FINDER'
3803 if test "$_macosx_finder" = yes ; then
3804 def_macosx_finder='#define CONFIG_MACOSX_FINDER 1'
3805 extra_ldflags="$extra_ldflags -framework Carbon"
3807 echores "$_macosx_finder"
3809 echocheck "Mac OS X Bundle file locations"
3810 def_macosx_bundle='#undef CONFIG_MACOSX_BUNDLE'
3811 test "$_macosx_bundle" = auto && _macosx_bundle=$_macosx_finder
3812 if test "$_macosx_bundle" = yes ; then
3813 def_macosx_bundle='#define CONFIG_MACOSX_BUNDLE 1'
3814 extra_ldflags="$extra_ldflags -framework Carbon"
3816 echores "$_macosx_bundle"
3818 echocheck "Apple Remote"
3819 if test "$_apple_remote" = auto ; then
3820 _apple_remote=no
3821 cat > $TMPC <<EOF
3822 #include <stdio.h>
3823 #include <IOKit/IOCFPlugIn.h>
3824 int main(void) {
3825 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3826 CFMutableDictionaryRef hidMatchDictionary;
3827 IOReturn ioReturnValue;
3829 // Set up a matching dictionary to search the I/O Registry by class.
3830 // name for all HID class devices
3831 hidMatchDictionary = IOServiceMatching("AppleIRController");
3833 // Now search I/O Registry for matching devices.
3834 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3835 hidMatchDictionary, &hidObjectIterator);
3837 // If search is unsuccessful, return nonzero.
3838 if (ioReturnValue != kIOReturnSuccess ||
3839 !IOIteratorIsValid(hidObjectIterator)) {
3840 return 1;
3842 return 0;
3845 cc_check -framework IOKit && tmp_run && _apple_remote=yes
3847 if test "$_apple_remote" = yes ; then
3848 def_apple_remote='#define CONFIG_APPLE_REMOTE 1'
3849 libs_mplayer="$libs_mplayer -framework IOKit -framework Cocoa"
3850 else
3851 def_apple_remote='#undef CONFIG_APPLE_REMOTE'
3853 echores "$_apple_remote"
3855 fi #if darwin
3857 if linux; then
3859 echocheck "Apple IR"
3860 if test "$_apple_ir" = auto ; then
3861 _apple_ir=no
3862 cat > $TMPC <<EOF
3863 #include <linux/types.h>
3864 #include <linux/input.h>
3865 int main(void) {
3866 struct input_event ev;
3867 struct input_id id;
3868 return 0;
3871 cc_check && _apple_ir=yes
3873 if test "$_apple_ir" = yes ; then
3874 def_apple_ir='#define CONFIG_APPLE_IR 1'
3875 else
3876 def_apple_ir='#undef CONFIG_APPLE_IR'
3878 echores "$_apple_ir"
3879 fi #if linux
3881 echocheck "pkg-config"
3882 _pkg_config=pkg-config
3883 if $($_pkg_config --version > /dev/null 2>&1); then
3884 if test "$_ld_static"; then
3885 _pkg_config="$_pkg_config --static"
3887 echores "yes"
3888 else
3889 _pkg_config=false
3890 echores "no"
3894 echocheck "Samba support (libsmbclient)"
3895 if test "$_smb" = yes; then
3896 extra_ldflags="$extra_ldflags -lsmbclient"
3898 if test "$_smb" = auto; then
3899 _smb=no
3900 cat > $TMPC << EOF
3901 #include <libsmbclient.h>
3902 int main(void) { smbc_opendir("smb://"); return 0; }
3904 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3905 cc_check $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && \
3906 _smb=yes && break
3907 done
3910 if test "$_smb" = yes; then
3911 def_smb="#define CONFIG_LIBSMBCLIENT 1"
3912 _inputmodules="smb $_inputmodules"
3913 else
3914 def_smb="#undef CONFIG_LIBSMBCLIENT"
3915 _noinputmodules="smb $_noinputmodules"
3917 echores "$_smb"
3920 #########
3921 # VIDEO #
3922 #########
3925 echocheck "tdfxfb"
3926 if test "$_tdfxfb" = yes ; then
3927 def_tdfxfb='#define CONFIG_TDFXFB 1'
3928 _vomodules="tdfxfb $_vomodules"
3929 else
3930 def_tdfxfb='#undef CONFIG_TDFXFB'
3931 _novomodules="tdfxfb $_novomodules"
3933 echores "$_tdfxfb"
3935 echocheck "s3fb"
3936 if test "$_s3fb" = yes ; then
3937 def_s3fb='#define CONFIG_S3FB 1'
3938 _vomodules="s3fb $_vomodules"
3939 else
3940 def_s3fb='#undef CONFIG_S3FB'
3941 _novomodules="s3fb $_novomodules"
3943 echores "$_s3fb"
3945 echocheck "wii"
3946 if test "$_wii" = yes ; then
3947 def_wii='#define CONFIG_WII 1'
3948 _vomodules="wii $_vomodules"
3949 else
3950 def_wii='#undef CONFIG_WII'
3951 _novomodules="wii $_novomodules"
3953 echores "$_wii"
3955 echocheck "tdfxvid"
3956 if test "$_tdfxvid" = yes ; then
3957 def_tdfxvid='#define CONFIG_TDFX_VID 1'
3958 _vomodules="tdfx_vid $_vomodules"
3959 else
3960 def_tdfxvid='#undef CONFIG_TDFX_VID'
3961 _novomodules="tdfx_vid $_novomodules"
3963 echores "$_tdfxvid"
3965 echocheck "xvr100"
3966 if test "$_xvr100" = auto ; then
3967 cat > $TMPC << EOF
3968 #include <unistd.h>
3969 #include <sys/fbio.h>
3970 #include <sys/visual_io.h>
3971 int main(void) {
3972 struct vis_identifier ident;
3973 struct fbgattr attr;
3974 ioctl(0, VIS_GETIDENTIFIER, &ident);
3975 ioctl(0, FBIOGATTR, &attr);
3976 return 0;
3979 _xvr100=no
3980 cc_check && _xvr100=yes
3982 if test "$_xvr100" = yes ; then
3983 def_xvr100='#define CONFIG_XVR100 1'
3984 _vomodules="xvr100 $_vomodules"
3985 else
3986 def_tdfxvid='#undef CONFIG_XVR100'
3987 _novomodules="xvr100 $_novomodules"
3989 echores "$_xvr100"
3991 echocheck "tga"
3992 if test "$_tga" = yes ; then
3993 def_tga='#define CONFIG_TGA 1'
3994 _vomodules="tga $_vomodules"
3995 else
3996 def_tga='#undef CONFIG_TGA'
3997 _novomodules="tga $_novomodules"
3999 echores "$_tga"
4002 echocheck "md5sum support"
4003 if test "$_md5sum" = yes; then
4004 def_md5sum="#define CONFIG_MD5SUM 1"
4005 _vomodules="md5sum $_vomodules"
4006 else
4007 def_md5sum="#undef CONFIG_MD5SUM"
4008 _novomodules="md5sum $_novomodules"
4010 echores "$_md5sum"
4013 echocheck "yuv4mpeg support"
4014 if test "$_yuv4mpeg" = yes; then
4015 def_yuv4mpeg="#define CONFIG_YUV4MPEG 1"
4016 _vomodules="yuv4mpeg $_vomodules"
4017 else
4018 def_yuv4mpeg="#undef CONFIG_YUV4MPEG"
4019 _novomodules="yuv4mpeg $_novomodules"
4021 echores "$_yuv4mpeg"
4024 echocheck "bl"
4025 if test "$_bl" = yes ; then
4026 def_bl='#define CONFIG_BL 1'
4027 _vomodules="bl $_vomodules"
4028 else
4029 def_bl='#undef CONFIG_BL'
4030 _novomodules="bl $_novomodules"
4032 echores "$_bl"
4035 echocheck "DirectFB"
4036 if test "$_directfb" = auto ; then
4037 _directfb=no
4038 cat > $TMPC <<EOF
4039 #include <directfb.h>
4040 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
4042 for _inc_tmp in "" -I/usr/local/include/directfb \
4043 -I/usr/include/directfb -I/usr/local/include; do
4044 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
4045 extra_cflags="$extra_cflags $_inc_tmp" && break
4046 done
4049 dfb_version() {
4050 expr $1 \* 65536 + $2 \* 256 + $3
4053 if test "$_directfb" = yes; then
4054 cat > $TMPC << EOF
4055 #include <directfb_version.h>
4057 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4060 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4061 _directfb_version=$(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()')
4062 _dfb_major=$(echo $_directfb_version | cut -d . -f 1)
4063 _dfb_minor=$(echo $_directfb_version | cut -d . -f 2)
4064 _dfb_micro=$(echo $_directfb_version | cut -d . -f 3)
4065 _dfb_version=$(dfb_version $_dfb_major $_dfb_minor $_dfb_micro)
4066 if test "$_dfb_version" -ge $(dfb_version 0 9 13); then
4067 def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
4068 _res_comment="$_directfb_version"
4069 test "$_dfb_version" -ge $(dfb_version 0 9 15) && _dfbmga=yes
4070 else
4071 def_directfb_version='#undef DIRECTFBVERSION'
4072 _directfb=no
4073 _res_comment="version >=0.9.13 required"
4075 else
4076 _directfb=no
4077 _res_comment="failed to get version"
4080 echores "$_directfb"
4082 if test "$_directfb" = yes ; then
4083 def_directfb='#define CONFIG_DIRECTFB 1'
4084 _vomodules="directfb $_vomodules"
4085 libs_mplayer="$libs_mplayer -ldirectfb"
4086 else
4087 def_directfb='#undef CONFIG_DIRECTFB'
4088 _novomodules="directfb $_novomodules"
4090 if test "$_dfbmga" = yes; then
4091 _vomodules="dfbmga $_vomodules"
4092 def_dfbmga='#define CONFIG_DFBMGA 1'
4093 else
4094 _novomodules="dfbmga $_novomodules"
4095 def_dfbmga='#undef CONFIG_DFBMGA'
4099 echocheck "X11 headers presence"
4100 _x11_headers="no"
4101 _res_comment="check if the dev(el) packages are installed"
4102 for I in $(echo $extra_cflags | sed s/-I//g) /usr/include ; do
4103 if test -f "$I/X11/Xlib.h" ; then
4104 _x11_headers="yes"
4105 _res_comment=""
4106 break
4108 done
4109 if test $_cross_compile = no; then
4110 for I in /usr/X11/include /usr/X11R7/include /usr/X11R6/include \
4111 /usr/include/X11R6 /usr/openwin/include ; do
4112 if test -f "$I/X11/Xlib.h" ; then
4113 extra_cflags="$extra_cflags -I$I"
4114 _x11_headers="yes"
4115 _res_comment="using $I"
4116 break
4118 done
4120 echores "$_x11_headers"
4123 echocheck "X11"
4124 if test "$_x11" = auto && test "$_x11_headers" = yes ; then
4125 cat > $TMPC <<EOF
4126 #include <X11/Xlib.h>
4127 #include <X11/Xutil.h>
4128 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4130 for I in "" -L/usr/X11R7/lib -L/usr/X11R6/lib -L/usr/lib/X11R6 \
4131 -L/usr/X11/lib -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 \
4132 -L/usr/lib ; do
4133 if netbsd; then
4134 _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4135 else
4136 _ld_tmp="$I -lXext -lX11 $_ld_pthread"
4138 cc_check $_ld_tmp && libs_mplayer="$libs_mplayer $_ld_tmp" \
4139 && _x11=yes && break
4140 done
4142 if test "$_x11" = yes ; then
4143 def_x11='#define CONFIG_X11 1'
4144 _vomodules="x11 xover $_vomodules"
4145 else
4146 _x11=no
4147 def_x11='#undef CONFIG_X11'
4148 _novomodules="x11 $_novomodules"
4149 _res_comment="check if the dev(el) packages are installed"
4150 # disable stuff that depends on X
4151 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no ; _vdpau=no
4153 echores "$_x11"
4155 echocheck "Xss screensaver extensions"
4156 if test "$_xss" = auto ; then
4157 cat > $TMPC << EOF
4158 #include <X11/Xlib.h>
4159 #include <X11/extensions/scrnsaver.h>
4160 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4162 _xss=no
4163 cc_check -lXss && _xss=yes
4165 if test "$_xss" = yes ; then
4166 def_xss='#define CONFIG_XSS 1'
4167 libs_mplayer="$libs_mplayer -lXss"
4168 else
4169 def_xss='#undef CONFIG_XSS'
4171 echores "$_xss"
4173 echocheck "DPMS"
4174 _xdpms3=no
4175 _xdpms4=no
4176 if test "$_x11" = yes ; then
4177 cat > $TMPC <<EOF
4178 #include <X11/Xmd.h>
4179 #include <X11/Xlib.h>
4180 #include <X11/Xutil.h>
4181 #include <X11/Xatom.h>
4182 #include <X11/extensions/dpms.h>
4183 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4185 cc_check -lXdpms && _xdpms3=yes
4186 cat > $TMPC <<EOF
4187 #include <X11/Xlib.h>
4188 #include <X11/extensions/dpms.h>
4189 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4191 cc_check -lXext && _xdpms4=yes
4193 if test "$_xdpms4" = yes ; then
4194 def_xdpms='#define CONFIG_XDPMS 1'
4195 _res_comment="using Xdpms 4"
4196 echores "yes"
4197 elif test "$_xdpms3" = yes ; then
4198 def_xdpms='#define CONFIG_XDPMS 1'
4199 libs_mplayer="$libs_mplayer -lXdpms"
4200 _res_comment="using Xdpms 3"
4201 echores "yes"
4202 else
4203 def_xdpms='#undef CONFIG_XDPMS'
4204 echores "no"
4208 echocheck "Xv"
4209 if test "$_xv" = auto ; then
4210 cat > $TMPC <<EOF
4211 #include <X11/Xlib.h>
4212 #include <X11/extensions/Xvlib.h>
4213 int main(void) {
4214 (void) XvGetPortAttribute(0, 0, 0, 0);
4215 (void) XvQueryPortAttributes(0, 0, 0);
4216 return 0; }
4218 _xv=no
4219 cc_check -lXv && _xv=yes
4222 if test "$_xv" = yes ; then
4223 def_xv='#define CONFIG_XV 1'
4224 libs_mplayer="$libs_mplayer -lXv"
4225 _vomodules="xv $_vomodules"
4226 else
4227 def_xv='#undef CONFIG_XV'
4228 _novomodules="xv $_novomodules"
4230 echores "$_xv"
4233 echocheck "XvMC"
4234 if test "$_xv" = yes && test "$_xvmc" != no ; then
4235 _xvmc=no
4236 cat > $TMPC <<EOF
4237 #include <X11/Xlib.h>
4238 #include <X11/extensions/Xvlib.h>
4239 #include <X11/extensions/XvMClib.h>
4240 int main(void) {
4241 (void) XvMCQueryExtension(0,0,0);
4242 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4243 return 0; }
4245 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
4246 cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
4247 done
4249 if test "$_xvmc" = yes ; then
4250 def_xvmc='#define CONFIG_XVMC 1'
4251 libs_mplayer="$libs_mplayer -lXvMC -l$_xvmclib"
4252 _vomodules="xvmc $_vomodules"
4253 _res_comment="using $_xvmclib"
4254 else
4255 def_xvmc='#define CONFIG_XVMC 0'
4256 _novomodules="xvmc $_novomodules"
4258 echores "$_xvmc"
4261 echocheck "VDPAU"
4262 if test "$_vdpau" = auto ; then
4263 _vdpau=no
4264 if test "$_dl" = yes ; then
4265 cat > $TMPC <<EOF
4266 #include <vdpau/vdpau_x11.h>
4267 int main(void) {return VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE;}
4269 cc_check && _vdpau=yes
4272 if test "$_vdpau" = yes ; then
4273 def_vdpau='#define CONFIG_VDPAU 1'
4274 _vomodules="vdpau $_vomodules"
4275 else
4276 def_vdpau='#define CONFIG_VDPAU 0'
4277 _novomodules="vdpau $_novomodules"
4279 echores "$_vdpau"
4282 echocheck "Xinerama"
4283 if test "$_xinerama" = auto ; then
4284 cat > $TMPC <<EOF
4285 #include <X11/Xlib.h>
4286 #include <X11/extensions/Xinerama.h>
4287 int main(void) { (void) XineramaIsActive(0); return 0; }
4289 _xinerama=no
4290 cc_check -lXinerama && _xinerama=yes
4293 if test "$_xinerama" = yes ; then
4294 def_xinerama='#define CONFIG_XINERAMA 1'
4295 libs_mplayer="$libs_mplayer -lXinerama"
4296 else
4297 def_xinerama='#undef CONFIG_XINERAMA'
4299 echores "$_xinerama"
4302 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4303 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4304 # named 'X extensions' or something similar.
4305 # This check may be useful for future mplayer versions (to change resolution)
4306 # If you run into problems, remove '-lXxf86vm'.
4307 echocheck "Xxf86vm"
4308 if test "$_vm" = auto ; then
4309 cat > $TMPC <<EOF
4310 #include <X11/Xlib.h>
4311 #include <X11/extensions/xf86vmode.h>
4312 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4314 _vm=no
4315 cc_check -lXxf86vm && _vm=yes
4317 if test "$_vm" = yes ; then
4318 def_vm='#define CONFIG_XF86VM 1'
4319 libs_mplayer="$libs_mplayer -lXxf86vm"
4320 else
4321 def_vm='#undef CONFIG_XF86VM'
4323 echores "$_vm"
4325 # Check for the presence of special keycodes, like audio control buttons
4326 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4327 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4328 # have these new keycodes.
4329 echocheck "XF86keysym"
4330 if test "$_xf86keysym" = auto; then
4331 _xf86keysym=no
4332 cat > $TMPC <<EOF
4333 #include <X11/Xlib.h>
4334 #include <X11/XF86keysym.h>
4335 int main(void) { return XF86XK_AudioPause; }
4337 cc_check && _xf86keysym=yes
4339 if test "$_xf86keysym" = yes ; then
4340 def_xf86keysym='#define CONFIG_XF86XK 1'
4341 else
4342 def_xf86keysym='#undef CONFIG_XF86XK'
4344 echores "$_xf86keysym"
4346 echocheck "DGA"
4347 if test "$_dga2" = auto && test "$_x11" = yes ; then
4348 cat > $TMPC << EOF
4349 #include <X11/Xlib.h>
4350 #include <X11/extensions/xf86dga.h>
4351 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4353 _dga2=no
4354 cc_check -lXxf86dga && _dga2=yes
4356 if test "$_dga1" = auto && test "$_dga2" = no && test "$_vm" = yes ; then
4357 cat > $TMPC << EOF
4358 #include <X11/Xlib.h>
4359 #include <X11/extensions/xf86dga.h>
4360 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4362 _dga1=no
4363 cc_check -lXxf86dga -lXxf86vm && _dga1=yes
4366 _dga=no
4367 def_dga='#undef CONFIG_DGA'
4368 def_dga1='#undef CONFIG_DGA1'
4369 def_dga2='#undef CONFIG_DGA2'
4370 if test "$_dga1" = yes ; then
4371 _dga=yes
4372 def_dga1='#define CONFIG_DGA1 1'
4373 _res_comment="using DGA 1.0"
4374 elif test "$_dga2" = yes ; then
4375 _dga=yes
4376 def_dga2='#define CONFIG_DGA2 1'
4377 _res_comment="using DGA 2.0"
4379 if test "$_dga" = yes ; then
4380 def_dga='#define CONFIG_DGA 1'
4381 libs_mplayer="$libs_mplayer -lXxf86dga"
4382 _vomodules="dga $_vomodules"
4383 else
4384 _novomodules="dga $_novomodules"
4386 echores "$_dga"
4389 echocheck "3dfx"
4390 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4391 def_3dfx='#define CONFIG_3DFX 1'
4392 _vomodules="3dfx $_vomodules"
4393 else
4394 def_3dfx='#undef CONFIG_3DFX'
4395 _novomodules="3dfx $_novomodules"
4397 echores "$_3dfx"
4400 echocheck "VIDIX"
4401 def_vidix='#undef CONFIG_VIDIX'
4402 def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4403 _vidix_drv_cyberblade=no
4404 def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
4405 _vidix_drv_ivtv=no
4406 def_vidix_drv_mach64='#undef CONFIG_VIDIX_DRV_MACH64'
4407 _vidix_drv_mach64=no
4408 def_vidix_drv_mga='#undef CONFIG_VIDIX_DRV_MGA'
4409 _vidix_drv_mga=no
4410 def_vidix_drv_mga_crtc2='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4411 _vidix_drv_mga_crtc2=no
4412 def_vidix_drv_nvidia='#undef CONFIG_VIDIX_DRV_NVIDIA'
4413 _vidix_drv_nvidia=no
4414 def_vidix_drv_pm2='#undef CONFIG_VIDIX_DRV_PM2'
4415 _vidix_drv_pm2=no
4416 def_vidix_drv_pm3='#undef CONFIG_VIDIX_DRV_PM3'
4417 _vidix_drv_pm3=no
4418 def_vidix_drv_radeon='#undef CONFIG_VIDIX_DRV_RADEON'
4419 _vidix_drv_radeon=no
4420 def_vidix_drv_rage128='#undef CONFIG_VIDIX_DRV_RAGE128'
4421 _vidix_drv_rage128=no
4422 def_vidix_drv_s3='#undef CONFIG_VIDIX_DRV_S3'
4423 _vidix_drv_s3=no
4424 def_vidix_drv_sh_veu='#undef CONFIG_VIDIX_DRV_SH_VEU'
4425 _vidix_drv_sh_veu=no
4426 def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
4427 _vidix_drv_sis=no
4428 def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
4429 _vidix_drv_unichrome=no
4430 if test "$_vidix" = auto ; then
4431 _vidix=no
4432 x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
4433 && _vidix=yes
4434 (ppc || alpha) && linux && _vidix=yes
4436 echores "$_vidix"
4438 if test "$_vidix" = yes ; then
4439 def_vidix='#define CONFIG_VIDIX 1'
4440 _vomodules="cvidix $_vomodules"
4441 # FIXME: ivtv driver temporarily disabled until we have a proper test
4442 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4443 test "$_vidix_drivers" || _vidix_drivers="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4445 # some vidix drivers are architecture and os specific, discard them elsewhere
4446 x86 || _vidix_drivers=$(echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//)
4447 (test $host_arch = "sh" && linux) || _vidix_drivers=$(echo $_vidix_drivers | sed s/sh_veu//)
4449 for driver in $_vidix_drivers ; do
4450 uc_driver=$(echo $driver | tr '[a-z]' '[A-Z]')
4451 eval _vidix_drv_${driver}=yes
4452 eval def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4453 done
4455 echocheck "VIDIX PCI device name database"
4456 echores "$_vidix_pcidb"
4457 if test "$_vidix_pcidb" = yes ; then
4458 _vidix_pcidb_val=1
4459 else
4460 _vidix_pcidb_val=0
4463 echocheck "VIDIX dhahelper support"
4464 test "$_dhahelper" = yes && cflags_dhahelper=-DCONFIG_DHAHELPER
4465 echores "$_dhahelper"
4467 echocheck "VIDIX svgalib_helper support"
4468 test "$_svgalib_helper" = yes && cflags_svgalib_helper=-DCONFIG_SVGAHELPER
4469 echores "$_svgalib_helper"
4471 else
4472 _novomodules="cvidix $_novomodules"
4475 if test "$_vidix" = yes && win32; then
4476 winvidix=yes
4477 _vomodules="winvidix $_vomodules"
4478 libs_mplayer="$libs_mplayer -lgdi32"
4479 else
4480 _novomodules="winvidix $_novomodules"
4482 if test "$_vidix" = yes && test "$_x11" = yes; then
4483 xvidix=yes
4484 _vomodules="xvidix $_vomodules"
4485 else
4486 _novomodules="xvidix $_novomodules"
4489 echocheck "GGI"
4490 if test "$_ggi" = auto ; then
4491 cat > $TMPC << EOF
4492 #include <ggi/ggi.h>
4493 int main(void) { ggiInit(); return 0; }
4495 _ggi=no
4496 cc_check -lggi && _ggi=yes
4498 if test "$_ggi" = yes ; then
4499 def_ggi='#define CONFIG_GGI 1'
4500 libs_mplayer="$libs_mplayer -lggi"
4501 _vomodules="ggi $_vomodules"
4502 else
4503 def_ggi='#undef CONFIG_GGI'
4504 _novomodules="ggi $_novomodules"
4506 echores "$_ggi"
4508 echocheck "GGI extension: libggiwmh"
4509 if test "$_ggiwmh" = auto ; then
4510 _ggiwmh=no
4511 cat > $TMPC << EOF
4512 #include <ggi/ggi.h>
4513 #include <ggi/wmh.h>
4514 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4516 cc_check -lggi -lggiwmh && _ggiwmh=yes
4518 # needed to get right output on obscure combination
4519 # like --disable-ggi --enable-ggiwmh
4520 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4521 def_ggiwmh='#define CONFIG_GGIWMH 1'
4522 libs_mplayer="$libs_mplayer -lggiwmh"
4523 else
4524 _ggiwmh=no
4525 def_ggiwmh='#undef CONFIG_GGIWMH'
4527 echores "$_ggiwmh"
4530 echocheck "AA"
4531 if test "$_aa" = auto ; then
4532 cat > $TMPC << EOF
4533 #include <aalib.h>
4534 extern struct aa_hardware_params aa_defparams;
4535 extern struct aa_renderparams aa_defrenderparams;
4536 int main(void) {
4537 aa_context *c;
4538 aa_renderparams *p;
4539 (void) aa_init(0, 0, 0);
4540 c = aa_autoinit(&aa_defparams);
4541 p = aa_getrenderparams();
4542 aa_autoinitkbd(c,0);
4543 return 0; }
4545 _aa=no
4546 for _ld_tmp in "-laa" ; do
4547 cc_check $_ld_tmp && libs_mplayer="$libs_mplayer $_ld_tmp" && _aa=yes && break
4548 done
4550 if test "$_aa" = yes ; then
4551 def_aa='#define CONFIG_AA 1'
4552 if cygwin ; then
4553 libs_mplayer="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4555 _vomodules="aa $_vomodules"
4556 else
4557 def_aa='#undef CONFIG_AA'
4558 _novomodules="aa $_novomodules"
4560 echores "$_aa"
4563 echocheck "CACA"
4564 if test "$_caca" = auto ; then
4565 _caca=no
4566 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4567 cat > $TMPC << EOF
4568 #include <caca.h>
4569 #ifdef CACA_API_VERSION_1
4570 #include <caca0.h>
4571 #endif
4572 int main(void) { (void) caca_init(); return 0; }
4574 cc_check $(caca-config --libs) && _caca=yes
4577 if test "$_caca" = yes ; then
4578 def_caca='#define CONFIG_CACA 1'
4579 extra_cflags="$extra_cflags $(caca-config --cflags)"
4580 libs_mplayer="$libs_mplayer $(caca-config --libs)"
4581 _vomodules="caca $_vomodules"
4582 else
4583 def_caca='#undef CONFIG_CACA'
4584 _novomodules="caca $_novomodules"
4586 echores "$_caca"
4589 echocheck "SVGAlib"
4590 if test "$_svga" = auto ; then
4591 cat > $TMPC << EOF
4592 #include <vga.h>
4593 int main(void) { return 0; }
4595 _svga=no
4596 cc_check -lvga $_ld_lm && _svga=yes
4598 if test "$_svga" = yes ; then
4599 def_svga='#define CONFIG_SVGALIB 1'
4600 libs_mplayer="$libs_mplayer -lvga"
4601 _vomodules="svga $_vomodules"
4602 else
4603 def_svga='#undef CONFIG_SVGALIB'
4604 _novomodules="svga $_novomodules"
4606 echores "$_svga"
4609 echocheck "FBDev"
4610 if test "$_fbdev" = auto ; then
4611 _fbdev=no
4612 linux && _fbdev=yes
4614 if test "$_fbdev" = yes ; then
4615 def_fbdev='#define CONFIG_FBDEV 1'
4616 _vomodules="fbdev $_vomodules"
4617 else
4618 def_fbdev='#undef CONFIG_FBDEV'
4619 _novomodules="fbdev $_novomodules"
4621 echores "$_fbdev"
4625 echocheck "DVB"
4626 if test "$_dvb" = auto ; then
4627 _dvb=no
4628 cat >$TMPC << EOF
4629 #include <poll.h>
4630 #include <sys/ioctl.h>
4631 #include <stdio.h>
4632 #include <time.h>
4633 #include <unistd.h>
4634 #include <ost/dmx.h>
4635 #include <ost/frontend.h>
4636 #include <ost/sec.h>
4637 #include <ost/video.h>
4638 #include <ost/audio.h>
4639 int main(void) {return 0;}
4641 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4642 cc_check $_inc_tmp && _dvb=yes && \
4643 extra_cflags="$extra_cflags $_inc_tmp" && break
4644 done
4646 echores "$_dvb"
4647 if test "$_dvb" = yes ; then
4648 def_dvb='#define CONFIG_DVB 1'
4649 def_dvbin='#define CONFIG_DVBIN 1'
4650 _aomodules="mpegpes(dvb) $_aomodules"
4651 _vomodules="mpegpes(dvb) $_vomodules"
4654 echocheck "DVB HEAD"
4655 if test "$_dvbhead" = auto ; then
4656 _dvbhead=no
4658 cat >$TMPC << EOF
4659 #include <poll.h>
4660 #include <sys/ioctl.h>
4661 #include <stdio.h>
4662 #include <time.h>
4663 #include <unistd.h>
4664 #include <linux/dvb/dmx.h>
4665 #include <linux/dvb/frontend.h>
4666 #include <linux/dvb/video.h>
4667 #include <linux/dvb/audio.h>
4668 int main(void) {return 0;}
4670 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4671 cc_check $_inc_tmp && _dvbhead=yes && \
4672 extra_cflags="$extra_cflags $_inc_tmp" && break
4673 done
4675 echores "$_dvbhead"
4676 if test "$_dvbhead" = yes ; then
4677 def_dvb='#define CONFIG_DVB 1'
4678 def_dvb_head='#define CONFIG_DVB_HEAD 1'
4679 def_dvbin='#define CONFIG_DVBIN 1'
4680 _aomodules="mpegpes(dvb) $_aomodules"
4681 _vomodules="mpegpes(dvb) $_vomodules"
4684 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4685 def_dvb='#undef CONFIG_DVB'
4686 def_dvb_head='#undef CONFIG_DVB_HEAD'
4687 def_dvbin='#undef CONFIG_DVBIN '
4688 _aomodules="mpegpes(file) $_aomodules"
4689 _vomodules="mpegpes(file) $_vomodules"
4692 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4693 _dvbin=yes
4694 _inputmodules="dvb $_inputmodules"
4695 else
4696 _dvbin=no
4697 _noinputmodules="dvb $_noinputmodules"
4701 if darwin; then
4703 echocheck "QuickTime"
4704 if test "$quicktime" = auto ; then
4705 cat > $TMPC <<EOF
4706 #include <QuickTime/QuickTime.h>
4707 int main(void) {
4708 ImageDescription *desc;
4709 EnterMovies();
4710 ExitMovies();
4711 return 0;
4714 quicktime=no
4715 cc_check -framework QuickTime && quicktime=yes
4717 if test "$quicktime" = yes ; then
4718 extra_ldflags="$extra_ldflags -framework QuickTime"
4719 def_quicktime='#define CONFIG_QUICKTIME 1'
4720 else
4721 def_quicktime='#undef CONFIG_QUICKTIME'
4722 _quartz=no
4724 echores $quicktime
4726 echocheck "Quartz"
4727 if test "$_quartz" = auto ; then
4728 cat > $TMPC <<EOF
4729 #include <Carbon/Carbon.h>
4730 int main(void) {
4731 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
4732 return 0;
4735 _quartz=no
4736 cc_check -framework Carbon && _quartz=yes
4738 if test "$_quartz" = yes ; then
4739 libs_mplayer="$libs_mplayer -framework Carbon"
4740 def_quartz='#define CONFIG_QUARTZ 1'
4741 _vomodules="quartz $_vomodules"
4742 else
4743 def_quartz='#undef CONFIG_QUARTZ'
4744 _novomodules="quartz $_novomodules"
4746 echores $_quartz
4748 echocheck "CoreVideo"
4749 if test "$_corevideo" = auto ; then
4750 cat > $TMPC <<EOF
4751 #include <Carbon/Carbon.h>
4752 #include <CoreServices/CoreServices.h>
4753 #include <OpenGL/OpenGL.h>
4754 #include <QuartzCore/CoreVideo.h>
4755 int main(void) { return 0; }
4757 _corevideo=no
4758 cc_check -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL && _corevideo=yes
4760 if test "$_corevideo" = yes ; then
4761 _vomodules="corevideo $_vomodules"
4762 libs_mplayer="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
4763 def_corevideo='#define CONFIG_COREVIDEO 1'
4764 else
4765 _novomodules="corevideo $_novomodules"
4766 def_corevideo='#undef CONFIG_COREVIDEO'
4768 echores "$_corevideo"
4770 fi #if darwin
4773 # make sure this stays below CoreVideo to avoid issues due to namespace
4774 # conflicts between -lGL and -framework OpenGL
4775 echocheck "OpenGL"
4776 #Note: this test is run even with --enable-gl since we autodetect linker flags
4777 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
4778 cat > $TMPC << EOF
4779 #ifdef GL_WIN32
4780 #include <windows.h>
4781 #include <GL/gl.h>
4782 #else
4783 #include <GL/gl.h>
4784 #include <X11/Xlib.h>
4785 #include <GL/glx.h>
4786 #endif
4787 int main(void) {
4788 #ifdef GL_WIN32
4789 HDC dc;
4790 wglCreateContext(dc);
4791 #else
4792 glXCreateContext(NULL, NULL, NULL, True);
4793 #endif
4794 glFinish();
4795 return 0;
4798 _gl=no
4799 if cc_check -lGL $_ld_lm ; then
4800 _gl=yes
4801 libs_mplayer="$libs_mplayer -lGL $_ld_dl"
4802 elif cc_check -lGL $_ld_lm $_ld_pthread ; then
4803 _gl=yes
4804 libs_mplayer="$libs_mplayer -lGL $_ld_pthread $_ld_dl"
4805 elif cc_check -DGL_WIN32 -lopengl32 ; then
4806 _gl=yes
4807 _gl_win32=yes
4808 libs_mplayer="$libs_mplayer -lopengl32 -lgdi32"
4810 else
4811 _gl=no
4813 if test "$_gl" = yes ; then
4814 def_gl='#define CONFIG_GL 1'
4815 if test "$_gl_win32" = yes ; then
4816 def_gl_win32='#define GL_WIN32 1'
4817 _res_comment="win32 version"
4819 _vomodules="opengl $_vomodules"
4820 else
4821 def_gl='#undef CONFIG_GL'
4822 def_gl_win32='#undef GL_WIN32'
4823 _novomodules="opengl $_novomodules"
4825 echores "$_gl"
4828 echocheck "PNG support"
4829 if test "$_png" = auto ; then
4830 _png=no
4831 if irix ; then
4832 # Don't check for -lpng on irix since it has its own libpng
4833 # incompatible with the GNU libpng
4834 _res_comment="disabled on irix (not GNU libpng)"
4835 else
4836 cat > $TMPC << EOF
4837 #include <png.h>
4838 #include <string.h>
4839 int main(void) {
4840 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4841 printf("libpng: %s\n", png_libpng_ver);
4842 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4845 cc_check -lpng -lz $_ld_lm && _png=yes
4848 echores "$_png"
4849 if test "$_png" = yes ; then
4850 def_png='#define CONFIG_PNG 1'
4851 extra_ldflags="$extra_ldflags -lpng -lz"
4852 _vomodules="png $_vomodules"
4853 else
4854 def_png='#undef CONFIG_PNG'
4855 _novomodules="png $_novomodules"
4858 echocheck "MNG support"
4859 if test "$_mng" = auto ; then
4860 _mng=no
4861 cat > $TMPC << EOF
4862 #include <libmng.h>
4863 int main(void) {
4864 const char * p_ver = mng_version_text();
4865 return !p_ver || p_ver[0] == 0;
4868 if cc_check -lmng -lz $_ld_lm ; then
4869 _mng=yes
4872 echores "$_mng"
4873 if test "$_mng" = yes ; then
4874 def_mng='#define CONFIG_MNG 1'
4875 extra_ldflags="$extra_ldflags -lmng -lz"
4876 else
4877 def_mng='#undef CONFIG_MNG'
4880 echocheck "JPEG support"
4881 if test "$_jpeg" = auto ; then
4882 _jpeg=no
4883 cat > $TMPC << EOF
4884 #include <stdio.h>
4885 #include <stdlib.h>
4886 #include <setjmp.h>
4887 #include <string.h>
4888 #include <jpeglib.h>
4889 int main(void) { return 0; }
4891 cc_check -ljpeg $_ld_lm && _jpeg=yes
4893 echores "$_jpeg"
4895 if test "$_jpeg" = yes ; then
4896 def_jpeg='#define CONFIG_JPEG 1'
4897 _vomodules="jpeg $_vomodules"
4898 extra_ldflags="$extra_ldflags -ljpeg"
4899 else
4900 def_jpeg='#undef CONFIG_JPEG'
4901 _novomodules="jpeg $_novomodules"
4906 echocheck "PNM support"
4907 if test "$_pnm" = yes; then
4908 def_pnm="#define CONFIG_PNM 1"
4909 _vomodules="pnm $_vomodules"
4910 else
4911 def_pnm="#undef CONFIG_PNM"
4912 _novomodules="pnm $_novomodules"
4914 echores "$_pnm"
4918 echocheck "GIF support"
4919 # This is to appease people who want to force gif support.
4920 # If it is forced to yes, then we still do checks to determine
4921 # which gif library to use.
4922 if test "$_gif" = yes ; then
4923 _force_gif=yes
4924 _gif=auto
4927 if test "$_gif" = auto ; then
4928 _gif=no
4929 cat > $TMPC << EOF
4930 #include <gif_lib.h>
4931 int main(void) { return 0; }
4933 for _ld_gif in "-lungif" "-lgif" ; do
4934 cc_check $_ld_gif && _gif=yes && break
4935 done
4938 # If no library was found, and the user wants support forced,
4939 # then we force it on with libgif, as this is the safest
4940 # assumption IMHO. (libungif & libregif both create symbolic
4941 # links to libgif. We also assume that no x11 support is needed,
4942 # because if you are forcing this, then you _should_ know what
4943 # you are doing. [ Besides, package maintainers should never
4944 # have compiled x11 deps into libungif in the first place. ] )
4945 # </rant>
4946 # --Joey
4947 if test "$_force_gif" = yes && test "$_gif" = no ; then
4948 _gif=yes
4949 _ld_gif="-lgif"
4952 if test "$_gif" = yes ; then
4953 def_gif='#define CONFIG_GIF 1'
4954 _codecmodules="gif $_codecmodules"
4955 _vomodules="gif89a $_vomodules"
4956 _res_comment="old version, some encoding functions disabled"
4957 def_gif_4='#undef CONFIG_GIF_4'
4958 extra_ldflags="$extra_ldflags $_ld_gif"
4960 cat > $TMPC << EOF
4961 #include <signal.h>
4962 #include <gif_lib.h>
4963 void catch() { exit(1); }
4964 int main(void) {
4965 signal(SIGSEGV, catch); // catch segfault
4966 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4967 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4968 return 0;
4971 if cc_check "$_ld_gif" ; then
4972 def_gif_4='#define CONFIG_GIF_4 1'
4973 _res_comment=""
4975 else
4976 def_gif='#undef CONFIG_GIF'
4977 def_gif_4='#undef CONFIG_GIF_4'
4978 _novomodules="gif89a $_novomodules"
4979 _nocodecmodules="gif $_nocodecmodules"
4981 echores "$_gif"
4984 case "$_gif" in yes*)
4985 echocheck "broken giflib workaround"
4986 def_gif_tvt_hack='#define CONFIG_GIF_TVT_HACK 1'
4988 cat > $TMPC << EOF
4989 #include <gif_lib.h>
4990 int main(void) {
4991 GifFileType gif;
4992 printf("UserData is at address %p\n", gif.UserData);
4993 return 0;
4996 if cc_check "$_ld_gif" ; then
4997 def_gif_tvt_hack='#undef CONFIG_GIF_TVT_HACK'
4998 echores "disabled"
4999 else
5000 echores "enabled"
5003 esac
5006 echocheck "VESA support"
5007 if test "$_vesa" = auto ; then
5008 cat > $TMPC << EOF
5009 #include <vbe.h>
5010 int main(void) { vbeVersion(); return 0; }
5012 _vesa=no
5013 cc_check -lvbe -llrmi && _vesa=yes
5015 if test "$_vesa" = yes ; then
5016 def_vesa='#define CONFIG_VESA 1'
5017 libs_mplayer="$libs_mplayer -lvbe -llrmi"
5018 _vomodules="vesa $_vomodules"
5019 else
5020 def_vesa='#undef CONFIG_VESA'
5021 _novomodules="vesa $_novomodules"
5023 echores "$_vesa"
5025 #################
5026 # VIDEO + AUDIO #
5027 #################
5030 echocheck "SDL"
5031 if test -z "$_sdlconfig" ; then
5032 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
5033 _sdlconfig="sdl-config"
5034 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
5035 _sdlconfig="sdl11-config"
5036 else
5037 _sdlconfig=false
5040 if test "$_sdl" = auto || test "$_sdl" = yes ; then
5041 cat > $TMPC << EOF
5042 #include <SDL.h>
5043 int main(int argc, char *argv[]) {
5044 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5045 return 0;
5048 _sdl=no
5049 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5050 if cc_check $($_sdlconfig --cflags) $($_sdlconfig --libs) >>"$TMPLOG" 2>&1 ; then
5051 _sdlversion=$($_sdlconfig --version | sed 's/[^0-9]//g')
5052 if test "$_sdlversion" -gt 116 ; then
5053 if test "$_sdlversion" -lt 121 ; then
5054 def_sdlbuggy='#define BUGGY_SDL'
5055 else
5056 def_sdlbuggy='#undef BUGGY_SDL'
5058 _sdl=yes
5063 if test "$_sdl" = yes ; then
5064 def_sdl='#define CONFIG_SDL 1'
5065 if cygwin ; then
5066 libs_mplayer="$libs_mplayer $($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5067 extra_cflags="$extra_cflags $($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5068 elif mingw32 ; then
5069 libs_mplayer="$libs_mplayer $($_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//)"
5070 extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-Dmain=SDL_main//)"
5071 else
5072 libs_mplayer="$libs_mplayer $($_sdlconfig --libs)"
5073 extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//)"
5075 _vomodules="sdl $_vomodules"
5076 _aomodules="sdl $_aomodules"
5077 _res_comment="using $_sdlconfig"
5078 else
5079 def_sdl='#undef CONFIG_SDL'
5080 _novomodules="sdl $_novomodules"
5081 _noaomodules="sdl $_noaomodules"
5083 echores "$_sdl"
5086 if os2 ; then
5087 echocheck "KVA (SNAP/WarpOverlay!/DIVE)"
5088 if test "$_kva" = auto; then
5089 cat > $TMPC << EOF
5090 #include <os2.h>
5091 #include <kva.h>
5092 int main( void ) { return 0; }
5094 _kva=no;
5095 cc_check -lkva && _kva=yes
5097 if test "$_kva" = yes ; then
5098 def_kva='#define CONFIG_KVA 1'
5099 libs_mplayer="$libs_mplayer -lkva"
5100 _vomodules="kva $_vomodules"
5101 else
5102 def_kva='#undef CONFIG_KVA'
5103 _novomodules="kva $_novomodules"
5105 echores "$_kva"
5106 fi #if os2
5109 if win32; then
5111 echocheck "Windows waveout"
5112 if test "$_win32waveout" = auto ; then
5113 cat > $TMPC << EOF
5114 #include <windows.h>
5115 #include <mmsystem.h>
5116 int main(void) { return 0; }
5118 _win32waveout=no
5119 cc_check -lwinmm && _win32waveout=yes
5121 if test "$_win32waveout" = yes ; then
5122 def_win32waveout='#define CONFIG_WIN32WAVEOUT 1'
5123 libs_mplayer="$libs_mplayer -lwinmm"
5124 _aomodules="win32 $_aomodules"
5125 else
5126 def_win32waveout='#undef CONFIG_WIN32WAVEOUT'
5127 _noaomodules="win32 $_noaomodules"
5129 echores "$_win32waveout"
5131 echocheck "Direct3D"
5132 if test "$_direct3d" = auto ; then
5133 cat > $TMPC << EOF
5134 #include <windows.h>
5135 #include <d3d9.h>
5136 int main(void) { return 0; }
5138 _direct3d=no
5139 cc_check -ld3d9 && _direct3d=yes
5141 if test "$_direct3d" = yes ; then
5142 def_direct3d='#define CONFIG_DIRECT3D 1'
5143 libs_mplayer="$libs_mplayer -ld3d9"
5144 _vomodules="direct3d $_vomodules"
5145 else
5146 def_direct3d='#undef CONFIG_DIRECT3D'
5147 _novomodules="direct3d $_novomodules"
5149 echores "$_direct3d"
5151 echocheck "Directx"
5152 if test "$_directx" = auto ; then
5153 cat > $TMPC << EOF
5154 #include <windows.h>
5155 #include <ddraw.h>
5156 #include <dsound.h>
5157 int main(void) { return 0; }
5159 _directx=no
5160 cc_check -lgdi32 && _directx=yes
5162 if test "$_directx" = yes ; then
5163 def_directx='#define CONFIG_DIRECTX 1'
5164 libs_mplayer="$libs_mplayer -lgdi32"
5165 _vomodules="directx $_vomodules"
5166 _aomodules="dsound $_aomodules"
5167 else
5168 def_directx='#undef CONFIG_DIRECTX'
5169 _novomodules="directx $_novomodules"
5170 _noaomodules="dsound $_noaomodules"
5172 echores "$_directx"
5174 fi #if win32; then
5177 echocheck "DXR2"
5178 if test "$_dxr2" = auto; then
5179 _dxr2=no
5180 cat > $TMPC << EOF
5181 #include <dxr2ioctl.h>
5182 int main(void) { return 0; }
5184 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
5185 cc_check $_inc_tmp && _dxr2=yes && \
5186 extra_cflags="$extra_cflags $_inc_tmp" && break
5187 done
5189 if test "$_dxr2" = yes; then
5190 def_dxr2='#define CONFIG_DXR2 1'
5191 _aomodules="dxr2 $_aomodules"
5192 _vomodules="dxr2 $_vomodules"
5193 else
5194 def_dxr2='#undef CONFIG_DXR2'
5195 _noaomodules="dxr2 $_noaomodules"
5196 _novomodules="dxr2 $_novomodules"
5198 echores "$_dxr2"
5200 echocheck "DXR3/H+"
5201 if test "$_dxr3" = auto ; then
5202 cat > $TMPC << EOF
5203 #include <linux/em8300.h>
5204 int main(void) { return 0; }
5206 _dxr3=no
5207 cc_check && _dxr3=yes
5209 if test "$_dxr3" = yes ; then
5210 def_dxr3='#define CONFIG_DXR3 1'
5211 _vomodules="dxr3 $_vomodules"
5212 else
5213 def_dxr3='#undef CONFIG_DXR3'
5214 _novomodules="dxr3 $_novomodules"
5216 echores "$_dxr3"
5219 echocheck "IVTV TV-Out (pre linux-2.6.24)"
5220 if test "$_ivtv" = auto ; then
5221 cat > $TMPC << EOF
5222 #include <stdlib.h>
5223 #include <inttypes.h>
5224 #include <linux/types.h>
5225 #include <linux/videodev2.h>
5226 #include <linux/ivtv.h>
5227 #include <sys/ioctl.h>
5228 int main(void) {
5229 struct ivtv_cfg_stop_decode sd;
5230 struct ivtv_cfg_start_decode sd1;
5231 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5232 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5233 return 0; }
5235 _ivtv=no
5236 cc_check && _ivtv=yes
5238 if test "$_ivtv" = yes ; then
5239 def_ivtv='#define CONFIG_IVTV 1'
5240 _vomodules="ivtv $_vomodules"
5241 _aomodules="ivtv $_aomodules"
5242 else
5243 def_ivtv='#undef CONFIG_IVTV'
5244 _novomodules="ivtv $_novomodules"
5245 _noaomodules="ivtv $_noaomodules"
5247 echores "$_ivtv"
5250 echocheck "V4L2 MPEG Decoder"
5251 if test "$_v4l2" = auto ; then
5252 cat > $TMPC << EOF
5253 #include <stdlib.h>
5254 #include <inttypes.h>
5255 #include <linux/types.h>
5256 #include <linux/videodev2.h>
5257 #include <linux/version.h>
5258 int main(void) {
5259 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5260 #error kernel headers too old, need 2.6.22
5261 #endif
5262 struct v4l2_ext_controls ctrls;
5263 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5264 return 0;
5267 _v4l2=no
5268 cc_check && _v4l2=yes
5270 if test "$_v4l2" = yes ; then
5271 def_v4l2='#define CONFIG_V4L2_DECODER 1'
5272 _vomodules="v4l2 $_vomodules"
5273 _aomodules="v4l2 $_aomodules"
5274 else
5275 def_v4l2='#undef CONFIG_V4L2_DECODER'
5276 _novomodules="v4l2 $_novomodules"
5277 _noaomodules="v4l2 $_noaomodules"
5279 echores "$_v4l2"
5283 #########
5284 # AUDIO #
5285 #########
5288 echocheck "OSS Audio"
5289 if test "$_ossaudio" = auto ; then
5290 cat > $TMPC << EOF
5291 #include <sys/ioctl.h>
5292 #include <$_soundcard_header>
5293 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5295 _ossaudio=no
5296 cc_check && _ossaudio=yes
5298 if test "$_ossaudio" = yes ; then
5299 def_ossaudio='#define CONFIG_OSS_AUDIO 1'
5300 _aomodules="oss $_aomodules"
5301 if test "$_linux_devfs" = yes; then
5302 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
5303 def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5304 else
5305 cat > $TMPC << EOF
5306 #include <sys/ioctl.h>
5307 #include <$_soundcard_header>
5308 #ifdef OPEN_SOUND_SYSTEM
5309 int main(void) { return 0; }
5310 #else
5311 #error Not the real thing
5312 #endif
5314 _real_ossaudio=no
5315 cc_check && _real_ossaudio=yes
5316 if test "$_real_ossaudio" = yes; then
5317 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5318 # Check for OSS4 headers (override default headers)
5319 # Does not apply to systems where OSS4 is native (e.g. FreeBSD)
5320 if test -f /etc/oss.conf; then
5321 . /etc/oss.conf
5322 _ossinc="$OSSLIBDIR/include"
5323 if test -f "$_ossinc/sys/soundcard.h"; then
5324 extra_cflags="-I$_ossinc $extra_cflags"
5327 elif netbsd || openbsd ; then
5328 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
5329 extra_ldflags="$extra_ldflags -lossaudio"
5330 else
5331 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5333 def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
5335 else
5336 def_ossaudio='#undef CONFIG_OSS_AUDIO'
5337 def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
5338 def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
5339 _noaomodules="oss $_noaomodules"
5341 echores "$_ossaudio"
5344 echocheck "aRts"
5345 if test "$_arts" = auto ; then
5346 _arts=no
5347 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
5349 cat > $TMPC << EOF
5350 #include <artsc.h>
5351 int main(void) { return 0; }
5353 cc_check $(artsc-config --libs) $(artsc-config --cflags) && _arts=yes
5358 if test "$_arts" = yes ; then
5359 def_arts='#define CONFIG_ARTS 1'
5360 _aomodules="arts $_aomodules"
5361 libs_mplayer="$libs_mplayer $(artsc-config --libs)"
5362 extra_cflags="$extra_cflags $(artsc-config --cflags)"
5363 else
5364 _noaomodules="arts $_noaomodules"
5366 echores "$_arts"
5369 echocheck "EsounD"
5370 if test "$_esd" = auto ; then
5371 _esd=no
5372 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
5374 cat > $TMPC << EOF
5375 #include <esd.h>
5376 int main(void) { int fd = esd_open_sound("test"); return fd; }
5378 cc_check $(esd-config --libs) $(esd-config --cflags) && _esd=yes
5382 echores "$_esd"
5384 if test "$_esd" = yes ; then
5385 def_esd='#define CONFIG_ESD 1'
5386 _aomodules="esd $_aomodules"
5387 libs_mplayer="$libs_mplayer $(esd-config --libs)"
5388 extra_cflags="$extra_cflags $(esd-config --cflags)"
5390 echocheck "esd_get_latency()"
5391 cat > $TMPC << EOF
5392 #include <esd.h>
5393 int main(void) { return esd_get_latency(0); }
5395 cc_check $(esd-config --libs) $(esd-config --cflags) && _esd_latency=yes && def_esd_latency='#define CONFIG_ESD_LATENCY 1'
5396 echores "$_esd_latency"
5397 else
5398 def_esd='#undef CONFIG_ESD'
5399 def_esd_latency='#undef CONFIG_ESD_LATENCY'
5400 _noaomodules="esd $_noaomodules"
5404 echocheck "NAS"
5405 if test "$_nas" = auto ; then
5406 cat > $TMPC << EOF
5407 #include <audio/audiolib.h>
5408 int main(void) { return 0; }
5410 _nas=no
5411 cc_check $_ld_lm -laudio -lXt && _nas=yes
5413 if test "$_nas" = yes ; then
5414 def_nas='#define CONFIG_NAS 1'
5415 libs_mplayer="$libs_mplayer -laudio -lXt"
5416 _aomodules="nas $_aomodules"
5417 else
5418 _noaomodules="nas $_noaomodules"
5419 def_nas='#undef CONFIG_NAS'
5421 echores "$_nas"
5424 echocheck "pulse"
5425 if test "$_pulse" = auto ; then
5426 _pulse=no
5427 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5429 cat > $TMPC << EOF
5430 #include <pulse/pulseaudio.h>
5431 int main(void) { return 0; }
5433 cc_check $($_pkg_config --libs --cflags libpulse) && _pulse=yes
5437 echores "$_pulse"
5439 if test "$_pulse" = yes ; then
5440 def_pulse='#define CONFIG_PULSE 1'
5441 _aomodules="pulse $_aomodules"
5442 libs_mplayer="$libs_mplayer $($_pkg_config --libs libpulse)"
5443 extra_cflags="$extra_cflags $($_pkg_config --cflags libpulse)"
5444 else
5445 def_pulse='#undef CONFIG_PULSE'
5446 _noaomodules="pulse $_noaomodules"
5450 echocheck "JACK"
5451 if test "$_jack" = auto ; then
5452 _jack=yes
5454 cat > $TMPC << EOF
5455 #include <jack/jack.h>
5456 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5458 if cc_check -ljack ; then
5459 libs_mplayer="$libs_mplayer -ljack"
5460 elif cc_check $($_pkg_config --libs --cflags --silence-errors jack) ; then
5461 libs_mplayer="$libs_mplayer $($_pkg_config --libs jack)"
5462 extra_cflags="$extra_cflags "$($_pkg_config --cflags jack)""
5463 else
5464 _jack=no
5468 if test "$_jack" = yes ; then
5469 def_jack='#define CONFIG_JACK 1'
5470 _aomodules="jack $_aomodules"
5471 else
5472 _noaomodules="jack $_noaomodules"
5474 echores "$_jack"
5476 echocheck "OpenAL"
5477 if test "$_openal" = auto ; then
5478 _openal=no
5479 cat > $TMPC << EOF
5480 #ifdef OPENAL_AL_H
5481 #include <OpenAL/al.h>
5482 #else
5483 #include <AL/al.h>
5484 #endif
5485 int main(void) {
5486 alSourceQueueBuffers(0, 0, 0);
5487 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5488 return 0;
5491 for I in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5492 cc_check $I && _openal=yes && break
5493 cc_check -DOPENAL_AL_H=1 $I && def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
5494 done
5495 test "$_openal" = yes && libs_mplayer="$libs_mplayer $I"
5497 if test "$_openal" = yes ; then
5498 def_openal='#define CONFIG_OPENAL 1'
5499 _aomodules="openal $_aomodules"
5500 else
5501 _noaomodules="openal $_noaomodules"
5503 echores "$_openal"
5505 echocheck "ALSA audio"
5506 if test "$_alloca" != yes ; then
5507 _alsa=no
5508 _res_comment="alloca missing"
5510 if test "$_alsa" != no ; then
5511 _alsa=no
5512 cat > $TMPC << EOF
5513 #include <sys/time.h>
5514 #include <sys/asoundlib.h>
5515 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5516 #error "alsa version != 0.5.x"
5517 #endif
5518 int main(void) { return 0; }
5520 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
5522 cat > $TMPC << EOF
5523 #include <sys/time.h>
5524 #include <sys/asoundlib.h>
5525 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5526 #error "alsa version != 0.9.x"
5527 #endif
5528 int main(void) { return 0; }
5530 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
5531 cat > $TMPC << EOF
5532 #include <sys/time.h>
5533 #include <alsa/asoundlib.h>
5534 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5535 #error "alsa version != 0.9.x"
5536 #endif
5537 int main(void) { return 0; }
5539 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5541 cat > $TMPC << EOF
5542 #include <sys/time.h>
5543 #include <sys/asoundlib.h>
5544 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5545 #error "alsa version != 1.0.x"
5546 #endif
5547 int main(void) { return 0; }
5549 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5550 cat > $TMPC << EOF
5551 #include <sys/time.h>
5552 #include <alsa/asoundlib.h>
5553 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5554 #error "alsa version != 1.0.x"
5555 #endif
5556 int main(void) { return 0; }
5558 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5560 def_alsa='#undef CONFIG_ALSA'
5561 def_alsa5='#undef CONFIG_ALSA5'
5562 def_alsa9='#undef CONFIG_ALSA9'
5563 def_alsa1x='#undef CONFIG_ALSA1X'
5564 def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5565 def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5566 if test "$_alsaver" ; then
5567 _alsa=yes
5568 if test "$_alsaver" = '0.5.x' ; then
5569 _alsa5=yes
5570 _aomodules="alsa5 $_aomodules"
5571 def_alsa5='#define CONFIG_ALSA5 1'
5572 def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5573 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5574 elif test "$_alsaver" = '0.9.x-sys' ; then
5575 _alsa9=yes
5576 _aomodules="alsa $_aomodules"
5577 def_alsa='#define CONFIG_ALSA 1'
5578 def_alsa9='#define CONFIG_ALSA9 1'
5579 def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5580 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5581 elif test "$_alsaver" = '0.9.x-alsa' ; then
5582 _alsa9=yes
5583 _aomodules="alsa $_aomodules"
5584 def_alsa='#define CONFIG_ALSA 1'
5585 def_alsa9='#define CONFIG_ALSA9 1'
5586 def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5587 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5588 elif test "$_alsaver" = '1.0.x-sys' ; then
5589 _alsa1x=yes
5590 _aomodules="alsa $_aomodules"
5591 def_alsa='#define CONFIG_ALSA 1'
5592 def_alsa1x="#define CONFIG_ALSA1X 1"
5593 def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5594 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5595 elif test "$_alsaver" = '1.0.x-alsa' ; then
5596 _alsa1x=yes
5597 _aomodules="alsa $_aomodules"
5598 def_alsa='#define CONFIG_ALSA 1'
5599 def_alsa1x="#define CONFIG_ALSA1X 1"
5600 def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5601 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5602 else
5603 _alsa=no
5604 _res_comment="unknown version"
5606 extra_ldflags="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5607 else
5608 _noaomodules="alsa $_noaomodules"
5610 echores "$_alsa"
5613 echocheck "Sun audio"
5614 if test "$_sunaudio" = auto ; then
5615 cat > $TMPC << EOF
5616 #include <sys/types.h>
5617 #include <sys/audioio.h>
5618 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5620 _sunaudio=no
5621 cc_check && _sunaudio=yes
5623 if test "$_sunaudio" = yes ; then
5624 def_sunaudio='#define CONFIG_SUN_AUDIO 1'
5625 _aomodules="sun $_aomodules"
5626 else
5627 def_sunaudio='#undef CONFIG_SUN_AUDIO'
5628 _noaomodules="sun $_noaomodules"
5630 echores "$_sunaudio"
5633 def_mlib='#define CONFIG_MLIB 0'
5634 if sunos; then
5635 echocheck "Sun mediaLib"
5636 if test "$_mlib" = auto ; then
5637 _mlib=no
5638 cat > $TMPC << EOF
5639 #include <mlib.h>
5640 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5642 cc_check -lmlib && _mlib=yes && def_mlib='#define CONFIG_MLIB 1'
5644 echores "$_mlib"
5645 fi #if sunos
5648 if darwin; then
5649 echocheck "CoreAudio"
5650 if test "$_coreaudio" = auto ; then
5651 cat > $TMPC <<EOF
5652 #include <CoreAudio/CoreAudio.h>
5653 #include <AudioToolbox/AudioToolbox.h>
5654 #include <AudioUnit/AudioUnit.h>
5655 int main(void) { return 0; }
5657 _coreaudio=no
5658 cc_check -framework CoreAudio -framework AudioUnit -framework AudioToolbox && _coreaudio=yes
5660 if test "$_coreaudio" = yes ; then
5661 libs_mplayer="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
5662 def_coreaudio='#define CONFIG_COREAUDIO 1'
5663 _aomodules="coreaudio $_aomodules"
5664 else
5665 def_coreaudio='#undef CONFIG_COREAUDIO'
5666 _noaomodules="coreaudio $_noaomodules"
5668 echores $_coreaudio
5669 fi #if darwin
5672 if irix; then
5673 echocheck "SGI audio"
5674 if test "$_sgiaudio" = auto ; then
5675 # check for SGI audio
5676 cat > $TMPC << EOF
5677 #include <dmedia/audio.h>
5678 int main(void) { return 0; }
5680 _sgiaudio=no
5681 cc_check && _sgiaudio=yes
5683 if test "$_sgiaudio" = "yes" ; then
5684 def_sgiaudio='#define CONFIG_SGI_AUDIO 1'
5685 libs_mplayer="$libs_mplayer -laudio"
5686 _aomodules="sgi $_aomodules"
5687 else
5688 def_sgiaudio='#undef CONFIG_SGI_AUDIO'
5689 _noaomodules="sgi $_noaomodules"
5691 echores "$_sgiaudio"
5692 fi #if irix
5695 if os2 ; then
5696 echocheck "DART"
5697 if test "$_dart" = auto; then
5698 cat > $TMPC << EOF
5699 #include <os2.h>
5700 #include <dart.h>
5701 int main( void ) { return 0; }
5703 _dart=no;
5704 cc_check -ldart && _dart=yes
5706 if test "$_dart" = yes ; then
5707 def_dart='#define CONFIG_DART 1'
5708 libs_mplayer="$libs_mplayer -ldart"
5709 _aomodules="dart $_aomodules"
5710 else
5711 def_dart='#undef CONFIG_DART'
5712 _noaomodules="dart $_noaomodules"
5714 echores "$_dart"
5715 fi #if os2
5718 # set default CD/DVD devices
5719 if win32 || os2 ; then
5720 default_cdrom_device="D:"
5721 elif darwin ; then
5722 default_cdrom_device="/dev/disk1"
5723 elif dragonfly ; then
5724 default_cdrom_device="/dev/cd0"
5725 elif freebsd ; then
5726 default_cdrom_device="/dev/acd0"
5727 elif openbsd ; then
5728 default_cdrom_device="/dev/rcd0a"
5729 elif sunos ; then
5730 default_cdrom_device="/vol/dev/aliases/cdrom0"
5731 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
5732 # file system and the volfs service.
5733 test -r "/cdrom/cdrom0" && default_cdrom_device="/cdrom/cdrom0"
5734 elif amigaos ; then
5735 default_cdrom_device="a1ide.device:2"
5736 else
5737 default_cdrom_device="/dev/cdrom"
5740 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos ; then
5741 default_dvd_device=$default_cdrom_device
5742 elif darwin ; then
5743 default_dvd_device="/dev/rdiskN"
5744 else
5745 default_dvd_device="/dev/dvd"
5749 echocheck "VCD support"
5750 if test "$_vcd" = auto; then
5751 _vcd=no
5752 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos; then
5753 _vcd=yes
5754 elif mingw32; then
5755 cat > $TMPC << EOF
5756 #include <ddk/ntddcdrm.h>
5757 int main(void) { return 0; }
5759 cc_check && _vcd=yes
5762 if test "$_vcd" = yes; then
5763 _inputmodules="vcd $_inputmodules"
5764 def_vcd='#define CONFIG_VCD 1'
5765 else
5766 def_vcd='#undef CONFIG_VCD'
5767 _noinputmodules="vcd $_noinputmodules"
5768 _res_comment="not supported on this OS"
5770 echores "$_vcd"
5774 echocheck "dvdread"
5775 if test "$_dvdread_internal" = auto && test ! -f "libdvdread4/dvd_reader.c" ; then
5776 _dvdread_internal=no
5778 if test "$_dvdread_internal" = auto ; then
5779 _dvdread_internal=no
5780 _dvdread=no
5781 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux) \
5782 && (test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5783 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes) \
5784 || darwin || win32 || os2; then
5785 _dvdread_internal=yes
5786 _dvdread=yes
5787 extra_cflags="-Ilibdvdread4 $extra_cflags"
5789 elif test "$_dvdread" = auto ; then
5790 _dvdread=no
5791 if test "$_dl" = yes; then
5792 cat > $TMPC << EOF
5793 #include <inttypes.h>
5794 #include <dvdread/dvd_reader.h>
5795 #include <dvdread/ifo_types.h>
5796 #include <dvdread/ifo_read.h>
5797 #include <dvdread/nav_read.h>
5798 int main(void) { return 0; }
5800 _dvdreadcflags=$($_dvdreadconfig --cflags)
5801 _dvdreadlibs=$($_dvdreadconfig --libs)
5802 if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5803 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5804 _dvdread=yes
5805 extra_cflags="$extra_cflags $_dvdreadcflags"
5806 extra_ldflags="$extra_ldflags $_dvdreadlibs"
5807 _res_comment="external"
5812 if test "$_dvdread_internal" = yes; then
5813 def_dvdread='#define CONFIG_DVDREAD 1'
5814 _inputmodules="dvdread(internal) $_inputmodules"
5815 _largefiles=yes
5816 _res_comment="internal"
5817 elif test "$_dvdread" = yes; then
5818 def_dvdread='#define CONFIG_DVDREAD 1'
5819 _largefiles=yes
5820 extra_ldflags="$extra_ldflags -ldvdread"
5821 _inputmodules="dvdread(external) $_inputmodules"
5822 _res_comment="external"
5823 else
5824 def_dvdread='#undef CONFIG_DVDREAD'
5825 _noinputmodules="dvdread $_noinputmodules"
5827 echores "$_dvdread"
5830 echocheck "internal libdvdcss"
5831 if test "$_libdvdcss_internal" = auto ; then
5832 _libdvdcss_internal=no
5833 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5834 hpux && test "$_hpux_scsi_h" = no && _libdvdcss_internal=no
5836 if test "$_libdvdcss_internal" = yes ; then
5837 if linux || netbsd || openbsd || bsdos ; then
5838 def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5839 openbsd && def_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5840 elif freebsd || dragonfly ; then
5841 def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5842 elif darwin ; then
5843 def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5844 extra_ldflags="$extra_ldflags -framework IOKit -framework Carbon"
5845 elif cygwin ; then
5846 cflags_libdvdcss="-DSYS_CYGWIN -DWIN32"
5847 elif beos ; then
5848 cflags_libdvdcss="-DSYS_BEOS"
5849 elif os2 ; then
5850 cflags_libdvdcss="-DSYS_OS2"
5852 cflags_libdvdcss_dvdread="-Ilibdvdcss"
5853 def_dvdcss="#define HAVE_DVDCSS_DVDCSS_H 1"
5854 _inputmodules="libdvdcss(internal) $_inputmodules"
5855 _largefiles=yes
5856 else
5857 _noinputmodules="libdvdcss(internal) $_noinputmodules"
5859 echores "$_libdvdcss_internal"
5862 echocheck "cdparanoia"
5863 if test "$_cdparanoia" = auto ; then
5864 cat > $TMPC <<EOF
5865 #include <cdda_interface.h>
5866 #include <cdda_paranoia.h>
5867 // This need a better test. How ?
5868 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5870 _cdparanoia=no
5871 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5872 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5873 _cdparanoia=yes && extra_cflags="$extra_cflags $_inc_tmp" && break
5874 done
5876 if test "$_cdparanoia" = yes ; then
5877 _cdda='yes'
5878 extra_ldflags="$extra_ldflags -lcdda_interface -lcdda_paranoia"
5879 openbsd && extra_ldflags="$extra_ldflags -lutil"
5881 echores "$_cdparanoia"
5884 echocheck "libcdio"
5885 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5886 cat > $TMPC << EOF
5887 #include <stdio.h>
5888 #include <cdio/version.h>
5889 #include <cdio/cdda.h>
5890 #include <cdio/paranoia.h>
5891 int main(void) {
5892 void *test = cdda_verbose_set;
5893 printf("%s\n", CDIO_VERSION);
5894 return test == (void *)1;
5897 _libcdio=no
5898 for _ld_tmp in "" "-lwinmm" ; do
5899 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5900 cc_check $_ld_tmp $_ld_lm \
5901 && _libcdio=yes && extra_ldflags="$extra_ldflags $_ld_tmp" && break
5902 done
5903 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5904 _inc_tmp=$($_pkg_config --cflags libcdio_paranoia)
5905 _ld_tmp=$($_pkg_config --libs libcdio_paranoia)
5906 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5907 && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_tmp"
5910 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5911 _cdda='yes'
5912 def_libcdio='#define CONFIG_LIBCDIO 1'
5913 def_havelibcdio='yes'
5914 else
5915 if test "$_cdparanoia" = yes ; then
5916 _res_comment="using cdparanoia"
5918 def_libcdio='#undef CONFIG_LIBCDIO'
5919 def_havelibcdio='no'
5921 echores "$_libcdio"
5923 if test "$_cdda" = yes ; then
5924 test $_cddb = auto && test $_network = yes && _cddb=yes
5925 def_cdparanoia='#define CONFIG_CDDA 1'
5926 _inputmodules="cdda $_inputmodules"
5927 else
5928 def_cdparanoia='#undef CONFIG_CDDA'
5929 _noinputmodules="cdda $_noinputmodules"
5932 if test "$_cddb" = yes ; then
5933 def_cddb='#define CONFIG_CDDB 1'
5934 _inputmodules="cddb $_inputmodules"
5935 else
5936 _cddb=no
5937 def_cddb='#undef CONFIG_CDDB'
5938 _noinputmodules="cddb $_noinputmodules"
5941 echocheck "bitmap font support"
5942 if test "$_bitmap_font" = yes ; then
5943 def_bitmap_font="#define CONFIG_BITMAP_FONT 1"
5944 else
5945 def_bitmap_font="#undef CONFIG_BITMAP_FONT"
5947 echores "$_bitmap_font"
5950 echocheck "freetype >= 2.0.9"
5952 # freetype depends on iconv
5953 if test "$_iconv" = no ; then
5954 _freetype=no
5955 _res_comment="iconv support needed"
5958 if test "$_freetype" = auto ; then
5959 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5960 cat > $TMPC << EOF
5961 #include <stdio.h>
5962 #include <ft2build.h>
5963 #include FT_FREETYPE_H
5964 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5965 #error "Need FreeType 2.0.9 or newer"
5966 #endif
5967 int main(void) {
5968 FT_Library library;
5969 FT_Int major=-1,minor=-1,patch=-1;
5970 int err=FT_Init_FreeType(&library);
5971 return 0;
5974 _freetype=no
5975 cc_check $($_freetypeconfig --cflags) $($_freetypeconfig --libs) && _freetype=yes
5976 else
5977 _freetype=no
5980 if test "$_freetype" = yes ; then
5981 def_freetype='#define CONFIG_FREETYPE 1'
5982 extra_cflags="$extra_cflags $($_freetypeconfig --cflags)"
5983 extra_ldflags="$extra_ldflags $($_freetypeconfig --libs)"
5984 else
5985 def_freetype='#undef CONFIG_FREETYPE'
5987 echores "$_freetype"
5989 if test "$_freetype" = no ; then
5990 _fontconfig=no
5991 _res_comment="FreeType support needed"
5993 echocheck "fontconfig"
5994 if test "$_fontconfig" = auto ; then
5995 cat > $TMPC << EOF
5996 #include <stdio.h>
5997 #include <stdlib.h>
5998 #include <fontconfig/fontconfig.h>
5999 int main(void) {
6000 int err = FcInit();
6001 if (err == FcFalse) {
6002 printf("Couldn't initialize fontconfig lib\n");
6003 exit(err);
6005 return 0;
6008 _fontconfig=no
6009 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
6010 _ld_tmp="-lfontconfig $_ld_tmp"
6011 cc_check $_ld_tmp && _fontconfig=yes && extra_ldflags="$extra_ldflags $_ld_tmp" && break
6012 done
6013 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
6014 _inc_tmp=$($_pkg_config --cflags fontconfig)
6015 _ld_tmp=$($_pkg_config --libs fontconfig)
6016 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
6017 && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_tmp"
6020 if test "$_fontconfig" = yes ; then
6021 def_fontconfig='#define CONFIG_FONTCONFIG 1'
6022 else
6023 def_fontconfig='#undef CONFIG_FONTCONFIG'
6025 echores "$_fontconfig"
6028 echocheck "SSA/ASS support"
6029 if test "$_ass" = auto -o "$_ass" = yes ; then
6030 if $_pkg_config libass; then
6031 _ass=yes
6032 def_ass='#define CONFIG_ASS 1'
6033 extra_ldflags="$extra_ldflags $($_pkg_config --libs libass)"
6034 extra_cflags="$extra_cflags $($_pkg_config --cflags libass)"
6035 else
6036 _ass=no
6037 def_ass='#undef CONFIG_ASS'
6039 else
6040 def_ass='#undef CONFIG_ASS'
6042 echores "$_ass"
6045 echocheck "fribidi with charsets"
6046 if test "$_fribidi" = auto ; then
6047 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
6048 cat > $TMPC << EOF
6049 #include <stdio.h>
6050 /* workaround for fribidi 0.10.4 and below */
6051 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6052 #include <fribidi/fribidi.h>
6053 int main(void) {
6054 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6055 printf("Fribidi headers are not consistents with the library!\n");
6056 exit(1);
6058 return 0;
6061 _fribidi=no
6062 cc_check $($_fribidiconfig --cflags) $($_fribidiconfig --libs) && _fribidi=yes
6063 else
6064 _fribidi=no
6067 if test "$_fribidi" = yes ; then
6068 def_fribidi='#define CONFIG_FRIBIDI 1'
6069 extra_cflags="$extra_cflags $($_fribidiconfig --cflags)"
6070 extra_ldflags="$extra_ldflags $($_fribidiconfig --libs)"
6071 else
6072 def_fribidi='#undef CONFIG_FRIBIDI'
6074 echores "$_fribidi"
6077 echocheck "ENCA"
6078 if test "$_enca" = auto ; then
6079 cat > $TMPC << EOF
6080 #include <sys/types.h>
6081 #include <enca.h>
6082 int main(void) {
6083 const char **langs;
6084 size_t langcnt;
6085 langs = enca_get_languages(&langcnt);
6086 return 0;
6089 _enca=no
6090 cc_check -lenca $_ld_lm && _enca=yes
6092 if test "$_enca" = yes ; then
6093 def_enca='#define CONFIG_ENCA 1'
6094 extra_ldflags="$extra_ldflags -lenca"
6095 else
6096 def_enca='#undef CONFIG_ENCA'
6098 echores "$_enca"
6101 echocheck "zlib"
6102 cat > $TMPC << EOF
6103 #include <zlib.h>
6104 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6106 _zlib=no
6107 cc_check -lz && _zlib=yes
6108 if test "$_zlib" = yes ; then
6109 def_zlib='#define CONFIG_ZLIB 1'
6110 extra_ldflags="$extra_ldflags -lz"
6111 else
6112 def_zlib='#define CONFIG_ZLIB 0'
6114 echores "$_zlib"
6117 echocheck "bzlib"
6118 bzlib=no
6119 def_bzlib='#define CONFIG_BZLIB 0'
6120 cat > $TMPC << EOF
6121 #include <bzlib.h>
6122 int main(void) { BZ2_bzlibVersion(); return 0; }
6124 cc_check -lbz2 && bzlib=yes
6125 if test "$bzlib" = yes ; then
6126 def_bzlib='#define CONFIG_BZLIB 1'
6127 extra_ldflags="$extra_ldflags -lbz2"
6129 echores "$bzlib"
6132 echocheck "RTC"
6133 if test "$_rtc" = auto ; then
6134 cat > $TMPC << EOF
6135 #include <sys/ioctl.h>
6136 #ifdef __linux__
6137 #include <linux/rtc.h>
6138 #else
6139 #include <rtc.h>
6140 #define RTC_PIE_ON RTCIO_PIE_ON
6141 #endif
6142 int main(void) { return RTC_PIE_ON; }
6144 _rtc=no
6145 cc_check && _rtc=yes
6146 ppc && _rtc=no
6148 if test "$_rtc" = yes ; then
6149 def_rtc='#define HAVE_RTC 1'
6150 else
6151 def_rtc='#undef HAVE_RTC'
6153 echores "$_rtc"
6156 echocheck "liblzo2 support"
6157 if test "$_liblzo" = auto ; then
6158 _liblzo=no
6159 cat > $TMPC << EOF
6160 #include <lzo/lzo1x.h>
6161 int main(void) { lzo_init();return 0; }
6163 cc_check -llzo2 && _liblzo=yes
6165 if test "$_liblzo" = yes ; then
6166 def_liblzo='#define CONFIG_LIBLZO 1'
6167 extra_ldflags="$extra_ldflags -llzo2"
6168 _codecmodules="liblzo $_codecmodules"
6169 else
6170 def_liblzo='#undef CONFIG_LIBLZO'
6171 _nocodecmodules="liblzo $_nocodecmodules"
6173 echores "$_liblzo"
6176 echocheck "mad support"
6177 if test "$_mad" = auto ; then
6178 _mad=no
6179 cat > $TMPC << EOF
6180 #include <mad.h>
6181 int main(void) { return 0; }
6183 cc_check -lmad && _mad=yes
6185 if test "$_mad" = yes ; then
6186 def_mad='#define CONFIG_LIBMAD 1'
6187 extra_ldflags="$extra_ldflags -lmad"
6188 _codecmodules="libmad $_codecmodules"
6189 else
6190 def_mad='#undef CONFIG_LIBMAD'
6191 _nocodecmodules="libmad $_nocodecmodules"
6193 echores "$_mad"
6195 echocheck "Twolame"
6196 if test "$_twolame" = auto ; then
6197 cat > $TMPC <<EOF
6198 #include <twolame.h>
6199 int main(void) { twolame_init(); return 0; }
6201 _twolame=no
6202 cc_check -ltwolame $_ld_lm && _twolame=yes
6204 if test "$_twolame" = yes ; then
6205 def_twolame='#define CONFIG_TWOLAME 1'
6206 libs_mencoder="$libs_mencoder -ltwolame"
6207 _codecmodules="twolame $_codecmodules"
6208 else
6209 def_twolame='#undef CONFIG_TWOLAME'
6210 _nocodecmodules="twolame $_nocodecmodules"
6212 echores "$_twolame"
6214 echocheck "Toolame"
6215 if test "$_toolame" = auto ; then
6216 _toolame=no
6217 if test "$_twolame" = yes ; then
6218 _res_comment="disabled by twolame"
6219 else
6220 cat > $TMPC <<EOF
6221 #include <toolame.h>
6222 int main(void) { toolame_init(); return 0; }
6224 cc_check -ltoolame $_ld_lm && _toolame=yes
6227 if test "$_toolame" = yes ; then
6228 def_toolame='#define CONFIG_TOOLAME 1'
6229 libs_mencoder="$libs_mencoder -ltoolame"
6230 _codecmodules="toolame $_codecmodules"
6231 else
6232 def_toolame='#undef CONFIG_TOOLAME'
6233 _nocodecmodules="toolame $_nocodecmodules"
6235 if test "$_toolamedir" ; then
6236 _res_comment="using $_toolamedir"
6238 echores "$_toolame"
6240 echocheck "OggVorbis support"
6241 if test "$_tremor_internal" = yes; then
6242 _libvorbis=no
6243 elif test "$_tremor" = auto; then
6244 _tremor=no
6245 cat > $TMPC << EOF
6246 #include <tremor/ivorbiscodec.h>
6247 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6249 cc_check -logg -lvorbisidec $_ld_lm && _tremor=yes && _libvorbis=no
6251 if test "$_libvorbis" = auto; then
6252 _libvorbis=no
6253 cat > $TMPC << EOF
6254 #include <vorbis/codec.h>
6255 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6257 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
6259 if test "$_tremor_internal" = yes ; then
6260 _vorbis=yes
6261 def_vorbis='#define CONFIG_OGGVORBIS 1'
6262 def_tremor='#define CONFIG_TREMOR 1'
6263 _codecmodules="tremor(internal) $_codecmodules"
6264 _res_comment="internal Tremor"
6265 if test "$_tremor_low" = yes ; then
6266 cflags_tremor_low="-D_LOW_ACCURACY_"
6267 _res_comment="internal low accuracy Tremor"
6269 elif test "$_tremor" = yes ; then
6270 _vorbis=yes
6271 def_vorbis='#define CONFIG_OGGVORBIS 1'
6272 def_tremor='#define CONFIG_TREMOR 1'
6273 _codecmodules="tremor(external) $_codecmodules"
6274 _res_comment="external Tremor"
6275 extra_ldflags="$extra_ldflags -logg -lvorbisidec"
6276 elif test "$_libvorbis" = yes ; then
6277 _vorbis=yes
6278 def_vorbis='#define CONFIG_OGGVORBIS 1'
6279 _codecmodules="libvorbis $_codecmodules"
6280 _res_comment="libvorbis"
6281 extra_ldflags="$extra_ldflags -lvorbis -logg"
6282 else
6283 _vorbis=no
6284 _nocodecmodules="libvorbis $_nocodecmodules"
6286 echores "$_vorbis"
6288 echocheck "libspeex (version >= 1.1 required)"
6289 if test "$_speex" = auto ; then
6290 _speex=no
6291 cat > $TMPC << EOF
6292 #include <speex/speex.h>
6293 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6295 cc_check -lspeex $_ld_lm && _speex=yes
6297 if test "$_speex" = yes ; then
6298 def_speex='#define CONFIG_SPEEX 1'
6299 extra_ldflags="$extra_ldflags -lspeex"
6300 _codecmodules="speex $_codecmodules"
6301 else
6302 def_speex='#undef CONFIG_SPEEX'
6303 _nocodecmodules="speex $_nocodecmodules"
6305 echores "$_speex"
6307 echocheck "OggTheora support"
6308 if test "$_theora" = auto ; then
6309 _theora=no
6310 cat > $TMPC << EOF
6311 #include <theora/theora.h>
6312 #include <string.h>
6313 int main(void) {
6314 /* Theora is in flux, make sure that all interface routines and datatypes
6315 * exist and work the way we expect it, so we don't break MPlayer. */
6316 ogg_packet op;
6317 theora_comment tc;
6318 theora_info inf;
6319 theora_state st;
6320 yuv_buffer yuv;
6321 int r;
6322 double t;
6324 theora_info_init(&inf);
6325 theora_comment_init(&tc);
6327 return 0;
6329 /* we don't want to execute this kind of nonsense; just for making sure
6330 * that compilation works... */
6331 memset(&op, 0, sizeof(op));
6332 r = theora_decode_header(&inf, &tc, &op);
6333 r = theora_decode_init(&st, &inf);
6334 t = theora_granule_time(&st, op.granulepos);
6335 r = theora_decode_packetin(&st, &op);
6336 r = theora_decode_YUVout(&st, &yuv);
6337 theora_clear(&st);
6339 return 0;
6342 _ld_theora=$($_pkg_config --silence-errors --libs theora)
6343 _inc_theora=$($_pkg_config --silence-errors --cflags theora)
6344 cc_check $_inc_theora $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" &&
6345 extra_cflags="$extra_cflags $_inc_theora" && _theora=yes
6346 if test _theora = no; then
6347 _ld_theora="-ltheora -logg"
6348 cc_check $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes
6350 if test "$_theora" = no && test "$_tremor_internal" = yes; then
6351 _ld_theora=$($_pkg_config --silence-errors --libs theora)
6352 _inc_theora=$($_pkg_config --silence-errors --cflags theora)
6353 cc_check tremor/bitwise.c $_inc_theora $_ld_theora &&
6354 extra_ldflags="$extra_ldflags $_ld_theora" &&
6355 extra_cflags="$extra_cflags $_inc_theora" && _theora=yes
6356 if test _theora = no; then
6357 _ld_theora="-ltheora -logg"
6358 cc_check tremor/bitwise.c $_ld_theora &&
6359 extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes
6363 if test "$_theora" = yes ; then
6364 def_theora='#define CONFIG_OGGTHEORA 1'
6365 _codecmodules="libtheora $_codecmodules"
6366 # when --enable-theora is forced, we'd better provide a probably sane
6367 # $_ld_theora than nothing
6368 test -z "$_ld_theora" && extra_ldflags="$extra_ldflags -ltheora -logg"
6369 else
6370 def_theora='#undef CONFIG_OGGTHEORA'
6371 _nocodecmodules="libtheora $_nocodecmodules"
6373 echores "$_theora"
6375 echocheck "internal mp3lib support"
6376 if test "$_mp3lib" = auto ; then
6377 test "$cc_vendor" = intel && test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib=no || _mp3lib=yes
6379 if test "$_mp3lib" = yes ; then
6380 def_mp3lib='#define CONFIG_MP3LIB 1'
6381 _codecmodules="mp3lib(internal) $_codecmodules"
6382 else
6383 def_mp3lib='#undef CONFIG_MP3LIB'
6384 _nocodecmodules="mp3lib(internal) $_nocodecmodules"
6386 echores "$_mp3lib"
6388 echocheck "liba52 support"
6389 if test "$_liba52_internal" = auto ; then
6390 test "$cc_vendor" = intel && test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _liba52_internal=no || _liba52_internal=yes
6392 def_liba52='#undef CONFIG_LIBA52'
6393 def_liba52_internal="#undef CONFIG_LIBA52_INTERNAL"
6394 if test "$_liba52_internal" = yes ; then
6395 _liba52=yes
6396 def_liba52_internal="#define CONFIG_LIBA52_INTERNAL 1"
6397 _res_comment="internal"
6398 elif test "$_liba52_internal" = no && test "$_liba52" = auto ; then
6399 _liba52=no
6400 cat > $TMPC << EOF
6401 #include <inttypes.h>
6402 #include <a52dec/a52.h>
6403 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6405 cc_check -la52 && _liba52=yes && _res_comment="external" && extra_ldflags="$extra_ldflags -la52"
6407 if test "$_liba52" = yes ; then
6408 def_liba52='#define CONFIG_LIBA52 1'
6409 _codecmodules="liba52($_res_comment) $_codecmodules"
6410 else
6411 _nocodecmodules="liba52 $_nocodecmodules"
6413 echores "$_liba52"
6415 echocheck "internal libmpeg2 support"
6416 if test "$_libmpeg2" = auto ; then
6417 _libmpeg2=yes
6418 if alpha && test cc_vendor=gnu; then
6419 case $cc_version in
6420 2*|3.0*|3.1*) # cannot compile MVI instructions
6421 _libmpeg2=no
6422 _res_comment="broken gcc"
6424 esac
6427 if test "$_libmpeg2" = yes ; then
6428 def_libmpeg2='#define CONFIG_LIBMPEG2 1'
6429 _codecmodules="libmpeg2(internal) $_codecmodules"
6430 else
6431 def_libmpeg2='#undef CONFIG_LIBMPEG2'
6432 _nocodecmodules="libmpeg2(internal) $_nocodecmodules"
6434 echores "$_libmpeg2"
6436 echocheck "libdca support"
6437 if test "$_libdca" = auto ; then
6438 _libdca=no
6439 cat > $TMPC << EOF
6440 #include <inttypes.h>
6441 #include <dts.h>
6442 int main(void) { dts_init(0); return 0; }
6444 for _ld_dca in -ldts -ldca ; do
6445 cc_check $_ld_dca $_ld_lm && extra_ldflags="$extra_ldflags $_ld_dca" \
6446 && _libdca=yes && break
6447 done
6449 if test "$_libdca" = yes ; then
6450 def_libdca='#define CONFIG_LIBDCA 1'
6451 _codecmodules="libdca $_codecmodules"
6452 else
6453 def_libdca='#undef CONFIG_LIBDCA'
6454 _nocodecmodules="libdca $_nocodecmodules"
6456 echores "$_libdca"
6458 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
6459 if test "$_musepack" = auto ; then
6460 _musepack=no
6461 cat > $TMPC << EOF
6462 #include <stddef.h>
6463 #include <mpcdec/mpcdec.h>
6464 int main(void) {
6465 mpc_streaminfo info;
6466 mpc_decoder decoder;
6467 mpc_decoder_set_streaminfo(&decoder, &info);
6468 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6469 return 0;
6472 cc_check -lmpcdec $_ld_lm && _musepack=yes
6474 if test "$_musepack" = yes ; then
6475 def_musepack='#define CONFIG_MUSEPACK 1'
6476 extra_ldflags="$extra_ldflags -lmpcdec"
6477 _codecmodules="musepack $_codecmodules"
6478 else
6479 def_musepack='#undef CONFIG_MUSEPACK'
6480 _nocodecmodules="musepack $_nocodecmodules"
6482 echores "$_musepack"
6485 echocheck "FAAC support"
6486 if test "$_faac" = auto ; then
6487 cat > $TMPC <<EOF
6488 #include <inttypes.h>
6489 #include <faac.h>
6490 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6492 _faac=no
6493 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6494 cc_check -O2 $_ld_faac $_ld_lm && libs_mencoder="$libs_mencoder $_ld_faac" && _faac=yes && break
6495 done
6497 if test "$_faac" = yes ; then
6498 def_faac="#define CONFIG_FAAC 1"
6499 _codecmodules="faac $_codecmodules"
6500 else
6501 def_faac="#undef CONFIG_FAAC"
6502 _nocodecmodules="faac $_nocodecmodules"
6504 echores "$_faac"
6507 echocheck "FAAD2 support"
6508 if test "$_faad_internal" = auto ; then
6509 if x86_32 && test cc_vendor=gnu; then
6510 case $cc_version in
6511 3.1*|3.2) # ICE/insn with these versions
6512 _faad_internal=no
6513 _res_comment="broken gcc"
6516 _faad=yes
6517 _faad_internal=yes
6519 esac
6520 else
6521 _faad=yes
6522 _faad_internal=yes
6525 if test "$_faad" = auto ; then
6526 cat > $TMPC << EOF
6527 #include <faad.h>
6528 #ifndef FAAD_MIN_STREAMSIZE
6529 #error Too old version
6530 #endif
6531 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6532 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6534 cc_check -lfaad $_ld_lm && _faad=yes
6537 def_faad='#undef CONFIG_FAAD'
6538 def_faad_internal="#undef CONFIG_FAAD_INTERNAL"
6539 if test "$_faad_internal" = yes ; then
6540 def_faad_internal="#define CONFIG_FAAD_INTERNAL 1"
6541 _res_comment="internal floating-point"
6542 if test "$_faad_fixed" = yes ; then
6543 # The FIXED_POINT implementation of FAAD2 improves performance
6544 # on some platforms, especially for SBR files.
6545 cflags_faad_fixed="-DFIXED_POINT"
6546 _res_comment="internal fixed-point"
6548 elif test "$_faad" = yes ; then
6549 extra_ldflags="$extra_ldflags -lfaad"
6552 if test "$_faad" = yes ; then
6553 def_faad='#define CONFIG_FAAD 1'
6554 if test "$_faad_internal" = yes ; then
6555 _codecmodules="faad2(internal) $_codecmodules"
6556 else
6557 _codecmodules="faad2 $_codecmodules"
6559 else
6560 _faad=no
6561 _nocodecmodules="faad2 $_nocodecmodules"
6563 echores "$_faad"
6566 echocheck "LADSPA plugin support"
6567 if test "$_ladspa" = auto ; then
6568 cat > $TMPC <<EOF
6569 #include <stdio.h>
6570 #include <ladspa.h>
6571 int main(void) {
6572 const LADSPA_Descriptor *ld = NULL;
6573 return 0;
6576 _ladspa=no
6577 cc_check && _ladspa=yes
6579 if test "$_ladspa" = yes; then
6580 def_ladspa="#define CONFIG_LADSPA 1"
6581 else
6582 def_ladspa="#undef CONFIG_LADSPA"
6584 echores "$_ladspa"
6587 echocheck "libbs2b audio filter support"
6588 if test "$_libbs2b" = auto ; then
6589 cat > $TMPC <<EOF
6590 #include <bs2b.h>
6591 #if BS2B_VERSION_MAJOR < 3
6592 #error Please use libbs2b >= 3.0.0, older versions are not supported.
6593 #endif
6594 int main(void) {
6595 t_bs2bdp filter;
6596 filter=bs2b_open();
6597 bs2b_close(filter);
6598 return 0;
6601 _libbs2b=no
6602 if $_pkg_config --exists libbs2b ; then
6603 _inc_tmp=$($_pkg_config --cflags libbs2b)
6604 _ld_tmp=$($_pkg_config --libs libbs2b)
6605 cc_check $_inc_tmp $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" &&
6606 extra_cflags="$extra_cflags $_inc_tmp" && _libbs2b=yes
6607 else
6608 for _inc_tmp in "" -I/usr/include/bs2b -I/usr/local/include \
6609 -I/usr/local/include/bs2b ; do
6610 if cc_check $_inc_tmp $_ld_lm -lbs2b ; then
6611 extra_ldflags="$extra_ldflags -lbs2b"
6612 extra_cflags="$extra_cflags $_inc_tmp"
6613 _libbs2b=yes
6614 break
6616 done
6619 def_libbs2b="#undef CONFIG_LIBBS2B"
6620 test "$_libbs2b" = yes && def_libbs2b="#define CONFIG_LIBBS2B 1"
6621 echores "$_libbs2b"
6624 if test -z "$_codecsdir" ; then
6625 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
6626 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
6627 if test -d "$dir" ; then
6628 _codecsdir="$dir"
6629 break;
6631 done
6633 # Fall back on default directory.
6634 if test -z "$_codecsdir" ; then
6635 _codecsdir="$_libdir/codecs"
6636 mingw32 && _codecsdir="codecs"
6637 os2 && _codecsdir="codecs"
6641 echocheck "Win32 codecs"
6642 if test "$_win32dll" = auto ; then
6643 _win32dll=no
6644 if x86_32 && ! qnx; then
6645 _win32dll=yes
6648 if test "$_win32dll" = yes ; then
6649 def_win32dll='#define CONFIG_WIN32DLL 1'
6650 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
6651 _res_comment="using $_win32codecsdir"
6652 if ! win32 ; then
6653 def_win32_loader='#define WIN32_LOADER 1'
6654 _win32_emulation=yes
6655 else
6656 extra_ldflags="$extra_ldflags -ladvapi32 -lole32"
6657 _res_comment="using native windows"
6659 _codecmodules="win32 $_codecmodules"
6660 else
6661 def_win32dll='#undef CONFIG_WIN32DLL'
6662 def_win32_loader='#undef WIN32_LOADER'
6663 _nocodecmodules="win32 $_nocodecmodules"
6665 echores "$_win32dll"
6668 echocheck "XAnim codecs"
6669 if test "$_xanim" = auto ; then
6670 _xanim=no
6671 _res_comment="dynamic loader support needed"
6672 if test "$_dl" = yes ; then
6673 _xanim=yes
6676 if test "$_xanim" = yes ; then
6677 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6678 def_xanim='#define CONFIG_XANIM 1'
6679 def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6680 _codecmodules="xanim $_codecmodules"
6681 _res_comment="using $_xanimcodecsdir"
6682 else
6683 def_xanim='#undef CONFIG_XANIM'
6684 def_xanim_path='#undef XACODEC_PATH'
6685 _nocodecmodules="xanim $_nocodecmodules"
6687 echores "$_xanim"
6690 echocheck "RealPlayer codecs"
6691 if test "$_real" = auto ; then
6692 _real=no
6693 _res_comment="dynamic loader support needed"
6694 if test "$_dl" = yes || test "$_win32dll" = yes &&
6695 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32) ; then
6696 _real=yes
6699 if test "$_real" = yes ; then
6700 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6701 def_real='#define CONFIG_REALCODECS 1'
6702 def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6703 _codecmodules="real $_codecmodules"
6704 _res_comment="using $_realcodecsdir"
6705 else
6706 def_real='#undef CONFIG_REALCODECS'
6707 def_real_path="#undef REALCODEC_PATH"
6708 _nocodecmodules="real $_nocodecmodules"
6710 echores "$_real"
6713 echocheck "QuickTime codecs"
6714 _qtx_emulation=no
6715 def_qtx_win32='#undef CONFIG_QTX_CODECS_WIN32'
6716 if test "$_qtx" = auto ; then
6717 test "$_win32dll" = yes || test "$quicktime" = yes && _qtx=yes
6719 if test "$_qtx" = yes ; then
6720 def_qtx='#define CONFIG_QTX_CODECS 1'
6721 win32 && _qtx_codecs_win32=yes && def_qtx_win32='#define CONFIG_QTX_CODECS_WIN32 1'
6722 _codecmodules="qtx $_codecmodules"
6723 darwin || win32 || _qtx_emulation=yes
6724 else
6725 def_qtx='#undef CONFIG_QTX_CODECS'
6726 _nocodecmodules="qtx $_nocodecmodules"
6728 echores "$_qtx"
6730 echocheck "Nemesi Streaming Media libraries"
6731 if test "$_nemesi" = auto && test "$_network" = yes ; then
6732 _nemesi=no
6733 if $_pkg_config libnemesi --atleast-version=0.6.3 ; then
6734 extra_cflags="$extra_cflags $($_pkg_config --cflags libnemesi)"
6735 extra_ldflags="$extra_ldflags $($_pkg_config --libs libnemesi)"
6736 _nemesi=yes
6739 if test "$_nemesi" = yes; then
6740 _native_rtsp=no
6741 def_nemesi='#define CONFIG_LIBNEMESI 1'
6742 _inputmodules="nemesi $_inputmodules"
6743 else
6744 _native_rtsp="$_network"
6745 _nemesi=no
6746 def_nemesi='#undef CONFIG_LIBNEMESI'
6747 _noinputmodules="nemesi $_noinputmodules"
6749 echores "$_nemesi"
6751 echocheck "LIVE555 Streaming Media libraries"
6752 if test "$_live" = auto && test "$_network" = yes ; then
6753 cat > $TMPCPP << EOF
6754 #include <liveMedia.hh>
6755 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6756 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6757 #endif
6758 int main(void) { return 0; }
6761 _live=no
6762 for I in $extra_cflags "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/lib64/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6763 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6764 $I/groupsock/include && _livelibdir=$(echo $I| sed s/-I//) && \
6765 extra_ldflags="$_livelibdir/liveMedia/libliveMedia.a \
6766 $_livelibdir/groupsock/libgroupsock.a \
6767 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6768 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6769 $extra_ldflags -lstdc++" \
6770 extra_cxxflags="-I$_livelibdir/liveMedia/include \
6771 -I$_livelibdir/UsageEnvironment/include \
6772 -I$_livelibdir/BasicUsageEnvironment/include \
6773 -I$_livelibdir/groupsock/include" && \
6774 _live=yes && break
6775 done
6776 if test "$_live" != yes ; then
6777 ld_tmp="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6778 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock $ld_tmp; then
6779 _live_dist=yes
6783 if test "$_live" = yes && test "$_network" = yes; then
6784 test $_livelibdir && _res_comment="using $_livelibdir"
6785 def_live='#define CONFIG_LIVE555 1'
6786 _inputmodules="live555 $_inputmodules"
6787 elif test "$_live_dist" = yes && test "$_network" = yes; then
6788 _res_comment="using distribution version"
6789 _live="yes"
6790 def_live='#define CONFIG_LIVE555 1'
6791 extra_ldflags="$extra_ldflags $ld_tmp"
6792 extra_cxxflags="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6793 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6794 _inputmodules="live555 $_inputmodules"
6795 else
6796 _live=no
6797 def_live='#undef CONFIG_LIVE555'
6798 _noinputmodules="live555 $_noinputmodules"
6800 echores "$_live"
6803 echocheck "FFmpeg libavutil"
6804 if test "$_libavutil" = auto ; then
6805 _libavutil=no
6806 cat > $TMPC << EOF
6807 #include <libavutil/common.h>
6808 int main(void) { av_gcd(1,1); return 0; }
6810 if $_pkg_config --exists libavutil ; then
6811 _inc_libavutil=$($_pkg_config --cflags libavutil)
6812 _ld_tmp=$($_pkg_config --libs libavutil)
6813 cc_check $_inc_libavutil $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" extra_cflags="$extra_cflags $_inc_libavutil" \
6814 && _libavutil=yes
6815 elif cc_check -lavutil $_ld_lm ; then
6816 extra_ldflags="$extra_ldflags -lavutil"
6817 _libavutil=yes
6820 def_libavutil='#undef CONFIG_LIBAVUTIL'
6821 test "$_libavutil" = yes && def_libavutil='#define CONFIG_LIBAVUTIL 1'
6822 # libavutil is not available, but it is mandatory ...
6823 if test "$_libavutil" = no ; then
6824 die "You need libavutil, MPlayer will not compile without!"
6826 echores "$_libavutil"
6828 echocheck "FFmpeg libavcodec"
6829 if test "$_libavcodec" = auto ; then
6830 _libavcodec=no
6831 cat > $TMPC << EOF
6832 #include <libavcodec/avcodec.h>
6833 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6835 if $_pkg_config --exists libavcodec ; then
6836 _inc_libavcodec=$($_pkg_config --cflags libavcodec)
6837 _ld_tmp=$($_pkg_config --libs libavcodec)
6838 cc_check $_inc_libavcodec $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_libavcodec" \
6839 && _libavcodec=yes
6840 elif cc_check -lavcodec $_ld_lm ; then
6841 extra_ldflags="$extra_ldflags -lavcodec"
6842 _libavcodec=yes
6845 def_libavcodec='#undef CONFIG_LIBAVCODEC'
6846 test "$_libavcodec" = yes && def_libavcodec='#define CONFIG_LIBAVCODEC 1'
6847 if test "$_libavcodec" = yes ; then
6848 _codecmodules="libavcodec $_codecmodules"
6849 else
6850 _nocodecmodules="libavcodec $_nocodecmodules"
6852 echores "$_libavcodec"
6854 echocheck "FFmpeg libavformat"
6855 if test "$_libavformat" = auto ; then
6856 _libavformat=no
6857 cat > $TMPC <<EOF
6858 #include <libavformat/avformat.h>
6859 #include <libavcodec/opt.h>
6860 int main(void) { av_alloc_format_context(); return 0; }
6862 if $_pkg_config --exists libavformat ; then
6863 _inc_libavformat=$($_pkg_config --cflags libavformat)
6864 _ld_tmp=$($_pkg_config --libs libavformat)
6865 cc_check $_inc_libavformat $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_libavformat" \
6866 && _libavformat=yes
6867 elif cc_check $_ld_lm -lavformat ; then
6868 extra_ldflags="$extra_ldflags -lavformat"
6869 _libavformat=yes
6872 def_libavformat='#undef CONFIG_LIBAVFORMAT'
6873 test "$_libavformat" = yes && def_libavformat='#define CONFIG_LIBAVFORMAT 1'
6874 echores "$_libavformat"
6876 echocheck "FFmpeg libpostproc"
6877 if test "$_libpostproc" = auto ; then
6878 _libpostproc=no
6879 cat > $TMPC << EOF
6880 #include <inttypes.h>
6881 #include <libpostproc/postprocess.h>
6882 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6884 if $_pkg_config --exists libpostproc ; then
6885 _inc_libpostproc=$($_pkg_config --cflags libpostproc)
6886 _ld_tmp=$($_pkg_config --libs libpostproc)
6887 cc_check $_inc_libpostproc $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_libpostproc" \
6888 && _libpostproc=yes
6889 elif cc_check -lpostproc $_ld_lm ; then
6890 extra_ldflags="$extra_ldflags -lpostproc"
6891 _libpostproc=yes
6894 def_libpostproc='#undef CONFIG_LIBPOSTPROC'
6895 test "$_libpostproc" = yes && def_libpostproc='#define CONFIG_LIBPOSTPROC 1'
6896 echores "$_libpostproc"
6898 echocheck "FFmpeg libswscale"
6899 if test "$_libswscale" = auto ; then
6900 _libswscale=no
6901 cat > $TMPC << EOF
6902 #include <libswscale/swscale.h>
6903 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
6905 if $_pkg_config --exists libswscale ; then
6906 _inc_libswscale=$($_pkg_config --cflags libswscale)
6907 _ld_tmp=$($_pkg_config --libs libswscale)
6908 cc_check $_inc_libswscale $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" extra_cflags="$extra_cflags $_inc_libswscale" \
6909 && _libswscale=yes
6910 elif cc_check -lswscale ; then
6911 extra_ldflags="$extra_ldflags -lswscale"
6912 _libswscale=yes
6915 def_libswscale='#undef CONFIG_LIBSWSCALE'
6916 test "$_libswscale" = yes && def_libswscale='#define CONFIG_LIBSWSCALE 1'
6917 echores "$_libswscale"
6919 def_libswscale_internals="#undef CONFIG_LIBSWSCALE_INTERNALS"
6920 if ! test -z "$_ffmpeg_source" ; then
6921 test "$_libswscale" = yes && def_libswscale_internals="#define CONFIG_LIBSWSCALE_INTERNALS 1" && _libswscale_internals=yes
6924 def_libavcodec_internals="#undef CONFIG_LIBAVCODEC_INTERNALS"
6925 if ! test -z "$_ffmpeg_source" ; then
6926 test "$_libavcodec" = yes && def_libavcodec_internals="#define CONFIG_LIBAVCODEC_INTERNALS 1" && _libavcodec_internals=yes
6929 echocheck "libdv-0.9.5+"
6930 if test "$_libdv" = auto ; then
6931 _libdv=no
6932 cat > $TMPC <<EOF
6933 #include <libdv/dv.h>
6934 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6936 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6938 if test "$_libdv" = yes ; then
6939 def_libdv='#define CONFIG_LIBDV095 1'
6940 extra_ldflags="$extra_ldflags -ldv"
6941 _codecmodules="libdv $_codecmodules"
6942 else
6943 def_libdv='#undef CONFIG_LIBDV095'
6944 _nocodecmodules="libdv $_nocodecmodules"
6946 echores "$_libdv"
6949 echocheck "Xvid"
6950 if test "$_xvid" = auto ; then
6951 _xvid=no
6952 cat > $TMPC << EOF
6953 #include <xvid.h>
6954 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6956 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6957 cc_check $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && _xvid=yes && break
6958 done
6961 if test "$_xvid" = yes ; then
6962 def_xvid='#define CONFIG_XVID4 1'
6963 _codecmodules="xvid $_codecmodules"
6964 else
6965 def_xvid='#undef CONFIG_XVID4'
6966 _nocodecmodules="xvid $_nocodecmodules"
6968 echores "$_xvid"
6970 echocheck "x264"
6971 if test "$_x264" = auto ; then
6972 cat > $TMPC << EOF
6973 #include <inttypes.h>
6974 #include <x264.h>
6975 #if X264_BUILD < 78
6976 #error We do not support old versions of x264. Get the latest from git.
6977 #endif
6978 int main(void) { x264_encoder_open((void*)0); return 0; }
6980 _x264=no
6981 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6982 cc_check $_ld_x264 && libs_mencoder="$libs_mencoder $_ld_x264" && _x264=yes && break
6983 done
6986 if test "$_x264" = yes ; then
6987 def_x264='#define CONFIG_X264 1'
6988 _codecmodules="x264 $_codecmodules"
6989 else
6990 def_x264='#undef CONFIG_X264'
6991 _nocodecmodules="x264 $_nocodecmodules"
6993 echores "$_x264"
6995 echocheck "libnut"
6996 if test "$_libnut" = auto ; then
6997 cat > $TMPC << EOF
6998 #include <stdio.h>
6999 #include <stdlib.h>
7000 #include <inttypes.h>
7001 #include <libnut.h>
7002 nut_context_tt * nut;
7003 int main(void) { (void)nut_error(0); return 0; }
7005 _libnut=no
7006 cc_check -lnut && _libnut=yes
7009 if test "$_libnut" = yes ; then
7010 def_libnut='#define CONFIG_LIBNUT 1'
7011 extra_ldflags="$extra_ldflags -lnut"
7012 else
7013 def_libnut='#undef CONFIG_LIBNUT'
7015 echores "$_libnut"
7017 # These VO checks must be done after libavcodec/libswscale one
7018 echocheck "/dev/mga_vid"
7019 if test "$_mga" = auto ; then
7020 _mga=no
7021 test -c /dev/mga_vid && _mga=yes
7023 if test "$_mga" = yes ; then
7024 if test "$_libswscale_internals" = yes ; then
7025 def_mga='#define CONFIG_MGA 1'
7026 _vomodules="mga $_vomodules"
7027 else
7028 _res_comment="libswscale internal headers are required by mga, sorry"
7029 def_mga='#undef CONFIG_MGA'
7030 _novomodules="mga $_novomodules"
7032 else
7033 def_mga='#undef CONFIG_MGA'
7034 _novomodules="mga $_novomodules"
7036 echores "$_mga"
7039 echocheck "xmga"
7040 if test "$_xmga" = auto ; then
7041 _xmga=no
7042 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
7044 if test "$_xmga" = yes ; then
7045 if test "$_libswscale_internals" = yes ; then
7046 def_xmga='#define CONFIG_XMGA 1'
7047 _vomodules="xmga $_vomodules"
7048 else
7049 _res_comment="libswscale internal headers are required by mga, sorry"
7050 def_xmga='#undef CONFIG_XMGA'
7051 _novomodules="xmga $_novomodules"
7053 else
7054 def_xmga='#undef CONFIG_XMGA'
7055 _novomodules="xmga $_novomodules"
7057 echores "$_xmga"
7059 echocheck "zr"
7060 if test "$_zr" = auto ; then
7061 #36067's seem to identify themselves as 36057PQC's, so the line
7062 #below should work for 36067's and 36057's.
7063 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci ; then
7064 _zr=yes
7065 else
7066 _zr=no
7069 if test "$_zr" = yes ; then
7070 if test "$_libavcodec_internals" = yes ; then
7071 def_zr='#define CONFIG_ZR 1'
7072 _vomodules="zr zr2 $_vomodules"
7073 else
7074 _res_comment="libavcodec internal headers are required by zr, sorry"
7075 _novomodules="zr $_novomodules"
7076 def_zr='#undef CONFIG_ZR'
7078 else
7079 def_zr='#undef CONFIG_ZR'
7080 _novomodules="zr zr2 $_novomodules"
7082 echores "$_zr"
7084 # mencoder requires (optional) those libs: libmp3lame
7085 if test "$_mencoder" != no ; then
7087 echocheck "libmp3lame"
7088 def_mp3lame_preset='#undef CONFIG_MP3LAME_PRESET'
7089 def_mp3lame_preset_medium='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7090 if test "$_mp3lame" = auto ; then
7091 _mp3lame=no
7092 cat > $TMPC <<EOF
7093 #include <lame/lame.h>
7094 int main(void) { lame_version_t lv; (void) lame_init();
7095 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
7096 return 0; }
7098 cc_check -lmp3lame $_ld_lm && _mp3lame=yes
7100 if test "$_mp3lame" = yes ; then
7101 def_mp3lame="#define CONFIG_MP3LAME 1"
7102 _ld_mp3lame=-lmp3lame
7103 libs_mencoder="$libs_mencoder $_ld_mp3lame"
7104 cat > $TMPC << EOF
7105 #include <lame/lame.h>
7106 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7108 cc_check $_ld_mp3lame $_ld_lm && def_mp3lame_preset="#define CONFIG_MP3LAME_PRESET 1"
7109 cat > $TMPC << EOF
7110 #include <lame/lame.h>
7111 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7113 cc_check $_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7114 else
7115 def_mp3lame='#undef CONFIG_MP3LAME'
7117 echores "$_mp3lame"
7119 fi # test "$_mencoder" != no
7121 echocheck "mencoder"
7122 if test "$_mencoder" = yes ; then
7123 def_muxers='#define CONFIG_MUXERS 1'
7124 else
7125 def_muxers='#define CONFIG_MUXERS 0'
7127 echores "$_mencoder"
7130 echocheck "UnRAR executable"
7131 if test "$_unrar_exec" = auto ; then
7132 _unrar_exec="yes"
7133 mingw32 && _unrar_exec="no"
7135 if test "$_unrar_exec" = yes ; then
7136 def_unrar_exec='#define CONFIG_UNRAR_EXEC 1'
7137 else
7138 def_unrar_exec='#undef CONFIG_UNRAR_EXEC'
7140 echores "$_unrar_exec"
7142 echocheck "TV interface"
7143 if test "$_tv" = yes ; then
7144 def_tv='#define CONFIG_TV 1'
7145 _inputmodules="tv $_inputmodules"
7146 else
7147 _noinputmodules="tv $_noinputmodules"
7148 def_tv='#undef CONFIG_TV'
7150 echores "$_tv"
7153 if freebsd || netbsd || openbsd || dragonfly || bsdos ; then
7154 echocheck "*BSD BT848 bt8xx header"
7155 _ioctl_bt848_h=no
7156 for file in "machine/ioctl_bt848.h" \
7157 "dev/bktr/ioctl_bt848.h" \
7158 "dev/video/bktr/ioctl_bt848.h" \
7159 "dev/ic/bt8xx.h" ; do
7160 cat > $TMPC <<EOF
7161 #include <sys/types.h>
7162 #include <sys/ioctl.h>
7163 #include <$file>
7164 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7166 if cc_check ; then
7167 _ioctl_bt848_h=yes
7168 _ioctl_bt848_h_name="$file"
7169 break;
7171 done
7172 if test "$_ioctl_bt848_h" = yes ; then
7173 def_ioctl_bt848_h_name="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7174 _res_comment="using $_ioctl_bt848_h_name"
7175 else
7176 def_ioctl_bt848_h_name="#undef IOCTL_BT848_H_NAME"
7178 echores "$_ioctl_bt848_h"
7180 echocheck "*BSD ioctl_meteor.h"
7181 _ioctl_meteor_h=no
7182 for file in "machine/ioctl_meteor.h" \
7183 "dev/bktr/ioctl_meteor.h" \
7184 "dev/video/bktr/ioctl_meteor.h" ; do
7185 cat > $TMPC <<EOF
7186 #include <sys/types.h>
7187 #include <$file>
7188 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7190 if cc_check ; then
7191 _ioctl_meteor_h=yes
7192 _ioctl_meteor_h_name="$file"
7193 break;
7195 done
7196 if test "$_ioctl_meteor_h" = yes ; then
7197 def_ioctl_meteor_h_name="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7198 _res_comment="using $_ioctl_meteor_h_name"
7199 else
7200 def_ioctl_meteor_h_name="#undef IOCTL_METEOR_H_NAME"
7202 echores "$_ioctl_meteor_h"
7204 echocheck "*BSD BrookTree 848 TV interface"
7205 if test "$_tv_bsdbt848" = auto ; then
7206 _tv_bsdbt848=no
7207 if test "$_tv" = yes ; then
7208 cat > $TMPC <<EOF
7209 #include <sys/types.h>
7210 $def_ioctl_meteor_h_name
7211 $def_ioctl_bt848_h_name
7212 #ifdef IOCTL_METEOR_H_NAME
7213 #include IOCTL_METEOR_H_NAME
7214 #endif
7215 #ifdef IOCTL_BT848_H_NAME
7216 #include IOCTL_BT848_H_NAME
7217 #endif
7218 int main(void) {
7219 ioctl(0, METEORSINPUT, 0);
7220 ioctl(0, TVTUNER_GETFREQ, 0);
7221 return 0;
7224 cc_check && _tv_bsdbt848=yes
7227 if test "$_tv_bsdbt848" = yes ; then
7228 def_tv_bsdbt848='#define CONFIG_TV_BSDBT848 1'
7229 _inputmodules="tv-bsdbt848 $_inputmodules"
7230 else
7231 def_tv_bsdbt848='#undef CONFIG_TV_BSDBT848'
7232 _noinputmodules="tv-bsdbt848 $_noinputmodules"
7234 echores "$_tv_bsdbt848"
7235 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7238 echocheck "DirectShow TV interface"
7239 if test "$_tv_dshow" = auto ; then
7240 _tv_dshow=no
7241 if test "$_tv" = yes && win32 ; then
7242 cat > $TMPC <<EOF
7243 #include <ole2.h>
7244 int main(void) {
7245 void* p;
7246 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7247 return 0;
7250 cc_check -lole32 -luuid && _tv_dshow=yes
7253 if test "$_tv_dshow" = yes ; then
7254 _inputmodules="tv-dshow $_inputmodules"
7255 def_tv_dshow='#define CONFIG_TV_DSHOW 1'
7256 extra_ldflags="$extra_ldflags -lole32 -luuid"
7257 else
7258 _noinputmodules="tv-dshow $_noinputmodules"
7259 def_tv_dshow='#undef CONFIG_TV_DSHOW'
7261 echores "$_tv_dshow"
7264 echocheck "Video 4 Linux TV interface"
7265 if test "$_tv_v4l1" = auto ; then
7266 _tv_v4l1=no
7267 if test "$_tv" = yes && linux ; then
7268 cat > $TMPC <<EOF
7269 #include <stdlib.h>
7270 #include <linux/videodev.h>
7271 int main(void) { return 0; }
7273 cc_check && _tv_v4l1=yes
7276 if test "$_tv_v4l1" = yes ; then
7277 _audio_input=yes
7278 _tv_v4l=yes
7279 def_tv_v4l='#define CONFIG_TV_V4L 1'
7280 def_tv_v4l1='#define CONFIG_TV_V4L1 1'
7281 _inputmodules="tv-v4l $_inputmodules"
7282 else
7283 _noinputmodules="tv-v4l1 $_noinputmodules"
7284 def_tv_v4l='#undef CONFIG_TV_V4L'
7286 echores "$_tv_v4l1"
7289 echocheck "Video 4 Linux 2 TV interface"
7290 if test "$_tv_v4l2" = auto ; then
7291 _tv_v4l2=no
7292 if test "$_tv" = yes && linux ; then
7293 cat > $TMPC <<EOF
7294 #include <stdlib.h>
7295 #include <linux/types.h>
7296 #include <linux/videodev2.h>
7297 int main(void) { return 0; }
7299 cc_check && _tv_v4l2=yes
7302 if test "$_tv_v4l2" = yes ; then
7303 _audio_input=yes
7304 _tv_v4l=yes
7305 def_tv_v4l='#define CONFIG_TV_V4L 1'
7306 def_tv_v4l2='#define CONFIG_TV_V4L2 1'
7307 _inputmodules="tv-v4l2 $_inputmodules"
7308 else
7309 _noinputmodules="tv-v4l2 $_noinputmodules"
7310 def_tv_v4l2='#undef CONFIG_TV_V4L2'
7312 echores "$_tv_v4l2"
7315 echocheck "Radio interface"
7316 if test "$_radio" = yes ; then
7317 def_radio='#define CONFIG_RADIO 1'
7318 _inputmodules="radio $_inputmodules"
7319 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7320 _radio_capture=no
7322 if test "$_radio_capture" = yes ; then
7323 _audio_input=yes
7324 def_radio_capture="#define CONFIG_RADIO_CAPTURE 1"
7325 else
7326 def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7328 else
7329 _noinputmodules="radio $_noinputmodules"
7330 def_radio='#undef CONFIG_RADIO'
7331 def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7332 _radio_capture=no
7334 echores "$_radio"
7335 echocheck "Capture for Radio interface"
7336 echores "$_radio_capture"
7338 echocheck "Video 4 Linux 2 Radio interface"
7339 if test "$_radio_v4l2" = auto ; then
7340 _radio_v4l2=no
7341 if test "$_radio" = yes && linux ; then
7342 cat > $TMPC <<EOF
7343 #include <stdlib.h>
7344 #include <linux/types.h>
7345 #include <linux/videodev2.h>
7346 int main(void) { return 0; }
7348 cc_check && _radio_v4l2=yes
7351 if test "$_radio_v4l2" = yes ; then
7352 def_radio_v4l2='#define CONFIG_RADIO_V4L2 1'
7353 else
7354 def_radio_v4l2='#undef CONFIG_RADIO_V4L2'
7356 echores "$_radio_v4l2"
7358 echocheck "Video 4 Linux Radio interface"
7359 if test "$_radio_v4l" = auto ; then
7360 _radio_v4l=no
7361 if test "$_radio" = yes && linux ; then
7362 cat > $TMPC <<EOF
7363 #include <stdlib.h>
7364 #include <linux/videodev.h>
7365 int main(void) { return 0; }
7367 cc_check && _radio_v4l=yes
7370 if test "$_radio_v4l" = yes ; then
7371 def_radio_v4l='#define CONFIG_RADIO_V4L 1'
7372 else
7373 def_radio_v4l='#undef CONFIG_RADIO_V4L'
7375 echores "$_radio_v4l"
7377 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7378 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
7379 echocheck "*BSD BrookTree 848 Radio interface"
7380 _radio_bsdbt848=no
7381 cat > $TMPC <<EOF
7382 #include <sys/types.h>
7383 $def_ioctl_bt848_h_name
7384 #ifdef IOCTL_BT848_H_NAME
7385 #include IOCTL_BT848_H_NAME
7386 #endif
7387 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7389 cc_check && _radio_bsdbt848=yes
7390 echores "$_radio_bsdbt848"
7391 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7393 if test "$_radio_bsdbt848" = yes ; then
7394 def_radio_bsdbt848='#define CONFIG_RADIO_BSDBT848 1'
7395 else
7396 def_radio_bsdbt848='#undef CONFIG_RADIO_BSDBT848'
7399 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
7400 test "$_radio_bsdbt848" = no && test "$_radio" = yes ; then
7401 die "Radio driver requires BSD BT848, V4L or V4L2!"
7404 echocheck "Video 4 Linux 2 MPEG PVR interface"
7405 if test "$_pvr" = auto ; then
7406 _pvr=no
7407 if test "$_tv_v4l2" = yes && linux ; then
7408 cat > $TMPC <<EOF
7409 #include <stdlib.h>
7410 #include <inttypes.h>
7411 #include <linux/types.h>
7412 #include <linux/videodev2.h>
7413 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
7415 cc_check && _pvr=yes
7418 if test "$_pvr" = yes ; then
7419 def_pvr='#define CONFIG_PVR 1'
7420 _inputmodules="pvr $_inputmodules"
7421 else
7422 _noinputmodules="pvr $_noinputmodules"
7423 def_pvr='#undef CONFIG_PVR'
7425 echores "$_pvr"
7428 echocheck "ftp"
7429 if ! beos && test "$_ftp" = yes ; then
7430 def_ftp='#define CONFIG_FTP 1'
7431 _inputmodules="ftp $_inputmodules"
7432 else
7433 _noinputmodules="ftp $_noinputmodules"
7434 def_ftp='#undef CONFIG_FTP'
7436 echores "$_ftp"
7438 echocheck "vstream client"
7439 if test "$_vstream" = auto ; then
7440 _vstream=no
7441 cat > $TMPC <<EOF
7442 #include <vstream-client.h>
7443 void vstream_error(const char *format, ... ) {}
7444 int main(void) { vstream_start(); return 0; }
7446 cc_check -lvstream-client && _vstream=yes
7448 if test "$_vstream" = yes ; then
7449 def_vstream='#define CONFIG_VSTREAM 1'
7450 _inputmodules="vstream $_inputmodules"
7451 extra_ldflags="$extra_ldflags -lvstream-client"
7452 else
7453 _noinputmodules="vstream $_noinputmodules"
7454 def_vstream='#undef CONFIG_VSTREAM'
7456 echores "$_vstream"
7459 echocheck "OSD menu"
7460 if test "$_menu" = yes ; then
7461 def_menu='#define CONFIG_MENU 1'
7462 test $_dvbin = "yes" && _menu_dvbin=yes
7463 else
7464 def_menu='#undef CONFIG_MENU'
7465 _menu_dvbin=no
7467 echores "$_menu"
7470 echocheck "Subtitles sorting"
7471 if test "$_sortsub" = yes ; then
7472 def_sortsub='#define CONFIG_SORTSUB 1'
7473 else
7474 def_sortsub='#undef CONFIG_SORTSUB'
7476 echores "$_sortsub"
7479 echocheck "XMMS inputplugin support"
7480 if test "$_xmms" = yes ; then
7481 if ( xmms-config --version ) >/dev/null 2>&1 ; then
7482 _xmmsplugindir=$(xmms-config --input-plugin-dir)
7483 _xmmslibdir=$(xmms-config --exec-prefix)/lib
7484 else
7485 _xmmsplugindir=/usr/lib/xmms/Input
7486 _xmmslibdir=/usr/lib
7489 def_xmms='#define CONFIG_XMMS 1'
7490 if darwin ; then
7491 extra_ldflags="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
7492 else
7493 extra_ldflags="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7495 else
7496 def_xmms='#undef CONFIG_XMMS'
7498 echores "$_xmms"
7500 if test "$_charset" != "noconv" ; then
7501 def_charset="#define MSG_CHARSET \"$_charset\""
7502 else
7503 def_charset="#undef MSG_CHARSET"
7504 _charset="UTF-8"
7507 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
7508 echocheck "iconv program"
7509 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7510 if test "$?" -ne 0 ; then
7511 echores "no"
7512 echo "No working iconv program found, use "
7513 echo "--charset=UTF-8 to continue anyway."
7514 echo "If you also have problems with iconv library functions use --charset=noconv."
7515 exit 1
7516 else
7517 echores "yes"
7521 #############################################################################
7523 echocheck "automatic gdb attach"
7524 if test "$_crash_debug" = yes ; then
7525 def_crash_debug='#define CONFIG_CRASH_DEBUG 1'
7526 else
7527 def_crash_debug='#undef CONFIG_CRASH_DEBUG'
7528 _crash_debug=no
7530 echores "$_crash_debug"
7532 echocheck "compiler support for noexecstack"
7533 cat > $TMPC <<EOF
7534 int main(void) { return 0; }
7536 if cc_check -Wl,-z,noexecstack ; then
7537 extra_ldflags="-Wl,-z,noexecstack $extra_ldflags"
7538 echores "yes"
7539 else
7540 echores "no"
7544 # Dynamic linking flags
7545 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7546 _ld_dl_dynamic=''
7547 freebsd || netbsd || openbsd || dragonfly || bsdos && _ld_dl_dynamic='-rdynamic'
7548 if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin && ! os2 && ! sunos; then
7549 _ld_dl_dynamic='-rdynamic'
7552 extra_ldflags="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7553 bsdos && extra_ldflags="$extra_ldflags -ldvd"
7554 (netbsd || openbsd) && x86_32 && extra_ldflags="$extra_ldflags -li386"
7556 def_debug='#undef MP_DEBUG'
7557 test "$_debug" != "" && def_debug='#define MP_DEBUG 1'
7560 echocheck "joystick"
7561 def_joystick='#undef CONFIG_JOYSTICK'
7562 if test "$_joystick" = yes ; then
7563 if linux ; then
7564 # TODO add some check
7565 def_joystick='#define CONFIG_JOYSTICK 1'
7566 else
7567 _joystick="no"
7568 _res_comment="unsupported under $system_name"
7571 echores "$_joystick"
7573 echocheck "lirc"
7574 if test "$_lirc" = auto ; then
7575 _lirc=no
7576 cat > $TMPC <<EOF
7577 #include <lirc/lirc_client.h>
7578 int main(void) { return 0; }
7580 cc_check -llirc_client && _lirc=yes
7582 if test "$_lirc" = yes ; then
7583 def_lirc='#define CONFIG_LIRC 1'
7584 libs_mplayer="$libs_mplayer -llirc_client"
7585 else
7586 def_lirc='#undef CONFIG_LIRC'
7588 echores "$_lirc"
7590 echocheck "lircc"
7591 if test "$_lircc" = auto ; then
7592 _lircc=no
7593 cat > $TMPC <<EOF
7594 #include <lirc/lircc.h>
7595 int main(void) { return 0; }
7597 cc_check -llircc && _lircc=yes
7599 if test "$_lircc" = yes ; then
7600 def_lircc='#define CONFIG_LIRCC 1'
7601 libs_mplayer="$libs_mplayer -llircc"
7602 else
7603 def_lircc='#undef CONFIG_LIRCC'
7605 echores "$_lircc"
7607 if arm; then
7608 # Detect maemo development platform libraries availability (http://www.maemo.org),
7609 # they are used when run on Nokia 770|8x0
7610 echocheck "maemo (Nokia 770|8x0)"
7611 if test "$_maemo" = auto ; then
7612 _maemo=no
7613 cat > $TMPC << EOF
7614 #include <libosso.h>
7615 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7617 cc_check $($_pkg_config --cflags --libs libosso 2>/dev/null) && _maemo=yes
7619 if test "$_maemo" = yes ; then
7620 def_maemo='#define CONFIG_MAEMO 1'
7621 extra_cflags="$extra_cflags $($_pkg_config --cflags libosso)"
7622 extra_ldflags="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
7623 else
7624 def_maemo='#undef CONFIG_MAEMO'
7626 echores "$_maemo"
7629 #############################################################################
7631 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7632 # the OMF format needs to come after the 'extern symbol prefix' check, which
7633 # uses nm.
7634 if os2 ; then
7635 extra_ldflags="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7638 # linker paths should be the same for mencoder and mplayer
7639 _ld_tmp=""
7640 for I in $libs_mplayer ; do
7641 _tmp=$(echo $I | sed -e 's/^-L.*$//')
7642 if test -z "$_tmp" ; then
7643 extra_ldflags="$extra_ldflags $I"
7644 else
7645 _ld_tmp="$_ld_tmp $I"
7647 done
7648 libs_mplayer=$_ld_tmp
7651 #############################################################################
7652 # 64 bit file offsets?
7653 if test "$_largefiles" = yes || freebsd ; then
7654 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7655 if test "$_dvdread" = yes || test "$_libdvdcss_internal" = yes ; then
7656 # dvdread support requires this (for off64_t)
7657 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7661 CXXFLAGS=" $CFLAGS -Iffmpeg -D__STDC_LIMIT_MACROS"
7663 # This must be the last test to be performed. Any other tests following it
7664 # could fail due to linker errors. libdvdnavmini is intentionally not linked
7665 # against libdvdread (to permit MPlayer to use its own copy of the library).
7666 # So any compilation using the flags added here but not linking against
7667 # libdvdread can fail.
7668 echocheck "DVD support (libdvdnav)"
7669 if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
7670 _dvdnav=no
7672 dvdnav_internal=no
7673 if test "$_dvdnav" = auto ; then
7674 if test "$_dvdread_internal" = yes ; then
7675 _dvdnav=yes
7676 dvdnav_internal=yes
7677 _res_comment="internal"
7678 else
7679 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
7682 if test "$_dvdnav" = auto ; then
7683 cat > $TMPC <<EOF
7684 #include <inttypes.h>
7685 #include <dvdnav/dvdnav.h>
7686 int main(void) { dvdnav_t *dvd=0; return 0; }
7688 _dvdnav=no
7689 _dvdnavdir=$($_dvdnavconfig --cflags)
7690 _dvdnavlibs=$($_dvdnavconfig --libs)
7691 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
7693 if test "$_dvdnav" = yes ; then
7694 _largefiles=yes
7695 def_dvdnav='#define CONFIG_DVDNAV 1'
7696 if test "$dvdnav_internal" = yes ; then
7697 cflags_libdvdnav="-Ilibdvdnav"
7698 _inputmodules="dvdnav(internal) $_inputmodules"
7699 else
7700 extra_cflags="$extra_cflags $($_dvdnavconfig --cflags)"
7701 extra_ldflags="$extra_ldflags $($_dvdnavconfig --minilibs)"
7702 _inputmodules="dvdnav $_inputmodules"
7704 else
7705 def_dvdnav='#undef CONFIG_DVDNAV'
7706 _noinputmodules="dvdnav $_noinputmodules"
7708 echores "$_dvdnav"
7710 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
7711 # Read dvdnav comment above.
7713 #############################################################################
7714 echo "Creating config.mak"
7715 cat > config.mak << EOF
7716 # -------- Generated by configure -----------
7718 # Ensure that locale settings do not interfere with shell commands.
7719 export LC_ALL = C
7721 CONFIGURATION = $_configuration
7723 CHARSET = $_charset
7724 DOC_LANGS = $language_doc
7725 DOC_LANG_ALL = $doc_lang_all
7726 MAN_LANGS = $language_man
7727 MAN_LANG_ALL = $man_lang_all
7729 prefix = \$(DESTDIR)$_prefix
7730 BINDIR = \$(DESTDIR)$_bindir
7731 DATADIR = \$(DESTDIR)$_datadir
7732 LIBDIR = \$(DESTDIR)$_libdir
7733 MANDIR = \$(DESTDIR)$_mandir
7734 CONFDIR = \$(DESTDIR)$_confdir
7736 AR = $_ar
7737 AS = $_cc
7738 CC = $_cc
7739 CXX = $_cc
7740 HOST_CC = $_host_cc
7741 YASM = $_yasm
7742 INSTALL = $_install
7743 INSTALLSTRIP = $_install_strip
7744 RANLIB = $_ranlib
7745 WINDRES = $_windres
7747 CFLAGS = $CFLAGS $extra_cflags
7748 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
7749 CFLAGS_DHAHELPER = $cflags_dhahelper
7750 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
7751 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
7752 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
7753 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
7754 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
7755 CFLAGS_STACKREALIGN = $cflags_stackrealign
7756 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
7757 CFLAGS_TREMOR_LOW = $cflags_tremor_low
7758 YASMFLAGS = $YASMFLAGS
7760 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
7761 EXTRALIBS_MPLAYER = $libs_mplayer
7762 EXTRALIBS_MENCODER = $libs_mencoder
7764 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.xpm,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7765 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.hh,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7767 GETCH = $_getch
7768 HELP_FILE = $_mp_help
7769 TIMER = $_timer
7771 EXESUF = $_exesuf
7772 EXESUFS_ALL = .exe
7774 $_target_arch
7775 $_target_subarch
7776 $(echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/')
7778 MENCODER = $_mencoder
7779 MPLAYER = $_mplayer
7781 NEED_GETTIMEOFDAY = $_need_gettimeofday
7782 NEED_GLOB = $_need_glob
7783 NEED_MMAP = $_need_mmap
7784 NEED_SETENV = $_need_setenv
7785 NEED_SHMEM = $_need_shmem
7786 NEED_STRSEP = $_need_strsep
7787 NEED_SWAB = $_need_swab
7788 NEED_VSSCANF = $_need_vsscanf
7790 # features
7791 3DFX = $_3dfx
7792 AA = $_aa
7793 ALSA1X = $_alsa1x
7794 ALSA9 = $_alsa9
7795 ALSA5 = $_alsa5
7796 APPLE_IR = $_apple_ir
7797 APPLE_REMOTE = $_apple_remote
7798 ARTS = $_arts
7799 AUDIO_INPUT = $_audio_input
7800 BITMAP_FONT = $_bitmap_font
7801 BL = $_bl
7802 CACA = $_caca
7803 CDDA = $_cdda
7804 CDDB = $_cddb
7805 COREAUDIO = $_coreaudio
7806 COREVIDEO = $_corevideo
7807 DART = $_dart
7808 DFBMGA = $_dfbmga
7809 DGA = $_dga
7810 DIRECT3D = $_direct3d
7811 DIRECTFB = $_directfb
7812 DIRECTX = $_directx
7813 DVBIN = $_dvbin
7814 DVDNAV = $_dvdnav
7815 DVDNAV_INTERNAL = $dvdnav_internal
7816 DVDREAD = $_dvdread
7817 DVDREAD_INTERNAL = $_dvdread_internal
7818 DXR2 = $_dxr2
7819 DXR3 = $_dxr3
7820 ESD = $_esd
7821 FAAC=$_faac
7822 FAAD = $_faad
7823 FAAD_INTERNAL = $_faad_internal
7824 FASTMEMCPY = $_fastmemcpy
7825 FBDEV = $_fbdev
7826 FREETYPE = $_freetype
7827 FTP = $_ftp
7828 GIF = $_gif
7829 GGI = $_ggi
7830 GL = $_gl
7831 GL_WIN32 = $_gl_win32
7832 HAVE_POSIX_SELECT = $_posix_select
7833 HAVE_SYS_MMAN_H = $_mman
7834 IVTV = $_ivtv
7835 JACK = $_jack
7836 JOYSTICK = $_joystick
7837 JPEG = $_jpeg
7838 KVA = $_kva
7839 LADSPA = $_ladspa
7840 LIBA52 = $_liba52
7841 LIBA52_INTERNAL = $_liba52_internal
7842 LIBASS = $_ass
7843 LIBBS2B = $_libbs2b
7844 LIBDCA = $_libdca
7845 LIBDV = $_libdv
7846 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7847 LIBLZO = $_liblzo
7848 LIBMAD = $_mad
7849 LIBMENU = $_menu
7850 LIBMENU_DVBIN = $_menu_dvbin
7851 LIBMPEG2 = $_libmpeg2
7852 LIBNEMESI = $_nemesi
7853 LIBNUT = $_libnut
7854 LIBSMBCLIENT = $_smb
7855 LIBTHEORA = $_theora
7856 LIRC = $_lirc
7857 LIVE555 = $_live
7858 MACOSX_BUNDLE = $_macosx_bundle
7859 MACOSX_FINDER = $_macosx_finder
7860 MD5SUM = $_md5sum
7861 MGA = $_mga
7862 MNG = $_mng
7863 MP3LAME = $_mp3lame
7864 MP3LIB = $_mp3lib
7865 MUSEPACK = $_musepack
7866 NAS = $_nas
7867 NATIVE_RTSP = $_native_rtsp
7868 NETWORK = $_network
7869 OPENAL = $_openal
7870 OSS = $_ossaudio
7871 PE_EXECUTABLE = $_pe_executable
7872 PNG = $_png
7873 PNM = $_pnm
7874 PRIORITY = $_priority
7875 PULSE = $_pulse
7876 PVR = $_pvr
7877 QTX_CODECS = $_qtx
7878 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7879 QTX_EMULATION = $_qtx_emulation
7880 QUARTZ = $_quartz
7881 RADIO=$_radio
7882 RADIO_CAPTURE=$_radio_capture
7883 REAL_CODECS = $_real
7884 S3FB = $_s3fb
7885 SDL = $_sdl
7886 SPEEX = $_speex
7887 STREAM_CACHE = $_stream_cache
7888 SGIAUDIO = $_sgiaudio
7889 SUNAUDIO = $_sunaudio
7890 SVGA = $_svga
7891 TDFXFB = $_tdfxfb
7892 TDFXVID = $_tdfxvid
7893 TGA = $_tga
7894 TOOLAME=$_toolame
7895 TREMOR_INTERNAL = $_tremor_internal
7896 TV = $_tv
7897 TV_BSDBT848 = $_tv_bsdbt848
7898 TV_DSHOW = $_tv_dshow
7899 TV_V4L = $_tv_v4l
7900 TV_V4L1 = $_tv_v4l1
7901 TV_V4L2 = $_tv_v4l2
7902 TWOLAME=$_twolame
7903 UNRAR_EXEC = $_unrar_exec
7904 V4L2 = $_v4l2
7905 VCD = $_vcd
7906 VDPAU = $_vdpau
7907 VESA = $_vesa
7908 VIDIX = $_vidix
7909 VIDIX_PCIDB = $_vidix_pcidb_val
7910 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7911 VIDIX_IVTV=$_vidix_drv_ivtv
7912 VIDIX_MACH64=$_vidix_drv_mach64
7913 VIDIX_MGA=$_vidix_drv_mga
7914 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7915 VIDIX_NVIDIA=$_vidix_drv_nvidia
7916 VIDIX_PM2=$_vidix_drv_pm2
7917 VIDIX_PM3=$_vidix_drv_pm3
7918 VIDIX_RADEON=$_vidix_drv_radeon
7919 VIDIX_RAGE128=$_vidix_drv_rage128
7920 VIDIX_S3=$_vidix_drv_s3
7921 VIDIX_SH_VEU=$_vidix_drv_sh_veu
7922 VIDIX_SIS=$_vidix_drv_sis
7923 VIDIX_UNICHROME=$_vidix_drv_unichrome
7924 VORBIS = $_vorbis
7925 VSTREAM = $_vstream
7926 WII = $_wii
7927 WIN32DLL = $_win32dll
7928 WIN32WAVEOUT = $_win32waveout
7929 WIN32_EMULATION = $_win32_emulation
7930 WINVIDIX = $winvidix
7931 X11 = $_x11
7932 X264 = $_x264
7933 XANIM_CODECS = $_xanim
7934 XMGA = $_xmga
7935 XMMS_PLUGINS = $_xmms
7936 XV = $_xv
7937 XVID4 = $_xvid
7938 XVIDIX = $xvidix
7939 XVMC = $_xvmc
7940 XVR100 = $_xvr100
7941 YUV4MPEG = $_yuv4mpeg
7942 ZR = $_zr
7944 # FFmpeg
7945 LIBAVUTIL = $_libavutil
7946 LIBAVCODEC = $_libavcodec
7947 LIBAVFORMAT = $_libavformat
7948 LIBPOSTPROC = $_libpostproc
7949 LIBSWSCALE = $_libswscale
7950 LIBAVCODEC_INTERNALS = $_libavcodec_internals
7951 LIBSWSCALE_INTERNALS = $_libswscale_internals
7952 FFMPEG_SOURCE_PATH = $_ffmpeg_source
7954 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
7955 CONFIG_AANDCT=yes
7956 CONFIG_FFT=yes
7957 CONFIG_FFT_MMX=$fft_mmx
7958 CONFIG_GOLOMB=yes
7959 CONFIG_LPC=yes
7960 CONFIG_MDCT=yes
7961 CONFIG_RDFT=yes
7963 CONFIG_BZLIB=$bzlib
7964 CONFIG_ENCODERS=yes
7965 CONFIG_GPL=yes
7966 CONFIG_MLIB = $_mlib
7967 CONFIG_MUXERS=$_mencoder
7968 CONFIG_VDPAU=$_vdpau
7969 CONFIG_XVMC=$_xvmc
7970 CONFIG_ZLIB=$_zlib
7972 HAVE_PTHREADS = $_pthreads
7973 HAVE_SHM = $_shm
7974 HAVE_W32THREADS = $_w32threads
7975 HAVE_YASM = $_have_yasm
7979 #############################################################################
7981 ff_config_enable () {
7982 _nprefix=$3;
7983 test -z "$_nprefix" && _nprefix='CONFIG'
7984 for part in $1; do
7985 if $(echo $2 | grep -q -E "(^| )$part($| )"); then
7986 echo "#define ${_nprefix}_$part 1"
7987 else
7988 echo "#define ${_nprefix}_$part 0"
7990 done
7993 echo "Creating config.h"
7994 cat > $TMPH << EOF
7995 /*----------------------------------------------------------------------------
7996 ** This file has been automatically generated by configure any changes in it
7997 ** will be lost when you run configure again.
7998 ** Instead of modifying definitions here, use the --enable/--disable options
7999 ** of the configure script! See ./configure --help for details.
8000 *---------------------------------------------------------------------------*/
8002 #ifndef MPLAYER_CONFIG_H
8003 #define MPLAYER_CONFIG_H
8005 /* Undefine this if you do not want to select mono audio (left or right)
8006 with a stereo MPEG layer 2/3 audio stream. The command line option
8007 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8008 right-only), with 0 being the default.
8010 #define CONFIG_FAKE_MONO 1
8012 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8013 #define MAX_OUTBURST 65536
8015 /* set up audio OUTBURST. Do not change this! */
8016 #define OUTBURST 512
8018 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8019 #undef FAST_OSD
8020 #undef FAST_OSD_TABLE
8022 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8023 #define MPEG12_POSTPROC 1
8024 #define ATTRIBUTE_ALIGNED_MAX 16
8028 #define CONFIGURATION "$_configuration"
8030 #define MPLAYER_DATADIR "$_datadir"
8031 #define MPLAYER_CONFDIR "$_confdir"
8032 #define MPLAYER_LIBDIR "$_libdir"
8034 /* definitions needed by included libraries */
8035 #define HAVE_INTTYPES_H 1
8036 /* libmpeg2 + FFmpeg */
8037 $def_fast_inttypes
8038 /* libdvdcss */
8039 #define HAVE_ERRNO_H 1
8040 /* libdvdcss + libdvdread */
8041 #define HAVE_LIMITS_H 1
8042 /* libdvdcss + libfaad2 */
8043 #define HAVE_UNISTD_H 1
8044 /* libfaad2 + libdvdread */
8045 #define STDC_HEADERS 1
8046 #define HAVE_MEMCPY 1
8047 /* libfaad2 */
8048 #define HAVE_STRING_H 1
8049 #define HAVE_STRINGS_H 1
8050 #define HAVE_SYS_STAT_H 1
8051 #define HAVE_SYS_TYPES_H 1
8052 /* libdvdnav */
8053 #define READ_CACHE_TRACE 0
8054 /* libdvdread */
8055 #define HAVE_DLFCN_H 1
8056 $def_dvdcss
8059 /* system headers */
8060 $def_alloca_h
8061 $def_alsa_asoundlib_h
8062 $def_altivec_h
8063 $def_malloc_h
8064 $def_mman_h
8065 $def_mman_has_map_failed
8066 $def_soundcard_h
8067 $def_sys_asoundlib_h
8068 $def_sys_soundcard_h
8069 $def_sys_sysinfo_h
8070 $def_termios_h
8071 $def_termios_sys_h
8072 $def_winsock2_h
8075 /* system functions */
8076 $def_gethostbyname2
8077 $def_gettimeofday
8078 $def_glob
8079 $def_langinfo
8080 $def_llrint
8081 $def_log2
8082 $def_lrint
8083 $def_lrintf
8084 $def_map_memalign
8085 $def_memalign
8086 $def_nanosleep
8087 $def_posix_select
8088 $def_round
8089 $def_roundf
8090 $def_select
8091 $def_setenv
8092 $def_shm
8093 $def_strsep
8094 $def_swab
8095 $def_sysi86
8096 $def_sysi86_iv
8097 $def_termcap
8098 $def_termios
8099 $def_truncf
8100 $def_vsscanf
8103 /* system-specific features */
8104 $def_asmalign_pot
8105 $def_builtin_expect
8106 $def_dl
8107 $def_extern_asm
8108 $def_extern_prefix
8109 $def_iconv
8110 $def_kstat
8111 $def_macosx_bundle
8112 $def_macosx_finder
8113 $def_maemo
8114 $def_named_asm_args
8115 $def_priority
8116 $def_quicktime
8117 $def_restrict_keyword
8118 $def_rtc
8119 $def_unrar_exec
8122 /* configurable options */
8123 $def_charset
8124 $def_crash_debug
8125 $def_debug
8126 $def_dynamic_plugins
8127 $def_fastmemcpy
8128 $def_menu
8129 $def_runtime_cpudetection
8130 $def_sighandler
8131 $def_sortsub
8132 $def_stream_cache
8133 $def_pthread_cache
8136 /* CPU stuff */
8137 #define __CPU__ $iproc
8138 $def_words_endian
8139 $def_bigendian
8140 $(ff_config_enable "$_arch_all" "$_arch" "ARCH")
8141 $(ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE")
8144 /* DVD/VCD/CD */
8145 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8146 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8147 $def_bsdi_dvd
8148 $def_cddb
8149 $def_cdio
8150 $def_cdparanoia
8151 $def_cdrom
8152 $def_dvd
8153 $def_dvd_bsd
8154 $def_dvd_darwin
8155 $def_dvd_linux
8156 $def_dvd_openbsd
8157 $def_dvdio
8158 $def_dvdnav
8159 $def_dvdread
8160 $def_hpux_scsi_h
8161 $def_libcdio
8162 $def_sol_scsi_h
8163 $def_vcd
8166 /* codec libraries */
8167 $def_faac
8168 $def_faad
8169 $def_faad_internal
8170 $def_liba52
8171 $def_liba52_internal
8172 $def_libdca
8173 $def_libdv
8174 $def_liblzo
8175 $def_libmpeg2
8176 $def_mad
8177 $def_mp3lame
8178 $def_mp3lame_preset
8179 $def_mp3lame_preset_medium
8180 $def_mp3lib
8181 $def_musepack
8182 $def_speex
8183 $def_theora
8184 $def_toolame
8185 $def_tremor
8186 $def_twolame
8187 $def_vorbis
8188 $def_x264
8189 $def_xvid
8190 $def_zlib
8192 $def_libnut
8195 /* binary codecs */
8196 $def_qtx
8197 $def_qtx_win32
8198 $def_real
8199 $def_real_path
8200 $def_win32_loader
8201 $def_win32dll
8202 #define WIN32_PATH "$_win32codecsdir"
8203 $def_xanim
8204 $def_xanim_path
8205 $def_xmms
8206 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8209 /* Audio output drivers */
8210 $def_alsa
8211 $def_alsa1x
8212 $def_alsa5
8213 $def_alsa9
8214 $def_arts
8215 $def_coreaudio
8216 $def_dart
8217 $def_esd
8218 $def_esd_latency
8219 $def_jack
8220 $def_nas
8221 $def_openal
8222 $def_openal_h
8223 $def_ossaudio
8224 $def_ossaudio_devdsp
8225 $def_ossaudio_devmixer
8226 $def_pulse
8227 $def_sgiaudio
8228 $def_sunaudio
8229 $def_win32waveout
8231 $def_ladspa
8232 $def_libbs2b
8235 /* input */
8236 $def_apple_ir
8237 $def_apple_remote
8238 $def_ioctl_bt848_h_name
8239 $def_ioctl_meteor_h_name
8240 $def_joystick
8241 $def_lirc
8242 $def_lircc
8243 $def_pvr
8244 $def_radio
8245 $def_radio_bsdbt848
8246 $def_radio_capture
8247 $def_radio_v4l
8248 $def_radio_v4l2
8249 $def_tv
8250 $def_tv_bsdbt848
8251 $def_tv_dshow
8252 $def_tv_v4l
8253 $def_tv_v4l1
8254 $def_tv_v4l2
8257 /* font stuff */
8258 $def_ass
8259 $def_bitmap_font
8260 $def_enca
8261 $def_fontconfig
8262 $def_freetype
8263 $def_fribidi
8266 /* networking */
8267 $def_closesocket
8268 $def_ftp
8269 $def_inet6
8270 $def_inet_aton
8271 $def_inet_pton
8272 $def_live
8273 $def_nemesi
8274 $def_network
8275 $def_smb
8276 $def_socklen_t
8277 $def_vstream
8280 /* libvo options */
8281 $def_3dfx
8282 $def_aa
8283 $def_bl
8284 $def_caca
8285 $def_corevideo
8286 $def_dfbmga
8287 $def_dga
8288 $def_dga1
8289 $def_dga2
8290 $def_direct3d
8291 $def_directfb
8292 $def_directfb_version
8293 $def_directx
8294 $def_dvb
8295 $def_dvb_head
8296 $def_dvbin
8297 $def_dxr2
8298 $def_dxr3
8299 $def_fbdev
8300 $def_ggi
8301 $def_ggiwmh
8302 $def_gif
8303 $def_gif_4
8304 $def_gif_tvt_hack
8305 $def_gl
8306 $def_gl_win32
8307 $def_ivtv
8308 $def_jpeg
8309 $def_kva
8310 $def_md5sum
8311 $def_mga
8312 $def_mng
8313 $def_png
8314 $def_pnm
8315 $def_quartz
8316 $def_s3fb
8317 $def_sdl
8318 $def_sdlbuggy
8319 $def_svga
8320 $def_tdfxfb
8321 $def_tdfxvid
8322 $def_tga
8323 $def_v4l2
8324 $def_vdpau
8325 $def_vesa
8326 $def_vidix
8327 $def_vidix_drv_cyberblade
8328 $def_vidix_drv_ivtv
8329 $def_vidix_drv_mach64
8330 $def_vidix_drv_mga
8331 $def_vidix_drv_mga_crtc2
8332 $def_vidix_drv_nvidia
8333 $def_vidix_drv_pm3
8334 $def_vidix_drv_radeon
8335 $def_vidix_drv_rage128
8336 $def_vidix_drv_s3
8337 $def_vidix_drv_sh_veu
8338 $def_vidix_drv_sis
8339 $def_vidix_drv_unichrome
8340 $def_vidix_pfx
8341 $def_vm
8342 $def_wii
8343 $def_x11
8344 $def_xdpms
8345 $def_xf86keysym
8346 $def_xinerama
8347 $def_xmga
8348 $def_xss
8349 $def_xv
8350 $def_xvmc
8351 $def_xvr100
8352 $def_yuv4mpeg
8353 $def_zr
8356 /* FFmpeg */
8357 $def_libavcodec
8358 $def_libavformat
8359 $def_libavutil
8360 $def_libpostproc
8361 $def_libswscale
8362 $def_libavcodec_internals
8363 $def_libswscale_internals
8365 #define CONFIG_DECODERS 1
8366 #define CONFIG_ENCODERS 1
8367 #define CONFIG_DEMUXERS 1
8368 $def_muxers
8370 $def_arpa_inet_h
8371 $def_bswap
8372 $def_bzlib
8373 $def_dcbzl
8374 $def_dos_paths
8375 $def_fast_64bit
8376 $def_fast_unaligned
8377 $def_memalign_hack
8378 $def_mlib
8379 $def_mkstemp
8380 $def_posix_memalign
8381 $def_pthreads
8382 $def_ten_operands
8383 $def_threads
8384 $def_xform_asm
8385 $def_yasm
8387 #define CONFIG_FASTDIV 0
8388 #define CONFIG_FFSERVER 0
8389 #define CONFIG_GPL 1
8390 #define CONFIG_GRAY 0
8391 #define CONFIG_HARDCODED_TABLES 0
8392 #define CONFIG_LIBVORBIS 0
8393 #define CONFIG_POWERPC_PERF 0
8394 #define CONFIG_SMALL 0
8395 #define CONFIG_SWSCALE 1
8396 #define CONFIG_SWSCALE_ALPHA 1
8398 #define HAVE_ATTRIBUTE_PACKED 1
8399 #define HAVE_GETHRTIME 0
8400 #define HAVE_INLINE_ASM 0
8401 #define HAVE_LDBRX 0
8402 #define HAVE_POLL_H 1
8403 #define HAVE_PPC4XX 0
8404 #define HAVE_VIRTUALALLOC 0
8406 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
8407 #define CONFIG_AANDCT 1
8408 #define CONFIG_FFT 1
8409 #define CONFIG_GOLOMB 1
8410 #define CONFIG_LPC 1
8411 #define CONFIG_MDCT 1
8412 #define CONFIG_RDFT 1
8414 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8415 $def_ebx_available
8416 #ifndef MP_DEBUG
8417 #define HAVE_EBP_AVAILABLE 1
8418 #else
8419 #define HAVE_EBP_AVAILABLE 0
8420 #endif
8422 #define CONFIG_H263_VAAPI_HWACCEL 0
8423 #define CONFIG_MPEG2_VAAPI_HWACCEL 0
8424 #define CONFIG_MPEG4_VAAPI_HWACCEL 0
8425 #define CONFIG_H264_VAAPI_HWACCEL 0
8426 #define CONFIG_VC1_VAAPI_HWACCEL 0
8427 #define CONFIG_WMV3_VAAPI_HWACCEL 0
8429 #endif /* MPLAYER_CONFIG_H */
8432 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8433 cmp -s "$TMPH" config.h || mv -f "$TMPH" config.h
8435 #############################################################################
8437 cat << EOF
8439 Config files successfully generated by ./configure $_configuration !
8441 Install prefix: $_prefix
8442 Data directory: $_datadir
8443 Config direct.: $_confdir
8445 Byte order: $_byte_order
8446 Optimizing for: $_optimizing
8448 Languages:
8449 Messages: $language_msg
8450 Manual pages: $language_man
8451 Documentation: $language_doc
8453 Enabled optional drivers:
8454 Input: $_inputmodules
8455 Codecs: $_codecmodules
8456 Audio output: $_aomodules
8457 Video output: $_vomodules
8459 Disabled optional drivers:
8460 Input: $_noinputmodules
8461 Codecs: $_nocodecmodules
8462 Audio output: $_noaomodules
8463 Video output: $_novomodules
8465 'config.h' and 'config.mak' contain your configuration options.
8466 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8467 compile *** DO NOT REPORT BUGS if you tweak these files ***
8469 'make' will now compile MPlayer and 'make install' will install it.
8470 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8475 if test "$_mtrr" = yes ; then
8476 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
8477 echo
8480 if ! x86_32; then
8481 cat <<EOF
8482 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8483 operating system ($system_name). You may encounter a few files that cannot
8484 be played due to missing open source video/audio codec support.
8490 cat <<EOF
8491 Check $TMPLOG if you wonder why an autodetection failed (make sure
8492 development headers/packages are installed).
8494 NOTE: The --enable-* parameters unconditionally force options on, completely
8495 skipping autodetection. This behavior is unlike what you may be used to from
8496 autoconf-based configure scripts that can decide to override you. This greater
8497 level of control comes at a price. You may have to provide the correct compiler
8498 and linker flags yourself.
8499 If you used one of these options (except --enable-menu and similar ones that
8500 turn on internal features) and experience a compilation or linking failure,
8501 make sure you have passed the necessary compiler/linker flags to configure.
8503 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
8507 if test "$_warn_CFLAGS" = yes; then
8508 cat <<EOF
8510 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
8511 but:
8513 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8515 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8516 To do so, execute 'CFLAGS= ./configure <options>'
8521 # Last move:
8522 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"