remove libaf/af_lavcac3enc.c
[mplayer/glamo.git] / configure
blob3f3f0fae7d42fe490b6dbca1839adbf59f39b2c2
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-tv-teletext disable TV teletext interface [autodetect]
250 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
251 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
252 --disable-network disable networking [enable]
253 --enable-winsock2_h enable winsock2_h [autodetect]
254 --enable-smb enable Samba (SMB) input [autodetect]
255 --enable-live enable LIVE555 Streaming Media [autodetect]
256 --enable-nemesi enable Nemesi Streaming Media [autodetect]
257 --disable-vcd disable VCD support [autodetect]
258 --disable-dvdnav disable libdvdnav [autodetect]
259 --disable-dvdread disable libdvdread [autodetect]
260 --disable-dvdread-internal disable internal libdvdread [autodetect]
261 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
262 --disable-cdparanoia disable cdparanoia [autodetect]
263 --disable-cddb disable cddb [autodetect]
264 --disable-bitmap-font disable bitmap font support [enable]
265 --disable-freetype disable FreeType 2 font rendering [autodetect]
266 --disable-fontconfig disable fontconfig font lookup [autodetect]
267 --disable-unrarexec disable using of UnRAR executable [enabled]
268 --enable-menu enable OSD menu (not DVD menu) [disabled]
269 --disable-sortsub disable subtitle sorting [enabled]
270 --enable-fribidi enable the FriBiDi libs [autodetect]
271 --disable-enca disable ENCA charset oracle library [autodetect]
272 --disable-maemo disable maemo specific features [autodetect]
273 --enable-macosx-finder enable Mac OS X Finder invocation parameter
274 parsing [disabled]
275 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
276 --disable-inet6 disable IPv6 support [autodetect]
277 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
278 --disable-ftp disable FTP support [enabled]
279 --disable-vstream disable TiVo vstream client support [autodetect]
280 --disable-pthreads disable Posix threads support [autodetect]
281 --disable-w32threads disable Win32 threads support [autodetect]
282 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
283 --enable-rpath enable runtime linker path for extra libs [disabled]
285 Codecs:
286 --enable-gif enable GIF support [autodetect]
287 --enable-png enable PNG input/output support [autodetect]
288 --enable-mng enable MNG input support [autodetect]
289 --enable-jpeg enable JPEG input/output support [autodetect]
290 --enable-libcdio enable libcdio support [autodetect]
291 --enable-liblzo enable liblzo support [autodetect]
292 --disable-win32dll disable Win32 DLL support [enabled]
293 --disable-qtx disable QuickTime codecs support [enabled]
294 --disable-xanim disable XAnim codecs support [enabled]
295 --disable-real disable RealPlayer codecs support [enabled]
296 --disable-xvid disable Xvid [autodetect]
297 --disable-x264 disable x264 [autodetect]
298 --disable-libnut disable libnut [autodetect]
299 --disable-libavutil disable libavutil [autodetect]
300 --disable-libavcodec disable libavcodec [autodetect]
301 --disable-libavformat disable libavformat [autodetect]
302 --disable-libpostproc disable libpostproc [autodetect]
303 --disable-libswscale disable libswscale [autodetect]
304 --disable-tremor-internal disable internal Tremor [enabled]
305 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
306 --enable-tremor enable external Tremor [autodetect]
307 --disable-libvorbis disable libvorbis support [autodetect]
308 --disable-speex disable Speex support [autodetect]
309 --enable-theora enable OggTheora libraries [autodetect]
310 --enable-faad enable external FAAD2 (AAC) [autodetect]
311 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
312 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
313 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
314 --disable-ladspa disable LADSPA plugin support [autodetect]
315 --disable-libbs2b disable libbs2b audio filter support [autodetect]
316 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
317 --disable-mad disable libmad (MPEG audio) support [autodetect]
318 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
319 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
320 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
321 --enable-xmms enable XMMS input plugin support [disabled]
322 --enable-libdca enable libdca support [autodetect]
323 --disable-mp3lib disable builtin mp3lib [autodetect]
324 --disable-liba52 disable liba52 [autodetect]
325 --disable-liba52-internal disable builtin liba52 [autodetect]
326 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
327 --disable-musepack disable musepack support [autodetect]
329 Video output:
330 --disable-vidix disable VIDIX [for x86 *nix]
331 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
332 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
333 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
334 --disable-vidix-pcidb disable VIDIX PCI device name database
335 --enable-dhahelper enable VIDIX dhahelper support
336 --enable-svgalib_helper enable VIDIX svgalib_helper support
337 --enable-gl enable OpenGL video output [autodetect]
338 --enable-dga2 enable DGA 2 support [autodetect]
339 --enable-dga1 enable DGA 1 support [autodetect]
340 --enable-vesa enable VESA video output [autodetect]
341 --enable-svga enable SVGAlib video output [autodetect]
342 --enable-sdl enable SDL video output [autodetect]
343 --enable-kva enable KVA video output [autodetect]
344 --enable-aa enable AAlib video output [autodetect]
345 --enable-caca enable CACA video output [autodetect]
346 --enable-ggi enable GGI video output [autodetect]
347 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
348 --enable-direct3d enable Direct3D video output [autodetect]
349 --enable-directx enable DirectX video output [autodetect]
350 --enable-dxr2 enable DXR2 video output [autodetect]
351 --enable-dxr3 enable DXR3/H+ video output [autodetect]
352 --enable-ivtv enable IVTV TV-Out video output [autodetect]
353 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
354 --enable-dvb enable DVB video output [autodetect]
355 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
356 --enable-mga enable mga_vid video output [autodetect]
357 --enable-xmga enable mga_vid X11 video output [autodetect]
358 --enable-xv enable Xv video output [autodetect]
359 --enable-xvmc enable XvMC acceleration [disable]
360 --enable-vdpau enable VDPAU acceleration [autodetect]
361 --enable-vm enable XF86VidMode support [autodetect]
362 --enable-xinerama enable Xinerama support [autodetect]
363 --enable-x11 enable X11 video output [autodetect]
364 --enable-xshape enable XShape support [autodetect]
365 --disable-xss disable screensaver support via xss [autodetect]
366 --enable-fbdev enable FBDev video output [autodetect]
367 --enable-mlib enable mediaLib video output (Solaris) [disable]
368 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
369 --enable-tdfxfb enable tdfxfb video output [disable]
370 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
371 --enable-wii enable Nintendo Wii/GameCube video output [disable]
372 --enable-directfb enable DirectFB video output [autodetect]
373 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
374 --enable-bl enable Blinkenlights video output [disable]
375 --enable-tdfxvid enable tdfx_vid video output [disable]
376 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
377 --disable-tga disable Targa video output [enable]
378 --disable-pnm disable PNM video output [enable]
379 --disable-md5sum disable md5sum video output [enable]
380 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
381 --disable-corevideo disable CoreVideo video output [autodetect]
382 --disable-quartz disable Quartz video output [autodetect]
383 --disable-glamo disable Glamo accelerated video output [enable]
385 Audio output:
386 --disable-alsa disable ALSA audio output [autodetect]
387 --disable-ossaudio disable OSS audio output [autodetect]
388 --disable-arts disable aRts audio output [autodetect]
389 --disable-esd disable esd audio output [autodetect]
390 --disable-pulse disable Pulseaudio audio output [autodetect]
391 --disable-jack disable JACK audio output [autodetect]
392 --enable-openal enable OpenAL audio output [disable]
393 --disable-nas disable NAS audio output [autodetect]
394 --disable-sgiaudio disable SGI audio output [autodetect]
395 --disable-sunaudio disable Sun audio output [autodetect]
396 --disable-dart disable DART audio output [autodetect]
397 --disable-win32waveout disable Windows waveout audio output [autodetect]
398 --disable-coreaudio disable CoreAudio audio output [autodetect]
399 --disable-select disable using select() on the audio device [enable]
401 Language options:
402 --charset=charset convert the console messages to this character set
403 --language-doc=lang language to use for the documentation [en]
404 --language-man=lang language to use for the man pages [en]
405 --language-msg=lang language to use for the messages [en]
406 --language=lang default language to use [en]
407 Specific options override --language. You can pass a list of languages separated
408 by whitespace or commas instead of a single language. Nonexisting translations
409 will be dropped from each list. All documentation and man page translations
410 available in the list will be installed, for the messages the first available
411 translation will be used. The value "all" will activate all translations. The
412 LINGUAS environment variable is honored. In all cases the fallback is English.
413 Available values are: all $msg_lang_all
415 Miscellaneous options:
416 --enable-runtime-cpudetection enable runtime CPU detection [disable]
417 --enable-cross-compile enable cross-compilation [autodetect]
418 --cc=COMPILER C compiler to build MPlayer [gcc]
419 --host-cc=COMPILER C compiler for tools needed while building [gcc]
420 --as=ASSEMBLER assembler to build MPlayer [as]
421 --nm=NM nm tool to build MPlayer [nm]
422 --yasm=YASM Yasm assembler to build MPlayer [yasm]
423 --ar=AR librarian to build MPlayer [ar]
424 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
425 --windres=WINDRES windres to build MPlayer [windres]
426 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
427 --enable-static build a statically linked binary
428 --with-install=PATH path to a custom install program
430 Advanced options:
431 --enable-mmx enable MMX [autodetect]
432 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
433 --enable-3dnow enable 3DNow! [autodetect]
434 --enable-3dnowext enable extended 3DNow! [autodetect]
435 --enable-sse enable SSE [autodetect]
436 --enable-sse2 enable SSE2 [autodetect]
437 --enable-ssse3 enable SSSE3 [autodetect]
438 --enable-shm enable shm [autodetect]
439 --enable-altivec enable AltiVec (PowerPC) [autodetect]
440 --enable-armv5te enable DSP extensions (ARM) [autodetect]
441 --enable-armv6 enable ARMv6 (ARM) [autodetect]
442 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
443 --enable-armvfp enable ARM VFP (ARM) [autodetect]
444 --enable-neon enable NEON (ARM) [autodetect]
445 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
446 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
447 --enable-big-endian force byte order to big-endian [autodetect]
448 --enable-debug[=1-3] compile-in debugging information [disable]
449 --enable-profile compile-in profiling information [disable]
450 --disable-sighandler disable sighandler for crashes [enable]
451 --enable-crash-debug enable automatic gdb attach on crash [disable]
452 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
453 --ffmpeg-source-dir=PATH enable features requiring internal FFmpeg headers
455 Use these options if autodetection fails:
456 --extra-cflags=FLAGS extra CFLAGS
457 --extra-ldflags=FLAGS extra LDFLAGS
458 --extra-libs=FLAGS extra linker flags
459 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
460 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
461 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
463 --with-freetype-config=PATH path to freetype-config
464 --with-fribidi-config=PATH path to fribidi-config
465 --with-glib-config=PATH path to glib*-config
466 --with-gtk-config=PATH path to gtk*-config
467 --with-sdl-config=PATH path to sdl*-config
468 --with-dvdnav-config=PATH path to dvdnav-config
469 --with-dvdread-config=PATH path to dvdread-config
471 This configure script is NOT autoconf-based, even though its output is similar.
472 It will try to autodetect all configuration options. If you --enable an option
473 it will be forcefully turned on, skipping autodetection. This can break
474 compilation, so you need to know what you are doing.
476 exit 0
477 } #show_help()
479 # GOTCHA: the variables below defines the default behavior for autodetection
480 # and have - unless stated otherwise - at least 2 states : yes no
481 # If autodetection is available then the third state is: auto
482 _mmx=auto
483 _3dnow=auto
484 _3dnowext=auto
485 _mmxext=auto
486 _sse=auto
487 _sse2=auto
488 _ssse3=auto
489 _cmov=auto
490 _fast_cmov=auto
491 _armv5te=auto
492 _armv6=auto
493 _armv6t2=auto
494 _armvfp=auto
495 neon=auto
496 _iwmmxt=auto
497 _mtrr=auto
498 _altivec=auto
499 _install=install
500 _ranlib=ranlib
501 _windres=windres
502 _cc=cc
503 _ar=ar
504 test "$CC" && _cc="$CC"
505 _as=auto
506 _nm=auto
507 _yasm=yasm
508 _runtime_cpudetection=no
509 _cross_compile=auto
510 _prefix="/usr/local"
511 _libavutil=auto
512 _libavcodec=auto
513 _libavformat=auto
514 _libpostproc=auto
515 _libswscale=auto
516 _libavcodec_internals=no
517 _libswscale_internals=no
518 _mencoder=yes
519 _mplayer=yes
520 _x11=auto
521 _xshape=auto
522 _xss=auto
523 _dga1=auto
524 _dga2=auto
525 _xv=auto
526 _xvmc=no #auto when complete
527 _vdpau=auto
528 _sdl=auto
529 _kva=auto
530 _direct3d=auto
531 _directx=auto
532 _win32waveout=auto
533 _nas=auto
534 _png=auto
535 _mng=auto
536 _jpeg=auto
537 _pnm=yes
538 _md5sum=yes
539 _yuv4mpeg=yes
540 _gif=auto
541 _gl=auto
542 _ggi=auto
543 _ggiwmh=auto
544 _aa=auto
545 _caca=auto
546 _svga=auto
547 _vesa=auto
548 _fbdev=auto
549 _dvb=auto
550 _dvbhead=auto
551 _dxr2=auto
552 _dxr3=auto
553 _ivtv=auto
554 _v4l2=auto
555 _iconv=auto
556 _langinfo=auto
557 _rtc=auto
558 _ossaudio=auto
559 _arts=auto
560 _esd=auto
561 _pulse=auto
562 _jack=auto
563 _dart=auto
564 _openal=no
565 _libcdio=auto
566 _liblzo=auto
567 _mad=auto
568 _mp3lame=auto
569 _toolame=auto
570 _twolame=auto
571 _tremor=auto
572 _tremor_internal=yes
573 _tremor_low=no
574 _libvorbis=auto
575 _speex=auto
576 _theora=auto
577 _mp3lib=auto
578 _liba52=auto
579 _liba52_internal=auto
580 _libdca=auto
581 _libmpeg2=auto
582 _faad=auto
583 _faad_internal=auto
584 _faad_fixed=no
585 _faac=auto
586 _ladspa=auto
587 _libbs2b=auto
588 _xmms=no
589 _vcd=auto
590 _dvdnav=auto
591 _dvdnavconfig=dvdnav-config
592 _dvdreadconfig=dvdread-config
593 _dvdread=auto
594 _dvdread_internal=auto
595 _libdvdcss_internal=auto
596 _xanim=auto
597 _real=auto
598 _live=auto
599 _nemesi=auto
600 _native_rtsp=yes
601 _xinerama=auto
602 _mga=auto
603 _xmga=auto
604 _vm=auto
605 _xf86keysym=auto
606 _mlib=no #broken, thus disabled
607 _sgiaudio=auto
608 _sunaudio=auto
609 _alsa=auto
610 _fastmemcpy=yes
611 _unrar_exec=auto
612 _win32dll=auto
613 _select=yes
614 _radio=no
615 _radio_capture=no
616 _radio_v4l=auto
617 _radio_v4l2=auto
618 _radio_bsdbt848=auto
619 _tv=yes
620 _tv_v4l1=auto
621 _tv_v4l2=auto
622 _tv_bsdbt848=auto
623 _tv_dshow=auto
624 _tv_teletext=auto
625 _pvr=auto
626 _network=yes
627 _winsock2_h=auto
628 _smb=auto
629 _vidix=auto
630 _vidix_pcidb=yes
631 _dhahelper=no
632 _svgalib_helper=no
633 _joystick=no
634 _xvid=auto
635 _x264=auto
636 _libnut=auto
637 _lirc=auto
638 _lircc=auto
639 _apple_remote=auto
640 _apple_ir=auto
641 _gui=no
642 _gtk1=no
643 _termcap=auto
644 _termios=auto
645 _3dfx=no
646 _s3fb=no
647 _wii=no
648 _tdfxfb=no
649 _tdfxvid=no
650 _xvr100=auto
651 _tga=yes
652 _directfb=auto
653 _zr=auto
654 _bl=no
655 _glamo=yes
656 _largefiles=yes
657 #language=en
658 _shm=auto
659 _linux_devfs=no
660 _charset="UTF-8"
661 _dynamic_plugins=no
662 _crash_debug=no
663 _sighandler=yes
664 _libdv=auto
665 _cdparanoia=auto
666 _cddb=auto
667 _big_endian=auto
668 _bitmap_font=yes
669 _freetype=auto
670 _fontconfig=auto
671 _menu=no
672 _qtx=auto
673 _maemo=auto
674 _coreaudio=auto
675 _corevideo=auto
676 _quartz=auto
677 quicktime=auto
678 _macosx_finder=no
679 _macosx_bundle=auto
680 _sortsub=yes
681 _freetypeconfig='freetype-config'
682 _fribidi=auto
683 _fribidiconfig='fribidi-config'
684 _enca=auto
685 _inet6=auto
686 _gethostbyname2=auto
687 _ftp=yes
688 _musepack=auto
689 _vstream=auto
690 _pthreads=auto
691 _w32threads=auto
692 _ass=auto
693 _rpath=no
694 _asmalign_pot=auto
695 _stream_cache=yes
696 _priority=no
697 def_dos_paths="#define HAVE_DOS_PATHS 0"
698 def_stream_cache="#define CONFIG_STREAM_CACHE 1"
699 def_priority="#undef CONFIG_PRIORITY"
700 def_pthread_cache="#undef PTHREAD_CACHE"
701 _need_shmem=yes
702 for ac_option do
703 case "$ac_option" in
704 --help|-help|-h)
705 show_help
707 --prefix=*)
708 _prefix=$(echo $ac_option | cut -d '=' -f 2)
710 --bindir=*)
711 _bindir=$(echo $ac_option | cut -d '=' -f 2)
713 --datadir=*)
714 _datadir=$(echo $ac_option | cut -d '=' -f 2)
716 --mandir=*)
717 _mandir=$(echo $ac_option | cut -d '=' -f 2)
719 --confdir=*)
720 _confdir=$(echo $ac_option | cut -d '=' -f 2)
722 --libdir=*)
723 _libdir=$(echo $ac_option | cut -d '=' -f 2)
725 --codecsdir=*)
726 _codecsdir=$(echo $ac_option | cut -d '=' -f 2)
728 --win32codecsdir=*)
729 _win32codecsdir=$(echo $ac_option | cut -d '=' -f 2)
731 --xanimcodecsdir=*)
732 _xanimcodecsdir=$(echo $ac_option | cut -d '=' -f 2)
734 --realcodecsdir=*)
735 _realcodecsdir=$(echo $ac_option | cut -d '=' -f 2)
738 --with-install=*)
739 _install=$(echo $ac_option | cut -d '=' -f 2 )
741 --with-xvmclib=*)
742 _xvmclib=$(echo $ac_option | cut -d '=' -f 2)
745 --with-sdl-config=*)
746 _sdlconfig=$(echo $ac_option | cut -d '=' -f 2)
748 --with-freetype-config=*)
749 _freetypeconfig=$(echo $ac_option | cut -d '=' -f 2)
751 --with-fribidi-config=*)
752 _fribidiconfig=$(echo $ac_option | cut -d '=' -f 2)
754 --with-gtk-config=*)
755 _gtkconfig=$(echo $ac_option | cut -d '=' -f 2)
757 --with-glib-config=*)
758 _glibconfig=$(echo $ac_option | cut -d '=' -f 2)
760 --with-dvdnav-config=*)
761 _dvdnavconfig=$(echo $ac_option | cut -d '=' -f 2)
763 --with-dvdread-config=*)
764 _dvdreadconfig=$(echo $ac_option | cut -d '=' -f 2)
767 --extra-cflags=*)
768 extra_cflags="$extra_cflags $(echo $ac_option | cut -d '=' -f 2-)"
770 --extra-ldflags=*)
771 extra_ldflags="$extra_ldflags $(echo $ac_option | cut -d '=' -f 2-)"
773 --extra-libs=*)
774 extra_libs=$(echo $ac_option | cut -d '=' -f 2)
776 --extra-libs-mplayer=*)
777 libs_mplayer=$(echo $ac_option | cut -d '=' -f 2)
779 --extra-libs-mencoder=*)
780 libs_mencoder=$(echo $ac_option | cut -d '=' -f 2)
783 --target=*)
784 _target=$(echo $ac_option | cut -d '=' -f 2)
786 --cc=*)
787 _cc=$(echo $ac_option | cut -d '=' -f 2)
789 --host-cc=*)
790 _host_cc=$(echo $ac_option | cut -d '=' -f 2)
792 --as=*)
793 _as=$(echo $ac_option | cut -d '=' -f 2)
795 --nm=*)
796 _nm=$(echo $ac_option | cut -d '=' -f 2)
798 --yasm=*)
799 _yasm=$(echo $ac_option | cut -d '=' -f 2)
801 --ar=*)
802 _ar=$(echo $ac_option | cut -d '=' -f 2)
804 --ranlib=*)
805 _ranlib=$(echo $ac_option | cut -d '=' -f 2)
807 --windres=*)
808 _windres=$(echo $ac_option | cut -d '=' -f 2)
810 --charset=*)
811 _charset=$(echo $ac_option | cut -d '=' -f 2)
813 --language-doc=*)
814 language_doc=$(echo $ac_option | cut -d '=' -f 2)
816 --language-man=*)
817 language_man=$(echo $ac_option | cut -d '=' -f 2)
819 --language-msg=*)
820 language_msg=$(echo $ac_option | cut -d '=' -f 2)
822 --language=*)
823 language=$(echo $ac_option | cut -d '=' -f 2)
826 --enable-static)
827 _ld_static='-static'
829 --disable-static)
830 _ld_static=''
832 --enable-profile)
833 _profile='-p'
835 --disable-profile)
836 _profile=
838 --enable-debug)
839 _debug='-g'
841 --enable-debug=*)
842 _debug=$(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2)
844 --disable-debug)
845 _debug=
847 --enable-runtime-cpudetection) _runtime_cpudetection=yes ;;
848 --disable-runtime-cpudetection) _runtime_cpudetection=no ;;
849 --enable-cross-compile) _cross_compile=yes ;;
850 --disable-cross-compile) _cross_compile=no ;;
851 --enable-mencoder) _mencoder=yes ;;
852 --disable-mencoder) _mencoder=no ;;
853 --enable-mplayer) _mplayer=yes ;;
854 --disable-mplayer) _mplayer=no ;;
855 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
856 --disable-dynamic-plugins) _dynamic_plugins=no ;;
857 --enable-x11) _x11=yes ;;
858 --disable-x11) _x11=no ;;
859 --enable-xshape) _xshape=yes ;;
860 --disable-xshape) _xshape=no ;;
861 --enable-xss) _xss=yes ;;
862 --disable-xss) _xss=no ;;
863 --enable-xv) _xv=yes ;;
864 --disable-xv) _xv=no ;;
865 --enable-xvmc) _xvmc=yes ;;
866 --disable-xvmc) _xvmc=no ;;
867 --enable-vdpau) _vdpau=yes ;;
868 --disable-vdpau) _vdpau=no ;;
869 --enable-sdl) _sdl=yes ;;
870 --disable-sdl) _sdl=no ;;
871 --enable-kva) _kva=yes ;;
872 --disable-kva) _kva=no ;;
873 --enable-direct3d) _direct3d=yes ;;
874 --disable-direct3d) _direct3d=no ;;
875 --enable-directx) _directx=yes ;;
876 --disable-directx) _directx=no ;;
877 --enable-win32waveout) _win32waveout=yes ;;
878 --disable-win32waveout) _win32waveout=no ;;
879 --enable-nas) _nas=yes ;;
880 --disable-nas) _nas=no ;;
881 --enable-png) _png=yes ;;
882 --disable-png) _png=no ;;
883 --enable-mng) _mng=yes ;;
884 --disable-mng) _mng=no ;;
885 --enable-jpeg) _jpeg=yes ;;
886 --disable-jpeg) _jpeg=no ;;
887 --enable-pnm) _pnm=yes ;;
888 --disable-pnm) _pnm=no ;;
889 --enable-md5sum) _md5sum=yes ;;
890 --disable-md5sum) _md5sum=no ;;
891 --enable-yuv4mpeg) _yuv4mpeg=yes ;;
892 --disable-yuv4mpeg) _yuv4mpeg=no ;;
893 --enable-gif) _gif=yes ;;
894 --disable-gif) _gif=no ;;
895 --enable-gl) _gl=yes ;;
896 --disable-gl) _gl=no ;;
897 --enable-ggi) _ggi=yes ;;
898 --disable-ggi) _ggi=no ;;
899 --enable-ggiwmh) _ggiwmh=yes ;;
900 --disable-ggiwmh) _ggiwmh=no ;;
901 --enable-aa) _aa=yes ;;
902 --disable-aa) _aa=no ;;
903 --enable-caca) _caca=yes ;;
904 --disable-caca) _caca=no ;;
905 --enable-svga) _svga=yes ;;
906 --disable-svga) _svga=no ;;
907 --enable-vesa) _vesa=yes ;;
908 --disable-vesa) _vesa=no ;;
909 --enable-fbdev) _fbdev=yes ;;
910 --disable-fbdev) _fbdev=no ;;
911 --enable-dvb) _dvb=yes ;;
912 --disable-dvb) _dvb=no ;;
913 --enable-dvbhead) _dvbhead=yes ;;
914 --disable-dvbhead) _dvbhead=no ;;
915 --enable-dxr2) _dxr2=yes ;;
916 --disable-dxr2) _dxr2=no ;;
917 --enable-dxr3) _dxr3=yes ;;
918 --disable-dxr3) _dxr3=no ;;
919 --enable-ivtv) _ivtv=yes ;;
920 --disable-ivtv) _ivtv=no ;;
921 --enable-v4l2) _v4l2=yes ;;
922 --disable-v4l2) _v4l2=no ;;
923 --enable-iconv) _iconv=yes ;;
924 --disable-iconv) _iconv=no ;;
925 --enable-langinfo) _langinfo=yes ;;
926 --disable-langinfo) _langinfo=no ;;
927 --enable-rtc) _rtc=yes ;;
928 --disable-rtc) _rtc=no ;;
929 --enable-libdv) _libdv=yes ;;
930 --disable-libdv) _libdv=no ;;
931 --enable-ossaudio) _ossaudio=yes ;;
932 --disable-ossaudio) _ossaudio=no ;;
933 --enable-arts) _arts=yes ;;
934 --disable-arts) _arts=no ;;
935 --enable-esd) _esd=yes ;;
936 --disable-esd) _esd=no ;;
937 --enable-pulse) _pulse=yes ;;
938 --disable-pulse) _pulse=no ;;
939 --enable-jack) _jack=yes ;;
940 --disable-jack) _jack=no ;;
941 --enable-openal) _openal=yes ;;
942 --disable-openal) _openal=no ;;
943 --enable-dart) _dart=yes ;;
944 --disable-dart) _dart=no ;;
945 --enable-mad) _mad=yes ;;
946 --disable-mad) _mad=no ;;
947 --enable-mp3lame) _mp3lame=yes ;;
948 --disable-mp3lame) _mp3lame=no ;;
949 --enable-toolame) _toolame=yes ;;
950 --disable-toolame) _toolame=no ;;
951 --enable-twolame) _twolame=yes ;;
952 --disable-twolame) _twolame=no ;;
953 --enable-libcdio) _libcdio=yes ;;
954 --disable-libcdio) _libcdio=no ;;
955 --enable-liblzo) _liblzo=yes ;;
956 --disable-liblzo) _liblzo=no ;;
957 --enable-libvorbis) _libvorbis=yes ;;
958 --disable-libvorbis) _libvorbis=no ;;
959 --enable-speex) _speex=yes ;;
960 --disable-speex) _speex=no ;;
961 --enable-tremor) _tremor=yes ;;
962 --disable-tremor) _tremor=no ;;
963 --enable-tremor-internal) _tremor_internal=yes ;;
964 --disable-tremor-internal) _tremor_internal=no ;;
965 --enable-tremor-low) _tremor_low=yes ;;
966 --disable-tremor-low) _tremor_low=no ;;
967 --enable-theora) _theora=yes ;;
968 --disable-theora) _theora=no ;;
969 --enable-mp3lib) _mp3lib=yes ;;
970 --disable-mp3lib) _mp3lib=no ;;
971 --enable-liba52-internal) _liba52_internal=yes ;;
972 --disable-liba52-internal) _liba52_internal=no ;;
973 --enable-liba52) _liba52=yes ;;
974 --disable-liba52) _liba52=no ;;
975 --enable-libdca) _libdca=yes ;;
976 --disable-libdca) _libdca=no ;;
977 --enable-libmpeg2) _libmpeg2=yes ;;
978 --disable-libmpeg2) _libmpeg2=no ;;
979 --enable-musepack) _musepack=yes ;;
980 --disable-musepack) _musepack=no ;;
981 --enable-faad) _faad=yes ;;
982 --disable-faad) _faad=no ;;
983 --enable-faad-internal) _faad_internal=yes ;;
984 --disable-faad-internal) _faad_internal=no ;;
985 --enable-faad-fixed) _faad_fixed=yes ;;
986 --disable-faad-fixed) _faad_fixed=no ;;
987 --enable-faac) _faac=yes ;;
988 --disable-faac) _faac=no ;;
989 --enable-ladspa) _ladspa=yes ;;
990 --disable-ladspa) _ladspa=no ;;
991 --enable-libbs2b) _libbs2b=yes ;;
992 --disable-libbs2b) _libbs2b=no ;;
993 --enable-xmms) _xmms=yes ;;
994 --disable-xmms) _xmms=no ;;
995 --enable-vcd) _vcd=yes ;;
996 --disable-vcd) _vcd=no ;;
997 --enable-dvdread) _dvdread=yes ;;
998 --disable-dvdread) _dvdread=no ;;
999 --enable-dvdread-internal) _dvdread_internal=yes ;;
1000 --disable-dvdread-internal) _dvdread_internal=no ;;
1001 --enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
1002 --disable-libdvdcss-internal) _libdvdcss_internal=no ;;
1003 --enable-dvdnav) _dvdnav=yes ;;
1004 --disable-dvdnav) _dvdnav=no ;;
1005 --enable-xanim) _xanim=yes ;;
1006 --disable-xanim) _xanim=no ;;
1007 --enable-real) _real=yes ;;
1008 --disable-real) _real=no ;;
1009 --enable-live) _live=yes ;;
1010 --disable-live) _live=no ;;
1011 --enable-nemesi) _nemesi=yes ;;
1012 --disable-nemesi) _nemesi=no ;;
1013 --enable-xinerama) _xinerama=yes ;;
1014 --disable-xinerama) _xinerama=no ;;
1015 --enable-mga) _mga=yes ;;
1016 --disable-mga) _mga=no ;;
1017 --enable-xmga) _xmga=yes ;;
1018 --disable-xmga) _xmga=no ;;
1019 --enable-vm) _vm=yes ;;
1020 --disable-vm) _vm=no ;;
1021 --enable-xf86keysym) _xf86keysym=yes ;;
1022 --disable-xf86keysym) _xf86keysym=no ;;
1023 --enable-mlib) _mlib=yes ;;
1024 --disable-mlib) _mlib=no ;;
1025 --enable-sunaudio) _sunaudio=yes ;;
1026 --disable-sunaudio) _sunaudio=no ;;
1027 --enable-sgiaudio) _sgiaudio=yes ;;
1028 --disable-sgiaudio) _sgiaudio=no ;;
1029 --enable-alsa) _alsa=yes ;;
1030 --disable-alsa) _alsa=no ;;
1031 --enable-tv) _tv=yes ;;
1032 --disable-tv) _tv=no ;;
1033 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1034 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1035 --enable-tv-v4l1) _tv_v4l1=yes ;;
1036 --disable-tv-v4l1) _tv_v4l1=no ;;
1037 --enable-tv-v4l2) _tv_v4l2=yes ;;
1038 --disable-tv-v4l2) _tv_v4l2=no ;;
1039 --enable-tv-dshow) _tv_dshow=yes ;;
1040 --disable-tv-dshow) _tv_dshow=no ;;
1041 --enable-tv-teletext) _tv_teletext=yes ;;
1042 --disable-tv-teletext) _tv_teletext=no ;;
1043 --enable-radio) _radio=yes ;;
1044 --enable-radio-capture) _radio_capture=yes ;;
1045 --disable-radio-capture) _radio_capture=no ;;
1046 --disable-radio) _radio=no ;;
1047 --enable-radio-v4l) _radio_v4l=yes ;;
1048 --disable-radio-v4l) _radio_v4l=no ;;
1049 --enable-radio-v4l2) _radio_v4l2=yes ;;
1050 --disable-radio-v4l2) _radio_v4l2=no ;;
1051 --enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
1052 --disable-radio-bsdbt848) _radio_bsdbt848=no ;;
1053 --enable-pvr) _pvr=yes ;;
1054 --disable-pvr) _pvr=no ;;
1055 --enable-fastmemcpy) _fastmemcpy=yes ;;
1056 --disable-fastmemcpy) _fastmemcpy=no ;;
1057 --enable-network) _network=yes ;;
1058 --disable-network) _network=no ;;
1059 --enable-winsock2_h) _winsock2_h=yes ;;
1060 --disable-winsock2_h) _winsock2_h=no ;;
1061 --enable-smb) _smb=yes ;;
1062 --disable-smb) _smb=no ;;
1063 --enable-vidix) _vidix=yes ;;
1064 --disable-vidix) _vidix=no ;;
1065 --with-vidix-drivers=*)
1066 _vidix_drivers=$(echo $ac_option | cut -d '=' -f 2)
1068 --disable-vidix-pcidb) _vidix_pcidb=no ;;
1069 --enable-dhahelper) _dhahelper=yes ;;
1070 --disable-dhahelper) _dhahelper=no ;;
1071 --enable-svgalib_helper) _svgalib_helper=yes ;;
1072 --disable-svgalib_helper) _svgalib_helper=no ;;
1073 --enable-joystick) _joystick=yes ;;
1074 --disable-joystick) _joystick=no ;;
1075 --enable-xvid) _xvid=yes ;;
1076 --disable-xvid) _xvid=no ;;
1077 --enable-x264) _x264=yes ;;
1078 --disable-x264) _x264=no ;;
1079 --enable-libnut) _libnut=yes ;;
1080 --disable-libnut) _libnut=no ;;
1081 --enable-libavutil) _libavutil=yes ;;
1082 --disable-libavutil) _libavutil=no ;;
1083 --enable-libavcodec) _libavcodec=yes ;;
1084 --disable-libavcodec) _libavcodec=no ;;
1085 --enable-libavformat) _libavformat=yes ;;
1086 --disable-libavformat) _libavformat=no ;;
1087 --enable-libpostproc) _libpostproc=yes ;;
1088 --disable-libpostproc) _libpostproc=no ;;
1089 --enable-libswscale) _libswscale=yes ;;
1090 --disable-libswscale) _libswscale=no ;;
1091 --ffmpeg-source-dir=*)
1092 _ffmpeg_source=$(echo $ac_option | cut -d '=' -f 2 ) ;;
1094 --enable-lirc) _lirc=yes ;;
1095 --disable-lirc) _lirc=no ;;
1096 --enable-lircc) _lircc=yes ;;
1097 --disable-lircc) _lircc=no ;;
1098 --enable-apple-remote) _apple_remote=yes ;;
1099 --disable-apple-remote) _apple_remote=no ;;
1100 --enable-apple-ir) _apple_ir=yes ;;
1101 --disable-apple-ir) _apple_ir=no ;;
1102 --enable-gui) _gui=yes ;;
1103 --disable-gui) _gui=no ;;
1104 --enable-gtk1) _gtk1=yes ;;
1105 --disable-gtk1) _gtk1=no ;;
1106 --enable-termcap) _termcap=yes ;;
1107 --disable-termcap) _termcap=no ;;
1108 --enable-termios) _termios=yes ;;
1109 --disable-termios) _termios=no ;;
1110 --enable-3dfx) _3dfx=yes ;;
1111 --disable-3dfx) _3dfx=no ;;
1112 --enable-s3fb) _s3fb=yes ;;
1113 --disable-s3fb) _s3fb=no ;;
1114 --enable-wii) _wii=yes ;;
1115 --disable-wii) _wii=no ;;
1116 --enable-tdfxfb) _tdfxfb=yes ;;
1117 --disable-tdfxfb) _tdfxfb=no ;;
1118 --disable-tdfxvid) _tdfxvid=no ;;
1119 --enable-tdfxvid) _tdfxvid=yes ;;
1120 --disable-xvr100) _xvr100=no ;;
1121 --enable-xvr100) _xvr100=yes ;;
1122 --disable-tga) _tga=no ;;
1123 --enable-tga) _tga=yes ;;
1124 --enable-directfb) _directfb=yes ;;
1125 --disable-directfb) _directfb=no ;;
1126 --enable-zr) _zr=yes ;;
1127 --disable-zr) _zr=no ;;
1128 --enable-bl) _bl=yes ;;
1129 --disable-bl) _bl=no ;;
1130 --enable-glamo) _glamo=yes ;;
1131 --disable-glamo) _glamo=no ;;
1132 --enable-mtrr) _mtrr=yes ;;
1133 --disable-mtrr) _mtrr=no ;;
1134 --enable-largefiles) _largefiles=yes ;;
1135 --disable-largefiles) _largefiles=no ;;
1136 --enable-shm) _shm=yes ;;
1137 --disable-shm) _shm=no ;;
1138 --enable-select) _select=yes ;;
1139 --disable-select) _select=no ;;
1140 --enable-linux-devfs) _linux_devfs=yes ;;
1141 --disable-linux-devfs) _linux_devfs=no ;;
1142 --enable-cdparanoia) _cdparanoia=yes ;;
1143 --disable-cdparanoia) _cdparanoia=no ;;
1144 --enable-cddb) _cddb=yes ;;
1145 --disable-cddb) _cddb=no ;;
1146 --enable-big-endian) _big_endian=yes ;;
1147 --disable-big-endian) _big_endian=no ;;
1148 --enable-bitmap-font) _bitmap_font=yes ;;
1149 --disable-bitmap-font) _bitmap_font=no ;;
1150 --enable-freetype) _freetype=yes ;;
1151 --disable-freetype) _freetype=no ;;
1152 --enable-fontconfig) _fontconfig=yes ;;
1153 --disable-fontconfig) _fontconfig=no ;;
1154 --enable-unrarexec) _unrar_exec=yes ;;
1155 --disable-unrarexec) _unrar_exec=no ;;
1156 --enable-ftp) _ftp=yes ;;
1157 --disable-ftp) _ftp=no ;;
1158 --enable-vstream) _vstream=yes ;;
1159 --disable-vstream) _vstream=no ;;
1160 --enable-pthreads) _pthreads=yes ;;
1161 --disable-pthreads) _pthreads=no ;;
1162 --enable-w32threads) _w32threads=yes ;;
1163 --disable-w32threads) _w32threads=no ;;
1164 --enable-ass) _ass=yes ;;
1165 --disable-ass) _ass=no ;;
1166 --enable-rpath) _rpath=yes ;;
1167 --disable-rpath) _rpath=no ;;
1169 --enable-fribidi) _fribidi=yes ;;
1170 --disable-fribidi) _fribidi=no ;;
1172 --enable-enca) _enca=yes ;;
1173 --disable-enca) _enca=no ;;
1175 --enable-inet6) _inet6=yes ;;
1176 --disable-inet6) _inet6=no ;;
1178 --enable-gethostbyname2) _gethostbyname2=yes ;;
1179 --disable-gethostbyname2) _gethostbyname2=no ;;
1181 --enable-dga1) _dga1=yes ;;
1182 --disable-dga1) _dga1=no ;;
1183 --enable-dga2) _dga2=yes ;;
1184 --disable-dga2) _dga2=no ;;
1186 --enable-menu) _menu=yes ;;
1187 --disable-menu) _menu=no ;;
1189 --enable-qtx) _qtx=yes ;;
1190 --disable-qtx) _qtx=no ;;
1192 --enable-coreaudio) _coreaudio=yes ;;
1193 --disable-coreaudio) _coreaudio=no ;;
1194 --enable-corevideo) _corevideo=yes ;;
1195 --disable-corevideo) _corevideo=no ;;
1196 --enable-quartz) _quartz=yes ;;
1197 --disable-quartz) _quartz=no ;;
1198 --enable-macosx-finder) _macosx_finder=yes ;;
1199 --disable-macosx-finder) _macosx_finder=no ;;
1200 --enable-macosx-bundle) _macosx_bundle=yes;;
1201 --disable-macosx-bundle) _macosx_bundle=no;;
1203 --enable-maemo) _maemo=yes ;;
1204 --disable-maemo) _maemo=no ;;
1206 --enable-sortsub) _sortsub=yes ;;
1207 --disable-sortsub) _sortsub=no ;;
1209 --enable-crash-debug) _crash_debug=yes ;;
1210 --disable-crash-debug) _crash_debug=no ;;
1211 --enable-sighandler) _sighandler=yes ;;
1212 --disable-sighandler) _sighandler=no ;;
1213 --enable-win32dll) _win32dll=yes ;;
1214 --disable-win32dll) _win32dll=no ;;
1216 --enable-sse) _sse=yes ;;
1217 --disable-sse) _sse=no ;;
1218 --enable-sse2) _sse2=yes ;;
1219 --disable-sse2) _sse2=no ;;
1220 --enable-ssse3) _ssse3=yes ;;
1221 --disable-ssse3) _ssse3=no ;;
1222 --enable-mmxext) _mmxext=yes ;;
1223 --disable-mmxext) _mmxext=no ;;
1224 --enable-3dnow) _3dnow=yes ;;
1225 --disable-3dnow) _3dnow=no _3dnowext=no ;;
1226 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
1227 --disable-3dnowext) _3dnowext=no ;;
1228 --enable-cmov) _cmov=yes ;;
1229 --disable-cmov) _cmov=no ;;
1230 --enable-fast-cmov) _fast_cmov=yes ;;
1231 --disable-fast-cmov) _fast_cmov=no ;;
1232 --enable-altivec) _altivec=yes ;;
1233 --disable-altivec) _altivec=no ;;
1234 --enable-armv5te) _armv5te=yes ;;
1235 --disable-armv5te) _armv5te=no ;;
1236 --enable-armv6) _armv6=yes ;;
1237 --disable-armv6) _armv6=no ;;
1238 --enable-armv6t2) _armv6t2=yes ;;
1239 --disable-armv6t2) _armv6t2=no ;;
1240 --enable-armvfp) _armvfp=yes ;;
1241 --disable-armvfp) _armvfp=no ;;
1242 --enable-neon) neon=yes ;;
1243 --disable-neon) neon=no ;;
1244 --enable-iwmmxt) _iwmmxt=yes ;;
1245 --disable-iwmmxt) _iwmmxt=no ;;
1246 --enable-mmx) _mmx=yes ;;
1247 --disable-mmx) # 3Dnow! and MMX2 require MMX
1248 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
1251 echo "Unknown parameter: $ac_option"
1252 exit 1
1255 esac
1256 done
1258 if test "$_gui" = yes ; then
1259 die "Internal GUI was removed from MPlayer. Please use one of many available\n frontends\
1260 (http://www.mplayerhq.hu/design7/projects.html#mplayer_frontends)."
1263 # Atmos: moved this here, to be correct, if --prefix is specified
1264 test -z "$_bindir" && _bindir="$_prefix/bin"
1265 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1266 test -z "$_mandir" && _mandir="$_prefix/share/man"
1267 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1268 test -z "$_libdir" && _libdir="$_prefix/lib"
1270 # Determine our OS name and CPU architecture
1271 if test -z "$_target" ; then
1272 # OS name
1273 system_name=$(uname -s 2>&1)
1274 case "$system_name" in
1275 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
1277 Haiku)
1278 system_name=BeOS
1280 IRIX*)
1281 system_name=IRIX
1283 GNU/kFreeBSD)
1284 system_name=FreeBSD
1286 HP-UX*)
1287 system_name=HP-UX
1289 [cC][yY][gG][wW][iI][nN]*)
1290 system_name=CYGWIN
1292 MINGW32*)
1293 system_name=MINGW32
1295 OS/2*)
1296 system_name=OS/2
1299 system_name="$system_name-UNKNOWN"
1301 esac
1304 # host's CPU/instruction set
1305 host_arch=$(uname -p 2>&1)
1306 case "$host_arch" in
1307 i386|sparc|ppc|alpha|arm|mips|vax)
1309 powerpc) # Darwin returns 'powerpc'
1310 host_arch=ppc
1312 *) # uname -p on Linux returns 'unknown' for the processor type,
1313 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1315 # Maybe uname -m (machine hardware name) returns something we
1316 # recognize.
1318 # x86/x86pc is used by QNX
1319 case "$(uname -m 2>&1)" in
1320 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 ;;
1321 ia64) host_arch=ia64 ;;
1322 macppc|ppc) host_arch=ppc ;;
1323 ppc64) host_arch=ppc64 ;;
1324 alpha) host_arch=alpha ;;
1325 sparc) host_arch=sparc ;;
1326 sparc64) host_arch=sparc64 ;;
1327 parisc*|hppa*|9000*) host_arch=hppa ;;
1328 arm*|zaurus|cats) host_arch=arm ;;
1329 sh3|sh4|sh4a) host_arch=sh ;;
1330 s390) host_arch=s390 ;;
1331 s390x) host_arch=s390x ;;
1332 *mips*) host_arch=mips ;;
1333 vax) host_arch=vax ;;
1334 xtensa*) host_arch=xtensa ;;
1335 *) host_arch=UNKNOWN ;;
1336 esac
1338 esac
1339 else # if test -z "$_target"
1340 system_name=$(echo $_target | cut -d '-' -f 2)
1341 case "$(echo $system_name | tr A-Z a-z)" in
1342 linux) system_name=Linux ;;
1343 freebsd) system_name=FreeBSD ;;
1344 gnu/kfreebsd) system_name=FreeBSD ;;
1345 netbsd) system_name=NetBSD ;;
1346 bsd/os) system_name=BSD/OS ;;
1347 openbsd) system_name=OpenBSD ;;
1348 dragonfly) system_name=DragonFly ;;
1349 sunos) system_name=SunOS ;;
1350 qnx) system_name=QNX ;;
1351 morphos) system_name=MorphOS ;;
1352 amigaos) system_name=AmigaOS ;;
1353 mingw32msvc) system_name=MINGW32 ;;
1354 esac
1355 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1356 host_arch=$(echo $_target | cut -d '-' -f 1)
1357 if test $(echo $host_arch) != "x86_64" ; then
1358 host_arch=$(echo $host_arch | tr '_' '-')
1362 extra_cflags="-I. $extra_cflags"
1363 _timer=timer-linux.c
1364 _getch=getch2.c
1365 if freebsd ; then
1366 extra_ldflags="$extra_ldflags -L/usr/local/lib"
1367 extra_cflags="$extra_cflags -I/usr/local/include"
1370 if netbsd || dragonfly ; then
1371 extra_ldflags="$extra_ldflags -L/usr/pkg/lib"
1372 extra_cflags="$extra_cflags -I/usr/pkg/include"
1375 if darwin; then
1376 extra_cflags="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1377 _timer=timer-darwin.c
1380 if aix ; then
1381 extra_ldflags="$extra_ldflags -lC"
1384 if irix ; then
1385 _ranlib='ar -r'
1386 elif linux ; then
1387 _ranlib='true'
1390 if win32 ; then
1391 _exesuf=".exe"
1392 # -lwinmm is always needed for osdep/timer-win2.c
1393 extra_ldflags="$extra_ldflags -lwinmm"
1394 _pe_executable=yes
1395 _timer=timer-win2.c
1396 _priority=yes
1397 def_dos_paths="#define HAVE_DOS_PATHS 1"
1398 def_priority="#define CONFIG_PRIORITY 1"
1401 if mingw32 ; then
1402 _getch=getch2-win.c
1403 _need_shmem=no
1406 if amigaos ; then
1407 _select=no
1408 _sighandler=no
1409 _stream_cache=no
1410 def_stream_cache="#undef CONFIG_STREAM_CACHE"
1411 extra_cflags="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1414 if qnx ; then
1415 extra_ldflags="$extra_ldflags -lph"
1418 if os2 ; then
1419 _exesuf=".exe"
1420 _getch=getch2-os2.c
1421 _need_shmem=no
1422 _priority=yes
1423 def_dos_paths="#define HAVE_DOS_PATHS 1"
1424 def_priority="#define CONFIG_PRIORITY 1"
1427 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1428 test "$I" && break
1429 done
1432 TMPLOG="configure.log"
1433 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
1434 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
1435 TMPEXE="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1436 TMPH="$I/mplayer-conf-$RANDOM-$$.h"
1437 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
1439 rm -f "$TMPLOG"
1440 echo configuration: $_configuration > "$TMPLOG"
1441 echo >> "$TMPLOG"
1444 if test -z "$_target" && x86 ; then
1445 cat > $TMPC << EOF
1446 int main(void) {
1447 int test[sizeof(char *)-7];
1448 return 0;
1451 cc_check && host_arch=x86_64 || host_arch=i386
1454 echo "Detected operating system: $system_name"
1455 echo "Detected host architecture: $host_arch"
1457 if test "$_runtime_cpudetection" = yes && ! x86 && ! ppc; then
1458 die "Runtime CPU detection only works for x86, x86-64 and PPC!"
1462 # Checking CC version...
1463 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1464 if test "$(basename $_cc)" = "icc" || test "$(basename $_cc)" = "ecc"; then
1465 echocheck "$_cc version"
1466 cc_vendor=intel
1467 cc_name=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 1)
1468 cc_version=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 3)
1469 _cc_major=$(echo $cc_version | cut -d '.' -f 1)
1470 _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
1471 # TODO verify older icc/ecc compatibility
1472 case $cc_version in
1474 cc_version="v. ?.??, bad"
1475 cc_fail=yes
1477 10.1|11.0|11.1)
1478 cc_version="$cc_version, ok"
1481 cc_version="$cc_version, bad"
1482 cc_fail=yes
1484 esac
1485 echores "$cc_version"
1486 else
1487 for _cc in "$_cc" cc gcc ; do
1488 cc_name_tmp=$($_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1)
1489 if test "$cc_name_tmp" = "gcc"; then
1490 cc_name=$cc_name_tmp
1491 echocheck "$_cc version"
1492 cc_vendor=gnu
1493 cc_version=$($_cc -dumpversion 2>&1)
1494 case $cc_version in
1495 2.96*)
1496 cc_fail=yes
1499 _cc_major=$(echo $cc_version | cut -d '.' -f 1)
1500 _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
1501 _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
1503 esac
1504 echores "$cc_version"
1505 break
1507 done
1508 fi # icc
1509 test "$cc_fail" = yes && die "unsupported compiler version"
1511 echocheck "host cc"
1512 test "$_host_cc" || _host_cc=$_cc
1513 echores $_host_cc
1515 echocheck "cross compilation"
1516 if test $_cross_compile = auto ; then
1517 cat > $TMPC << EOF
1518 int main(void) { return 0; }
1520 _cross_compile=yes
1521 cc_check && "$TMPEXE" && _cross_compile=no
1523 echores $_cross_compile
1525 if test $_cross_compile = yes; then
1526 tmp_run() {
1527 return 0
1531 # ---
1533 # now that we know what compiler should be used for compilation, try to find
1534 # out which assembler is used by the $_cc compiler
1535 if test "$_as" = auto ; then
1536 _as=$($_cc -print-prog-name=as)
1537 test -z "$_as" && _as=as
1540 if test "$_nm" = auto ; then
1541 _nm=$($_cc -print-prog-name=nm)
1542 test -z "$_nm" && _nm=nm
1545 # XXX: this should be ok..
1546 _cpuinfo="echo"
1548 if test "$_runtime_cpudetection" = no ; then
1550 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1551 # FIXME: Remove the cygwin check once AMD CPUs are supported
1552 if test -r /proc/cpuinfo && ! cygwin; then
1553 # Linux with /proc mounted, extract CPU information from it
1554 _cpuinfo="cat /proc/cpuinfo"
1555 elif test -r /compat/linux/proc/cpuinfo && ! x86_32 ; then
1556 # FreeBSD with Linux emulation /proc mounted,
1557 # extract CPU information from it
1558 _cpuinfo="cat /compat/linux/proc/cpuinfo"
1559 elif darwin && ! x86 ; then
1560 # use hostinfo on Darwin
1561 _cpuinfo="hostinfo"
1562 elif aix; then
1563 # use 'lsattr' on AIX
1564 _cpuinfo="lsattr -E -l proc0 -a type"
1565 elif x86; then
1566 # all other OSes try to extract CPU information from a small helper
1567 # program cpuinfo instead
1568 $_cc -o cpuinfo$_exesuf cpuinfo.c
1569 _cpuinfo="./cpuinfo$_exesuf"
1572 if x86 ; then
1573 # gather more CPU information
1574 pname=$($_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -n 1)
1575 pvendor=$($_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1576 pfamily=$($_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1577 pmodel=$($_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1578 pstepping=$($_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1580 exts=$($_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | head -n 1)
1582 pparam=$(echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1583 -e s/xmm/sse/ -e s/kni/sse/)
1585 for ext in $pparam ; do
1586 eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
1587 done
1589 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1590 test $_sse = kernel_check && _mmxext=kernel_check
1592 echocheck "CPU vendor"
1593 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
1595 echocheck "CPU type"
1596 echores "$pname"
1599 fi # test "$_runtime_cpudetection" = no
1601 if x86 && test "$_runtime_cpudetection" = no ; then
1602 extcheck() {
1603 if test "$1" = kernel_check ; then
1604 echocheck "kernel support of $2"
1605 cat > $TMPC <<EOF
1606 #include <stdlib.h>
1607 #include <signal.h>
1608 void catch() { exit(1); }
1609 int main(void) {
1610 signal(SIGILL, catch);
1611 __asm__ volatile ("$3":::"memory"); return 0;
1615 if cc_check && tmp_run ; then
1616 eval _$2=yes
1617 echores "yes"
1618 _optimizing="$_optimizing $2"
1619 return 0
1620 else
1621 eval _$2=no
1622 echores "failed"
1623 echo "It seems that your kernel does not correctly support $2."
1624 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1625 return 1
1628 return 0
1631 extcheck $_mmx "mmx" "emms"
1632 extcheck $_mmxext "mmxext" "sfence"
1633 extcheck $_3dnow "3dnow" "femms"
1634 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1635 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
1636 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
1637 extcheck $_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1638 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx"
1640 echocheck "mtrr support"
1641 if test "$_mtrr" = kernel_check ; then
1642 _mtrr="yes"
1643 _optimizing="$_optimizing mtrr"
1645 echores "$_mtrr"
1647 if test "$_gcc3_ext" != ""; then
1648 # if we had to disable sse/sse2 because the active kernel does not
1649 # support this instruction set extension, we also have to tell
1650 # gcc3 to not generate sse/sse2 instructions for normal C code
1651 cat > $TMPC << EOF
1652 int main(void) { return 0; }
1654 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1660 def_fast_64bit='#define HAVE_FAST_64BIT 0'
1661 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 0'
1662 _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'
1663 case "$host_arch" in
1664 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
1665 _arch='X86 X86_32'
1666 _target_arch="ARCH_X86 = yes"
1667 _target_subarch="ARCH_X86_32 = yes"
1668 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1669 iproc=486
1670 proc=i486
1673 if test "$_runtime_cpudetection" = no ; then
1674 case "$pvendor" in
1675 AuthenticAMD)
1676 case "$pfamily" in
1677 3) proc=i386 iproc=386 ;;
1678 4) proc=i486 iproc=486 ;;
1679 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1680 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1681 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1682 proc=k6-3
1683 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1684 proc=geode
1685 elif test "$pmodel" -ge 8; then
1686 proc=k6-2
1687 elif test "$pmodel" -ge 6; then
1688 proc=k6
1689 else
1690 proc=i586
1693 6) iproc=686
1694 # It's a bit difficult to determine the correct type of Family 6
1695 # AMD CPUs just from their signature. Instead, we check directly
1696 # whether it supports SSE.
1697 if test "$_sse" = yes; then
1698 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1699 proc=athlon-xp
1700 else
1701 # Again, gcc treats athlon and athlon-tbird similarly.
1702 proc=athlon
1705 15) iproc=686
1706 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1707 # caught and remedied in the optimization tests below.
1708 proc=k8
1711 *) proc=k8 iproc=686 ;;
1712 esac
1714 GenuineIntel)
1715 case "$pfamily" in
1716 3) proc=i386 iproc=386 ;;
1717 4) proc=i486 iproc=486 ;;
1718 5) iproc=586
1719 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
1720 proc=pentium-mmx # 4 is desktop, 8 is mobile
1721 else
1722 proc=i586
1725 6) iproc=686
1726 if test "$pmodel" -ge 15; then
1727 proc=core2
1728 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1729 proc=pentium-m
1730 elif test "$pmodel" -ge 7; then
1731 proc=pentium3
1732 elif test "$pmodel" -ge 3; then
1733 proc=pentium2
1734 else
1735 proc=i686
1738 15) iproc=686
1739 # A nocona in 32-bit mode has no more capabilities than a prescott.
1740 if test "$pmodel" -ge 3; then
1741 proc=prescott
1742 else
1743 proc=pentium4
1745 test $_fast_cmov = "auto" && _fast_cmov=no
1747 *) proc=prescott iproc=686 ;;
1748 esac
1750 CentaurHauls)
1751 case "$pfamily" in
1752 5) iproc=586
1753 if test "$pmodel" -ge 8; then
1754 proc=winchip2
1755 elif test "$pmodel" -ge 4; then
1756 proc=winchip-c6
1757 else
1758 proc=i586
1761 6) iproc=686
1762 if test "$pmodel" -ge 9; then
1763 proc=c3-2
1764 else
1765 proc=c3
1766 iproc=586
1769 *) proc=i686 iproc=i686 ;;
1770 esac
1772 unknown)
1773 case "$pfamily" in
1774 3) proc=i386 iproc=386 ;;
1775 4) proc=i486 iproc=486 ;;
1776 *) proc=i586 iproc=586 ;;
1777 esac
1780 proc=i586 iproc=586 ;;
1781 esac
1782 fi # test "$_runtime_cpudetection" = no
1785 # check that gcc supports our CPU, if not, fall back to earlier ones
1786 # LGB: check -mcpu and -march swithing step by step with enabling
1787 # to fall back till 386.
1789 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1791 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1792 cpuopt=-mtune
1793 else
1794 cpuopt=-mcpu
1797 echocheck "GCC & CPU optimization abilities"
1798 cat > $TMPC << EOF
1799 int main(void) { return 0; }
1801 if test "$_runtime_cpudetection" = no ; then
1802 cc_check -march=native && proc=native
1803 if test "$proc" = "k8"; then
1804 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1806 if test "$proc" = "athlon-xp"; then
1807 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1809 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1810 cc_check -march=$proc $cpuopt=$proc || proc=k6
1812 if test "$proc" = "k6" || test "$proc" = "c3"; then
1813 if ! cc_check -march=$proc $cpuopt=$proc; then
1814 if cc_check -march=i586 $cpuopt=i686; then
1815 proc=i586-i686
1816 else
1817 proc=i586
1821 if test "$proc" = "prescott" ; then
1822 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1824 if test "$proc" = "core2" ; then
1825 cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
1827 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
1828 cc_check -march=$proc $cpuopt=$proc || proc=i686
1830 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1831 cc_check -march=$proc $cpuopt=$proc || proc=i586
1833 if test "$proc" = "i586"; then
1834 cc_check -march=$proc $cpuopt=$proc || proc=i486
1836 if test "$proc" = "i486" ; then
1837 cc_check -march=$proc $cpuopt=$proc || proc=i386
1839 if test "$proc" = "i386" ; then
1840 cc_check -march=$proc $cpuopt=$proc || proc=error
1842 if test "$proc" = "error" ; then
1843 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1844 _mcpu=""
1845 _march=""
1846 _optimizing=""
1847 elif test "$proc" = "i586-i686"; then
1848 _march="-march=i586"
1849 _mcpu="$cpuopt=i686"
1850 _optimizing="$proc"
1851 else
1852 _march="-march=$proc"
1853 _mcpu="$cpuopt=$proc"
1854 _optimizing="$proc"
1856 else # if test "$_runtime_cpudetection" = no
1857 _mcpu="$cpuopt=generic"
1858 # at least i486 required, for bswap instruction
1859 _march="-march=i486"
1860 cc_check $_mcpu || _mcpu="$cpuopt=i686"
1861 cc_check $_mcpu || _mcpu=""
1862 cc_check $_march $_mcpu || _march=""
1865 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1866 ## autodetected mcpu/march parameters
1867 if test "$_target" ; then
1868 # TODO: it may be a good idea to check GCC and fall back in all cases
1869 if test "$host_arch" = "i586-i686"; then
1870 _march="-march=i586"
1871 _mcpu="$cpuopt=i686"
1872 else
1873 _march="-march=$host_arch"
1874 _mcpu="$cpuopt=$host_arch"
1877 proc="$host_arch"
1879 case "$proc" in
1880 i386) iproc=386 ;;
1881 i486) iproc=486 ;;
1882 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1883 i686|athlon*|pentium*) iproc=686 ;;
1884 *) iproc=586 ;;
1885 esac
1888 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1889 _fast_cmov="yes"
1890 else
1891 _fast_cmov="no"
1894 echores "$proc"
1897 ia64)
1898 _arch='IA64'
1899 _target_arch='ARCH_IA64 = yes'
1900 def_fast_64bit='#define HAVE_FAST_64BIT 1'
1901 iproc='ia64'
1904 x86_64|amd64)
1905 _arch='X86 X86_64'
1906 _target_subarch='ARCH_X86_64 = yes'
1907 _target_arch="ARCH_X86 = yes"
1908 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1909 def_fast_64bit='#define HAVE_FAST_64BIT 1'
1910 iproc='x86_64'
1912 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1913 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1914 cpuopt=-mtune
1915 else
1916 cpuopt=-mcpu
1918 test $_fast_cmov = "auto" && _fast_cmov=yes
1919 if test "$_runtime_cpudetection" = no ; then
1920 case "$pvendor" in
1921 AuthenticAMD)
1922 proc=k8;;
1923 GenuineIntel)
1924 case "$pfamily" in
1925 6) proc=core2;;
1927 # 64-bit prescotts exist, but as far as GCC is concerned they
1928 # have the same capabilities as a nocona.
1929 proc=nocona
1931 esac
1934 proc=error;;
1935 esac
1936 fi # test "$_runtime_cpudetection" = no
1938 echocheck "GCC & CPU optimization abilities"
1939 cat > $TMPC << EOF
1940 int main(void) { return 0; }
1942 # This is a stripped-down version of the i386 fallback.
1943 if test "$_runtime_cpudetection" = no ; then
1944 cc_check -march=native && proc=native
1945 # --- AMD processors ---
1946 if test "$proc" = "k8"; then
1947 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1949 # This will fail if gcc version < 3.3, which is ok because earlier
1950 # versions don't really support 64-bit on amd64.
1951 # Is this a valid assumption? -Corey
1952 if test "$proc" = "athlon-xp"; then
1953 cc_check -march=$proc $cpuopt=$proc || proc=error
1955 # --- Intel processors ---
1956 if test "$proc" = "core2"; then
1957 cc_check -march=$proc $cpuopt=$proc || proc=nocona
1959 if test "$proc" = "nocona"; then
1960 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1962 if test "$proc" = "pentium4"; then
1963 cc_check -march=$proc $cpuopt=$proc || proc=error
1966 _march="-march=$proc"
1967 _mcpu="$cpuopt=$proc"
1968 if test "$proc" = "error" ; then
1969 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1970 _mcpu=""
1971 _march=""
1973 else # if test "$_runtime_cpudetection" = no
1974 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1975 _march="-march=x86-64"
1976 _mcpu="$cpuopt=generic"
1977 cc_check $_mcpu || _mcpu="x86-64"
1978 cc_check $_mcpu || _mcpu=""
1979 cc_check $_march $_mcpu || _march=""
1982 _optimizing=""
1984 echores "$proc"
1987 sparc|sparc64)
1988 _arch='SPARC'
1989 _target_arch='ARCH_SPARC = yes'
1990 iproc='sparc'
1991 if test "$host_arch" = "sparc64" ; then
1992 _vis='yes'
1993 proc='ultrasparc'
1994 def_fast_64bit='#define HAVE_FAST_64BIT 1'
1995 elif sunos ; then
1996 echocheck "CPU type"
1997 karch=$(uname -m)
1998 case "$(echo $karch)" in
1999 sun4) proc=v7 ;;
2000 sun4c) proc=v7 ;;
2001 sun4d) proc=v8 ;;
2002 sun4m) proc=v8 ;;
2003 sun4u) proc=ultrasparc _vis='yes' ;;
2004 sun4v) proc=v9 ;;
2005 *) proc=v8 ;;
2006 esac
2007 echores "$proc"
2008 else
2009 proc=v8
2011 _mcpu="-mcpu=$proc"
2012 _optimizing="$proc"
2015 arm|armv4l|armv5tel)
2016 _arch='ARM'
2017 _target_arch='ARCH_ARM = yes'
2018 iproc='arm'
2021 avr32)
2022 _arch='AVR32'
2023 _target_arch='ARCH_AVR32 = yes'
2024 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
2025 iproc='avr32'
2028 sh|sh4)
2029 _arch='SH4'
2030 _target_arch='ARCH_SH4 = yes'
2031 iproc='sh4'
2034 ppc|ppc64|powerpc|powerpc64)
2035 _arch='PPC'
2036 def_dcbzl='#define HAVE_DCBZL 0'
2037 _target_arch='ARCH_PPC = yes'
2038 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
2039 iproc='ppc'
2041 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2042 _arch='PPC PPC64'
2043 _target_subarch='ARCH_PPC64 = yes'
2044 def_fast_64bit='#define HAVE_FAST_64BIT 1'
2046 echocheck "CPU type"
2047 case $system_name in
2048 Linux)
2049 proc=$($_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -n 1)
2050 if test -n "$($_cpuinfo | grep altivec)"; then
2051 test $_altivec = auto && _altivec=yes
2054 Darwin)
2055 proc=$($_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//')
2056 if [ $(sysctl -n hw.vectorunit) -eq 1 -o \
2057 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2058 test $_altivec = auto && _altivec=yes
2061 NetBSD)
2062 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2063 case $cc_version in
2064 2*|3.0*|3.1*|3.2*|3.3*)
2067 if [ $(sysctl -n machdep.altivec) -eq 1 ]; then
2068 test $_altivec = auto && _altivec=yes
2071 esac
2073 AIX)
2074 proc=$($_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//')
2076 esac
2077 if test "$_altivec" = yes; then
2078 echores "$proc altivec"
2079 else
2080 _altivec=no
2081 echores "$proc"
2084 echocheck "GCC & CPU optimization abilities"
2086 if test -n "$proc"; then
2087 case "$proc" in
2088 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
2089 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
2090 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
2091 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
2092 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
2093 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
2094 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
2095 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
2096 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
2097 *) ;;
2098 esac
2099 # gcc 3.1(.1) and up supports 7400 and 7450
2100 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
2101 case "$proc" in
2102 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
2103 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
2104 *) ;;
2105 esac
2107 # gcc 3.2 and up supports 970
2108 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2109 case "$proc" in
2110 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
2111 def_dcbzl='#define HAVE_DCBZL 1' ;;
2112 *) ;;
2113 esac
2115 # gcc 3.3 and up supports POWER4
2116 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2117 case "$proc" in
2118 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
2119 *) ;;
2120 esac
2122 # gcc 3.4 and up supports 440*
2123 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
2124 case "$proc" in
2125 440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
2126 440G* ) _march='-mcpu=440' _mcpu='-mtune=440' ;;
2127 *) ;;
2128 esac
2130 # gcc 4.0 and up supports POWER5
2131 if test "$_cc_major" -ge "4"; then
2132 case "$proc" in
2133 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
2134 *) ;;
2135 esac
2139 if test -n "$_mcpu"; then
2140 _optimizing=$(echo $_mcpu | cut -c 8-)
2141 echores "$_optimizing"
2142 else
2143 echores "none"
2148 alpha*)
2149 _arch='ALPHA'
2150 _target_arch='ARCH_ALPHA = yes'
2151 iproc='alpha'
2152 def_fast_64bit='#define HAVE_FAST_64BIT 1'
2154 echocheck "CPU type"
2155 cat > $TMPC << EOF
2156 int main(void) {
2157 unsigned long ver, mask;
2158 __asm__ ("implver %0" : "=r" (ver));
2159 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2160 printf("%ld-%x\n", ver, ~mask);
2161 return 0;
2164 $_cc -o "$TMPEXE" "$TMPC"
2165 case $("$TMPEXE") in
2167 0-0) proc="ev4"; _mvi="0";;
2168 1-0) proc="ev5"; _mvi="0";;
2169 1-1) proc="ev56"; _mvi="0";;
2170 1-101) proc="pca56"; _mvi="1";;
2171 2-303) proc="ev6"; _mvi="1";;
2172 2-307) proc="ev67"; _mvi="1";;
2173 2-1307) proc="ev68"; _mvi="1";;
2174 esac
2175 echores "$proc"
2177 echocheck "GCC & CPU optimization abilities"
2178 if test "$proc" = "ev68" ; then
2179 cc_check -mcpu=$proc || proc=ev67
2181 if test "$proc" = "ev67" ; then
2182 cc_check -mcpu=$proc || proc=ev6
2184 _mcpu="-mcpu=$proc"
2185 echores "$proc"
2187 _optimizing="$proc"
2190 mips)
2191 _arch='SGI_MIPS'
2192 _target_arch='ARCH_SGI_MIPS = yes'
2193 iproc='sgi-mips'
2195 if irix ; then
2196 echocheck "CPU type"
2197 proc=$(hinv -c processor | grep CPU | cut -d " " -f3)
2198 case "$(echo $proc)" in
2199 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
2200 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
2201 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
2202 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
2203 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
2204 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
2205 esac
2206 # gcc < 3.x does not support -mtune.
2207 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2208 _mcpu=''
2210 echores "$proc"
2215 hppa)
2216 _arch='PA_RISC'
2217 _target_arch='ARCH_PA_RISC = yes'
2218 iproc='PA-RISC'
2221 s390)
2222 _arch='S390'
2223 _target_arch='ARCH_S390 = yes'
2224 iproc='390'
2227 s390x)
2228 _arch='S390X'
2229 _target_arch='ARCH_S390X = yes'
2230 iproc='390x'
2233 vax)
2234 _arch='VAX'
2235 _target_arch='ARCH_VAX = yes'
2236 iproc='vax'
2239 xtensa)
2240 _arch='XTENSA'
2241 _target_arch='ARCH_XTENSA = yes'
2242 iproc='xtensa'
2245 generic)
2246 _arch='GENERIC'
2247 _target_arch='ARCH_GENERIC = yes'
2251 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2252 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2253 die "unsupported architecture $host_arch"
2255 esac # case "$host_arch" in
2257 if test "$_runtime_cpudetection" = yes ; then
2258 if x86 ; then
2259 test "$_cmov" != no && _cmov=yes
2260 x86_32 && _cmov=no
2261 test "$_mmx" != no && _mmx=yes
2262 test "$_3dnow" != no && _3dnow=yes
2263 test "$_3dnowext" != no && _3dnowext=yes
2264 test "$_mmxext" != no && _mmxext=yes
2265 test "$_sse" != no && _sse=yes
2266 test "$_sse2" != no && _sse2=yes
2267 test "$_ssse3" != no && _ssse3=yes
2268 test "$_mtrr" != no && _mtrr=yes
2270 if ppc; then
2271 _altivec=yes
2276 # endian testing
2277 echocheck "byte order"
2278 if test "$_big_endian" = auto ; then
2279 cat > $TMPC <<EOF
2280 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2281 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2282 int main(void) { return (int)ascii_name; }
2284 if cc_check ; then
2285 if strings $TMPEXE | grep -q -l MPlayerBigEndian ; then
2286 _big_endian=yes
2287 else
2288 _big_endian=no
2290 else
2291 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2294 if test "$_big_endian" = yes ; then
2295 _byte_order='big-endian'
2296 def_words_endian='#define WORDS_BIGENDIAN 1'
2297 def_bigendian='#define HAVE_BIGENDIAN 1'
2298 else
2299 _byte_order='little-endian'
2300 def_words_endian='#undef WORDS_BIGENDIAN'
2301 def_bigendian='#define HAVE_BIGENDIAN 0'
2303 echores "$_byte_order"
2306 echocheck "extern symbol prefix"
2307 cat > $TMPC << EOF
2308 int ff_extern;
2310 cc_check -c || die "Symbol mangling check failed."
2311 sym=$($_nm -P -g $TMPEXE)
2312 extern_prefix=${sym%%ff_extern*}
2313 def_extern_asm="#define EXTERN_ASM $extern_prefix"
2314 def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
2315 echores $extern_prefix
2318 echocheck "assembler support of -pipe option"
2319 cat > $TMPC << EOF
2320 int main(void) { return 0; }
2322 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
2325 echocheck "compiler support of named assembler arguments"
2326 _named_asm_args=yes
2327 def_named_asm_args="#define NAMED_ASM_ARGS 1"
2328 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2329 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2330 _named_asm_args=no
2331 def_named_asm_args="#undef NAMED_ASM_ARGS"
2333 echores $_named_asm_args
2336 if darwin && test "$cc_vendor" = "gnu" ; then
2337 echocheck "GCC support of -mstackrealign"
2338 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2339 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2340 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2341 # wrong code with this flag, but this can be worked around by adding
2342 # -fno-unit-at-a-time as described in the blog post at
2343 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2344 cat > $TMPC << EOF
2345 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2346 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2348 cc_check -O2 -mstackrealign && tmp_run && cflags_stackrealign=-mstackrealign
2349 test -z "$cflags_stackrealign" && cc_check -O2 -mstackrealign -fno-unit-at-a-time \
2350 && tmp_run && cflags_stackrealign="-mstackrealign -fno-unit-at-a-time"
2351 test -n "$cflags_stackrealign" && echores "yes" || echores "no"
2352 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2355 # Checking for CFLAGS
2356 _install_strip="-s"
2357 if test "$_profile" != "" || test "$_debug" != "" ; then
2358 CFLAGS="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2359 _install_strip=
2360 elif test -z "$CFLAGS" ; then
2361 if test "$cc_vendor" = "intel" ; then
2362 CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2363 elif test "$cc_vendor" != "gnu" ; then
2364 CFLAGS="-O2 $_march $_mcpu $_pipe"
2365 else
2366 CFLAGS="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O2 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2367 extra_ldflags="$extra_ldflags -ffast-math"
2369 else
2370 _warn_CFLAGS=yes
2373 cat > $TMPC << EOF
2374 int main(void) { return 0; }
2376 if test "$cc_vendor" = "gnu" ; then
2377 cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
2378 cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
2379 cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
2380 cc_check -Wundef && CFLAGS="-Wundef $CFLAGS"
2381 else
2382 CFLAGS="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2385 cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
2388 if test -n "$LDFLAGS" ; then
2389 extra_ldflags="$extra_ldflags $LDFLAGS"
2390 _warn_CFLAGS=yes
2391 elif test "$cc_vendor" = "intel" ; then
2392 extra_ldflags="$extra_ldflags -i-static"
2394 if test -n "$CPPFLAGS" ; then
2395 extra_cflags="$extra_cflags $CPPFLAGS"
2396 _warn_CFLAGS=yes
2401 if x86_32 ; then
2402 # Checking assembler (_as) compatibility...
2403 # Added workaround for older as that reads from stdin by default - atmos
2404 as_version=$(echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2405 echocheck "assembler ($_as $as_version)"
2407 _pref_as_version='2.9.1'
2408 echo 'nop' > $TMPS
2409 if test "$_mmx" = yes ; then
2410 echo 'emms' >> $TMPS
2412 if test "$_3dnow" = yes ; then
2413 _pref_as_version='2.10.1'
2414 echo 'femms' >> $TMPS
2416 if test "$_3dnowext" = yes ; then
2417 _pref_as_version='2.10.1'
2418 echo 'pswapd %mm0, %mm0' >> $TMPS
2420 if test "$_mmxext" = yes ; then
2421 _pref_as_version='2.10.1'
2422 echo 'movntq %mm0, (%eax)' >> $TMPS
2424 if test "$_sse" = yes ; then
2425 _pref_as_version='2.10.1'
2426 echo 'xorps %xmm0, %xmm0' >> $TMPS
2428 #if test "$_sse2" = yes ; then
2429 # _pref_as_version='2.11'
2430 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2432 if test "$_cmov" = yes ; then
2433 _pref_as_version='2.10.1'
2434 echo 'cmovb %eax, %ebx' >> $TMPS
2436 if test "$_ssse3" = yes ; then
2437 _pref_as_version='2.16.92'
2438 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2440 $_as $TMPS -o $TMPEXE > /dev/null 2>&1 || as_verc_fail=yes
2442 if test "$as_verc_fail" != yes ; then
2443 echores "ok"
2444 else
2445 _res_comment="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2446 echores "failed"
2447 die "obsolete binutils version"
2450 fi #if x86_32
2452 echocheck ".align is a power of two"
2453 if test "$_asmalign_pot" = auto ; then
2454 _asmalign_pot=no
2455 cat > $TMPC << EOF
2456 int main(void) { __asm__ (".align 3"); return 0; }
2458 cc_check && _asmalign_pot=yes
2460 if test "$_asmalign_pot" = "yes" ; then
2461 def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2462 else
2463 def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2465 echores $_asmalign_pot
2467 if x86 ; then
2468 echocheck "10 assembler operands"
2469 ten_operands=no
2470 def_ten_operands='#define HAVE_TEN_OPERANDS 0'
2471 cat > $TMPC << EOF
2472 int main(void) {
2473 int x=0;
2474 __asm__ volatile(
2476 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2478 return 0;
2481 cc_check && ten_operands=yes && def_ten_operands='#define HAVE_TEN_OPERANDS 1'
2482 echores $ten_operands
2484 echocheck "ebx availability"
2485 ebx_available=no
2486 def_ebx_available='#define HAVE_EBX_AVAILABLE 0'
2487 cat > $TMPC << EOF
2488 int main(void) {
2489 int x;
2490 __asm__ volatile(
2491 "xor %0, %0"
2492 :"=b"(x)
2493 // just adding ebx to clobber list seems unreliable with some
2494 // compilers, e.g. Haiku's gcc 2.95
2496 // and the above check does not work for OSX 64 bit...
2497 __asm__ volatile("":::"%ebx");
2498 return 0;
2501 cc_check && ebx_available=yes && def_ebx_available='#define HAVE_EBX_AVAILABLE 1'
2502 echores $ebx_available
2504 echocheck "yasm"
2505 if test -z "$YASMFLAGS" ; then
2506 if darwin ; then
2507 x86_64 && objformat="macho64" || objformat="macho"
2508 elif win32 ; then
2509 objformat="win32"
2510 else
2511 objformat="elf"
2513 # currently tested for Linux x86, x86_64
2514 YASMFLAGS="-f $objformat"
2515 x86_64 && YASMFLAGS="$YASMFLAGS -DARCH_X86_64 -m amd64"
2516 case "$objformat" in
2517 elf) test $_debug && YASMFLAGS="$YASMFLAGS -g dwarf2" ;;
2518 macho64) YASMFLAGS="$YASMFLAGS -DPIC -DPREFIX" ;;
2519 *) YASMFLAGS="$YASMFLAGS -DPREFIX" ;;
2520 esac
2521 else
2522 _warn_CFLAGS=yes
2525 echo "pabsw xmm0, xmm0" > $TMPS
2526 yasm_check || _yasm=""
2527 if test $_yasm ; then
2528 test "$_mmx" = "yes" && fft_mmx="yes"
2529 def_yasm='#define HAVE_YASM 1'
2530 _have_yasm="yes"
2531 echores "$_yasm"
2532 else
2533 def_yasm='#define HAVE_YASM 0'
2534 fft_mmx="no"
2535 _have_yasm="no"
2536 echores "no"
2539 echocheck "bswap"
2540 def_bswap='#define HAVE_BSWAP 0'
2541 echo 'bswap %eax' > $TMPS
2542 $_as $TMPS -o $TMPEXE > /dev/null 2>&1 && def_bswap='#define HAVE_BSWAP 1' && bswap=yes || bswap=no
2543 echores "$bswap"
2544 fi #if x86
2547 #FIXME: This should happen before the check for CFLAGS..
2548 def_altivec_h='#define HAVE_ALTIVEC_H 0'
2549 if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
2551 # check if AltiVec is supported by the compiler, and how to enable it
2552 echocheck "GCC AltiVec flags"
2553 cat > $TMPC << EOF
2554 int main(void) { return 0; }
2556 if $(cc_check -maltivec -mabi=altivec) ; then
2557 _altivec_gcc_flags="-maltivec -mabi=altivec"
2558 # check if <altivec.h> should be included
2559 cat > $TMPC << EOF
2560 #include <altivec.h>
2561 int main(void) { return 0; }
2563 if $(cc_check $_altivec_gcc_flags) ; then
2564 def_altivec_h='#define HAVE_ALTIVEC_H 1'
2565 inc_altivec_h='#include <altivec.h>'
2566 else
2567 cat > $TMPC << EOF
2568 int main(void) { return 0; }
2570 if $(cc_check -faltivec) ; then
2571 _altivec_gcc_flags="-faltivec"
2572 else
2573 _altivec=no
2574 _altivec_gcc_flags="none, AltiVec disabled"
2578 echores "$_altivec_gcc_flags"
2580 # check if the compiler supports braces for vector declarations
2581 cat > $TMPC << EOF
2582 $inc_altivec_h
2583 int main(void) { (vector int) {1}; return 0; }
2585 cc_check $_altivec_gcc_flags || die "You need a compiler that supports {} in AltiVec vector declarations."
2587 # Disable runtime cpudetection if we cannot generate AltiVec code or
2588 # AltiVec is disabled by the user.
2589 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2590 && _runtime_cpudetection=no
2592 # Show that we are optimizing for AltiVec (if enabled and supported).
2593 test "$_runtime_cpudetection" = no && test "$_altivec" = yes \
2594 && _optimizing="$_optimizing altivec"
2596 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2597 test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"
2600 if ppc ; then
2601 def_xform_asm='#define HAVE_XFORM_ASM 0'
2602 xform_asm=no
2603 echocheck "XFORM ASM support"
2604 cat > $TMPC << EOF
2605 int main(void) { __asm__ volatile ("lwzx 0, %y0" :: "Z"(*(int*)0)); return 0; }
2607 cc_check && xform_asm=yes && def_xform_asm='#define HAVE_XFORM_ASM 1'
2608 echores "$xform_asm"
2611 if arm ; then
2612 echocheck "ARM pld instruction"
2613 cat > $TMPC << EOF
2614 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2616 pld=no
2617 cc_check && pld=yes
2618 echores "$pld"
2620 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2621 if test $_armv5te = "auto" ; then
2622 cat > $TMPC << EOF
2623 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2625 _armv5te=no
2626 cc_check && _armv5te=yes
2628 echores "$_armv5te"
2630 echocheck "ARMv6 (SIMD instructions)"
2631 if test $_armv6 = "auto" ; then
2632 cat > $TMPC << EOF
2633 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2635 _armv6=no
2636 cc_check && _armv6=yes
2638 echores "$_armv6"
2640 echocheck "ARMv6t2 (SIMD instructions)"
2641 if test $_armv6t2 = "auto" ; then
2642 cat > $TMPC << EOF
2643 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2645 _armv6t2=no
2646 cc_check && _armv6t2=yes
2648 echores "$_armv6"
2650 echocheck "ARM VFP"
2651 if test $_armvfp = "auto" ; then
2652 cat > $TMPC << EOF
2653 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2655 _armvfp=no
2656 cc_check && _armvfp=yes
2658 echores "$_armvfp"
2660 echocheck "ARM NEON"
2661 if test $neon = "auto" ; then
2662 cat > $TMPC << EOF
2663 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2665 neon=no
2666 cc_check && neon=yes
2668 echores "$neon"
2670 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2671 if test $_iwmmxt = "auto" ; then
2672 cat > $TMPC << EOF
2673 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2675 _iwmmxt=no
2676 cc_check && _iwmmxt=yes
2678 echores "$_iwmmxt"
2681 _cpuexts_all='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
2682 test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts"
2683 test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
2684 test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
2685 test "$_3dnow" = yes && _cpuexts="AMD3DNOW $_cpuexts"
2686 test "$_3dnowext" = yes && _cpuexts="AMD3DNOWEXT $_cpuexts"
2687 test "$_sse" = yes && _cpuexts="SSE $_cpuexts"
2688 test "$_sse2" = yes && _cpuexts="SSE2 $_cpuexts"
2689 test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
2690 test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
2691 test "$_fast_cmov" = yes && _cpuexts="FAST_CMOV $_cpuexts"
2692 test "$pld" = yes && _cpuexts="PLD $_cpuexts"
2693 test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
2694 test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
2695 test "$_armv6t2" = yes && _cpuexts="ARMV6T2 $_cpuexts"
2696 test "$_armvfp" = yes && _cpuexts="ARMVFP $_cpuexts"
2697 test "$neon" = yes && _cpuexts="NEON $_cpuexts"
2698 test "$_iwmmxt" = yes && _cpuexts="IWMMXT $_cpuexts"
2699 test "$_vis" = yes && _cpuexts="VIS $_cpuexts"
2700 test "$_mvi" = yes && _cpuexts="MVI $_cpuexts"
2702 # Checking kernel version...
2703 if x86_32 && linux ; then
2704 _k_verc_problem=no
2705 kernel_version=$(uname -r 2>&1)
2706 echocheck "$system_name kernel version"
2707 case "$kernel_version" in
2708 '') kernel_version="?.??"; _k_verc_fail=yes;;
2709 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2710 _k_verc_problem=yes;;
2711 esac
2712 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2713 _k_verc_fail=yes
2715 if test "$_k_verc_fail" ; then
2716 echores "$kernel_version, fail"
2717 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2718 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2719 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2720 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2721 echo "2.2.x you must upgrade it to get SSE support!"
2722 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2723 else
2724 echores "$kernel_version, ok"
2728 ######################
2729 # MAIN TESTS GO HERE #
2730 ######################
2733 echocheck "-lposix"
2734 cat > $TMPC <<EOF
2735 int main(void) { return 0; }
2737 if cc_check -lposix ; then
2738 extra_ldflags="$extra_ldflags -lposix"
2739 echores "yes"
2740 else
2741 echores "no"
2744 echocheck "-lm"
2745 cat > $TMPC <<EOF
2746 int main(void) { return 0; }
2748 if cc_check -lm ; then
2749 _ld_lm="-lm"
2750 echores "yes"
2751 else
2752 _ld_lm=""
2753 echores "no"
2757 echocheck "langinfo"
2758 if test "$_langinfo" = auto ; then
2759 cat > $TMPC <<EOF
2760 #include <langinfo.h>
2761 int main(void) { nl_langinfo(CODESET); return 0; }
2763 _langinfo=no
2764 cc_check && _langinfo=yes
2766 if test "$_langinfo" = yes ; then
2767 def_langinfo='#define HAVE_LANGINFO 1'
2768 else
2769 def_langinfo='#undef HAVE_LANGINFO'
2771 echores "$_langinfo"
2774 echocheck "language"
2775 # Set preferred languages, "all" uses English as main language.
2776 test -z "$language" && language=$LINGUAS
2777 test -z "$language_doc" && language_doc=$language
2778 test -z "$language_man" && language_man=$language
2779 test -z "$language_msg" && language_msg=$language
2780 language_doc=$(echo $language_doc | tr , " ")
2781 language_man=$(echo $language_man | tr , " ")
2782 language_msg=$(echo $language_msg | tr , " ")
2784 test "$language_doc" = "all" && language_doc=$doc_lang_all
2785 test "$language_man" = "all" && language_man=$man_lang_all
2786 test "$language_msg" = "all" && language_msg=en
2788 # Prune non-existing translations from language lists.
2789 # Set message translation to the first available language.
2790 # Fall back on English.
2791 for lang in $language_doc ; do
2792 test -d DOCS/xml/$lang && tmp_language_doc="$tmp_language_doc $lang"
2793 done
2794 language_doc=$tmp_language_doc
2795 test -z "$language_doc" && language_doc=en
2797 for lang in $language_man ; do
2798 test -d DOCS/man/$lang && tmp_language_man="$tmp_language_man $lang"
2799 done
2800 language_man=$tmp_language_man
2801 test -z "$language_man" && language_man=en
2803 for lang in $language_msg ; do
2804 test -f "help/help_mp-${lang}.h" && tmp_language_msg=$lang && break
2805 done
2806 language_msg=$tmp_language_msg
2807 test -z "$language_msg" && language_msg=en
2808 _mp_help="help/help_mp-${language_msg}.h"
2809 echores "messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2812 echocheck "enable sighandler"
2813 if test "$_sighandler" = yes ; then
2814 def_sighandler='#define CONFIG_SIGHANDLER 1'
2815 else
2816 def_sighandler='#undef CONFIG_SIGHANDLER'
2818 echores "$_sighandler"
2820 echocheck "runtime cpudetection"
2821 if test "$_runtime_cpudetection" = yes ; then
2822 _optimizing="Runtime CPU-Detection enabled"
2823 def_runtime_cpudetection='#define CONFIG_RUNTIME_CPUDETECT 1'
2824 else
2825 def_runtime_cpudetection='#define CONFIG_RUNTIME_CPUDETECT 0'
2827 echores "$_runtime_cpudetection"
2830 echocheck "restrict keyword"
2831 for restrict_keyword in restrict __restrict __restrict__ ; do
2832 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2833 if cc_check; then
2834 def_restrict_keyword=$restrict_keyword
2835 break;
2837 done
2838 if [ -n "$def_restrict_keyword" ]; then
2839 echores "$def_restrict_keyword"
2840 else
2841 echores "none"
2843 # Avoid infinite recursion loop ("#define restrict restrict")
2844 if [ "$def_restrict_keyword" != "restrict" ]; then
2845 def_restrict_keyword="#define restrict $def_restrict_keyword"
2846 else
2847 def_restrict_keyword=""
2851 echocheck "__builtin_expect"
2852 # GCC branch prediction hint
2853 cat > $TMPC << EOF
2854 int foo(int a) {
2855 a = __builtin_expect(a, 10);
2856 return a == 10 ? 0 : 1;
2858 int main(void) { return foo(10) && foo(0); }
2860 _builtin_expect=no
2861 cc_check && _builtin_expect=yes
2862 if test "$_builtin_expect" = yes ; then
2863 def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2864 else
2865 def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2867 echores "$_builtin_expect"
2870 echocheck "kstat"
2871 cat > $TMPC << EOF
2872 #include <kstat.h>
2873 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2875 _kstat=no
2876 cc_check -lkstat && _kstat=yes
2877 if test "$_kstat" = yes ; then
2878 def_kstat="#define HAVE_LIBKSTAT 1"
2879 extra_ldflags="$extra_ldflags -lkstat"
2880 else
2881 def_kstat="#undef HAVE_LIBKSTAT"
2883 echores "$_kstat"
2886 echocheck "posix4"
2887 # required for nanosleep on some systems
2888 cat > $TMPC << EOF
2889 #include <time.h>
2890 int main(void) { (void) nanosleep(0, 0); return 0; }
2892 _posix4=no
2893 cc_check -lposix4 && _posix4=yes
2894 if test "$_posix4" = yes ; then
2895 extra_ldflags="$extra_ldflags -lposix4"
2897 echores "$_posix4"
2899 for func in llrint log2 lrint lrintf round roundf truncf; do
2900 echocheck $func
2901 cat > $TMPC << EOF
2902 #include <math.h>
2903 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
2905 eval _$func=no
2906 cc_check -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes
2907 if eval test "x\$_$func" = "xyes"; then
2908 eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
2909 echores yes
2910 else
2911 eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
2912 echores no
2914 done
2917 echocheck "mkstemp"
2918 cat > $TMPC << EOF
2919 #include <stdlib.h>
2920 int main(void) { char a; mkstemp(&a); return 0; }
2922 _mkstemp=no
2923 cc_check && _mkstemp=yes
2924 if test "$_mkstemp" = yes ; then
2925 def_mkstemp='#define HAVE_MKSTEMP 1'
2926 else
2927 def_mkstemp='#undef HAVE_MKSTEMP'
2929 echores "$_mkstemp"
2932 echocheck "nanosleep"
2933 # also check for nanosleep
2934 cat > $TMPC << EOF
2935 #include <time.h>
2936 int main(void) { (void) nanosleep(0, 0); return 0; }
2938 _nanosleep=no
2939 cc_check && _nanosleep=yes
2940 if test "$_nanosleep" = yes ; then
2941 def_nanosleep='#define HAVE_NANOSLEEP 1'
2942 else
2943 def_nanosleep='#undef HAVE_NANOSLEEP'
2945 echores "$_nanosleep"
2948 echocheck "socklib"
2949 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2950 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2951 cat > $TMPC << EOF
2952 #include <netdb.h>
2953 #include <sys/socket.h>
2954 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2956 _socklib=no
2957 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2958 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2959 done
2960 if test $_winsock2_h = auto && ! cygwin ; then
2961 _winsock2_h=no
2962 cat > $TMPC << EOF
2963 #include <winsock2.h>
2964 int main(void) { (void) gethostbyname(0); return 0; }
2966 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2_h=yes
2968 test "$_ld_sock" && _res_comment="using $_ld_sock"
2969 echores "$_socklib"
2972 if test $_winsock2_h = yes ; then
2973 _ld_sock="-lws2_32"
2974 def_winsock2_h='#define HAVE_WINSOCK2_H 1'
2975 else
2976 def_winsock2_h='#define HAVE_WINSOCK2_H 0'
2980 echocheck "arpa/inet.h"
2981 arpa_inet_h=no
2982 def_arpa_inet_h='#define HAVE_ARPA_INET_H 0'
2983 cat > $TMPC << EOF
2984 #include <arpa/inet.h>
2985 int main(void) { return 0; }
2987 cc_check && arpa_inet_h=yes && def_arpa_inet_h='#define HAVE_ARPA_INET_H 1'
2988 echores "$arpa_inet_h"
2991 echocheck "inet_pton()"
2992 def_inet_pton='#define HAVE_INET_PTON 0'
2993 inet_pton=no
2994 cat > $TMPC << EOF
2995 #include <sys/types.h>
2996 #include <sys/socket.h>
2997 #include <arpa/inet.h>
2998 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3000 for _ld_tmp in "$_ld_sock" "$_ld_sock -lresolv" ; do
3001 cc_check $_ld_tmp && inet_pton=yes && break
3002 done
3003 if test $inet_pton = yes ; then
3004 test $_ld_tmp && _res_comment="using $_ld_tmp"
3005 def_inet_pton='#define HAVE_INET_PTON 1'
3007 echores "$inet_pton"
3010 echocheck "inet_aton()"
3011 def_inet_aton='#define HAVE_INET_ATON 0'
3012 inet_aton=no
3013 cat > $TMPC << EOF
3014 #include <sys/types.h>
3015 #include <sys/socket.h>
3016 #include <arpa/inet.h>
3017 int main(void) { (void) inet_aton(0, 0); return 0; }
3019 for _ld_tmp in "$_ld_sock" "$_ld_sock -lresolv" ; do
3020 cc_check $_ld_tmp && inet_aton=yes && break
3021 done
3022 if test $inet_aton = yes ; then
3023 test $_ld_tmp && _res_comment="using $_ld_tmp"
3024 def_inet_aton='#define HAVE_INET_ATON 1'
3026 echores "$inet_aton"
3029 echocheck "socklen_t"
3030 _socklen_t=no
3031 for header in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3032 cat > $TMPC << EOF
3033 #include <$header>
3034 int main(void) { socklen_t v = 0; return v; }
3036 cc_check && _socklen_t=yes && break
3037 done
3038 if test "$_socklen_t" = yes ; then
3039 def_socklen_t='#define HAVE_SOCKLEN_T 1'
3040 else
3041 def_socklen_t='#define HAVE_SOCKLEN_T 0'
3043 echores "$_socklen_t"
3046 echocheck "closesocket()"
3047 _closesocket=no
3048 cat > $TMPC << EOF
3049 #include <winsock2.h>
3050 int main(void) { closesocket(~0); return 0; }
3052 cc_check $_ld_sock && _closesocket=yes
3053 if test "$_closesocket" = yes ; then
3054 def_closesocket='#define HAVE_CLOSESOCKET 1'
3055 else
3056 def_closesocket='#define HAVE_CLOSESOCKET 0'
3058 echores "$_closesocket"
3061 echocheck "network"
3062 test $_winsock2_h = no && test $inet_pton = no &&
3063 test $inet_aton = no && _network=no
3064 if test "$_network" = yes ; then
3065 def_network='#define CONFIG_NETWORK 1'
3066 extra_ldflags="$extra_ldflags $_ld_sock"
3067 _inputmodules="network $_inputmodules"
3068 else
3069 _noinputmodules="network $_noinputmodules"
3070 def_network='#undef CONFIG_NETWORK'
3071 _ftp=no
3073 echores "$_network"
3076 echocheck "inet6"
3077 if test "$_inet6" = auto ; then
3078 cat > $TMPC << EOF
3079 #include <sys/types.h>
3080 #if !defined(_WIN32) || defined(__CYGWIN__)
3081 #include <sys/socket.h>
3082 #include <netinet/in.h>
3083 #else
3084 #include <ws2tcpip.h>
3085 #endif
3086 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3088 _inet6=no
3089 if cc_check $_ld_sock ; then
3090 _inet6=yes
3093 if test "$_inet6" = yes ; then
3094 def_inet6='#define HAVE_AF_INET6 1'
3095 else
3096 def_inet6='#undef HAVE_AF_INET6'
3098 echores "$_inet6"
3101 echocheck "gethostbyname2"
3102 if test "$_gethostbyname2" = auto ; then
3103 cat > $TMPC << EOF
3104 #include <sys/types.h>
3105 #include <sys/socket.h>
3106 #include <netdb.h>
3107 int main(void) { gethostbyname2("", AF_INET); return 0; }
3109 _gethostbyname2=no
3110 if cc_check ; then
3111 _gethostbyname2=yes
3114 if test "$_gethostbyname2" = yes ; then
3115 def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
3116 else
3117 def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
3119 echores "$_gethostbyname2"
3122 echocheck "inttypes.h (required)"
3123 cat > $TMPC << EOF
3124 #include <inttypes.h>
3125 int main(void) { return 0; }
3127 _inttypes=no
3128 cc_check && _inttypes=yes
3129 echores "$_inttypes"
3131 if test "$_inttypes" = no ; then
3132 echocheck "bitypes.h (inttypes.h predecessor)"
3133 cat > $TMPC << EOF
3134 #include <sys/bitypes.h>
3135 int main(void) { return 0; }
3137 cc_check && _inttypes=yes
3138 if test "$_inttypes" = yes ; then
3139 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."
3140 else
3141 die "Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3146 echocheck "int_fastXY_t in inttypes.h"
3147 cat > $TMPC << EOF
3148 #include <inttypes.h>
3149 int main(void) {
3150 volatile int_fast16_t v= 0;
3151 return v; }
3153 _fast_inttypes=no
3154 cc_check && _fast_inttypes=yes
3155 if test "$_fast_inttypes" = no ; then
3156 def_fast_inttypes='
3157 typedef signed char int_fast8_t;
3158 typedef signed int int_fast16_t;
3159 typedef signed int int_fast32_t;
3160 typedef signed long long int_fast64_t;
3161 typedef unsigned char uint_fast8_t;
3162 typedef unsigned int uint_fast16_t;
3163 typedef unsigned int uint_fast32_t;
3164 typedef unsigned long long uint_fast64_t;'
3166 echores "$_fast_inttypes"
3169 echocheck "malloc.h"
3170 cat > $TMPC << EOF
3171 #include <malloc.h>
3172 int main(void) { (void) malloc(0); return 0; }
3174 _malloc=no
3175 cc_check && _malloc=yes
3176 if test "$_malloc" = yes ; then
3177 def_malloc_h='#define HAVE_MALLOC_H 1'
3178 else
3179 def_malloc_h='#define HAVE_MALLOC_H 0'
3181 # malloc.h emits a warning in FreeBSD and OpenBSD
3182 freebsd || openbsd || dragonfly && def_malloc_h='#define HAVE_MALLOC_H 0'
3183 echores "$_malloc"
3186 echocheck "memalign()"
3187 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3188 def_memalign_hack='#define CONFIG_MEMALIGN_HACK 0'
3189 cat > $TMPC << EOF
3190 #include <malloc.h>
3191 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3193 _memalign=no
3194 cc_check && _memalign=yes
3195 if test "$_memalign" = yes ; then
3196 def_memalign='#define HAVE_MEMALIGN 1'
3197 else
3198 def_memalign='#define HAVE_MEMALIGN 0'
3199 def_map_memalign='#define memalign(a,b) malloc(b)'
3200 darwin || def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
3202 echores "$_memalign"
3205 echocheck "posix_memalign()"
3206 posix_memalign=no
3207 def_posix_memalign='#define HAVE_POSIX_MEMALIGN 0'
3208 cat > $TMPC << EOF
3209 #define _XOPEN_SOURCE 600
3210 #include <stdlib.h>
3211 int main(void) { posix_memalign(NULL, 0, 0); }
3213 cc_check && posix_memalign=yes && def_posix_memalign='#define HAVE_POSIX_MEMALIGN 1'
3214 echores "$posix_memalign"
3217 echocheck "alloca.h"
3218 cat > $TMPC << EOF
3219 #include <alloca.h>
3220 int main(void) { (void) alloca(0); return 0; }
3222 _alloca=no
3223 cc_check && _alloca=yes
3224 if cc_check ; then
3225 def_alloca_h='#define HAVE_ALLOCA_H 1'
3226 else
3227 def_alloca_h='#undef HAVE_ALLOCA_H'
3229 echores "$_alloca"
3232 echocheck "fastmemcpy"
3233 if test "$_fastmemcpy" = yes ; then
3234 def_fastmemcpy='#define CONFIG_FASTMEMCPY 1'
3235 else
3236 def_fastmemcpy='#undef CONFIG_FASTMEMCPY'
3238 echores "$_fastmemcpy"
3241 echocheck "mman.h"
3242 cat > $TMPC << EOF
3243 #include <sys/types.h>
3244 #include <sys/mman.h>
3245 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3247 _mman=no
3248 cc_check && _mman=yes
3249 if test "$_mman" = yes ; then
3250 def_mman_h='#define HAVE_SYS_MMAN_H 1'
3251 else
3252 def_mman_h='#undef HAVE_SYS_MMAN_H'
3253 os2 && _need_mmap=yes
3255 echores "$_mman"
3257 cat > $TMPC << EOF
3258 #include <sys/types.h>
3259 #include <sys/mman.h>
3260 int main(void) { void *p = MAP_FAILED; return 0; }
3262 _mman_has_map_failed=no
3263 cc_check && _mman_has_map_failed=yes
3264 if test "$_mman_has_map_failed" = yes ; then
3265 def_mman_has_map_failed=''
3266 else
3267 def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
3270 echocheck "dynamic loader"
3271 cat > $TMPC << EOF
3272 #include <stddef.h>
3273 #include <dlfcn.h>
3274 int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
3276 _dl=no
3277 for _ld_tmp in "" "-ldl" ; do
3278 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
3279 done
3280 if test "$_dl" = yes ; then
3281 def_dl='#define HAVE_LIBDL 1'
3282 else
3283 def_dl='#undef HAVE_LIBDL'
3285 echores "$_dl"
3288 echocheck "dynamic a/v plugins support"
3289 if test "$_dl" = no ; then
3290 _dynamic_plugins=no
3292 if test "$_dynamic_plugins" = yes ; then
3293 def_dynamic_plugins='#define CONFIG_DYNAMIC_PLUGINS 1'
3294 else
3295 def_dynamic_plugins='#undef CONFIG_DYNAMIC_PLUGINS'
3297 echores "$_dynamic_plugins"
3300 def_threads='#define HAVE_THREADS 0'
3302 echocheck "pthread"
3303 if linux ; then
3304 THREAD_CFLAGS=-D_REENTRANT
3305 elif freebsd || netbsd || openbsd || bsdos ; then
3306 THREAD_CFLAGS=-D_THREAD_SAFE
3308 if test "$_pthreads" = auto ; then
3309 cat > $TMPC << EOF
3310 #include <pthread.h>
3311 void* func(void *arg) { return arg; }
3312 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3314 _pthreads=no
3315 if ! hpux ; then
3316 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3317 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3318 cc_check $THREAD_CFLAGS $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3319 done
3322 if test "$_pthreads" = yes ; then
3323 test $_ld_pthread && _res_comment="using $_ld_pthread"
3324 def_pthreads='#define HAVE_PTHREADS 1'
3325 def_threads='#define HAVE_THREADS 1'
3326 extra_cflags="$extra_cflags $THREAD_CFLAGS"
3327 else
3328 _res_comment="v4l, v4l2, ao_nas, win32 loader disabled"
3329 def_pthreads='#undef HAVE_PTHREADS'
3330 _nas=no ; _tv_v4l1=no ; _tv_v4l2=no
3331 mingw32 || _win32dll=no
3333 echores "$_pthreads"
3335 if cygwin ; then
3336 if test "$_pthreads" = yes ; then
3337 def_pthread_cache="#define PTHREAD_CACHE 1"
3338 else
3339 _stream_cache=no
3340 def_stream_cache="#undef CONFIG_STREAM_CACHE"
3344 echocheck "w32threads"
3345 if test "$_pthreads" = yes ; then
3346 _res_comment="using pthread instead"
3347 _w32threads=no
3349 if test "$_w32threads" = auto ; then
3350 _w32threads=no
3351 mingw32 && _w32threads=yes
3353 test "$_w32threads" = yes && def_threads='#define HAVE_THREADS 1'
3354 echores "$_w32threads"
3356 echocheck "rpath"
3357 netbsd &&_rpath=yes
3358 if test "$_rpath" = yes ; then
3359 for I in $(echo $extra_ldflags | sed 's/-L//g') ; do
3360 tmp="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3361 done
3362 extra_ldflags=$tmp
3364 echores "$_rpath"
3366 echocheck "iconv"
3367 if test "$_iconv" = auto ; then
3368 cat > $TMPC << EOF
3369 #include <stdio.h>
3370 #include <unistd.h>
3371 #include <iconv.h>
3372 #define INBUFSIZE 1024
3373 #define OUTBUFSIZE 4096
3375 char inbuffer[INBUFSIZE];
3376 char outbuffer[OUTBUFSIZE];
3378 int main(void) {
3379 size_t numread;
3380 iconv_t icdsc;
3381 char *tocode="UTF-8";
3382 char *fromcode="cp1250";
3383 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3384 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3385 char *iptr=inbuffer;
3386 char *optr=outbuffer;
3387 size_t inleft=numread;
3388 size_t outleft=OUTBUFSIZE;
3389 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3390 != (size_t)(-1)) {
3391 write(1, outbuffer, OUTBUFSIZE - outleft);
3394 if (iconv_close(icdsc) == -1)
3397 return 0;
3400 _iconv=no
3401 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3402 cc_check $_ld_lm $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && \
3403 _iconv=yes && break
3404 done
3406 if test "$_iconv" = yes ; then
3407 def_iconv='#define CONFIG_ICONV 1'
3408 else
3409 def_iconv='#undef CONFIG_ICONV'
3411 echores "$_iconv"
3414 echocheck "soundcard.h"
3415 _soundcard_h=no
3416 def_soundcard_h='#undef HAVE_SOUNDCARD_H'
3417 def_sys_soundcard_h='#undef HAVE_SYS_SOUNDCARD_H'
3418 for _soundcard_header in "sys/soundcard.h" "soundcard.h"; do
3419 cat > $TMPC << EOF
3420 #include <$_soundcard_header>
3421 int main(void) { return 0; }
3423 cc_check && _soundcard_h=yes && _res_comment="$_soundcard_header" && break
3424 done
3426 if test "$_soundcard_h" = yes ; then
3427 if test $_soundcard_header = "sys/soundcard.h"; then
3428 def_sys_soundcard_h='#define HAVE_SYS_SOUNDCARD_H 1'
3429 else
3430 def_soundcard_h='#define HAVE_SOUNDCARD_H 1'
3433 echores "$_soundcard_h"
3436 echocheck "sys/dvdio.h"
3437 cat > $TMPC << EOF
3438 #include <unistd.h>
3439 #include <sys/dvdio.h>
3440 int main(void) { return 0; }
3442 _dvdio=no
3443 cc_check && _dvdio=yes
3444 if test "$_dvdio" = yes ; then
3445 def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3446 else
3447 def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3449 echores "$_dvdio"
3452 echocheck "sys/cdio.h"
3453 cat > $TMPC << EOF
3454 #include <unistd.h>
3455 #include <sys/cdio.h>
3456 int main(void) { return 0; }
3458 _cdio=no
3459 cc_check && _cdio=yes
3460 if test "$_cdio" = yes ; then
3461 def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3462 else
3463 def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3465 echores "$_cdio"
3468 echocheck "linux/cdrom.h"
3469 cat > $TMPC << EOF
3470 #include <sys/types.h>
3471 #include <linux/cdrom.h>
3472 int main(void) { return 0; }
3474 _cdrom=no
3475 cc_check && _cdrom=yes
3476 if test "$_cdrom" = yes ; then
3477 def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3478 else
3479 def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3481 echores "$_cdrom"
3484 echocheck "dvd.h"
3485 cat > $TMPC << EOF
3486 #include <dvd.h>
3487 int main(void) { return 0; }
3489 _dvd=no
3490 cc_check && _dvd=yes
3491 if test "$_dvd" = yes ; then
3492 def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3493 else
3494 def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3496 echores "$_dvd"
3499 if bsdos; then
3500 echocheck "BSDI dvd.h"
3501 cat > $TMPC << EOF
3502 #include <dvd.h>
3503 int main(void) { return 0; }
3505 _bsdi_dvd=no
3506 cc_check && _bsdi_dvd=yes
3507 if test "$_bsdi_dvd" = yes ; then
3508 def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3509 else
3510 def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3512 echores "$_bsdi_dvd"
3513 fi #if bsdos
3516 if hpux; then
3517 # also used by AIX, but AIX does not support VCD and/or libdvdread
3518 echocheck "HP-UX SCSI header"
3519 cat > $TMPC << EOF
3520 #include <sys/scsi.h>
3521 int main(void) { return 0; }
3523 _hpux_scsi_h=no
3524 cc_check && _hpux_scsi_h=yes
3525 if test "$_hpux_scsi_h" = yes ; then
3526 def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3527 else
3528 def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3530 echores "$_hpux_scsi_h"
3531 fi #if hpux
3534 if sunos; then
3535 echocheck "userspace SCSI headers (Solaris)"
3536 cat > $TMPC << EOF
3537 #include <unistd.h>
3538 #include <stropts.h>
3539 #include <sys/scsi/scsi_types.h>
3540 #include <sys/scsi/impl/uscsi.h>
3541 int main(void) { return 0; }
3543 _sol_scsi_h=no
3544 cc_check && _sol_scsi_h=yes
3545 if test "$_sol_scsi_h" = yes ; then
3546 def_sol_scsi_h='#define SOLARIS_USCSI 1'
3547 else
3548 def_sol_scsi_h='#undef SOLARIS_USCSI'
3550 echores "$_sol_scsi_h"
3551 fi #if sunos
3554 echocheck "termcap"
3555 if test "$_termcap" = auto ; then
3556 cat > $TMPC <<EOF
3557 #include <stddef.h>
3558 #include <term.h>
3559 int main(void) { tgetent(NULL, NULL); return 0; }
3561 _termcap=no
3562 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3563 cc_check $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" \
3564 && _termcap=yes && break
3565 done
3567 if test "$_termcap" = yes ; then
3568 def_termcap='#define HAVE_TERMCAP 1'
3569 test $_ld_tmp && _res_comment="using $_ld_tmp"
3570 else
3571 def_termcap='#undef HAVE_TERMCAP'
3573 echores "$_termcap"
3576 echocheck "termios"
3577 def_termios='#undef HAVE_TERMIOS'
3578 def_termios_h='#undef HAVE_TERMIOS_H'
3579 def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3580 if test "$_termios" = auto ; then
3581 _termios=no
3582 for _termios_header in "sys/termios.h" "termios.h"; do
3583 cat > $TMPC <<EOF
3584 #include <$_termios_header>
3585 int main(void) { return 0; }
3587 cc_check && _termios=yes && _res_comment="using $_termios_header" && break
3588 done
3591 if test "$_termios" = yes ; then
3592 def_termios='#define HAVE_TERMIOS 1'
3593 if test "$_termios_header" = "termios.h" ; then
3594 def_termios_h='#define HAVE_TERMIOS_H 1'
3595 else
3596 def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3599 echores "$_termios"
3602 echocheck "shm"
3603 if test "$_shm" = auto ; then
3604 cat > $TMPC << EOF
3605 #include <sys/types.h>
3606 #include <sys/shm.h>
3607 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3609 _shm=no
3610 cc_check && _shm=yes
3612 if test "$_shm" = yes ; then
3613 def_shm='#define HAVE_SHM 1'
3614 else
3615 def_shm='#undef HAVE_SHM'
3617 echores "$_shm"
3620 echocheck "strsep()"
3621 cat > $TMPC << EOF
3622 #include <string.h>
3623 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3625 _strsep=no
3626 cc_check && _strsep=yes
3627 if test "$_strsep" = yes ; then
3628 def_strsep='#define HAVE_STRSEP 1'
3629 _need_strsep=no
3630 else
3631 def_strsep='#undef HAVE_STRSEP'
3632 _need_strsep=yes
3634 echores "$_strsep"
3637 echocheck "vsscanf()"
3638 cat > $TMPC << EOF
3639 #define _ISOC99_SOURCE
3640 #include <stdarg.h>
3641 #include <stdio.h>
3642 int main(void) { vsscanf(0, 0, 0); return 0; }
3644 _vsscanf=no
3645 cc_check && _vsscanf=yes
3646 if test "$_vsscanf" = yes ; then
3647 def_vsscanf='#define HAVE_VSSCANF 1'
3648 _need_vsscanf=no
3649 else
3650 def_vsscanf='#undef HAVE_VSSCANF'
3651 _need_vsscanf=yes
3653 echores "$_vsscanf"
3656 echocheck "swab()"
3657 cat > $TMPC << EOF
3658 #define _XOPEN_SOURCE 600
3659 #include <unistd.h>
3660 int main(void) { swab(0, 0, 0); return 0; }
3662 _swab=no
3663 cc_check && _swab=yes
3664 if test "$_swab" = yes ; then
3665 def_swab='#define HAVE_SWAB 1'
3666 _need_swab=no
3667 else
3668 def_swab='#undef HAVE_SWAB'
3669 _need_swab=yes
3671 echores "$_swab"
3673 echocheck "POSIX select()"
3674 cat > $TMPC << EOF
3675 #include <stdio.h>
3676 #include <stdlib.h>
3677 #include <sys/types.h>
3678 #include <string.h>
3679 #include <sys/time.h>
3680 #include <unistd.h>
3681 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3683 _posix_select=no
3684 def_posix_select='#undef HAVE_POSIX_SELECT'
3685 #select() of kLIBC (OS/2) supports socket only
3686 ! os2 && cc_check && _posix_select=yes \
3687 && def_posix_select='#define HAVE_POSIX_SELECT 1'
3688 echores "$_posix_select"
3691 echocheck "audio select()"
3692 if test "$_select" = no ; then
3693 def_select='#undef HAVE_AUDIO_SELECT'
3694 elif test "$_select" = yes ; then
3695 def_select='#define HAVE_AUDIO_SELECT 1'
3697 echores "$_select"
3700 echocheck "gettimeofday()"
3701 cat > $TMPC << EOF
3702 #include <stdio.h>
3703 #include <sys/time.h>
3704 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3706 _gettimeofday=no
3707 cc_check && _gettimeofday=yes
3708 if test "$_gettimeofday" = yes ; then
3709 def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3710 _need_gettimeofday=no
3711 else
3712 def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3713 _need_gettimeofday=yes
3715 echores "$_gettimeofday"
3718 echocheck "glob()"
3719 cat > $TMPC << EOF
3720 #include <stdio.h>
3721 #include <glob.h>
3722 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3724 _glob=no
3725 cc_check && _glob=yes
3726 if test "$_glob" = yes ; then
3727 def_glob='#define HAVE_GLOB 1'
3728 _need_glob=no
3729 else
3730 def_glob='#undef HAVE_GLOB'
3731 _need_glob=yes
3733 echores "$_glob"
3736 echocheck "setenv()"
3737 cat > $TMPC << EOF
3738 #include <stdlib.h>
3739 int main(void) { setenv("","",0); return 0; }
3741 _setenv=no
3742 cc_check && _setenv=yes
3743 if test "$_setenv" = yes ; then
3744 def_setenv='#define HAVE_SETENV 1'
3745 _need_setenv=no
3746 else
3747 def_setenv='#undef HAVE_SETENV'
3748 _need_setenv=yes
3750 echores "$_setenv"
3753 if sunos; then
3754 echocheck "sysi86()"
3755 cat > $TMPC << EOF
3756 #include <sys/sysi86.h>
3757 int main(void) { sysi86(0); return 0; }
3759 _sysi86=no
3760 cc_check && _sysi86=yes
3761 if test "$_sysi86" = yes ; then
3762 def_sysi86='#define HAVE_SYSI86 1'
3763 cat > $TMPC << EOF
3764 #include <sys/sysi86.h>
3765 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3767 cc_check && def_sysi86_iv='#define HAVE_SYSI86_iv 1'
3768 else
3769 def_sysi86='#undef HAVE_SYSI86'
3771 echores "$_sysi86"
3772 fi #if sunos
3775 echocheck "sys/sysinfo.h"
3776 cat > $TMPC << EOF
3777 #include <sys/sysinfo.h>
3778 int main(void) {
3779 struct sysinfo s_info;
3780 sysinfo(&s_info);
3781 return 0;
3784 _sys_sysinfo=no
3785 cc_check && _sys_sysinfo=yes
3786 if test "$_sys_sysinfo" = yes ; then
3787 def_sys_sysinfo_h='#define HAVE_SYS_SYSINFO_H 1'
3788 else
3789 def_sys_sysinfo_h='#undef HAVE_SYS_SYSINFO_H'
3791 echores "$_sys_sysinfo"
3794 if darwin; then
3796 echocheck "Mac OS X Finder Support"
3797 def_macosx_finder='#undef CONFIG_MACOSX_FINDER'
3798 if test "$_macosx_finder" = yes ; then
3799 def_macosx_finder='#define CONFIG_MACOSX_FINDER 1'
3800 extra_ldflags="$extra_ldflags -framework Carbon"
3802 echores "$_macosx_finder"
3804 echocheck "Mac OS X Bundle file locations"
3805 def_macosx_bundle='#undef CONFIG_MACOSX_BUNDLE'
3806 test "$_macosx_bundle" = auto && _macosx_bundle=$_macosx_finder
3807 if test "$_macosx_bundle" = yes ; then
3808 def_macosx_bundle='#define CONFIG_MACOSX_BUNDLE 1'
3809 extra_ldflags="$extra_ldflags -framework Carbon"
3811 echores "$_macosx_bundle"
3813 echocheck "Apple Remote"
3814 if test "$_apple_remote" = auto ; then
3815 _apple_remote=no
3816 cat > $TMPC <<EOF
3817 #include <stdio.h>
3818 #include <IOKit/IOCFPlugIn.h>
3819 int main(void) {
3820 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3821 CFMutableDictionaryRef hidMatchDictionary;
3822 IOReturn ioReturnValue;
3824 // Set up a matching dictionary to search the I/O Registry by class.
3825 // name for all HID class devices
3826 hidMatchDictionary = IOServiceMatching("AppleIRController");
3828 // Now search I/O Registry for matching devices.
3829 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3830 hidMatchDictionary, &hidObjectIterator);
3832 // If search is unsuccessful, return nonzero.
3833 if (ioReturnValue != kIOReturnSuccess ||
3834 !IOIteratorIsValid(hidObjectIterator)) {
3835 return 1;
3837 return 0;
3840 cc_check -framework IOKit && tmp_run && _apple_remote=yes
3842 if test "$_apple_remote" = yes ; then
3843 def_apple_remote='#define CONFIG_APPLE_REMOTE 1'
3844 libs_mplayer="$libs_mplayer -framework IOKit -framework Cocoa"
3845 else
3846 def_apple_remote='#undef CONFIG_APPLE_REMOTE'
3848 echores "$_apple_remote"
3850 fi #if darwin
3852 if linux; then
3854 echocheck "Apple IR"
3855 if test "$_apple_ir" = auto ; then
3856 _apple_ir=no
3857 cat > $TMPC <<EOF
3858 #include <linux/types.h>
3859 #include <linux/input.h>
3860 int main(void) {
3861 struct input_event ev;
3862 struct input_id id;
3863 return 0;
3866 cc_check && tmp_run && _apple_ir=yes
3868 if test "$_apple_ir" = yes ; then
3869 def_apple_ir='#define CONFIG_APPLE_IR 1'
3870 else
3871 def_apple_ir='#undef CONFIG_APPLE_IR'
3873 echores "$_apple_ir"
3874 fi #if linux
3876 echocheck "pkg-config"
3877 _pkg_config=pkg-config
3878 if $($_pkg_config --version > /dev/null 2>&1); then
3879 if test "$_ld_static"; then
3880 _pkg_config="$_pkg_config --static"
3882 echores "yes"
3883 else
3884 _pkg_config=false
3885 echores "no"
3889 echocheck "Samba support (libsmbclient)"
3890 if test "$_smb" = yes; then
3891 extra_ldflags="$extra_ldflags -lsmbclient"
3893 if test "$_smb" = auto; then
3894 _smb=no
3895 cat > $TMPC << EOF
3896 #include <libsmbclient.h>
3897 int main(void) { smbc_opendir("smb://"); return 0; }
3899 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3900 cc_check $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && \
3901 _smb=yes && break
3902 done
3905 if test "$_smb" = yes; then
3906 def_smb="#define CONFIG_LIBSMBCLIENT"
3907 _inputmodules="smb $_inputmodules"
3908 else
3909 def_smb="#undef CONFIG_LIBSMBCLIENT"
3910 _noinputmodules="smb $_noinputmodules"
3912 echores "$_smb"
3915 #########
3916 # VIDEO #
3917 #########
3920 echocheck "tdfxfb"
3921 if test "$_tdfxfb" = yes ; then
3922 def_tdfxfb='#define CONFIG_TDFXFB 1'
3923 _vomodules="tdfxfb $_vomodules"
3924 else
3925 def_tdfxfb='#undef CONFIG_TDFXFB'
3926 _novomodules="tdfxfb $_novomodules"
3928 echores "$_tdfxfb"
3930 echocheck "s3fb"
3931 if test "$_s3fb" = yes ; then
3932 def_s3fb='#define CONFIG_S3FB 1'
3933 _vomodules="s3fb $_vomodules"
3934 else
3935 def_s3fb='#undef CONFIG_S3FB'
3936 _novomodules="s3fb $_novomodules"
3938 echores "$_s3fb"
3940 echocheck "wii"
3941 if test "$_wii" = yes ; then
3942 def_wii='#define CONFIG_WII 1'
3943 _vomodules="wii $_vomodules"
3944 else
3945 def_wii='#undef CONFIG_WII'
3946 _novomodules="wii $_novomodules"
3948 echores "$_wii"
3950 echocheck "tdfxvid"
3951 if test "$_tdfxvid" = yes ; then
3952 def_tdfxvid='#define CONFIG_TDFX_VID 1'
3953 _vomodules="tdfx_vid $_vomodules"
3954 else
3955 def_tdfxvid='#undef CONFIG_TDFX_VID'
3956 _novomodules="tdfx_vid $_novomodules"
3958 echores "$_tdfxvid"
3960 echocheck "xvr100"
3961 if test "$_xvr100" = auto ; then
3962 cat > $TMPC << EOF
3963 #include <unistd.h>
3964 #include <sys/fbio.h>
3965 #include <sys/visual_io.h>
3966 int main(void) {
3967 struct vis_identifier ident;
3968 struct fbgattr attr;
3969 ioctl(0, VIS_GETIDENTIFIER, &ident);
3970 ioctl(0, FBIOGATTR, &attr);
3971 return 0;
3974 _xvr100=no
3975 cc_check && _xvr100=yes
3977 if test "$_xvr100" = yes ; then
3978 def_xvr100='#define CONFIG_XVR100 1'
3979 _vomodules="xvr100 $_vomodules"
3980 else
3981 def_tdfxvid='#undef CONFIG_XVR100'
3982 _novomodules="xvr100 $_novomodules"
3984 echores "$_xvr100"
3986 echocheck "tga"
3987 if test "$_tga" = yes ; then
3988 def_tga='#define CONFIG_TGA 1'
3989 _vomodules="tga $_vomodules"
3990 else
3991 def_tga='#undef CONFIG_TGA'
3992 _novomodules="tga $_novomodules"
3994 echores "$_tga"
3997 echocheck "md5sum support"
3998 if test "$_md5sum" = yes; then
3999 def_md5sum="#define CONFIG_MD5SUM"
4000 _vomodules="md5sum $_vomodules"
4001 else
4002 def_md5sum="#undef CONFIG_MD5SUM"
4003 _novomodules="md5sum $_novomodules"
4005 echores "$_md5sum"
4008 echocheck "yuv4mpeg support"
4009 if test "$_yuv4mpeg" = yes; then
4010 def_yuv4mpeg="#define CONFIG_YUV4MPEG"
4011 _vomodules="yuv4mpeg $_vomodules"
4012 else
4013 def_yuv4mpeg="#undef CONFIG_YUV4MPEG"
4014 _novomodules="yuv4mpeg $_novomodules"
4016 echores "$_yuv4mpeg"
4019 echocheck "bl"
4020 if test "$_bl" = yes ; then
4021 def_bl='#define CONFIG_BL 1'
4022 _vomodules="bl $_vomodules"
4023 else
4024 def_bl='#undef CONFIG_BL'
4025 _novomodules="bl $_novomodules"
4027 echores "$_bl"
4030 echocheck "DirectFB"
4031 if test "$_directfb" = auto ; then
4032 _directfb=no
4033 cat > $TMPC <<EOF
4034 #include <directfb.h>
4035 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
4037 for _inc_tmp in "" -I/usr/local/include/directfb \
4038 -I/usr/include/directfb -I/usr/local/include; do
4039 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
4040 extra_cflags="$extra_cflags $_inc_tmp" && break
4041 done
4044 dfb_version() {
4045 expr $1 \* 65536 + $2 \* 256 + $3
4048 if test "$_directfb" = yes; then
4049 cat > $TMPC << EOF
4050 #include <directfb_version.h>
4052 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4055 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4056 _directfb_version=$(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()')
4057 _dfb_major=$(echo $_directfb_version | cut -d . -f 1)
4058 _dfb_minor=$(echo $_directfb_version | cut -d . -f 2)
4059 _dfb_micro=$(echo $_directfb_version | cut -d . -f 3)
4060 _dfb_version=$(dfb_version $_dfb_major $_dfb_minor $_dfb_micro)
4061 if test "$_dfb_version" -ge $(dfb_version 0 9 13); then
4062 def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
4063 _res_comment="$_directfb_version"
4064 test "$_dfb_version" -ge $(dfb_version 0 9 15) && _dfbmga=yes
4065 else
4066 def_directfb_version='#undef DIRECTFBVERSION'
4067 _directfb=no
4068 _res_comment="version >=0.9.13 required"
4070 else
4071 _directfb=no
4072 _res_comment="failed to get version"
4075 echores "$_directfb"
4077 if test "$_directfb" = yes ; then
4078 def_directfb='#define CONFIG_DIRECTFB 1'
4079 _vomodules="directfb $_vomodules"
4080 libs_mplayer="$libs_mplayer -ldirectfb"
4081 else
4082 def_directfb='#undef CONFIG_DIRECTFB'
4083 _novomodules="directfb $_novomodules"
4085 if test "$_dfbmga" = yes; then
4086 _vomodules="dfbmga $_vomodules"
4087 def_dfbmga='#define CONFIG_DFBMGA 1'
4088 else
4089 _novomodules="dfbmga $_novomodules"
4090 def_dfbmga='#undef CONFIG_DFBMGA'
4094 echocheck "X11 headers presence"
4095 _x11_headers="no"
4096 _res_comment="check if the dev(el) packages are installed"
4097 for I in $(echo $extra_cflags | sed s/-I//g) /usr/include ; do
4098 if test -f "$I/X11/Xlib.h" ; then
4099 _x11_headers="yes"
4100 _res_comment=""
4101 break
4103 done
4104 if test $_cross_compile = no; then
4105 for I in /usr/X11/include /usr/X11R7/include /usr/X11R6/include \
4106 /usr/include/X11R6 /usr/openwin/include ; do
4107 if test -f "$I/X11/Xlib.h" ; then
4108 extra_cflags="$extra_cflags -I$I"
4109 _x11_headers="yes"
4110 _res_comment="using $I"
4111 break
4113 done
4115 echores "$_x11_headers"
4118 echocheck "X11"
4119 if test "$_x11" = auto && test "$_x11_headers" = yes ; then
4120 cat > $TMPC <<EOF
4121 #include <X11/Xlib.h>
4122 #include <X11/Xutil.h>
4123 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4125 for I in "" -L/usr/X11R7/lib -L/usr/X11R6/lib -L/usr/lib/X11R6 \
4126 -L/usr/X11/lib -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 \
4127 -L/usr/lib ; do
4128 if netbsd; then
4129 _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4130 else
4131 _ld_tmp="$I -lXext -lX11 $_ld_pthread"
4133 cc_check $_ld_tmp && libs_mplayer="$libs_mplayer $_ld_tmp" \
4134 && _x11=yes && break
4135 done
4137 if test "$_x11" = yes ; then
4138 def_x11='#define CONFIG_X11 1'
4139 _vomodules="x11 xover $_vomodules"
4140 else
4141 _x11=no
4142 def_x11='#undef CONFIG_X11'
4143 _novomodules="x11 $_novomodules"
4144 _res_comment="check if the dev(el) packages are installed"
4145 # disable stuff that depends on X
4146 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no ; _vdpau=no
4148 echores "$_x11"
4150 echocheck "Xss screensaver extensions"
4151 if test "$_xss" = auto ; then
4152 cat > $TMPC << EOF
4153 #include <X11/Xlib.h>
4154 #include <X11/extensions/scrnsaver.h>
4155 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4157 _xss=no
4158 cc_check -lXss && _xss=yes
4160 if test "$_xss" = yes ; then
4161 def_xss='#define CONFIG_XSS 1'
4162 libs_mplayer="$libs_mplayer -lXss"
4163 else
4164 def_xss='#undef CONFIG_XSS'
4166 echores "$_xss"
4168 echocheck "DPMS"
4169 _xdpms3=no
4170 _xdpms4=no
4171 if test "$_x11" = yes ; then
4172 cat > $TMPC <<EOF
4173 #include <X11/Xmd.h>
4174 #include <X11/Xlib.h>
4175 #include <X11/Xutil.h>
4176 #include <X11/Xatom.h>
4177 #include <X11/extensions/dpms.h>
4178 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4180 cc_check -lXdpms && _xdpms3=yes
4181 cat > $TMPC <<EOF
4182 #include <X11/Xlib.h>
4183 #include <X11/extensions/dpms.h>
4184 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4186 cc_check -lXext && _xdpms4=yes
4188 if test "$_xdpms4" = yes ; then
4189 def_xdpms='#define CONFIG_XDPMS 1'
4190 _res_comment="using Xdpms 4"
4191 echores "yes"
4192 elif test "$_xdpms3" = yes ; then
4193 def_xdpms='#define CONFIG_XDPMS 1'
4194 libs_mplayer="$libs_mplayer -lXdpms"
4195 _res_comment="using Xdpms 3"
4196 echores "yes"
4197 else
4198 def_xdpms='#undef CONFIG_XDPMS'
4199 echores "no"
4203 echocheck "Xv"
4204 if test "$_xv" = auto ; then
4205 cat > $TMPC <<EOF
4206 #include <X11/Xlib.h>
4207 #include <X11/extensions/Xvlib.h>
4208 int main(void) {
4209 (void) XvGetPortAttribute(0, 0, 0, 0);
4210 (void) XvQueryPortAttributes(0, 0, 0);
4211 return 0; }
4213 _xv=no
4214 cc_check -lXv && _xv=yes
4217 if test "$_xv" = yes ; then
4218 def_xv='#define CONFIG_XV 1'
4219 libs_mplayer="$libs_mplayer -lXv"
4220 _vomodules="xv $_vomodules"
4221 else
4222 def_xv='#undef CONFIG_XV'
4223 _novomodules="xv $_novomodules"
4225 echores "$_xv"
4228 echocheck "XvMC"
4229 if test "$_xv" = yes && test "$_xvmc" != no ; then
4230 _xvmc=no
4231 cat > $TMPC <<EOF
4232 #include <X11/Xlib.h>
4233 #include <X11/extensions/Xvlib.h>
4234 #include <X11/extensions/XvMClib.h>
4235 int main(void) {
4236 (void) XvMCQueryExtension(0,0,0);
4237 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4238 return 0; }
4240 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
4241 cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
4242 done
4244 if test "$_xvmc" = yes ; then
4245 def_xvmc='#define CONFIG_XVMC 1'
4246 libs_mplayer="$libs_mplayer -lXvMC -l$_xvmclib"
4247 _vomodules="xvmc $_vomodules"
4248 _res_comment="using $_xvmclib"
4249 else
4250 def_xvmc='#define CONFIG_XVMC 0'
4251 _novomodules="xvmc $_novomodules"
4253 echores "$_xvmc"
4256 echocheck "VDPAU"
4257 if test "$_vdpau" = auto ; then
4258 _vdpau=no
4259 if test "$_dl" = yes ; then
4260 cat > $TMPC <<EOF
4261 #include <vdpau/vdpau_x11.h>
4262 int main(void) {return VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE;}
4264 cc_check && _vdpau=yes
4267 if test "$_vdpau" = yes ; then
4268 def_vdpau='#define CONFIG_VDPAU 1'
4269 _vomodules="vdpau $_vomodules"
4270 else
4271 def_vdpau='#define CONFIG_VDPAU 0'
4272 _novomodules="vdpau $_novomodules"
4274 echores "$_vdpau"
4277 echocheck "Xinerama"
4278 if test "$_xinerama" = auto ; then
4279 cat > $TMPC <<EOF
4280 #include <X11/Xlib.h>
4281 #include <X11/extensions/Xinerama.h>
4282 int main(void) { (void) XineramaIsActive(0); return 0; }
4284 _xinerama=no
4285 cc_check -lXinerama && _xinerama=yes
4288 if test "$_xinerama" = yes ; then
4289 def_xinerama='#define CONFIG_XINERAMA 1'
4290 libs_mplayer="$libs_mplayer -lXinerama"
4291 else
4292 def_xinerama='#undef CONFIG_XINERAMA'
4294 echores "$_xinerama"
4297 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4298 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4299 # named 'X extensions' or something similar.
4300 # This check may be useful for future mplayer versions (to change resolution)
4301 # If you run into problems, remove '-lXxf86vm'.
4302 echocheck "Xxf86vm"
4303 if test "$_vm" = auto ; then
4304 cat > $TMPC <<EOF
4305 #include <X11/Xlib.h>
4306 #include <X11/extensions/xf86vmode.h>
4307 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4309 _vm=no
4310 cc_check -lXxf86vm && _vm=yes
4312 if test "$_vm" = yes ; then
4313 def_vm='#define CONFIG_XF86VM 1'
4314 libs_mplayer="$libs_mplayer -lXxf86vm"
4315 else
4316 def_vm='#undef CONFIG_XF86VM'
4318 echores "$_vm"
4320 # Check for the presence of special keycodes, like audio control buttons
4321 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4322 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4323 # have these new keycodes.
4324 echocheck "XF86keysym"
4325 if test "$_xf86keysym" = auto; then
4326 _xf86keysym=no
4327 cat > $TMPC <<EOF
4328 #include <X11/Xlib.h>
4329 #include <X11/XF86keysym.h>
4330 int main(void) { return XF86XK_AudioPause; }
4332 cc_check && _xf86keysym=yes
4334 if test "$_xf86keysym" = yes ; then
4335 def_xf86keysym='#define CONFIG_XF86XK 1'
4336 else
4337 def_xf86keysym='#undef CONFIG_XF86XK'
4339 echores "$_xf86keysym"
4341 echocheck "DGA"
4342 if test "$_dga2" = auto && test "$_x11" = yes ; then
4343 cat > $TMPC << EOF
4344 #include <X11/Xlib.h>
4345 #include <X11/extensions/xf86dga.h>
4346 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4348 _dga2=no
4349 cc_check -lXxf86dga && _dga2=yes
4351 if test "$_dga1" = auto && test "$_dga2" = no && test "$_vm" = yes ; then
4352 cat > $TMPC << EOF
4353 #include <X11/Xlib.h>
4354 #include <X11/extensions/xf86dga.h>
4355 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4357 _dga1=no
4358 cc_check -lXxf86dga -lXxf86vm && _dga1=yes
4361 _dga=no
4362 def_dga='#undef CONFIG_DGA'
4363 def_dga1='#undef CONFIG_DGA1'
4364 def_dga2='#undef CONFIG_DGA2'
4365 if test "$_dga1" = yes ; then
4366 _dga=yes
4367 def_dga1='#define CONFIG_DGA1 1'
4368 _res_comment="using DGA 1.0"
4369 elif test "$_dga2" = yes ; then
4370 _dga=yes
4371 def_dga2='#define CONFIG_DGA2 1'
4372 _res_comment="using DGA 2.0"
4374 if test "$_dga" = yes ; then
4375 def_dga='#define CONFIG_DGA 1'
4376 libs_mplayer="$libs_mplayer -lXxf86dga"
4377 _vomodules="dga $_vomodules"
4378 else
4379 _novomodules="dga $_novomodules"
4381 echores "$_dga"
4384 echocheck "3dfx"
4385 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4386 def_3dfx='#define CONFIG_3DFX 1'
4387 _vomodules="3dfx $_vomodules"
4388 else
4389 def_3dfx='#undef CONFIG_3DFX'
4390 _novomodules="3dfx $_novomodules"
4392 echores "$_3dfx"
4395 echocheck "VIDIX"
4396 def_vidix='#undef CONFIG_VIDIX'
4397 def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4398 _vidix_drv_cyberblade=no
4399 def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
4400 _vidix_drv_ivtv=no
4401 def_vidix_drv_mach64='#undef CONFIG_VIDIX_DRV_MACH64'
4402 _vidix_drv_mach64=no
4403 def_vidix_drv_mga='#undef CONFIG_VIDIX_DRV_MGA'
4404 _vidix_drv_mga=no
4405 def_vidix_drv_mga_crtc2='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4406 _vidix_drv_mga_crtc2=no
4407 def_vidix_drv_nvidia='#undef CONFIG_VIDIX_DRV_NVIDIA'
4408 _vidix_drv_nvidia=no
4409 def_vidix_drv_pm2='#undef CONFIG_VIDIX_DRV_PM2'
4410 _vidix_drv_pm2=no
4411 def_vidix_drv_pm3='#undef CONFIG_VIDIX_DRV_PM3'
4412 _vidix_drv_pm3=no
4413 def_vidix_drv_radeon='#undef CONFIG_VIDIX_DRV_RADEON'
4414 _vidix_drv_radeon=no
4415 def_vidix_drv_rage128='#undef CONFIG_VIDIX_DRV_RAGE128'
4416 _vidix_drv_rage128=no
4417 def_vidix_drv_s3='#undef CONFIG_VIDIX_DRV_S3'
4418 _vidix_drv_s3=no
4419 def_vidix_drv_sh_veu='#undef CONFIG_VIDIX_DRV_SH_VEU'
4420 _vidix_drv_sh_veu=no
4421 def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
4422 _vidix_drv_sis=no
4423 def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
4424 _vidix_drv_unichrome=no
4425 if test "$_vidix" = auto ; then
4426 _vidix=no
4427 x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
4428 && _vidix=yes
4429 (ppc || alpha) && linux && _vidix=yes
4431 echores "$_vidix"
4433 if test "$_vidix" = yes ; then
4434 def_vidix='#define CONFIG_VIDIX 1'
4435 _vomodules="cvidix $_vomodules"
4436 # FIXME: ivtv driver temporarily disabled until we have a proper test
4437 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4438 test "$_vidix_drivers" || _vidix_drivers="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4440 # some vidix drivers are architecture and os specific, discard them elsewhere
4441 x86 || _vidix_drivers=$(echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//)
4442 (test $host_arch = "sh" && linux) || _vidix_drivers=$(echo $_vidix_drivers | sed s/sh_veu//)
4444 for driver in $_vidix_drivers ; do
4445 uc_driver=$(echo $driver | tr '[a-z]' '[A-Z]')
4446 eval _vidix_drv_${driver}=yes
4447 eval def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4448 done
4450 echocheck "VIDIX PCI device name database"
4451 echores "$_vidix_pcidb"
4452 if test "$_vidix_pcidb" = yes ; then
4453 _vidix_pcidb_val=1
4454 else
4455 _vidix_pcidb_val=0
4458 echocheck "VIDIX dhahelper support"
4459 test "$_dhahelper" = yes && cflags_dhahelper=-DCONFIG_DHAHELPER
4460 echores "$_dhahelper"
4462 echocheck "VIDIX svgalib_helper support"
4463 test "$_svgalib_helper" = yes && cflags_svgalib_helper=-DCONFIG_SVGAHELPER
4464 echores "$_svgalib_helper"
4466 else
4467 _novomodules="cvidix $_novomodules"
4470 if test "$_vidix" = yes && win32; then
4471 winvidix=yes
4472 _vomodules="winvidix $_vomodules"
4473 libs_mplayer="$libs_mplayer -lgdi32"
4474 else
4475 _novomodules="winvidix $_novomodules"
4477 if test "$_vidix" = yes && test "$_x11" = yes; then
4478 xvidix=yes
4479 _vomodules="xvidix $_vomodules"
4480 else
4481 _novomodules="xvidix $_novomodules"
4484 echocheck "GGI"
4485 if test "$_ggi" = auto ; then
4486 cat > $TMPC << EOF
4487 #include <ggi/ggi.h>
4488 int main(void) { ggiInit(); return 0; }
4490 _ggi=no
4491 cc_check -lggi && _ggi=yes
4493 if test "$_ggi" = yes ; then
4494 def_ggi='#define CONFIG_GGI 1'
4495 libs_mplayer="$libs_mplayer -lggi"
4496 _vomodules="ggi $_vomodules"
4497 else
4498 def_ggi='#undef CONFIG_GGI'
4499 _novomodules="ggi $_novomodules"
4501 echores "$_ggi"
4503 echocheck "GGI extension: libggiwmh"
4504 if test "$_ggiwmh" = auto ; then
4505 _ggiwmh=no
4506 cat > $TMPC << EOF
4507 #include <ggi/ggi.h>
4508 #include <ggi/wmh.h>
4509 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4511 cc_check -lggi -lggiwmh && _ggiwmh=yes
4513 # needed to get right output on obscure combination
4514 # like --disable-ggi --enable-ggiwmh
4515 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4516 def_ggiwmh='#define CONFIG_GGIWMH 1'
4517 libs_mplayer="$libs_mplayer -lggiwmh"
4518 else
4519 _ggiwmh=no
4520 def_ggiwmh='#undef CONFIG_GGIWMH'
4522 echores "$_ggiwmh"
4525 echocheck "AA"
4526 if test "$_aa" = auto ; then
4527 cat > $TMPC << EOF
4528 #include <aalib.h>
4529 extern struct aa_hardware_params aa_defparams;
4530 extern struct aa_renderparams aa_defrenderparams;
4531 int main(void) {
4532 aa_context *c;
4533 aa_renderparams *p;
4534 (void) aa_init(0, 0, 0);
4535 c = aa_autoinit(&aa_defparams);
4536 p = aa_getrenderparams();
4537 aa_autoinitkbd(c,0);
4538 return 0; }
4540 _aa=no
4541 for _ld_tmp in "-laa" ; do
4542 cc_check $_ld_tmp && libs_mplayer="$libs_mplayer $_ld_tmp" && _aa=yes && break
4543 done
4545 if test "$_aa" = yes ; then
4546 def_aa='#define CONFIG_AA 1'
4547 if cygwin ; then
4548 libs_mplayer="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4550 _vomodules="aa $_vomodules"
4551 else
4552 def_aa='#undef CONFIG_AA'
4553 _novomodules="aa $_novomodules"
4555 echores "$_aa"
4558 echocheck "CACA"
4559 if test "$_caca" = auto ; then
4560 _caca=no
4561 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4562 cat > $TMPC << EOF
4563 #include <caca.h>
4564 #ifdef CACA_API_VERSION_1
4565 #include <caca0.h>
4566 #endif
4567 int main(void) { (void) caca_init(); return 0; }
4569 cc_check $(caca-config --libs) && _caca=yes
4572 if test "$_caca" = yes ; then
4573 def_caca='#define CONFIG_CACA 1'
4574 extra_cflags="$extra_cflags $(caca-config --cflags)"
4575 libs_mplayer="$libs_mplayer $(caca-config --libs)"
4576 _vomodules="caca $_vomodules"
4577 else
4578 def_caca='#undef CONFIG_CACA'
4579 _novomodules="caca $_novomodules"
4581 echores "$_caca"
4584 echocheck "SVGAlib"
4585 if test "$_svga" = auto ; then
4586 cat > $TMPC << EOF
4587 #include <vga.h>
4588 int main(void) { return 0; }
4590 _svga=no
4591 cc_check -lvga $_ld_lm && _svga=yes
4593 if test "$_svga" = yes ; then
4594 def_svga='#define CONFIG_SVGALIB 1'
4595 libs_mplayer="$libs_mplayer -lvga"
4596 _vomodules="svga $_vomodules"
4597 else
4598 def_svga='#undef CONFIG_SVGALIB'
4599 _novomodules="svga $_novomodules"
4601 echores "$_svga"
4604 echocheck "FBDev"
4605 if test "$_fbdev" = auto ; then
4606 _fbdev=no
4607 linux && _fbdev=yes
4609 if test "$_fbdev" = yes ; then
4610 def_fbdev='#define CONFIG_FBDEV 1'
4611 _vomodules="fbdev $_vomodules"
4612 else
4613 def_fbdev='#undef CONFIG_FBDEV'
4614 _novomodules="fbdev $_novomodules"
4616 echores "$_fbdev"
4620 echocheck "DVB"
4621 if test "$_dvb" = auto ; then
4622 _dvb=no
4623 cat >$TMPC << EOF
4624 #include <poll.h>
4625 #include <sys/ioctl.h>
4626 #include <stdio.h>
4627 #include <time.h>
4628 #include <unistd.h>
4629 #include <ost/dmx.h>
4630 #include <ost/frontend.h>
4631 #include <ost/sec.h>
4632 #include <ost/video.h>
4633 #include <ost/audio.h>
4634 int main(void) {return 0;}
4636 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4637 cc_check $_inc_tmp && _dvb=yes && \
4638 extra_cflags="$extra_cflags $_inc_tmp" && break
4639 done
4641 echores "$_dvb"
4642 if test "$_dvb" = yes ; then
4643 def_dvb='#define CONFIG_DVB 1'
4644 def_dvbin='#define CONFIG_DVBIN 1'
4645 _aomodules="mpegpes(dvb) $_aomodules"
4646 _vomodules="mpegpes(dvb) $_vomodules"
4649 echocheck "DVB HEAD"
4650 if test "$_dvbhead" = auto ; then
4651 _dvbhead=no
4653 cat >$TMPC << EOF
4654 #include <poll.h>
4655 #include <sys/ioctl.h>
4656 #include <stdio.h>
4657 #include <time.h>
4658 #include <unistd.h>
4659 #include <linux/dvb/dmx.h>
4660 #include <linux/dvb/frontend.h>
4661 #include <linux/dvb/video.h>
4662 #include <linux/dvb/audio.h>
4663 int main(void) {return 0;}
4665 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4666 cc_check $_inc_tmp && _dvbhead=yes && \
4667 extra_cflags="$extra_cflags $_inc_tmp" && break
4668 done
4670 echores "$_dvbhead"
4671 if test "$_dvbhead" = yes ; then
4672 def_dvb='#define CONFIG_DVB 1'
4673 def_dvb_head='#define CONFIG_DVB_HEAD 1'
4674 def_dvbin='#define CONFIG_DVBIN 1'
4675 _aomodules="mpegpes(dvb) $_aomodules"
4676 _vomodules="mpegpes(dvb) $_vomodules"
4679 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4680 def_dvb='#undef CONFIG_DVB'
4681 def_dvb_head='#undef CONFIG_DVB_HEAD'
4682 def_dvbin='#undef CONFIG_DVBIN '
4683 _aomodules="mpegpes(file) $_aomodules"
4684 _vomodules="mpegpes(file) $_vomodules"
4687 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4688 _dvbin=yes
4689 _inputmodules="dvb $_inputmodules"
4690 else
4691 _dvbin=no
4692 _noinputmodules="dvb $_noinputmodules"
4696 if darwin; then
4698 echocheck "QuickTime"
4699 if test "$quicktime" = auto ; then
4700 cat > $TMPC <<EOF
4701 #include <QuickTime/QuickTime.h>
4702 int main(void) {
4703 ImageDescription *desc;
4704 EnterMovies();
4705 ExitMovies();
4706 return 0;
4709 quicktime=no
4710 cc_check -framework QuickTime && quicktime=yes
4712 if test "$quicktime" = yes ; then
4713 extra_ldflags="$extra_ldflags -framework QuickTime"
4714 def_quicktime='#define CONFIG_QUICKTIME 1'
4715 else
4716 def_quicktime='#undef CONFIG_QUICKTIME'
4717 _quartz=no
4719 echores $quicktime
4721 echocheck "Quartz"
4722 if test "$_quartz" = auto ; then
4723 cat > $TMPC <<EOF
4724 #include <Carbon/Carbon.h>
4725 int main(void) {
4726 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
4727 return 0;
4730 _quartz=no
4731 cc_check -framework Carbon && _quartz=yes
4733 if test "$_quartz" = yes ; then
4734 libs_mplayer="$libs_mplayer -framework Carbon"
4735 def_quartz='#define CONFIG_QUARTZ 1'
4736 _vomodules="quartz $_vomodules"
4737 else
4738 def_quartz='#undef CONFIG_QUARTZ'
4739 _novomodules="quartz $_novomodules"
4741 echores $_quartz
4743 echocheck "CoreVideo"
4744 if test "$_corevideo" = auto ; then
4745 cat > $TMPC <<EOF
4746 #include <Carbon/Carbon.h>
4747 #include <CoreServices/CoreServices.h>
4748 #include <OpenGL/OpenGL.h>
4749 #include <QuartzCore/CoreVideo.h>
4750 int main(void) { return 0; }
4752 _corevideo=no
4753 cc_check -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL && _corevideo=yes
4755 if test "$_corevideo" = yes ; then
4756 _vomodules="corevideo $_vomodules"
4757 libs_mplayer="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
4758 def_corevideo='#define CONFIG_COREVIDEO 1'
4759 else
4760 _novomodules="corevideo $_novomodules"
4761 def_corevideo='#undef CONFIG_COREVIDEO'
4763 echores "$_corevideo"
4765 fi #if darwin
4768 # make sure this stays below CoreVideo to avoid issues due to namespace
4769 # conflicts between -lGL and -framework OpenGL
4770 echocheck "OpenGL"
4771 #Note: this test is run even with --enable-gl since we autodetect linker flags
4772 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
4773 cat > $TMPC << EOF
4774 #ifdef GL_WIN32
4775 #include <windows.h>
4776 #include <GL/gl.h>
4777 #else
4778 #include <GL/gl.h>
4779 #include <X11/Xlib.h>
4780 #include <GL/glx.h>
4781 #endif
4782 int main(void) {
4783 #ifdef GL_WIN32
4784 HDC dc;
4785 wglCreateContext(dc);
4786 #else
4787 glXCreateContext(NULL, NULL, NULL, True);
4788 #endif
4789 glFinish();
4790 return 0;
4793 _gl=no
4794 if cc_check -lGL $_ld_lm ; then
4795 _gl=yes
4796 libs_mplayer="$libs_mplayer -lGL $_ld_dl"
4797 elif cc_check -lGL $_ld_lm $_ld_pthread ; then
4798 _gl=yes
4799 libs_mplayer="$libs_mplayer -lGL $_ld_pthread $_ld_dl"
4800 elif cc_check -DGL_WIN32 -lopengl32 ; then
4801 _gl=yes
4802 _gl_win32=yes
4803 libs_mplayer="$libs_mplayer -lopengl32 -lgdi32"
4805 else
4806 _gl=no
4808 if test "$_gl" = yes ; then
4809 def_gl='#define CONFIG_GL 1'
4810 if test "$_gl_win32" = yes ; then
4811 def_gl_win32='#define GL_WIN32 1'
4812 _res_comment="win32 version"
4814 _vomodules="opengl $_vomodules"
4815 else
4816 def_gl='#undef CONFIG_GL'
4817 def_gl_win32='#undef GL_WIN32'
4818 _novomodules="opengl $_novomodules"
4820 echores "$_gl"
4823 echocheck "PNG support"
4824 if test "$_png" = auto ; then
4825 _png=no
4826 if irix ; then
4827 # Don't check for -lpng on irix since it has its own libpng
4828 # incompatible with the GNU libpng
4829 _res_comment="disabled on irix (not GNU libpng)"
4830 else
4831 cat > $TMPC << EOF
4832 #include <png.h>
4833 #include <string.h>
4834 int main(void) {
4835 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4836 printf("libpng: %s\n", png_libpng_ver);
4837 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4840 if cc_check -lpng -lz $_ld_lm ; then
4841 if tmp_run ; then
4842 _png=yes
4843 else
4844 _res_comment="mismatch of library and header versions"
4849 echores "$_png"
4850 if test "$_png" = yes ; then
4851 def_png='#define CONFIG_PNG 1'
4852 extra_ldflags="$extra_ldflags -lpng -lz"
4853 _vomodules="png $_vomodules"
4854 else
4855 def_png='#undef CONFIG_PNG'
4856 _novomodules="png $_novomodules"
4859 echocheck "MNG support"
4860 if test "$_mng" = auto ; then
4861 _mng=no
4862 cat > $TMPC << EOF
4863 #include <libmng.h>
4864 int main(void) {
4865 const char * p_ver = mng_version_text();
4866 return !p_ver || p_ver[0] == 0;
4869 if cc_check -lmng -lz $_ld_lm ; then
4870 _mng=yes
4873 echores "$_mng"
4874 if test "$_mng" = yes ; then
4875 def_mng='#define CONFIG_MNG 1'
4876 extra_ldflags="$extra_ldflags -lmng -lz"
4877 else
4878 def_mng='#undef CONFIG_MNG'
4881 echocheck "JPEG support"
4882 if test "$_jpeg" = auto ; then
4883 _jpeg=no
4884 cat > $TMPC << EOF
4885 #include <stdio.h>
4886 #include <stdlib.h>
4887 #include <setjmp.h>
4888 #include <string.h>
4889 #include <jpeglib.h>
4890 int main(void) { return 0; }
4892 if cc_check -ljpeg $_ld_lm ; then
4893 if tmp_run ; then
4894 _jpeg=yes
4898 echores "$_jpeg"
4900 if test "$_jpeg" = yes ; then
4901 def_jpeg='#define CONFIG_JPEG 1'
4902 _vomodules="jpeg $_vomodules"
4903 extra_ldflags="$extra_ldflags -ljpeg"
4904 else
4905 def_jpeg='#undef CONFIG_JPEG'
4906 _novomodules="jpeg $_novomodules"
4911 echocheck "PNM support"
4912 if test "$_pnm" = yes; then
4913 def_pnm="#define CONFIG_PNM 1"
4914 _vomodules="pnm $_vomodules"
4915 else
4916 def_pnm="#undef CONFIG_PNM"
4917 _novomodules="pnm $_novomodules"
4919 echores "$_pnm"
4923 echocheck "GIF support"
4924 # This is to appease people who want to force gif support.
4925 # If it is forced to yes, then we still do checks to determine
4926 # which gif library to use.
4927 if test "$_gif" = yes ; then
4928 _force_gif=yes
4929 _gif=auto
4932 if test "$_gif" = auto ; then
4933 _gif=no
4934 cat > $TMPC << EOF
4935 #include <gif_lib.h>
4936 int main(void) { return 0; }
4938 for _ld_gif in "-lungif" "-lgif" ; do
4939 cc_check $_ld_gif && tmp_run && _gif=yes && break
4940 done
4943 # If no library was found, and the user wants support forced,
4944 # then we force it on with libgif, as this is the safest
4945 # assumption IMHO. (libungif & libregif both create symbolic
4946 # links to libgif. We also assume that no x11 support is needed,
4947 # because if you are forcing this, then you _should_ know what
4948 # you are doing. [ Besides, package maintainers should never
4949 # have compiled x11 deps into libungif in the first place. ] )
4950 # </rant>
4951 # --Joey
4952 if test "$_force_gif" = yes && test "$_gif" = no ; then
4953 _gif=yes
4954 _ld_gif="-lgif"
4957 if test "$_gif" = yes ; then
4958 def_gif='#define CONFIG_GIF 1'
4959 _codecmodules="gif $_codecmodules"
4960 _vomodules="gif89a $_vomodules"
4961 _res_comment="old version, some encoding functions disabled"
4962 def_gif_4='#undef CONFIG_GIF_4'
4963 extra_ldflags="$extra_ldflags $_ld_gif"
4965 cat > $TMPC << EOF
4966 #include <signal.h>
4967 #include <gif_lib.h>
4968 void catch() { exit(1); }
4969 int main(void) {
4970 signal(SIGSEGV, catch); // catch segfault
4971 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4972 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4973 return 0;
4976 if cc_check "$_ld_gif" && tmp_run ; then
4977 def_gif_4='#define CONFIG_GIF_4 1'
4978 _res_comment=""
4980 else
4981 def_gif='#undef CONFIG_GIF'
4982 def_gif_4='#undef CONFIG_GIF_4'
4983 _novomodules="gif89a $_novomodules"
4984 _nocodecmodules="gif $_nocodecmodules"
4986 echores "$_gif"
4989 case "$_gif" in yes*)
4990 echocheck "broken giflib workaround"
4991 def_gif_tvt_hack='#define CONFIG_GIF_TVT_HACK 1'
4993 cat > $TMPC << EOF
4994 #include <gif_lib.h>
4995 int main(void) {
4996 GifFileType gif;
4997 printf("UserData is at address %p\n", gif.UserData);
4998 return 0;
5001 if cc_check "$_ld_gif" && tmp_run ; then
5002 def_gif_tvt_hack='#undef CONFIG_GIF_TVT_HACK'
5003 echores "disabled"
5004 else
5005 echores "enabled"
5008 esac
5011 echocheck "VESA support"
5012 if test "$_vesa" = auto ; then
5013 cat > $TMPC << EOF
5014 #include <vbe.h>
5015 int main(void) { vbeVersion(); return 0; }
5017 _vesa=no
5018 cc_check -lvbe -llrmi && _vesa=yes
5020 if test "$_vesa" = yes ; then
5021 def_vesa='#define CONFIG_VESA 1'
5022 libs_mplayer="$libs_mplayer -lvbe -llrmi"
5023 _vomodules="vesa $_vomodules"
5024 else
5025 def_vesa='#undef CONFIG_VESA'
5026 _novomodules="vesa $_novomodules"
5028 echores "$_vesa"
5030 #################
5031 # VIDEO + AUDIO #
5032 #################
5035 echocheck "SDL"
5036 if test -z "$_sdlconfig" ; then
5037 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
5038 _sdlconfig="sdl-config"
5039 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
5040 _sdlconfig="sdl11-config"
5041 else
5042 _sdlconfig=false
5045 if test "$_sdl" = auto || test "$_sdl" = yes ; then
5046 cat > $TMPC << EOF
5047 #include <SDL.h>
5048 int main(int argc, char *argv[]) {
5049 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5050 return 0;
5053 _sdl=no
5054 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5055 if cc_check $($_sdlconfig --cflags) $($_sdlconfig --libs) >>"$TMPLOG" 2>&1 ; then
5056 _sdlversion=$($_sdlconfig --version | sed 's/[^0-9]//g')
5057 if test "$_sdlversion" -gt 116 ; then
5058 if test "$_sdlversion" -lt 121 ; then
5059 def_sdlbuggy='#define BUGGY_SDL'
5060 else
5061 def_sdlbuggy='#undef BUGGY_SDL'
5063 _sdl=yes
5068 if test "$_sdl" = yes ; then
5069 def_sdl='#define CONFIG_SDL 1'
5070 if cygwin ; then
5071 libs_mplayer="$libs_mplayer $($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5072 extra_cflags="$extra_cflags $($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5073 elif mingw32 ; then
5074 libs_mplayer="$libs_mplayer $($_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//)"
5075 extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-Dmain=SDL_main//)"
5076 else
5077 libs_mplayer="$libs_mplayer $($_sdlconfig --libs)"
5078 extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//)"
5080 _vomodules="sdl $_vomodules"
5081 _aomodules="sdl $_aomodules"
5082 _res_comment="using $_sdlconfig"
5083 else
5084 def_sdl='#undef CONFIG_SDL'
5085 _novomodules="sdl $_novomodules"
5086 _noaomodules="sdl $_noaomodules"
5088 echores "$_sdl"
5091 if os2 ; then
5092 echocheck "KVA (SNAP/WarpOverlay!/DIVE)"
5093 if test "$_kva" = auto; then
5094 cat > $TMPC << EOF
5095 #include <os2.h>
5096 #include <kva.h>
5097 int main( void ) { return 0; }
5099 _kva=no;
5100 cc_check -lkva && _kva=yes
5102 if test "$_kva" = yes ; then
5103 def_kva='#define CONFIG_KVA 1'
5104 libs_mplayer="$libs_mplayer -lkva"
5105 _vomodules="kva $_vomodules"
5106 else
5107 def_kva='#undef CONFIG_KVA'
5108 _novomodules="kva $_novomodules"
5110 echores "$_kva"
5111 fi #if os2
5114 if win32; then
5116 echocheck "Windows waveout"
5117 if test "$_win32waveout" = auto ; then
5118 cat > $TMPC << EOF
5119 #include <windows.h>
5120 #include <mmsystem.h>
5121 int main(void) { return 0; }
5123 _win32waveout=no
5124 cc_check -lwinmm && _win32waveout=yes
5126 if test "$_win32waveout" = yes ; then
5127 def_win32waveout='#define CONFIG_WIN32WAVEOUT 1'
5128 libs_mplayer="$libs_mplayer -lwinmm"
5129 _aomodules="win32 $_aomodules"
5130 else
5131 def_win32waveout='#undef CONFIG_WIN32WAVEOUT'
5132 _noaomodules="win32 $_noaomodules"
5134 echores "$_win32waveout"
5136 echocheck "Direct3D"
5137 if test "$_direct3d" = auto ; then
5138 cat > $TMPC << EOF
5139 #include <windows.h>
5140 #include <d3d9.h>
5141 int main(void) { return 0; }
5143 _direct3d=no
5144 cc_check -ld3d9 && _direct3d=yes
5146 if test "$_direct3d" = yes ; then
5147 def_direct3d='#define CONFIG_DIRECT3D 1'
5148 libs_mplayer="$libs_mplayer -ld3d9"
5149 _vomodules="direct3d $_vomodules"
5150 else
5151 def_direct3d='#undef CONFIG_DIRECT3D'
5152 _novomodules="direct3d $_novomodules"
5154 echores "$_direct3d"
5156 echocheck "Directx"
5157 if test "$_directx" = auto ; then
5158 cat > $TMPC << EOF
5159 #include <windows.h>
5160 #include <ddraw.h>
5161 #include <dsound.h>
5162 int main(void) { return 0; }
5164 _directx=no
5165 cc_check -lgdi32 && _directx=yes
5167 if test "$_directx" = yes ; then
5168 def_directx='#define CONFIG_DIRECTX 1'
5169 libs_mplayer="$libs_mplayer -lgdi32"
5170 _vomodules="directx $_vomodules"
5171 _aomodules="dsound $_aomodules"
5172 else
5173 def_directx='#undef CONFIG_DIRECTX'
5174 _novomodules="directx $_novomodules"
5175 _noaomodules="dsound $_noaomodules"
5177 echores "$_directx"
5179 fi #if win32; then
5182 echocheck "DXR2"
5183 if test "$_dxr2" = auto; then
5184 _dxr2=no
5185 cat > $TMPC << EOF
5186 #include <dxr2ioctl.h>
5187 int main(void) { return 0; }
5189 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
5190 cc_check $_inc_tmp && _dxr2=yes && \
5191 extra_cflags="$extra_cflags $_inc_tmp" && break
5192 done
5194 if test "$_dxr2" = yes; then
5195 def_dxr2='#define CONFIG_DXR2 1'
5196 _aomodules="dxr2 $_aomodules"
5197 _vomodules="dxr2 $_vomodules"
5198 else
5199 def_dxr2='#undef CONFIG_DXR2'
5200 _noaomodules="dxr2 $_noaomodules"
5201 _novomodules="dxr2 $_novomodules"
5203 echores "$_dxr2"
5205 echocheck "DXR3/H+"
5206 if test "$_dxr3" = auto ; then
5207 cat > $TMPC << EOF
5208 #include <linux/em8300.h>
5209 int main(void) { return 0; }
5211 _dxr3=no
5212 cc_check && _dxr3=yes
5214 if test "$_dxr3" = yes ; then
5215 def_dxr3='#define CONFIG_DXR3 1'
5216 _vomodules="dxr3 $_vomodules"
5217 else
5218 def_dxr3='#undef CONFIG_DXR3'
5219 _novomodules="dxr3 $_novomodules"
5221 echores "$_dxr3"
5224 echocheck "IVTV TV-Out (pre linux-2.6.24)"
5225 if test "$_ivtv" = auto ; then
5226 cat > $TMPC << EOF
5227 #include <stdlib.h>
5228 #include <inttypes.h>
5229 #include <linux/types.h>
5230 #include <linux/videodev2.h>
5231 #include <linux/ivtv.h>
5232 #include <sys/ioctl.h>
5233 int main(void) {
5234 struct ivtv_cfg_stop_decode sd;
5235 struct ivtv_cfg_start_decode sd1;
5236 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5237 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5238 return 0; }
5240 _ivtv=no
5241 cc_check && _ivtv=yes
5243 if test "$_ivtv" = yes ; then
5244 def_ivtv='#define CONFIG_IVTV 1'
5245 _vomodules="ivtv $_vomodules"
5246 _aomodules="ivtv $_aomodules"
5247 else
5248 def_ivtv='#undef CONFIG_IVTV'
5249 _novomodules="ivtv $_novomodules"
5250 _noaomodules="ivtv $_noaomodules"
5252 echores "$_ivtv"
5255 echocheck "V4L2 MPEG Decoder"
5256 if test "$_v4l2" = auto ; then
5257 cat > $TMPC << EOF
5258 #include <stdlib.h>
5259 #include <inttypes.h>
5260 #include <linux/types.h>
5261 #include <linux/videodev2.h>
5262 #include <linux/version.h>
5263 int main(void) {
5264 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5265 #error kernel headers too old, need 2.6.22
5266 bad_kernel_version();
5267 #endif
5268 struct v4l2_ext_controls ctrls;
5269 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5270 return 0;
5273 _v4l2=no
5274 cc_check && _v4l2=yes
5276 if test "$_v4l2" = yes ; then
5277 def_v4l2='#define CONFIG_V4L2_DECODER 1'
5278 _vomodules="v4l2 $_vomodules"
5279 _aomodules="v4l2 $_aomodules"
5280 else
5281 def_v4l2='#undef CONFIG_V4L2_DECODER'
5282 _novomodules="v4l2 $_novomodules"
5283 _noaomodules="v4l2 $_noaomodules"
5285 echores "$_v4l2"
5289 #########
5290 # AUDIO #
5291 #########
5294 echocheck "OSS Audio"
5295 if test "$_ossaudio" = auto ; then
5296 cat > $TMPC << EOF
5297 #include <sys/ioctl.h>
5298 #include <$_soundcard_header>
5299 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5301 _ossaudio=no
5302 cc_check && _ossaudio=yes
5304 if test "$_ossaudio" = yes ; then
5305 def_ossaudio='#define CONFIG_OSS_AUDIO 1'
5306 _aomodules="oss $_aomodules"
5307 if test "$_linux_devfs" = yes; then
5308 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
5309 def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5310 else
5311 cat > $TMPC << EOF
5312 #include <sys/ioctl.h>
5313 #include <$_soundcard_header>
5314 #ifdef OPEN_SOUND_SYSTEM
5315 int main(void) { return 0; }
5316 #else
5317 #error Not the real thing
5318 #endif
5320 _real_ossaudio=no
5321 cc_check && _real_ossaudio=yes
5322 if test "$_real_ossaudio" = yes; then
5323 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5324 # Check for OSS4 headers (override default headers)
5325 # Does not apply to systems where OSS4 is native (e.g. FreeBSD)
5326 if test -f /etc/oss.conf; then
5327 . /etc/oss.conf
5328 _ossinc="$OSSLIBDIR/include"
5329 if test -f "$_ossinc/sys/soundcard.h"; then
5330 extra_cflags="-I$_ossinc $extra_cflags"
5333 elif netbsd || openbsd ; then
5334 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
5335 extra_ldflags="$extra_ldflags -lossaudio"
5336 else
5337 def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5339 def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
5341 else
5342 def_ossaudio='#undef CONFIG_OSS_AUDIO'
5343 def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
5344 def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
5345 _noaomodules="oss $_noaomodules"
5347 echores "$_ossaudio"
5350 echocheck "aRts"
5351 if test "$_arts" = auto ; then
5352 _arts=no
5353 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
5355 cat > $TMPC << EOF
5356 #include <artsc.h>
5357 int main(void) { return 0; }
5359 cc_check $(artsc-config --libs) $(artsc-config --cflags) && tmp_run && _arts=yes
5364 if test "$_arts" = yes ; then
5365 def_arts='#define CONFIG_ARTS 1'
5366 _aomodules="arts $_aomodules"
5367 libs_mplayer="$libs_mplayer $(artsc-config --libs)"
5368 extra_cflags="$extra_cflags $(artsc-config --cflags)"
5369 else
5370 _noaomodules="arts $_noaomodules"
5372 echores "$_arts"
5375 echocheck "EsounD"
5376 if test "$_esd" = auto ; then
5377 _esd=no
5378 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
5380 cat > $TMPC << EOF
5381 #include <esd.h>
5382 int main(void) { int fd = esd_open_sound("test"); return fd; }
5384 cc_check $(esd-config --libs) $(esd-config --cflags) && _esd=yes
5388 echores "$_esd"
5390 if test "$_esd" = yes ; then
5391 def_esd='#define CONFIG_ESD 1'
5392 _aomodules="esd $_aomodules"
5393 libs_mplayer="$libs_mplayer $(esd-config --libs)"
5394 extra_cflags="$extra_cflags $(esd-config --cflags)"
5396 echocheck "esd_get_latency()"
5397 cat > $TMPC << EOF
5398 #include <esd.h>
5399 int main(void) { return esd_get_latency(0); }
5401 cc_check $(esd-config --libs) $(esd-config --cflags) && _esd_latency=yes && def_esd_latency='#define CONFIG_ESD_LATENCY'
5402 echores "$_esd_latency"
5403 else
5404 def_esd='#undef CONFIG_ESD'
5405 def_esd_latency='#undef CONFIG_ESD_LATENCY'
5406 _noaomodules="esd $_noaomodules"
5410 echocheck "NAS"
5411 if test "$_nas" = auto ; then
5412 cat > $TMPC << EOF
5413 #include <audio/audiolib.h>
5414 int main(void) { return 0; }
5416 _nas=no
5417 cc_check $_ld_lm -laudio -lXt && _nas=yes
5419 if test "$_nas" = yes ; then
5420 def_nas='#define CONFIG_NAS 1'
5421 libs_mplayer="$libs_mplayer -laudio -lXt"
5422 _aomodules="nas $_aomodules"
5423 else
5424 _noaomodules="nas $_noaomodules"
5425 def_nas='#undef CONFIG_NAS'
5427 echores "$_nas"
5430 echocheck "pulse"
5431 if test "$_pulse" = auto ; then
5432 _pulse=no
5433 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5435 cat > $TMPC << EOF
5436 #include <pulse/pulseaudio.h>
5437 int main(void) { return 0; }
5439 cc_check $($_pkg_config --libs --cflags libpulse) && tmp_run && _pulse=yes
5443 echores "$_pulse"
5445 if test "$_pulse" = yes ; then
5446 def_pulse='#define CONFIG_PULSE 1'
5447 _aomodules="pulse $_aomodules"
5448 libs_mplayer="$libs_mplayer $($_pkg_config --libs libpulse)"
5449 extra_cflags="$extra_cflags $($_pkg_config --cflags libpulse)"
5450 else
5451 def_pulse='#undef CONFIG_PULSE'
5452 _noaomodules="pulse $_noaomodules"
5456 echocheck "JACK"
5457 if test "$_jack" = auto ; then
5458 _jack=yes
5460 cat > $TMPC << EOF
5461 #include <jack/jack.h>
5462 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5464 if cc_check -ljack ; then
5465 libs_mplayer="$libs_mplayer -ljack"
5466 elif cc_check $($_pkg_config --libs --cflags --silence-errors jack) ; then
5467 libs_mplayer="$libs_mplayer $($_pkg_config --libs jack)"
5468 extra_cflags="$extra_cflags "$($_pkg_config --cflags jack)""
5469 else
5470 _jack=no
5474 if test "$_jack" = yes ; then
5475 def_jack='#define CONFIG_JACK 1'
5476 _aomodules="jack $_aomodules"
5477 else
5478 _noaomodules="jack $_noaomodules"
5480 echores "$_jack"
5482 echocheck "OpenAL"
5483 if test "$_openal" = auto ; then
5484 _openal=no
5485 cat > $TMPC << EOF
5486 #ifdef OPENAL_AL_H
5487 #include <OpenAL/al.h>
5488 #else
5489 #include <AL/al.h>
5490 #endif
5491 int main(void) {
5492 alSourceQueueBuffers(0, 0, 0);
5493 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5494 return 0;
5497 for I in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5498 cc_check $I && _openal=yes && break
5499 cc_check -DOPENAL_AL_H=1 $I && def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
5500 done
5501 test "$_openal" = yes && libs_mplayer="$libs_mplayer $I"
5503 if test "$_openal" = yes ; then
5504 def_openal='#define CONFIG_OPENAL 1'
5505 _aomodules="openal $_aomodules"
5506 else
5507 _noaomodules="openal $_noaomodules"
5509 echores "$_openal"
5511 echocheck "ALSA audio"
5512 if test "$_alloca" != yes ; then
5513 _alsa=no
5514 _res_comment="alloca missing"
5516 if test "$_alsa" != no ; then
5517 _alsa=no
5518 cat > $TMPC << EOF
5519 #include <sys/time.h>
5520 #include <sys/asoundlib.h>
5521 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5522 #error "alsa version != 0.5.x"
5523 #endif
5524 int main(void) { return 0; }
5526 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
5528 cat > $TMPC << EOF
5529 #include <sys/time.h>
5530 #include <sys/asoundlib.h>
5531 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5532 #error "alsa version != 0.9.x"
5533 #endif
5534 int main(void) { return 0; }
5536 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
5537 cat > $TMPC << EOF
5538 #include <sys/time.h>
5539 #include <alsa/asoundlib.h>
5540 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5541 #error "alsa version != 0.9.x"
5542 #endif
5543 int main(void) { return 0; }
5545 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5547 cat > $TMPC << EOF
5548 #include <sys/time.h>
5549 #include <sys/asoundlib.h>
5550 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5551 #error "alsa version != 1.0.x"
5552 #endif
5553 int main(void) { return 0; }
5555 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5556 cat > $TMPC << EOF
5557 #include <sys/time.h>
5558 #include <alsa/asoundlib.h>
5559 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5560 #error "alsa version != 1.0.x"
5561 #endif
5562 int main(void) { return 0; }
5564 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5566 def_alsa='#undef CONFIG_ALSA'
5567 def_alsa5='#undef CONFIG_ALSA5'
5568 def_alsa9='#undef CONFIG_ALSA9'
5569 def_alsa1x='#undef CONFIG_ALSA1X'
5570 def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5571 def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5572 if test "$_alsaver" ; then
5573 _alsa=yes
5574 if test "$_alsaver" = '0.5.x' ; then
5575 _alsa5=yes
5576 _aomodules="alsa5 $_aomodules"
5577 def_alsa5='#define CONFIG_ALSA5 1'
5578 def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5579 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5580 elif test "$_alsaver" = '0.9.x-sys' ; then
5581 _alsa9=yes
5582 _aomodules="alsa $_aomodules"
5583 def_alsa='#define CONFIG_ALSA 1'
5584 def_alsa9='#define CONFIG_ALSA9 1'
5585 def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5586 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5587 elif test "$_alsaver" = '0.9.x-alsa' ; then
5588 _alsa9=yes
5589 _aomodules="alsa $_aomodules"
5590 def_alsa='#define CONFIG_ALSA 1'
5591 def_alsa9='#define CONFIG_ALSA9 1'
5592 def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5593 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5594 elif test "$_alsaver" = '1.0.x-sys' ; then
5595 _alsa1x=yes
5596 _aomodules="alsa $_aomodules"
5597 def_alsa='#define CONFIG_ALSA 1'
5598 def_alsa1x="#define CONFIG_ALSA1X 1"
5599 def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5600 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5601 elif test "$_alsaver" = '1.0.x-alsa' ; then
5602 _alsa1x=yes
5603 _aomodules="alsa $_aomodules"
5604 def_alsa='#define CONFIG_ALSA 1'
5605 def_alsa1x="#define CONFIG_ALSA1X 1"
5606 def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5607 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5608 else
5609 _alsa=no
5610 _res_comment="unknown version"
5612 extra_ldflags="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5613 else
5614 _noaomodules="alsa $_noaomodules"
5616 echores "$_alsa"
5619 echocheck "Sun audio"
5620 if test "$_sunaudio" = auto ; then
5621 cat > $TMPC << EOF
5622 #include <sys/types.h>
5623 #include <sys/audioio.h>
5624 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5626 _sunaudio=no
5627 cc_check && _sunaudio=yes
5629 if test "$_sunaudio" = yes ; then
5630 def_sunaudio='#define CONFIG_SUN_AUDIO 1'
5631 _aomodules="sun $_aomodules"
5632 else
5633 def_sunaudio='#undef CONFIG_SUN_AUDIO'
5634 _noaomodules="sun $_noaomodules"
5636 echores "$_sunaudio"
5639 def_mlib='#define CONFIG_MLIB 0'
5640 if sunos; then
5641 echocheck "Sun mediaLib"
5642 if test "$_mlib" = auto ; then
5643 _mlib=no
5644 cat > $TMPC << EOF
5645 #include <mlib.h>
5646 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5648 cc_check -lmlib && _mlib=yes && def_mlib='#define CONFIG_MLIB 1'
5650 echores "$_mlib"
5651 fi #if sunos
5654 if darwin; then
5655 echocheck "CoreAudio"
5656 if test "$_coreaudio" = auto ; then
5657 cat > $TMPC <<EOF
5658 #include <CoreAudio/CoreAudio.h>
5659 #include <AudioToolbox/AudioToolbox.h>
5660 #include <AudioUnit/AudioUnit.h>
5661 int main(void) { return 0; }
5663 _coreaudio=no
5664 cc_check -framework CoreAudio -framework AudioUnit -framework AudioToolbox && _coreaudio=yes
5666 if test "$_coreaudio" = yes ; then
5667 libs_mplayer="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
5668 def_coreaudio='#define CONFIG_COREAUDIO 1'
5669 _aomodules="coreaudio $_aomodules"
5670 else
5671 def_coreaudio='#undef CONFIG_COREAUDIO'
5672 _noaomodules="coreaudio $_noaomodules"
5674 echores $_coreaudio
5675 fi #if darwin
5678 if irix; then
5679 echocheck "SGI audio"
5680 if test "$_sgiaudio" = auto ; then
5681 # check for SGI audio
5682 cat > $TMPC << EOF
5683 #include <dmedia/audio.h>
5684 int main(void) { return 0; }
5686 _sgiaudio=no
5687 cc_check && _sgiaudio=yes
5689 if test "$_sgiaudio" = "yes" ; then
5690 def_sgiaudio='#define CONFIG_SGI_AUDIO 1'
5691 libs_mplayer="$libs_mplayer -laudio"
5692 _aomodules="sgi $_aomodules"
5693 else
5694 def_sgiaudio='#undef CONFIG_SGI_AUDIO'
5695 _noaomodules="sgi $_noaomodules"
5697 echores "$_sgiaudio"
5698 fi #if irix
5701 if os2 ; then
5702 echocheck "DART"
5703 if test "$_dart" = auto; then
5704 cat > $TMPC << EOF
5705 #include <os2.h>
5706 #include <dart.h>
5707 int main( void ) { return 0; }
5709 _dart=no;
5710 cc_check -ldart && _dart=yes
5712 if test "$_dart" = yes ; then
5713 def_dart='#define CONFIG_DART 1'
5714 libs_mplayer="$libs_mplayer -ldart"
5715 _aomodules="dart $_aomodules"
5716 else
5717 def_dart='#undef CONFIG_DART'
5718 _noaomodules="dart $_noaomodules"
5720 echores "$_dart"
5721 fi #if os2
5724 # set default CD/DVD devices
5725 if win32 || os2 ; then
5726 default_cdrom_device="D:"
5727 elif darwin ; then
5728 default_cdrom_device="/dev/disk1"
5729 elif dragonfly ; then
5730 default_cdrom_device="/dev/cd0"
5731 elif freebsd ; then
5732 default_cdrom_device="/dev/acd0"
5733 elif openbsd ; then
5734 default_cdrom_device="/dev/rcd0a"
5735 elif sunos ; then
5736 default_cdrom_device="/vol/dev/aliases/cdrom0"
5737 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
5738 # file system and the volfs service.
5739 test -r "/cdrom/cdrom0" && default_cdrom_device="/cdrom/cdrom0"
5740 elif amigaos ; then
5741 default_cdrom_device="a1ide.device:2"
5742 else
5743 default_cdrom_device="/dev/cdrom"
5746 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos ; then
5747 default_dvd_device=$default_cdrom_device
5748 elif darwin ; then
5749 default_dvd_device="/dev/rdiskN"
5750 else
5751 default_dvd_device="/dev/dvd"
5755 echocheck "VCD support"
5756 if test "$_vcd" = auto; then
5757 _vcd=no
5758 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos; then
5759 _vcd=yes
5760 elif mingw32; then
5761 cat > $TMPC << EOF
5762 #include <ddk/ntddcdrm.h>
5763 int main(void) { return 0; }
5765 cc_check && _vcd=yes
5768 if test "$_vcd" = yes; then
5769 _inputmodules="vcd $_inputmodules"
5770 def_vcd='#define CONFIG_VCD 1'
5771 else
5772 def_vcd='#undef CONFIG_VCD'
5773 _noinputmodules="vcd $_noinputmodules"
5774 _res_comment="not supported on this OS"
5776 echores "$_vcd"
5780 echocheck "dvdread"
5781 if test "$_dvdread_internal" = auto && test ! -f "libdvdread4/dvd_reader.c" ; then
5782 _dvdread_internal=no
5784 if test "$_dvdread_internal" = auto ; then
5785 _dvdread_internal=no
5786 _dvdread=no
5787 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux) \
5788 && (test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5789 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes) \
5790 || darwin || win32 || os2; then
5791 _dvdread_internal=yes
5792 _dvdread=yes
5793 extra_cflags="-Ilibdvdread4 $extra_cflags"
5795 elif test "$_dvdread" = auto ; then
5796 _dvdread=no
5797 if test "$_dl" = yes; then
5798 cat > $TMPC << EOF
5799 #include <inttypes.h>
5800 #include <dvdread/dvd_reader.h>
5801 #include <dvdread/ifo_types.h>
5802 #include <dvdread/ifo_read.h>
5803 #include <dvdread/nav_read.h>
5804 int main(void) { return 0; }
5806 _dvdreadcflags=$($_dvdreadconfig --cflags)
5807 _dvdreadlibs=$($_dvdreadconfig --libs)
5808 if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5809 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5810 _dvdread=yes
5811 extra_cflags="$extra_cflags $_dvdreadcflags"
5812 extra_ldflags="$extra_ldflags $_dvdreadlibs"
5813 _res_comment="external"
5818 if test "$_dvdread_internal" = yes; then
5819 def_dvdread='#define CONFIG_DVDREAD 1'
5820 _inputmodules="dvdread(internal) $_inputmodules"
5821 _largefiles=yes
5822 _res_comment="internal"
5823 elif test "$_dvdread" = yes; then
5824 def_dvdread='#define CONFIG_DVDREAD 1'
5825 _largefiles=yes
5826 extra_ldflags="$extra_ldflags -ldvdread"
5827 _inputmodules="dvdread(external) $_inputmodules"
5828 _res_comment="external"
5829 else
5830 def_dvdread='#undef CONFIG_DVDREAD'
5831 _noinputmodules="dvdread $_noinputmodules"
5833 echores "$_dvdread"
5836 echocheck "internal libdvdcss"
5837 if test "$_libdvdcss_internal" = auto ; then
5838 _libdvdcss_internal=no
5839 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5840 hpux && test "$_hpux_scsi_h" = no && _libdvdcss_internal=no
5842 if test "$_libdvdcss_internal" = yes ; then
5843 if linux || netbsd || openbsd || bsdos ; then
5844 def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5845 openbsd && def_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5846 elif freebsd || dragonfly ; then
5847 def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5848 elif darwin ; then
5849 def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5850 extra_ldflags="$extra_ldflags -framework IOKit -framework Carbon"
5851 elif cygwin ; then
5852 cflags_libdvdcss="-DSYS_CYGWIN -DWIN32"
5853 elif beos ; then
5854 cflags_libdvdcss="-DSYS_BEOS"
5855 elif os2 ; then
5856 cflags_libdvdcss="-DSYS_OS2"
5858 cflags_libdvdcss_dvdread="-Ilibdvdcss"
5859 def_dvdcss="#define HAVE_DVDCSS_DVDCSS_H 1"
5860 _inputmodules="libdvdcss(internal) $_inputmodules"
5861 _largefiles=yes
5862 else
5863 _noinputmodules="libdvdcss(internal) $_noinputmodules"
5865 echores "$_libdvdcss_internal"
5868 echocheck "cdparanoia"
5869 if test "$_cdparanoia" = auto ; then
5870 cat > $TMPC <<EOF
5871 #include <cdda_interface.h>
5872 #include <cdda_paranoia.h>
5873 // This need a better test. How ?
5874 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5876 _cdparanoia=no
5877 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5878 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5879 _cdparanoia=yes && extra_cflags="$extra_cflags $_inc_tmp" && break
5880 done
5882 if test "$_cdparanoia" = yes ; then
5883 _cdda='yes'
5884 extra_ldflags="$extra_ldflags -lcdda_interface -lcdda_paranoia"
5885 openbsd && extra_ldflags="$extra_ldflags -lutil"
5887 echores "$_cdparanoia"
5890 echocheck "libcdio"
5891 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5892 cat > $TMPC << EOF
5893 #include <stdio.h>
5894 #include <cdio/version.h>
5895 #include <cdio/cdda.h>
5896 #include <cdio/paranoia.h>
5897 int main(void) {
5898 void *test = cdda_verbose_set;
5899 printf("%s\n", CDIO_VERSION);
5900 return test == (void *)1;
5903 _libcdio=no
5904 for _ld_tmp in "" "-lwinmm" ; do
5905 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5906 cc_check $_ld_tmp $_ld_lm \
5907 && _libcdio=yes && extra_ldflags="$extra_ldflags $_ld_tmp" && break
5908 done
5909 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5910 _inc_tmp=$($_pkg_config --cflags libcdio_paranoia)
5911 _ld_tmp=$($_pkg_config --libs libcdio_paranoia)
5912 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5913 && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_tmp"
5916 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5917 _cdda='yes'
5918 def_libcdio='#define CONFIG_LIBCDIO'
5919 def_havelibcdio='yes'
5920 else
5921 if test "$_cdparanoia" = yes ; then
5922 _res_comment="using cdparanoia"
5924 def_libcdio='#undef CONFIG_LIBCDIO'
5925 def_havelibcdio='no'
5927 echores "$_libcdio"
5929 if test "$_cdda" = yes ; then
5930 test $_cddb = auto && test $_network = yes && _cddb=yes
5931 def_cdparanoia='#define CONFIG_CDDA'
5932 _inputmodules="cdda $_inputmodules"
5933 else
5934 def_cdparanoia='#undef CONFIG_CDDA'
5935 _noinputmodules="cdda $_noinputmodules"
5938 if test "$_cddb" = yes ; then
5939 def_cddb='#define CONFIG_CDDB'
5940 _inputmodules="cddb $_inputmodules"
5941 else
5942 _cddb=no
5943 def_cddb='#undef CONFIG_CDDB'
5944 _noinputmodules="cddb $_noinputmodules"
5947 echocheck "bitmap font support"
5948 if test "$_bitmap_font" = yes ; then
5949 def_bitmap_font="#define CONFIG_BITMAP_FONT 1"
5950 else
5951 def_bitmap_font="#undef CONFIG_BITMAP_FONT"
5953 echores "$_bitmap_font"
5956 echocheck "freetype >= 2.0.9"
5958 # freetype depends on iconv
5959 if test "$_iconv" = no ; then
5960 _freetype=no
5961 _res_comment="iconv support needed"
5964 if test "$_freetype" = auto ; then
5965 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5966 cat > $TMPC << EOF
5967 #include <stdio.h>
5968 #include <ft2build.h>
5969 #include FT_FREETYPE_H
5970 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5971 #error "Need FreeType 2.0.9 or newer"
5972 #endif
5973 int main(void) {
5974 FT_Library library;
5975 FT_Int major=-1,minor=-1,patch=-1;
5976 int err=FT_Init_FreeType(&library);
5977 if (err) {
5978 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5979 exit(err);
5981 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5982 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5983 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5984 (int)major,(int)minor,(int)patch );
5985 if (major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR) {
5986 printf("Library and header version mismatch! Fix it in your distribution!\n");
5987 exit(1);
5989 return 0;
5992 _freetype=no
5993 cc_check $($_freetypeconfig --cflags) $($_freetypeconfig --libs) && tmp_run && _freetype=yes
5994 else
5995 _freetype=no
5998 if test "$_freetype" = yes ; then
5999 def_freetype='#define CONFIG_FREETYPE'
6000 extra_cflags="$extra_cflags $($_freetypeconfig --cflags)"
6001 extra_ldflags="$extra_ldflags $($_freetypeconfig --libs)"
6002 else
6003 def_freetype='#undef CONFIG_FREETYPE'
6005 echores "$_freetype"
6007 if test "$_freetype" = no ; then
6008 _fontconfig=no
6009 _res_comment="FreeType support needed"
6011 echocheck "fontconfig"
6012 if test "$_fontconfig" = auto ; then
6013 cat > $TMPC << EOF
6014 #include <stdio.h>
6015 #include <stdlib.h>
6016 #include <fontconfig/fontconfig.h>
6017 int main(void) {
6018 int err = FcInit();
6019 if (err == FcFalse) {
6020 printf("Couldn't initialize fontconfig lib\n");
6021 exit(err);
6023 return 0;
6026 _fontconfig=no
6027 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
6028 _ld_tmp="-lfontconfig $_ld_tmp"
6029 cc_check $_ld_tmp && _fontconfig=yes && extra_ldflags="$extra_ldflags $_ld_tmp" && break
6030 done
6031 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
6032 _inc_tmp=$($_pkg_config --cflags fontconfig)
6033 _ld_tmp=$($_pkg_config --libs fontconfig)
6034 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
6035 && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_tmp"
6038 if test "$_fontconfig" = yes ; then
6039 def_fontconfig='#define CONFIG_FONTCONFIG'
6040 else
6041 def_fontconfig='#undef CONFIG_FONTCONFIG'
6043 echores "$_fontconfig"
6046 echocheck "SSA/ASS support"
6047 if test "$_ass" = auto -o "$_ass" = yes ; then
6048 if $_pkg_config libass; then
6049 _ass=yes
6050 def_ass='#define CONFIG_ASS'
6051 extra_ldflags="$extra_ldflags $($_pkg_config --libs libass)"
6052 extra_cflags="$extra_cflags $($_pkg_config --cflags libass)"
6053 else
6054 _ass=no
6055 def_ass='#undef CONFIG_ASS'
6057 else
6058 def_ass='#undef CONFIG_ASS'
6060 echores "$_ass"
6063 echocheck "fribidi with charsets"
6064 if test "$_fribidi" = auto ; then
6065 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
6066 cat > $TMPC << EOF
6067 #include <stdio.h>
6068 /* workaround for fribidi 0.10.4 and below */
6069 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6070 #include <fribidi/fribidi.h>
6071 int main(void) {
6072 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6073 printf("Fribidi headers are not consistents with the library!\n");
6074 exit(1);
6076 return 0;
6079 _fribidi=no
6080 cc_check $($_fribidiconfig --cflags) $($_fribidiconfig --libs) && tmp_run && _fribidi=yes
6081 else
6082 _fribidi=no
6085 if test "$_fribidi" = yes ; then
6086 def_fribidi='#define CONFIG_FRIBIDI'
6087 extra_cflags="$extra_cflags $($_fribidiconfig --cflags)"
6088 extra_ldflags="$extra_ldflags $($_fribidiconfig --libs)"
6089 else
6090 def_fribidi='#undef CONFIG_FRIBIDI'
6092 echores "$_fribidi"
6095 echocheck "ENCA"
6096 if test "$_enca" = auto ; then
6097 cat > $TMPC << EOF
6098 #include <sys/types.h>
6099 #include <enca.h>
6100 int main(void) {
6101 const char **langs;
6102 size_t langcnt;
6103 langs = enca_get_languages(&langcnt);
6104 return 0;
6107 _enca=no
6108 cc_check -lenca $_ld_lm && _enca=yes
6110 if test "$_enca" = yes ; then
6111 def_enca='#define CONFIG_ENCA 1'
6112 extra_ldflags="$extra_ldflags -lenca"
6113 else
6114 def_enca='#undef CONFIG_ENCA'
6116 echores "$_enca"
6119 echocheck "zlib"
6120 cat > $TMPC << EOF
6121 #include <zlib.h>
6122 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6124 _zlib=no
6125 cc_check -lz && _zlib=yes
6126 if test "$_zlib" = yes ; then
6127 def_zlib='#define CONFIG_ZLIB 1'
6128 extra_ldflags="$extra_ldflags -lz"
6129 else
6130 def_zlib='#define CONFIG_ZLIB 0'
6132 echores "$_zlib"
6135 echocheck "bzlib"
6136 bzlib=no
6137 def_bzlib='#define CONFIG_BZLIB 0'
6138 cat > $TMPC << EOF
6139 #include <bzlib.h>
6140 int main(void) { BZ2_bzlibVersion(); return 0; }
6142 cc_check -lbz2 && bzlib=yes
6143 if test "$bzlib" = yes ; then
6144 def_bzlib='#define CONFIG_BZLIB 1'
6145 extra_ldflags="$extra_ldflags -lbz2"
6147 echores "$bzlib"
6150 echocheck "RTC"
6151 if test "$_rtc" = auto ; then
6152 cat > $TMPC << EOF
6153 #include <sys/ioctl.h>
6154 #ifdef __linux__
6155 #include <linux/rtc.h>
6156 #else
6157 #include <rtc.h>
6158 #define RTC_PIE_ON RTCIO_PIE_ON
6159 #endif
6160 int main(void) { return RTC_PIE_ON; }
6162 _rtc=no
6163 cc_check && _rtc=yes
6164 ppc && _rtc=no
6166 if test "$_rtc" = yes ; then
6167 def_rtc='#define HAVE_RTC 1'
6168 else
6169 def_rtc='#undef HAVE_RTC'
6171 echores "$_rtc"
6174 echocheck "liblzo2 support"
6175 if test "$_liblzo" = auto ; then
6176 _liblzo=no
6177 cat > $TMPC << EOF
6178 #include <lzo/lzo1x.h>
6179 int main(void) { lzo_init();return 0; }
6181 cc_check -llzo2 && _liblzo=yes
6183 if test "$_liblzo" = yes ; then
6184 def_liblzo='#define CONFIG_LIBLZO 1'
6185 extra_ldflags="$extra_ldflags -llzo2"
6186 _codecmodules="liblzo $_codecmodules"
6187 else
6188 def_liblzo='#undef CONFIG_LIBLZO'
6189 _nocodecmodules="liblzo $_nocodecmodules"
6191 echores "$_liblzo"
6194 echocheck "mad support"
6195 if test "$_mad" = auto ; then
6196 _mad=no
6197 cat > $TMPC << EOF
6198 #include <mad.h>
6199 int main(void) { return 0; }
6201 cc_check -lmad && _mad=yes
6203 if test "$_mad" = yes ; then
6204 def_mad='#define CONFIG_LIBMAD 1'
6205 extra_ldflags="$extra_ldflags -lmad"
6206 _codecmodules="libmad $_codecmodules"
6207 else
6208 def_mad='#undef CONFIG_LIBMAD'
6209 _nocodecmodules="libmad $_nocodecmodules"
6211 echores "$_mad"
6213 echocheck "Twolame"
6214 if test "$_twolame" = auto ; then
6215 cat > $TMPC <<EOF
6216 #include <twolame.h>
6217 int main(void) { twolame_init(); return 0; }
6219 _twolame=no
6220 cc_check -ltwolame $_ld_lm && _twolame=yes
6222 if test "$_twolame" = yes ; then
6223 def_twolame='#define CONFIG_TWOLAME 1'
6224 libs_mencoder="$libs_mencoder -ltwolame"
6225 _codecmodules="twolame $_codecmodules"
6226 else
6227 def_twolame='#undef CONFIG_TWOLAME'
6228 _nocodecmodules="twolame $_nocodecmodules"
6230 echores "$_twolame"
6232 echocheck "Toolame"
6233 if test "$_toolame" = auto ; then
6234 _toolame=no
6235 if test "$_twolame" = yes ; then
6236 _res_comment="disabled by twolame"
6237 else
6238 cat > $TMPC <<EOF
6239 #include <toolame.h>
6240 int main(void) { toolame_init(); return 0; }
6242 cc_check -ltoolame $_ld_lm && _toolame=yes
6245 if test "$_toolame" = yes ; then
6246 def_toolame='#define CONFIG_TOOLAME 1'
6247 libs_mencoder="$libs_mencoder -ltoolame"
6248 _codecmodules="toolame $_codecmodules"
6249 else
6250 def_toolame='#undef CONFIG_TOOLAME'
6251 _nocodecmodules="toolame $_nocodecmodules"
6253 if test "$_toolamedir" ; then
6254 _res_comment="using $_toolamedir"
6256 echores "$_toolame"
6258 echocheck "OggVorbis support"
6259 if test "$_tremor_internal" = yes; then
6260 _libvorbis=no
6261 elif test "$_tremor" = auto; then
6262 _tremor=no
6263 cat > $TMPC << EOF
6264 #include <tremor/ivorbiscodec.h>
6265 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6267 cc_check -logg -lvorbisidec $_ld_lm && _tremor=yes && _libvorbis=no
6269 if test "$_libvorbis" = auto; then
6270 _libvorbis=no
6271 cat > $TMPC << EOF
6272 #include <vorbis/codec.h>
6273 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6275 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
6277 if test "$_tremor_internal" = yes ; then
6278 _vorbis=yes
6279 def_vorbis='#define CONFIG_OGGVORBIS 1'
6280 def_tremor='#define CONFIG_TREMOR 1'
6281 _codecmodules="tremor(internal) $_codecmodules"
6282 _res_comment="internal Tremor"
6283 if test "$_tremor_low" = yes ; then
6284 cflags_tremor_low="-D_LOW_ACCURACY_"
6285 _res_comment="internal low accuracy Tremor"
6287 elif test "$_tremor" = yes ; then
6288 _vorbis=yes
6289 def_vorbis='#define CONFIG_OGGVORBIS 1'
6290 def_tremor='#define CONFIG_TREMOR 1'
6291 _codecmodules="tremor(external) $_codecmodules"
6292 _res_comment="external Tremor"
6293 extra_ldflags="$extra_ldflags -logg -lvorbisidec"
6294 elif test "$_libvorbis" = yes ; then
6295 _vorbis=yes
6296 def_vorbis='#define CONFIG_OGGVORBIS 1'
6297 _codecmodules="libvorbis $_codecmodules"
6298 _res_comment="libvorbis"
6299 extra_ldflags="$extra_ldflags -lvorbis -logg"
6300 else
6301 _vorbis=no
6302 _nocodecmodules="libvorbis $_nocodecmodules"
6304 echores "$_vorbis"
6306 echocheck "libspeex (version >= 1.1 required)"
6307 if test "$_speex" = auto ; then
6308 _speex=no
6309 cat > $TMPC << EOF
6310 #include <speex/speex.h>
6311 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6313 cc_check -lspeex $_ld_lm && _speex=yes
6315 if test "$_speex" = yes ; then
6316 def_speex='#define CONFIG_SPEEX 1'
6317 extra_ldflags="$extra_ldflags -lspeex"
6318 _codecmodules="speex $_codecmodules"
6319 else
6320 def_speex='#undef CONFIG_SPEEX'
6321 _nocodecmodules="speex $_nocodecmodules"
6323 echores "$_speex"
6325 echocheck "OggTheora support"
6326 if test "$_theora" = auto ; then
6327 _theora=no
6328 cat > $TMPC << EOF
6329 #include <theora/theora.h>
6330 #include <string.h>
6331 int main(void) {
6332 /* Theora is in flux, make sure that all interface routines and datatypes
6333 * exist and work the way we expect it, so we don't break MPlayer. */
6334 ogg_packet op;
6335 theora_comment tc;
6336 theora_info inf;
6337 theora_state st;
6338 yuv_buffer yuv;
6339 int r;
6340 double t;
6342 theora_info_init(&inf);
6343 theora_comment_init(&tc);
6345 return 0;
6347 /* we don't want to execute this kind of nonsense; just for making sure
6348 * that compilation works... */
6349 memset(&op, 0, sizeof(op));
6350 r = theora_decode_header(&inf, &tc, &op);
6351 r = theora_decode_init(&st, &inf);
6352 t = theora_granule_time(&st, op.granulepos);
6353 r = theora_decode_packetin(&st, &op);
6354 r = theora_decode_YUVout(&st, &yuv);
6355 theora_clear(&st);
6357 return 0;
6360 _ld_theora=$($_pkg_config --silence-errors --libs theora)
6361 _inc_theora=$($_pkg_config --silence-errors --cflags theora)
6362 cc_check $_inc_theora $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" &&
6363 extra_cflags="$extra_cflags $_inc_theora" && _theora=yes
6364 if test _theora = no; then
6365 _ld_theora="-ltheora -logg"
6366 cc_check $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes
6368 if test "$_theora" = no && test "$_tremor_internal" = yes; then
6369 _ld_theora=$($_pkg_config --silence-errors --libs theora)
6370 _inc_theora=$($_pkg_config --silence-errors --cflags theora)
6371 cc_check tremor/bitwise.c $_inc_theora $_ld_theora &&
6372 extra_ldflags="$extra_ldflags $_ld_theora" &&
6373 extra_cflags="$extra_cflags $_inc_theora" && _theora=yes
6374 if test _theora = no; then
6375 _ld_theora="-ltheora -logg"
6376 cc_check tremor/bitwise.c $_ld_theora &&
6377 extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes
6381 if test "$_theora" = yes ; then
6382 def_theora='#define CONFIG_OGGTHEORA 1'
6383 _codecmodules="libtheora $_codecmodules"
6384 # when --enable-theora is forced, we'd better provide a probably sane
6385 # $_ld_theora than nothing
6386 test -z "$_ld_theora" && extra_ldflags="$extra_ldflags -ltheora -logg"
6387 else
6388 def_theora='#undef CONFIG_OGGTHEORA'
6389 _nocodecmodules="libtheora $_nocodecmodules"
6391 echores "$_theora"
6393 echocheck "internal mp3lib support"
6394 if test "$_mp3lib" = auto ; then
6395 test "$cc_vendor" = intel && test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib=no || _mp3lib=yes
6397 if test "$_mp3lib" = yes ; then
6398 def_mp3lib='#define CONFIG_MP3LIB 1'
6399 _codecmodules="mp3lib(internal) $_codecmodules"
6400 else
6401 def_mp3lib='#undef CONFIG_MP3LIB'
6402 _nocodecmodules="mp3lib(internal) $_nocodecmodules"
6404 echores "$_mp3lib"
6406 echocheck "liba52 support"
6407 if test "$_liba52_internal" = auto ; then
6408 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
6410 def_liba52='#undef CONFIG_LIBA52'
6411 def_liba52_internal="#undef CONFIG_LIBA52_INTERNAL"
6412 if test "$_liba52_internal" = yes ; then
6413 _liba52=yes
6414 def_liba52_internal="#define CONFIG_LIBA52_INTERNAL 1"
6415 _res_comment="internal"
6416 elif test "$_liba52_internal" = no && test "$_liba52" = auto ; then
6417 _liba52=no
6418 cat > $TMPC << EOF
6419 #include <inttypes.h>
6420 #include <a52dec/a52.h>
6421 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6423 cc_check -la52 && _liba52=yes && _res_comment="external" && extra_ldflags="$extra_ldflags -la52"
6425 if test "$_liba52" = yes ; then
6426 def_liba52='#define CONFIG_LIBA52 1'
6427 _codecmodules="liba52($_res_comment) $_codecmodules"
6428 else
6429 _nocodecmodules="liba52 $_nocodecmodules"
6431 echores "$_liba52"
6433 echocheck "internal libmpeg2 support"
6434 if test "$_libmpeg2" = auto ; then
6435 _libmpeg2=yes
6436 if alpha && test cc_vendor=gnu; then
6437 case $cc_version in
6438 2*|3.0*|3.1*) # cannot compile MVI instructions
6439 _libmpeg2=no
6440 _res_comment="broken gcc"
6442 esac
6445 if test "$_libmpeg2" = yes ; then
6446 def_libmpeg2='#define CONFIG_LIBMPEG2 1'
6447 _codecmodules="libmpeg2(internal) $_codecmodules"
6448 else
6449 def_libmpeg2='#undef CONFIG_LIBMPEG2'
6450 _nocodecmodules="libmpeg2(internal) $_nocodecmodules"
6452 echores "$_libmpeg2"
6454 echocheck "libdca support"
6455 if test "$_libdca" = auto ; then
6456 _libdca=no
6457 cat > $TMPC << EOF
6458 #include <inttypes.h>
6459 #include <dts.h>
6460 int main(void) { dts_init(0); return 0; }
6462 for _ld_dca in -ldts -ldca ; do
6463 cc_check $_ld_dca $_ld_lm && extra_ldflags="$extra_ldflags $_ld_dca" \
6464 && _libdca=yes && break
6465 done
6467 if test "$_libdca" = yes ; then
6468 def_libdca='#define CONFIG_LIBDCA 1'
6469 _codecmodules="libdca $_codecmodules"
6470 else
6471 def_libdca='#undef CONFIG_LIBDCA'
6472 _nocodecmodules="libdca $_nocodecmodules"
6474 echores "$_libdca"
6476 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
6477 if test "$_musepack" = auto ; then
6478 _musepack=no
6479 cat > $TMPC << EOF
6480 #include <stddef.h>
6481 #include <mpcdec/mpcdec.h>
6482 int main(void) {
6483 mpc_streaminfo info;
6484 mpc_decoder decoder;
6485 mpc_decoder_set_streaminfo(&decoder, &info);
6486 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6487 return 0;
6490 cc_check -lmpcdec $_ld_lm && _musepack=yes
6492 if test "$_musepack" = yes ; then
6493 def_musepack='#define CONFIG_MUSEPACK 1'
6494 extra_ldflags="$extra_ldflags -lmpcdec"
6495 _codecmodules="musepack $_codecmodules"
6496 else
6497 def_musepack='#undef CONFIG_MUSEPACK'
6498 _nocodecmodules="musepack $_nocodecmodules"
6500 echores "$_musepack"
6503 echocheck "FAAC support"
6504 if test "$_faac" = auto ; then
6505 cat > $TMPC <<EOF
6506 #include <inttypes.h>
6507 #include <faac.h>
6508 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6510 _faac=no
6511 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6512 cc_check -O2 $_ld_faac $_ld_lm && libs_mencoder="$libs_mencoder $_ld_faac" && _faac=yes && break
6513 done
6515 if test "$_faac" = yes ; then
6516 def_faac="#define CONFIG_FAAC 1"
6517 _codecmodules="faac $_codecmodules"
6518 else
6519 def_faac="#undef CONFIG_FAAC"
6520 _nocodecmodules="faac $_nocodecmodules"
6522 echores "$_faac"
6525 echocheck "FAAD2 support"
6526 if test "$_faad_internal" = auto ; then
6527 if x86_32 && test cc_vendor=gnu; then
6528 case $cc_version in
6529 3.1*|3.2) # ICE/insn with these versions
6530 _faad_internal=no
6531 _res_comment="broken gcc"
6534 _faad=yes
6535 _faad_internal=yes
6537 esac
6538 else
6539 _faad=yes
6540 _faad_internal=yes
6543 if test "$_faad" = auto ; then
6544 cat > $TMPC << EOF
6545 #include <faad.h>
6546 #ifndef FAAD_MIN_STREAMSIZE
6547 #error Too old version
6548 #endif
6549 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6550 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6552 cc_check -lfaad $_ld_lm && _faad=yes
6555 def_faad='#undef CONFIG_FAAD'
6556 def_faad_internal="#undef CONFIG_FAAD_INTERNAL"
6557 if test "$_faad_internal" = yes ; then
6558 def_faad_internal="#define CONFIG_FAAD_INTERNAL 1"
6559 _res_comment="internal floating-point"
6560 if test "$_faad_fixed" = yes ; then
6561 # The FIXED_POINT implementation of FAAD2 improves performance
6562 # on some platforms, especially for SBR files.
6563 cflags_faad_fixed="-DFIXED_POINT"
6564 _res_comment="internal fixed-point"
6566 elif test "$_faad" = yes ; then
6567 extra_ldflags="$extra_ldflags -lfaad"
6570 if test "$_faad" = yes ; then
6571 def_faad='#define CONFIG_FAAD 1'
6572 if test "$_faad_internal" = yes ; then
6573 _codecmodules="faad2(internal) $_codecmodules"
6574 else
6575 _codecmodules="faad2 $_codecmodules"
6577 else
6578 _faad=no
6579 _nocodecmodules="faad2 $_nocodecmodules"
6581 echores "$_faad"
6584 echocheck "LADSPA plugin support"
6585 if test "$_ladspa" = auto ; then
6586 cat > $TMPC <<EOF
6587 #include <stdio.h>
6588 #include <ladspa.h>
6589 int main(void) {
6590 const LADSPA_Descriptor *ld = NULL;
6591 return 0;
6594 _ladspa=no
6595 cc_check && _ladspa=yes
6597 if test "$_ladspa" = yes; then
6598 def_ladspa="#define CONFIG_LADSPA"
6599 else
6600 def_ladspa="#undef CONFIG_LADSPA"
6602 echores "$_ladspa"
6605 echocheck "libbs2b audio filter support"
6606 if test "$_libbs2b" = auto ; then
6607 cat > $TMPC <<EOF
6608 #include <bs2b.h>
6609 #if BS2B_VERSION_MAJOR < 3
6610 #error Please use libbs2b >= 3.0.0, older versions are not supported.
6611 #endif
6612 int main(void) {
6613 t_bs2bdp filter;
6614 filter=bs2b_open();
6615 bs2b_close(filter);
6616 return 0;
6619 _libbs2b=no
6620 if $_pkg_config --exists libbs2b ; then
6621 _inc_tmp=$($_pkg_config --cflags libbs2b)
6622 _ld_tmp=$($_pkg_config --libs libbs2b)
6623 cc_check $_inc_tmp $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" &&
6624 extra_cflags="$extra_cflags $_inc_tmp" && _libbs2b=yes
6625 else
6626 for _inc_tmp in "" -I/usr/include/bs2b -I/usr/local/include \
6627 -I/usr/local/include/bs2b ; do
6628 if cc_check $_inc_tmp $_ld_lm -lbs2b ; then
6629 extra_ldflags="$extra_ldflags -lbs2b"
6630 extra_cflags="$extra_cflags $_inc_tmp"
6631 _libbs2b=yes
6632 break
6634 done
6637 def_libbs2b="#undef CONFIG_LIBBS2B"
6638 test "$_libbs2b" = yes && def_libbs2b="#define CONFIG_LIBBS2B"
6639 echores "$_libbs2b"
6642 if test -z "$_codecsdir" ; then
6643 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
6644 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
6645 if test -d "$dir" ; then
6646 _codecsdir="$dir"
6647 break;
6649 done
6651 # Fall back on default directory.
6652 if test -z "$_codecsdir" ; then
6653 _codecsdir="$_libdir/codecs"
6654 mingw32 && _codecsdir="codecs"
6655 os2 && _codecsdir="codecs"
6659 echocheck "Win32 codecs"
6660 if test "$_win32dll" = auto ; then
6661 _win32dll=no
6662 if x86_32 && ! qnx; then
6663 _win32dll=yes
6666 if test "$_win32dll" = yes ; then
6667 def_win32dll='#define CONFIG_WIN32DLL 1'
6668 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
6669 _res_comment="using $_win32codecsdir"
6670 if ! win32 ; then
6671 def_win32_loader='#define WIN32_LOADER 1'
6672 _win32_emulation=yes
6673 else
6674 extra_ldflags="$extra_ldflags -ladvapi32 -lole32"
6675 _res_comment="using native windows"
6677 _codecmodules="win32 $_codecmodules"
6678 else
6679 def_win32dll='#undef CONFIG_WIN32DLL'
6680 def_win32_loader='#undef WIN32_LOADER'
6681 _nocodecmodules="win32 $_nocodecmodules"
6683 echores "$_win32dll"
6686 echocheck "XAnim codecs"
6687 if test "$_xanim" = auto ; then
6688 _xanim=no
6689 _res_comment="dynamic loader support needed"
6690 if test "$_dl" = yes ; then
6691 _xanim=yes
6694 if test "$_xanim" = yes ; then
6695 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6696 def_xanim='#define CONFIG_XANIM 1'
6697 def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6698 _codecmodules="xanim $_codecmodules"
6699 _res_comment="using $_xanimcodecsdir"
6700 else
6701 def_xanim='#undef CONFIG_XANIM'
6702 def_xanim_path='#undef XACODEC_PATH'
6703 _nocodecmodules="xanim $_nocodecmodules"
6705 echores "$_xanim"
6708 echocheck "RealPlayer codecs"
6709 if test "$_real" = auto ; then
6710 _real=no
6711 _res_comment="dynamic loader support needed"
6712 if test "$_dl" = yes || test "$_win32dll" = yes &&
6713 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32) ; then
6714 _real=yes
6717 if test "$_real" = yes ; then
6718 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6719 def_real='#define CONFIG_REALCODECS 1'
6720 def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6721 _codecmodules="real $_codecmodules"
6722 _res_comment="using $_realcodecsdir"
6723 else
6724 def_real='#undef CONFIG_REALCODECS'
6725 def_real_path="#undef REALCODEC_PATH"
6726 _nocodecmodules="real $_nocodecmodules"
6728 echores "$_real"
6731 echocheck "QuickTime codecs"
6732 _qtx_emulation=no
6733 def_qtx_win32='#undef CONFIG_QTX_CODECS_WIN32'
6734 if test "$_qtx" = auto ; then
6735 test "$_win32dll" = yes || test "$quicktime" = yes && _qtx=yes
6737 if test "$_qtx" = yes ; then
6738 def_qtx='#define CONFIG_QTX_CODECS 1'
6739 win32 && _qtx_codecs_win32=yes && def_qtx_win32='#define CONFIG_QTX_CODECS_WIN32 1'
6740 _codecmodules="qtx $_codecmodules"
6741 darwin || win32 || _qtx_emulation=yes
6742 else
6743 def_qtx='#undef CONFIG_QTX_CODECS'
6744 _nocodecmodules="qtx $_nocodecmodules"
6746 echores "$_qtx"
6748 echocheck "Nemesi Streaming Media libraries"
6749 if test "$_nemesi" = auto && test "$_network" = yes ; then
6750 _nemesi=no
6751 if $_pkg_config libnemesi --atleast-version=0.6.3 ; then
6752 extra_cflags="$extra_cflags $($_pkg_config --cflags libnemesi)"
6753 extra_ldflags="$extra_ldflags $($_pkg_config --libs libnemesi)"
6754 _nemesi=yes
6757 if test "$_nemesi" = yes; then
6758 _native_rtsp=no
6759 def_nemesi='#define CONFIG_LIBNEMESI 1'
6760 _inputmodules="nemesi $_inputmodules"
6761 else
6762 _native_rtsp="$_network"
6763 _nemesi=no
6764 def_nemesi='#undef CONFIG_LIBNEMESI'
6765 _noinputmodules="nemesi $_noinputmodules"
6767 echores "$_nemesi"
6769 echocheck "LIVE555 Streaming Media libraries"
6770 if test "$_live" = auto && test "$_network" = yes ; then
6771 cat > $TMPCPP << EOF
6772 #include <liveMedia.hh>
6773 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6774 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6775 #endif
6776 int main(void) { return 0; }
6779 _live=no
6780 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
6781 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6782 $I/groupsock/include && _livelibdir=$(echo $I| sed s/-I//) && \
6783 extra_ldflags="$_livelibdir/liveMedia/libliveMedia.a \
6784 $_livelibdir/groupsock/libgroupsock.a \
6785 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6786 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6787 $extra_ldflags -lstdc++" \
6788 extra_cxxflags="-I$_livelibdir/liveMedia/include \
6789 -I$_livelibdir/UsageEnvironment/include \
6790 -I$_livelibdir/BasicUsageEnvironment/include \
6791 -I$_livelibdir/groupsock/include" && \
6792 _live=yes && break
6793 done
6794 if test "$_live" != yes ; then
6795 ld_tmp="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6796 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock $ld_tmp; then
6797 _live_dist=yes
6801 if test "$_live" = yes && test "$_network" = yes; then
6802 test $_livelibdir && _res_comment="using $_livelibdir"
6803 def_live='#define CONFIG_LIVE555 1'
6804 _inputmodules="live555 $_inputmodules"
6805 elif test "$_live_dist" = yes && test "$_network" = yes; then
6806 _res_comment="using distribution version"
6807 _live="yes"
6808 def_live='#define CONFIG_LIVE555 1'
6809 extra_ldflags="$extra_ldflags $ld_tmp"
6810 extra_cxxflags="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6811 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6812 _inputmodules="live555 $_inputmodules"
6813 else
6814 _live=no
6815 def_live='#undef CONFIG_LIVE555'
6816 _noinputmodules="live555 $_noinputmodules"
6818 echores "$_live"
6821 echocheck "FFmpeg libavutil"
6822 if test "$_libavutil" = auto ; then
6823 _libavutil=no
6824 cat > $TMPC << EOF
6825 #include <libavutil/common.h>
6826 int main(void) { av_gcd(1,1); return 0; }
6828 if $_pkg_config --exists libavutil ; then
6829 _inc_libavutil=$($_pkg_config --cflags libavutil)
6830 _ld_tmp=$($_pkg_config --libs libavutil)
6831 cc_check $_inc_libavutil $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" extra_cflags="$extra_cflags $_inc_libavutil" \
6832 && _libavutil=yes
6833 elif cc_check -lavutil $_ld_lm ; then
6834 extra_ldflags="$extra_ldflags -lavutil"
6835 _libavutil=yes
6838 def_libavutil='#undef CONFIG_LIBAVUTIL'
6839 test "$_libavutil" = yes && def_libavutil='#define CONFIG_LIBAVUTIL 1'
6840 # libavutil is not available, but it is mandatory ...
6841 if test "$_libavutil" = no ; then
6842 die "You need libavutil, MPlayer will not compile without!"
6844 echores "$_libavutil"
6846 echocheck "FFmpeg libavcodec"
6847 if test "$_libavcodec" = auto ; then
6848 _libavcodec=no
6849 cat > $TMPC << EOF
6850 #include <libavcodec/avcodec.h>
6851 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6853 if $_pkg_config --exists libavcodec ; then
6854 _inc_libavcodec=$($_pkg_config --cflags libavcodec)
6855 _ld_tmp=$($_pkg_config --libs libavcodec)
6856 cc_check $_inc_libavcodec $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_libavcodec" \
6857 && _libavcodec=yes
6858 elif cc_check -lavcodec $_ld_lm ; then
6859 extra_ldflags="$extra_ldflags -lavcodec"
6860 _libavcodec=yes
6863 def_libavcodec='#undef CONFIG_LIBAVCODEC'
6864 test "$_libavcodec" = yes && def_libavcodec='#define CONFIG_LIBAVCODEC 1'
6865 if test "$_libavcodec" = yes ; then
6866 _codecmodules="libavcodec $_codecmodules"
6867 else
6868 _nocodecmodules="libavcodec $_nocodecmodules"
6870 echores "$_libavcodec"
6872 echocheck "FFmpeg libavformat"
6873 if test "$_libavformat" = auto ; then
6874 _libavformat=no
6875 cat > $TMPC <<EOF
6876 #include <libavformat/avformat.h>
6877 #include <libavcodec/opt.h>
6878 int main(void) { av_alloc_format_context(); return 0; }
6880 if $_pkg_config --exists libavformat ; then
6881 _inc_libavformat=$($_pkg_config --cflags libavformat)
6882 _ld_tmp=$($_pkg_config --libs libavformat)
6883 cc_check $_inc_libavformat $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_libavformat" \
6884 && _libavformat=yes
6885 elif cc_check $_ld_lm -lavformat ; then
6886 extra_ldflags="$extra_ldflags -lavformat"
6887 _libavformat=yes
6890 def_libavformat='#undef CONFIG_LIBAVFORMAT'
6891 test "$_libavformat" = yes && def_libavformat='#define CONFIG_LIBAVFORMAT 1'
6892 echores "$_libavformat"
6894 echocheck "FFmpeg libpostproc"
6895 if test "$_libpostproc" = auto ; then
6896 _libpostproc=no
6897 cat > $TMPC << EOF
6898 #include <inttypes.h>
6899 #include <libpostproc/postprocess.h>
6900 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6902 if $_pkg_config --exists libpostproc ; then
6903 _inc_libpostproc=$($_pkg_config --cflags libpostproc)
6904 _ld_tmp=$($_pkg_config --libs libpostproc)
6905 cc_check $_inc_libpostproc $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_libpostproc" \
6906 && _libpostproc=yes
6907 elif cc_check -lpostproc $_ld_lm ; then
6908 extra_ldflags="$extra_ldflags -lpostproc"
6909 _libpostproc=yes
6912 def_libpostproc='#undef CONFIG_LIBPOSTPROC'
6913 test "$_libpostproc" = yes && def_libpostproc='#define CONFIG_LIBPOSTPROC 1'
6914 echores "$_libpostproc"
6916 echocheck "FFmpeg libswscale"
6917 if test "$_libswscale" = auto ; then
6918 _libswscale=no
6919 cat > $TMPC << EOF
6920 #include <libswscale/swscale.h>
6921 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
6923 if $_pkg_config --exists libswscale ; then
6924 _inc_libswscale=$($_pkg_config --cflags libswscale)
6925 _ld_tmp=$($_pkg_config --libs libswscale)
6926 cc_check $_inc_libswscale $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" extra_cflags="$extra_cflags $_inc_libswscale" \
6927 && _libswscale=yes
6928 elif cc_check -lswscale ; then
6929 extra_ldflags="$extra_ldflags -lswscale"
6930 _libswscale=yes
6933 def_libswscale='#undef CONFIG_LIBSWSCALE'
6934 test "$_libswscale" = yes && def_libswscale='#define CONFIG_LIBSWSCALE 1'
6935 echores "$_libswscale"
6937 def_libswscale_internals="#undef CONFIG_LIBSWSCALE_INTERNALS"
6938 if ! test -z "$_ffmpeg_source" ; then
6939 test "$_libswscale" = yes && def_libswscale_internals="#define CONFIG_LIBSWSCALE_INTERNALS 1" && _libswscale_internals=yes
6942 def_libavcodec_internals="#undef CONFIG_LIBAVCODEC_INTERNALS"
6943 if ! test -z "$_ffmpeg_source" ; then
6944 test "$_libavcodec" = yes && def_libavcodec_internals="#define CONFIG_LIBAVCODEC_INTERNALS 1" && _libavcodec_internals=yes
6947 echocheck "libdv-0.9.5+"
6948 if test "$_libdv" = auto ; then
6949 _libdv=no
6950 cat > $TMPC <<EOF
6951 #include <libdv/dv.h>
6952 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6954 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6956 if test "$_libdv" = yes ; then
6957 def_libdv='#define CONFIG_LIBDV095 1'
6958 extra_ldflags="$extra_ldflags -ldv"
6959 _codecmodules="libdv $_codecmodules"
6960 else
6961 def_libdv='#undef CONFIG_LIBDV095'
6962 _nocodecmodules="libdv $_nocodecmodules"
6964 echores "$_libdv"
6967 echocheck "Xvid"
6968 if test "$_xvid" = auto ; then
6969 _xvid=no
6970 cat > $TMPC << EOF
6971 #include <xvid.h>
6972 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6974 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6975 cc_check $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" && _xvid=yes && break
6976 done
6979 if test "$_xvid" = yes ; then
6980 def_xvid='#define CONFIG_XVID4 1'
6981 _codecmodules="xvid $_codecmodules"
6982 else
6983 def_xvid='#undef CONFIG_XVID4'
6984 _nocodecmodules="xvid $_nocodecmodules"
6986 echores "$_xvid"
6988 echocheck "x264"
6989 if test "$_x264" = auto ; then
6990 cat > $TMPC << EOF
6991 #include <inttypes.h>
6992 #include <x264.h>
6993 #if X264_BUILD < 78
6994 #error We do not support old versions of x264. Get the latest from git.
6995 #endif
6996 int main(void) { x264_encoder_open((void*)0); return 0; }
6998 _x264=no
6999 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7000 cc_check $_ld_x264 && libs_mencoder="$libs_mencoder $_ld_x264" && _x264=yes && break
7001 done
7004 if test "$_x264" = yes ; then
7005 def_x264='#define CONFIG_X264 1'
7006 _codecmodules="x264 $_codecmodules"
7007 else
7008 def_x264='#undef CONFIG_X264'
7009 _nocodecmodules="x264 $_nocodecmodules"
7011 echores "$_x264"
7013 echocheck "libnut"
7014 if test "$_libnut" = auto ; then
7015 cat > $TMPC << EOF
7016 #include <stdio.h>
7017 #include <stdlib.h>
7018 #include <inttypes.h>
7019 #include <libnut.h>
7020 nut_context_tt * nut;
7021 int main(void) { (void)nut_error(0); return 0; }
7023 _libnut=no
7024 cc_check -lnut && _libnut=yes
7027 if test "$_libnut" = yes ; then
7028 def_libnut='#define CONFIG_LIBNUT 1'
7029 extra_ldflags="$extra_ldflags -lnut"
7030 else
7031 def_libnut='#undef CONFIG_LIBNUT'
7033 echores "$_libnut"
7035 # These VO checks must be done after libavcodec/libswscale one
7036 echocheck "/dev/mga_vid"
7037 if test "$_mga" = auto ; then
7038 _mga=no
7039 test -c /dev/mga_vid && _mga=yes
7041 if test "$_mga" = yes ; then
7042 if test "$_libswscale_internals" = yes ; then
7043 def_mga='#define CONFIG_MGA 1'
7044 _vomodules="mga $_vomodules"
7045 else
7046 _res_comment="libswscale internal headers are required by mga, sorry"
7047 def_mga='#undef CONFIG_MGA'
7048 _novomodules="mga $_novomodules"
7050 else
7051 def_mga='#undef CONFIG_MGA'
7052 _novomodules="mga $_novomodules"
7054 echores "$_mga"
7057 echocheck "xmga"
7058 if test "$_xmga" = auto ; then
7059 _xmga=no
7060 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
7062 if test "$_xmga" = yes ; then
7063 if test "$_libswscale_internals" = yes ; then
7064 def_xmga='#define CONFIG_XMGA 1'
7065 _vomodules="xmga $_vomodules"
7066 else
7067 _res_comment="libswscale internal headers are required by mga, sorry"
7068 def_xmga='#undef CONFIG_XMGA'
7069 _novomodules="xmga $_novomodules"
7071 else
7072 def_xmga='#undef CONFIG_XMGA'
7073 _novomodules="xmga $_novomodules"
7075 echores "$_xmga"
7077 echocheck "zr"
7078 if test "$_zr" = auto ; then
7079 #36067's seem to identify themselves as 36057PQC's, so the line
7080 #below should work for 36067's and 36057's.
7081 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci ; then
7082 _zr=yes
7083 else
7084 _zr=no
7087 if test "$_zr" = yes ; then
7088 if test "$_libavcodec_internals" = yes ; then
7089 def_zr='#define CONFIG_ZR 1'
7090 _vomodules="zr zr2 $_vomodules"
7091 else
7092 _res_comment="libavcodec internal headers are required by zr, sorry"
7093 _novomodules="zr $_novomodules"
7094 def_zr='#undef CONFIG_ZR'
7096 else
7097 def_zr='#undef CONFIG_ZR'
7098 _novomodules="zr zr2 $_novomodules"
7100 echores "$_zr"
7102 echocheck "glamo"
7103 if test "$_glamo" = yes ; then
7104 def_glamo='#define CONFIG_GLAMO 1'
7105 _vomodules="glamo $_vomodules"
7106 else
7107 def_glamo='#undef CONFIG_GLAMO'
7108 _novomodules="glamo $_novomodules"
7110 echores "$_glamo"
7112 # mencoder requires (optional) those libs: libmp3lame
7113 if test "$_mencoder" != no ; then
7115 echocheck "libmp3lame"
7116 def_mp3lame_preset='#undef CONFIG_MP3LAME_PRESET'
7117 def_mp3lame_preset_medium='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7118 if test "$_mp3lame" = auto ; then
7119 _mp3lame=no
7120 cat > $TMPC <<EOF
7121 #include <lame/lame.h>
7122 int main(void) { lame_version_t lv; (void) lame_init();
7123 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
7124 return 0; }
7126 cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
7128 if test "$_mp3lame" = yes ; then
7129 def_mp3lame="#define CONFIG_MP3LAME"
7130 _ld_mp3lame=-lmp3lame
7131 libs_mencoder="$libs_mencoder $_ld_mp3lame"
7132 cat > $TMPC << EOF
7133 #include <lame/lame.h>
7134 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7136 cc_check $_ld_mp3lame $_ld_lm && def_mp3lame_preset="#define CONFIG_MP3LAME_PRESET"
7137 cat > $TMPC << EOF
7138 #include <lame/lame.h>
7139 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7141 cc_check $_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium="#define CONFIG_MP3LAME_PRESET_MEDIUM"
7142 else
7143 def_mp3lame='#undef CONFIG_MP3LAME'
7145 echores "$_mp3lame"
7147 fi # test "$_mencoder" != no
7149 echocheck "mencoder"
7150 if test "$_mencoder" = yes ; then
7151 def_muxers='#define CONFIG_MUXERS 1'
7152 else
7153 def_muxers='#define CONFIG_MUXERS 0'
7155 echores "$_mencoder"
7158 echocheck "UnRAR executable"
7159 if test "$_unrar_exec" = auto ; then
7160 _unrar_exec="yes"
7161 mingw32 && _unrar_exec="no"
7163 if test "$_unrar_exec" = yes ; then
7164 def_unrar_exec='#define CONFIG_UNRAR_EXEC 1'
7165 else
7166 def_unrar_exec='#undef CONFIG_UNRAR_EXEC'
7168 echores "$_unrar_exec"
7170 echocheck "TV interface"
7171 if test "$_tv" = yes ; then
7172 def_tv='#define CONFIG_TV 1'
7173 _inputmodules="tv $_inputmodules"
7174 else
7175 _noinputmodules="tv $_noinputmodules"
7176 def_tv='#undef CONFIG_TV'
7178 echores "$_tv"
7181 if freebsd || netbsd || openbsd || dragonfly || bsdos ; then
7182 echocheck "*BSD BT848 bt8xx header"
7183 _ioctl_bt848_h=no
7184 for file in "machine/ioctl_bt848.h" \
7185 "dev/bktr/ioctl_bt848.h" \
7186 "dev/video/bktr/ioctl_bt848.h" \
7187 "dev/ic/bt8xx.h" ; do
7188 cat > $TMPC <<EOF
7189 #include <sys/types.h>
7190 #include <sys/ioctl.h>
7191 #include <$file>
7192 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7194 if cc_check ; then
7195 _ioctl_bt848_h=yes
7196 _ioctl_bt848_h_name="$file"
7197 break;
7199 done
7200 if test "$_ioctl_bt848_h" = yes ; then
7201 def_ioctl_bt848_h_name="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7202 _res_comment="using $_ioctl_bt848_h_name"
7203 else
7204 def_ioctl_bt848_h_name="#undef IOCTL_BT848_H_NAME"
7206 echores "$_ioctl_bt848_h"
7208 echocheck "*BSD ioctl_meteor.h"
7209 _ioctl_meteor_h=no
7210 for file in "machine/ioctl_meteor.h" \
7211 "dev/bktr/ioctl_meteor.h" \
7212 "dev/video/bktr/ioctl_meteor.h" ; do
7213 cat > $TMPC <<EOF
7214 #include <sys/types.h>
7215 #include <$file>
7216 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7218 if cc_check ; then
7219 _ioctl_meteor_h=yes
7220 _ioctl_meteor_h_name="$file"
7221 break;
7223 done
7224 if test "$_ioctl_meteor_h" = yes ; then
7225 def_ioctl_meteor_h_name="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7226 _res_comment="using $_ioctl_meteor_h_name"
7227 else
7228 def_ioctl_meteor_h_name="#undef IOCTL_METEOR_H_NAME"
7230 echores "$_ioctl_meteor_h"
7232 echocheck "*BSD BrookTree 848 TV interface"
7233 if test "$_tv_bsdbt848" = auto ; then
7234 _tv_bsdbt848=no
7235 if test "$_tv" = yes ; then
7236 cat > $TMPC <<EOF
7237 #include <sys/types.h>
7238 $def_ioctl_meteor_h_name
7239 $def_ioctl_bt848_h_name
7240 #ifdef IOCTL_METEOR_H_NAME
7241 #include IOCTL_METEOR_H_NAME
7242 #endif
7243 #ifdef IOCTL_BT848_H_NAME
7244 #include IOCTL_BT848_H_NAME
7245 #endif
7246 int main(void) {
7247 ioctl(0, METEORSINPUT, 0);
7248 ioctl(0, TVTUNER_GETFREQ, 0);
7249 return 0;
7252 cc_check && _tv_bsdbt848=yes
7255 if test "$_tv_bsdbt848" = yes ; then
7256 def_tv_bsdbt848='#define CONFIG_TV_BSDBT848 1'
7257 _inputmodules="tv-bsdbt848 $_inputmodules"
7258 else
7259 def_tv_bsdbt848='#undef CONFIG_TV_BSDBT848'
7260 _noinputmodules="tv-bsdbt848 $_noinputmodules"
7262 echores "$_tv_bsdbt848"
7263 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7266 echocheck "DirectShow TV interface"
7267 if test "$_tv_dshow" = auto ; then
7268 _tv_dshow=no
7269 if test "$_tv" = yes && win32 ; then
7270 cat > $TMPC <<EOF
7271 #include <ole2.h>
7272 int main(void) {
7273 void* p;
7274 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7275 return 0;
7278 cc_check -lole32 -luuid && _tv_dshow=yes
7281 if test "$_tv_dshow" = yes ; then
7282 _inputmodules="tv-dshow $_inputmodules"
7283 def_tv_dshow='#define CONFIG_TV_DSHOW 1'
7284 extra_ldflags="$extra_ldflags -lole32 -luuid"
7285 else
7286 _noinputmodules="tv-dshow $_noinputmodules"
7287 def_tv_dshow='#undef CONFIG_TV_DSHOW'
7289 echores "$_tv_dshow"
7292 echocheck "Video 4 Linux TV interface"
7293 if test "$_tv_v4l1" = auto ; then
7294 _tv_v4l1=no
7295 if test "$_tv" = yes && linux ; then
7296 cat > $TMPC <<EOF
7297 #include <stdlib.h>
7298 #include <linux/videodev.h>
7299 int main(void) { return 0; }
7301 cc_check && _tv_v4l1=yes
7304 if test "$_tv_v4l1" = yes ; then
7305 _audio_input=yes
7306 _tv_v4l=yes
7307 def_tv_v4l='#define CONFIG_TV_V4L 1'
7308 def_tv_v4l1='#define CONFIG_TV_V4L1 1'
7309 _inputmodules="tv-v4l $_inputmodules"
7310 else
7311 _noinputmodules="tv-v4l1 $_noinputmodules"
7312 def_tv_v4l='#undef CONFIG_TV_V4L'
7314 echores "$_tv_v4l1"
7317 echocheck "Video 4 Linux 2 TV interface"
7318 if test "$_tv_v4l2" = auto ; then
7319 _tv_v4l2=no
7320 if test "$_tv" = yes && linux ; then
7321 cat > $TMPC <<EOF
7322 #include <stdlib.h>
7323 #include <linux/types.h>
7324 #include <linux/videodev2.h>
7325 int main(void) { return 0; }
7327 cc_check && _tv_v4l2=yes
7330 if test "$_tv_v4l2" = yes ; then
7331 _audio_input=yes
7332 _tv_v4l=yes
7333 def_tv_v4l='#define CONFIG_TV_V4L 1'
7334 def_tv_v4l2='#define CONFIG_TV_V4L2 1'
7335 _inputmodules="tv-v4l2 $_inputmodules"
7336 else
7337 _noinputmodules="tv-v4l2 $_noinputmodules"
7338 def_tv_v4l2='#undef CONFIG_TV_V4L2'
7340 echores "$_tv_v4l2"
7343 echocheck "TV teletext interface"
7344 if test "$_tv_teletext" = auto ; then
7345 _tv_teletext=no
7346 if test "$_freetype" = yes && test "$_pthreads" = yes; then
7347 if test "$_tv_v4l2" = yes || test "$_v4l" = yes || test "$_tv_dshow" = yes; then
7348 _tv_teletext=yes
7352 if test "$_tv_teletext" = yes ; then
7353 def_tv_teletext='#define CONFIG_TV_TELETEXT 1'
7354 _inputmodules="tv-teletext $_inputmodules"
7355 else
7356 _noinputmodules="tv-teletext $_noinputmodules"
7357 def_tv_teletext='#undef CONFIG_TV_TELETEXT'
7359 echores "$_tv_teletext"
7362 echocheck "Radio interface"
7363 if test "$_radio" = yes ; then
7364 def_radio='#define CONFIG_RADIO 1'
7365 _inputmodules="radio $_inputmodules"
7366 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7367 _radio_capture=no
7369 if test "$_radio_capture" = yes ; then
7370 _audio_input=yes
7371 def_radio_capture="#define CONFIG_RADIO_CAPTURE 1"
7372 else
7373 def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7375 else
7376 _noinputmodules="radio $_noinputmodules"
7377 def_radio='#undef CONFIG_RADIO'
7378 def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7379 _radio_capture=no
7381 echores "$_radio"
7382 echocheck "Capture for Radio interface"
7383 echores "$_radio_capture"
7385 echocheck "Video 4 Linux 2 Radio interface"
7386 if test "$_radio_v4l2" = auto ; then
7387 _radio_v4l2=no
7388 if test "$_radio" = yes && linux ; then
7389 cat > $TMPC <<EOF
7390 #include <stdlib.h>
7391 #include <linux/types.h>
7392 #include <linux/videodev2.h>
7393 int main(void) { return 0; }
7395 cc_check && _radio_v4l2=yes
7398 if test "$_radio_v4l2" = yes ; then
7399 def_radio_v4l2='#define CONFIG_RADIO_V4L2 1'
7400 else
7401 def_radio_v4l2='#undef CONFIG_RADIO_V4L2'
7403 echores "$_radio_v4l2"
7405 echocheck "Video 4 Linux Radio interface"
7406 if test "$_radio_v4l" = auto ; then
7407 _radio_v4l=no
7408 if test "$_radio" = yes && linux ; then
7409 cat > $TMPC <<EOF
7410 #include <stdlib.h>
7411 #include <linux/videodev.h>
7412 int main(void) { return 0; }
7414 cc_check && _radio_v4l=yes
7417 if test "$_radio_v4l" = yes ; then
7418 def_radio_v4l='#define CONFIG_RADIO_V4L 1'
7419 else
7420 def_radio_v4l='#undef CONFIG_RADIO_V4L'
7422 echores "$_radio_v4l"
7424 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7425 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
7426 echocheck "*BSD BrookTree 848 Radio interface"
7427 _radio_bsdbt848=no
7428 cat > $TMPC <<EOF
7429 #include <sys/types.h>
7430 $def_ioctl_bt848_h_name
7431 #ifdef IOCTL_BT848_H_NAME
7432 #include IOCTL_BT848_H_NAME
7433 #endif
7434 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7436 cc_check && _radio_bsdbt848=yes
7437 echores "$_radio_bsdbt848"
7438 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7440 if test "$_radio_bsdbt848" = yes ; then
7441 def_radio_bsdbt848='#define CONFIG_RADIO_BSDBT848 1'
7442 else
7443 def_radio_bsdbt848='#undef CONFIG_RADIO_BSDBT848'
7446 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
7447 test "$_radio_bsdbt848" = no && test "$_radio" = yes ; then
7448 die "Radio driver requires BSD BT848, V4L or V4L2!"
7451 echocheck "Video 4 Linux 2 MPEG PVR interface"
7452 if test "$_pvr" = auto ; then
7453 _pvr=no
7454 if test "$_tv_v4l2" = yes && linux ; then
7455 cat > $TMPC <<EOF
7456 #include <stdlib.h>
7457 #include <inttypes.h>
7458 #include <linux/types.h>
7459 #include <linux/videodev2.h>
7460 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
7462 cc_check && _pvr=yes
7465 if test "$_pvr" = yes ; then
7466 def_pvr='#define CONFIG_PVR 1'
7467 _inputmodules="pvr $_inputmodules"
7468 else
7469 _noinputmodules="pvr $_noinputmodules"
7470 def_pvr='#undef CONFIG_PVR'
7472 echores "$_pvr"
7475 echocheck "ftp"
7476 if ! beos && test "$_ftp" = yes ; then
7477 def_ftp='#define CONFIG_FTP 1'
7478 _inputmodules="ftp $_inputmodules"
7479 else
7480 _noinputmodules="ftp $_noinputmodules"
7481 def_ftp='#undef CONFIG_FTP'
7483 echores "$_ftp"
7485 echocheck "vstream client"
7486 if test "$_vstream" = auto ; then
7487 _vstream=no
7488 cat > $TMPC <<EOF
7489 #include <vstream-client.h>
7490 void vstream_error(const char *format, ... ) {}
7491 int main(void) { vstream_start(); return 0; }
7493 cc_check -lvstream-client && _vstream=yes
7495 if test "$_vstream" = yes ; then
7496 def_vstream='#define CONFIG_VSTREAM 1'
7497 _inputmodules="vstream $_inputmodules"
7498 extra_ldflags="$extra_ldflags -lvstream-client"
7499 else
7500 _noinputmodules="vstream $_noinputmodules"
7501 def_vstream='#undef CONFIG_VSTREAM'
7503 echores "$_vstream"
7506 echocheck "OSD menu"
7507 if test "$_menu" = yes ; then
7508 def_menu='#define CONFIG_MENU 1'
7509 test $_dvbin = "yes" && _menu_dvbin=yes
7510 else
7511 def_menu='#undef CONFIG_MENU'
7512 _menu_dvbin=no
7514 echores "$_menu"
7517 echocheck "Subtitles sorting"
7518 if test "$_sortsub" = yes ; then
7519 def_sortsub='#define CONFIG_SORTSUB 1'
7520 else
7521 def_sortsub='#undef CONFIG_SORTSUB'
7523 echores "$_sortsub"
7526 echocheck "XMMS inputplugin support"
7527 if test "$_xmms" = yes ; then
7528 if ( xmms-config --version ) >/dev/null 2>&1 ; then
7529 _xmmsplugindir=$(xmms-config --input-plugin-dir)
7530 _xmmslibdir=$(xmms-config --exec-prefix)/lib
7531 else
7532 _xmmsplugindir=/usr/lib/xmms/Input
7533 _xmmslibdir=/usr/lib
7536 def_xmms='#define CONFIG_XMMS 1'
7537 if darwin ; then
7538 extra_ldflags="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
7539 else
7540 extra_ldflags="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7542 else
7543 def_xmms='#undef CONFIG_XMMS'
7545 echores "$_xmms"
7547 if test "$_charset" != "noconv" ; then
7548 def_charset="#define MSG_CHARSET \"$_charset\""
7549 else
7550 def_charset="#undef MSG_CHARSET"
7551 _charset="UTF-8"
7554 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
7555 echocheck "iconv program"
7556 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7557 if test "$?" -ne 0 ; then
7558 echores "no"
7559 echo "No working iconv program found, use "
7560 echo "--charset=UTF-8 to continue anyway."
7561 echo "If you also have problems with iconv library functions use --charset=noconv."
7562 exit 1
7563 else
7564 echores "yes"
7568 #############################################################################
7570 echocheck "automatic gdb attach"
7571 if test "$_crash_debug" = yes ; then
7572 def_crash_debug='#define CONFIG_CRASH_DEBUG 1'
7573 else
7574 def_crash_debug='#undef CONFIG_CRASH_DEBUG'
7575 _crash_debug=no
7577 echores "$_crash_debug"
7579 echocheck "compiler support for noexecstack"
7580 cat > $TMPC <<EOF
7581 int main(void) { return 0; }
7583 if cc_check -Wl,-z,noexecstack ; then
7584 extra_ldflags="-Wl,-z,noexecstack $extra_ldflags"
7585 echores "yes"
7586 else
7587 echores "no"
7591 # Dynamic linking flags
7592 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7593 _ld_dl_dynamic=''
7594 freebsd || netbsd || openbsd || dragonfly || bsdos && _ld_dl_dynamic='-rdynamic'
7595 if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin && ! os2 && ! sunos; then
7596 _ld_dl_dynamic='-rdynamic'
7599 extra_ldflags="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7600 bsdos && extra_ldflags="$extra_ldflags -ldvd"
7601 (netbsd || openbsd) && x86_32 && extra_ldflags="$extra_ldflags -li386"
7603 def_debug='#undef MP_DEBUG'
7604 test "$_debug" != "" && def_debug='#define MP_DEBUG 1'
7607 echocheck "joystick"
7608 def_joystick='#undef CONFIG_JOYSTICK'
7609 if test "$_joystick" = yes ; then
7610 if linux ; then
7611 # TODO add some check
7612 def_joystick='#define CONFIG_JOYSTICK 1'
7613 else
7614 _joystick="no"
7615 _res_comment="unsupported under $system_name"
7618 echores "$_joystick"
7620 echocheck "lirc"
7621 if test "$_lirc" = auto ; then
7622 _lirc=no
7623 cat > $TMPC <<EOF
7624 #include <lirc/lirc_client.h>
7625 int main(void) { return 0; }
7627 cc_check -llirc_client && _lirc=yes
7629 if test "$_lirc" = yes ; then
7630 def_lirc='#define CONFIG_LIRC 1'
7631 libs_mplayer="$libs_mplayer -llirc_client"
7632 else
7633 def_lirc='#undef CONFIG_LIRC'
7635 echores "$_lirc"
7637 echocheck "lircc"
7638 if test "$_lircc" = auto ; then
7639 _lircc=no
7640 cat > $TMPC <<EOF
7641 #include <lirc/lircc.h>
7642 int main(void) { return 0; }
7644 cc_check -llircc && _lircc=yes
7646 if test "$_lircc" = yes ; then
7647 def_lircc='#define CONFIG_LIRCC 1'
7648 libs_mplayer="$libs_mplayer -llircc"
7649 else
7650 def_lircc='#undef CONFIG_LIRCC'
7652 echores "$_lircc"
7654 if arm; then
7655 # Detect maemo development platform libraries availability (http://www.maemo.org),
7656 # they are used when run on Nokia 770|8x0
7657 echocheck "maemo (Nokia 770|8x0)"
7658 if test "$_maemo" = auto ; then
7659 _maemo=no
7660 cat > $TMPC << EOF
7661 #include <libosso.h>
7662 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7664 cc_check $($_pkg_config --cflags --libs libosso 2>/dev/null) && _maemo=yes
7666 if test "$_maemo" = yes ; then
7667 def_maemo='#define CONFIG_MAEMO 1'
7668 extra_cflags="$extra_cflags $($_pkg_config --cflags libosso)"
7669 extra_ldflags="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
7670 else
7671 def_maemo='#undef CONFIG_MAEMO'
7673 echores "$_maemo"
7676 #############################################################################
7678 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7679 # the OMF format needs to come after the 'extern symbol prefix' check, which
7680 # uses nm.
7681 if os2 ; then
7682 extra_ldflags="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7685 # linker paths should be the same for mencoder and mplayer
7686 _ld_tmp=""
7687 for I in $libs_mplayer ; do
7688 _tmp=$(echo $I | sed -e 's/^-L.*$//')
7689 if test -z "$_tmp" ; then
7690 extra_ldflags="$extra_ldflags $I"
7691 else
7692 _ld_tmp="$_ld_tmp $I"
7694 done
7695 libs_mplayer=$_ld_tmp
7698 #############################################################################
7699 # 64 bit file offsets?
7700 if test "$_largefiles" = yes || freebsd ; then
7701 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7702 if test "$_dvdread" = yes || test "$_libdvdcss_internal" = yes ; then
7703 # dvdread support requires this (for off64_t)
7704 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7708 CXXFLAGS=" $CFLAGS -Iffmpeg -D__STDC_LIMIT_MACROS"
7710 # This must be the last test to be performed. Any other tests following it
7711 # could fail due to linker errors. libdvdnavmini is intentionally not linked
7712 # against libdvdread (to permit MPlayer to use its own copy of the library).
7713 # So any compilation using the flags added here but not linking against
7714 # libdvdread can fail.
7715 echocheck "DVD support (libdvdnav)"
7716 if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
7717 _dvdnav=no
7719 dvdnav_internal=no
7720 if test "$_dvdnav" = auto ; then
7721 if test "$_dvdread_internal" = yes ; then
7722 _dvdnav=yes
7723 dvdnav_internal=yes
7724 _res_comment="internal"
7725 else
7726 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
7729 if test "$_dvdnav" = auto ; then
7730 cat > $TMPC <<EOF
7731 #include <inttypes.h>
7732 #include <dvdnav/dvdnav.h>
7733 int main(void) { dvdnav_t *dvd=0; return 0; }
7735 _dvdnav=no
7736 _dvdnavdir=$($_dvdnavconfig --cflags)
7737 _dvdnavlibs=$($_dvdnavconfig --libs)
7738 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
7740 if test "$_dvdnav" = yes ; then
7741 _largefiles=yes
7742 def_dvdnav='#define CONFIG_DVDNAV 1'
7743 if test "$dvdnav_internal" = yes ; then
7744 cflags_libdvdnav="-Ilibdvdnav"
7745 _inputmodules="dvdnav(internal) $_inputmodules"
7746 else
7747 extra_cflags="$extra_cflags $($_dvdnavconfig --cflags)"
7748 extra_ldflags="$extra_ldflags $($_dvdnavconfig --minilibs)"
7749 _inputmodules="dvdnav $_inputmodules"
7751 else
7752 def_dvdnav='#undef CONFIG_DVDNAV'
7753 _noinputmodules="dvdnav $_noinputmodules"
7755 echores "$_dvdnav"
7757 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
7758 # Read dvdnav comment above.
7760 #############################################################################
7761 echo "Creating config.mak"
7762 cat > config.mak << EOF
7763 # -------- Generated by configure -----------
7765 # Ensure that locale settings do not interfere with shell commands.
7766 export LC_ALL = C
7768 CONFIGURATION = $_configuration
7770 CHARSET = $_charset
7771 DOC_LANGS = $language_doc
7772 DOC_LANG_ALL = $doc_lang_all
7773 MAN_LANGS = $language_man
7774 MAN_LANG_ALL = $man_lang_all
7776 prefix = \$(DESTDIR)$_prefix
7777 BINDIR = \$(DESTDIR)$_bindir
7778 DATADIR = \$(DESTDIR)$_datadir
7779 LIBDIR = \$(DESTDIR)$_libdir
7780 MANDIR = \$(DESTDIR)$_mandir
7781 CONFDIR = \$(DESTDIR)$_confdir
7783 AR = $_ar
7784 AS = $_cc
7785 CC = $_cc
7786 CXX = $_cc
7787 HOST_CC = $_host_cc
7788 YASM = $_yasm
7789 INSTALL = $_install
7790 INSTALLSTRIP = $_install_strip
7791 RANLIB = $_ranlib
7792 WINDRES = $_windres
7794 CFLAGS = $CFLAGS $extra_cflags
7795 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
7796 CFLAGS_DHAHELPER = $cflags_dhahelper
7797 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
7798 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
7799 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
7800 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
7801 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
7802 CFLAGS_STACKREALIGN = $cflags_stackrealign
7803 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
7804 CFLAGS_TREMOR_LOW = $cflags_tremor_low
7805 YASMFLAGS = $YASMFLAGS
7807 EXTRALIBS = $extra_libs
7808 EXTRA_LIB = $extra_ldflags $_ld_static $_ld_lm
7809 EXTRALIBS_MPLAYER = $libs_mplayer
7810 EXTRALIBS_MENCODER = $libs_mencoder
7812 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 &,"
7813 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 &,"
7815 GETCH = $_getch
7816 HELP_FILE = $_mp_help
7817 TIMER = $_timer
7819 EXESUF = $_exesuf
7820 EXESUFS_ALL = .exe
7822 $_target_arch
7823 $_target_subarch
7824 $(echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/')
7826 MENCODER = $_mencoder
7827 MPLAYER = $_mplayer
7829 NEED_GETTIMEOFDAY = $_need_gettimeofday
7830 NEED_GLOB = $_need_glob
7831 NEED_MMAP = $_need_mmap
7832 NEED_SETENV = $_need_setenv
7833 NEED_SHMEM = $_need_shmem
7834 NEED_STRSEP = $_need_strsep
7835 NEED_SWAB = $_need_swab
7836 NEED_VSSCANF = $_need_vsscanf
7838 # features
7839 3DFX = $_3dfx
7840 AA = $_aa
7841 ALSA1X = $_alsa1x
7842 ALSA9 = $_alsa9
7843 ALSA5 = $_alsa5
7844 APPLE_IR = $_apple_ir
7845 APPLE_REMOTE = $_apple_remote
7846 ARTS = $_arts
7847 AUDIO_INPUT = $_audio_input
7848 BITMAP_FONT = $_bitmap_font
7849 BL = $_bl
7850 CACA = $_caca
7851 CDDA = $_cdda
7852 CDDB = $_cddb
7853 COREAUDIO = $_coreaudio
7854 COREVIDEO = $_corevideo
7855 DART = $_dart
7856 DFBMGA = $_dfbmga
7857 DGA = $_dga
7858 DIRECT3D = $_direct3d
7859 DIRECTFB = $_directfb
7860 DIRECTX = $_directx
7861 DVBIN = $_dvbin
7862 DVDNAV = $_dvdnav
7863 DVDNAV_INTERNAL = $dvdnav_internal
7864 DVDREAD = $_dvdread
7865 DVDREAD_INTERNAL = $_dvdread_internal
7866 DXR2 = $_dxr2
7867 DXR3 = $_dxr3
7868 ESD = $_esd
7869 FAAC=$_faac
7870 FAAD = $_faad
7871 FAAD_INTERNAL = $_faad_internal
7872 FASTMEMCPY = $_fastmemcpy
7873 FBDEV = $_fbdev
7874 GLAMO = $_glamo
7875 FREETYPE = $_freetype
7876 FTP = $_ftp
7877 GIF = $_gif
7878 GGI = $_ggi
7879 GL = $_gl
7880 GL_WIN32 = $_gl_win32
7881 HAVE_POSIX_SELECT = $_posix_select
7882 HAVE_SYS_MMAN_H = $_mman
7883 IVTV = $_ivtv
7884 JACK = $_jack
7885 JOYSTICK = $_joystick
7886 JPEG = $_jpeg
7887 KVA = $_kva
7888 LADSPA = $_ladspa
7889 LIBA52 = $_liba52
7890 LIBA52_INTERNAL = $_liba52_internal
7891 LIBASS = $_ass
7892 LIBBS2B = $_libbs2b
7893 LIBDCA = $_libdca
7894 LIBDV = $_libdv
7895 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7896 LIBLZO = $_liblzo
7897 LIBMAD = $_mad
7898 LIBMENU = $_menu
7899 LIBMENU_DVBIN = $_menu_dvbin
7900 LIBMPEG2 = $_libmpeg2
7901 LIBNEMESI = $_nemesi
7902 LIBNUT = $_libnut
7903 LIBSMBCLIENT = $_smb
7904 LIBTHEORA = $_theora
7905 LIRC = $_lirc
7906 LIVE555 = $_live
7907 MACOSX_BUNDLE = $_macosx_bundle
7908 MACOSX_FINDER = $_macosx_finder
7909 MD5SUM = $_md5sum
7910 MGA = $_mga
7911 MNG = $_mng
7912 MP3LAME = $_mp3lame
7913 MP3LIB = $_mp3lib
7914 MUSEPACK = $_musepack
7915 NAS = $_nas
7916 NATIVE_RTSP = $_native_rtsp
7917 NETWORK = $_network
7918 OPENAL = $_openal
7919 OSS = $_ossaudio
7920 PE_EXECUTABLE = $_pe_executable
7921 PNG = $_png
7922 PNM = $_pnm
7923 PRIORITY = $_priority
7924 PULSE = $_pulse
7925 PVR = $_pvr
7926 QTX_CODECS = $_qtx
7927 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7928 QTX_EMULATION = $_qtx_emulation
7929 QUARTZ = $_quartz
7930 RADIO=$_radio
7931 RADIO_CAPTURE=$_radio_capture
7932 REAL_CODECS = $_real
7933 S3FB = $_s3fb
7934 SDL = $_sdl
7935 SPEEX = $_speex
7936 STREAM_CACHE = $_stream_cache
7937 SGIAUDIO = $_sgiaudio
7938 SUNAUDIO = $_sunaudio
7939 SVGA = $_svga
7940 TDFXFB = $_tdfxfb
7941 TDFXVID = $_tdfxvid
7942 TGA = $_tga
7943 TOOLAME=$_toolame
7944 TREMOR_INTERNAL = $_tremor_internal
7945 TV = $_tv
7946 TV_BSDBT848 = $_tv_bsdbt848
7947 TV_DSHOW = $_tv_dshow
7948 TV_TELETEXT = $_tv_teletext
7949 TV_V4L = $_tv_v4l
7950 TV_V4L1 = $_tv_v4l1
7951 TV_V4L2 = $_tv_v4l2
7952 TWOLAME=$_twolame
7953 UNRAR_EXEC = $_unrar_exec
7954 V4L2 = $_v4l2
7955 VCD = $_vcd
7956 VDPAU = $_vdpau
7957 VESA = $_vesa
7958 VIDIX = $_vidix
7959 VIDIX_PCIDB = $_vidix_pcidb_val
7960 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7961 VIDIX_IVTV=$_vidix_drv_ivtv
7962 VIDIX_MACH64=$_vidix_drv_mach64
7963 VIDIX_MGA=$_vidix_drv_mga
7964 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7965 VIDIX_NVIDIA=$_vidix_drv_nvidia
7966 VIDIX_PM2=$_vidix_drv_pm2
7967 VIDIX_PM3=$_vidix_drv_pm3
7968 VIDIX_RADEON=$_vidix_drv_radeon
7969 VIDIX_RAGE128=$_vidix_drv_rage128
7970 VIDIX_S3=$_vidix_drv_s3
7971 VIDIX_SH_VEU=$_vidix_drv_sh_veu
7972 VIDIX_SIS=$_vidix_drv_sis
7973 VIDIX_UNICHROME=$_vidix_drv_unichrome
7974 VORBIS = $_vorbis
7975 VSTREAM = $_vstream
7976 WII = $_wii
7977 WIN32DLL = $_win32dll
7978 WIN32WAVEOUT = $_win32waveout
7979 WIN32_EMULATION = $_win32_emulation
7980 WINVIDIX = $winvidix
7981 X11 = $_x11
7982 X264 = $_x264
7983 XANIM_CODECS = $_xanim
7984 XMGA = $_xmga
7985 XMMS_PLUGINS = $_xmms
7986 XV = $_xv
7987 XVID4 = $_xvid
7988 XVIDIX = $xvidix
7989 XVMC = $_xvmc
7990 XVR100 = $_xvr100
7991 YUV4MPEG = $_yuv4mpeg
7992 ZR = $_zr
7994 # FFmpeg
7995 LIBAVUTIL = $_libavutil
7996 LIBAVCODEC = $_libavcodec
7997 LIBAVFORMAT = $_libavformat
7998 LIBPOSTPROC = $_libpostproc
7999 LIBSWSCALE = $_libswscale
8000 LIBAVCODEC_INTERNALS = $_libavcodec_internals
8001 LIBSWSCALE_INTERNALS = $_libswscale_internals
8002 FFMPEG_SOURCE_PATH = $_ffmpeg_source
8004 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8005 CONFIG_AANDCT=yes
8006 CONFIG_FFT=yes
8007 CONFIG_FFT_MMX=$fft_mmx
8008 CONFIG_GOLOMB=yes
8009 CONFIG_MDCT=yes
8010 CONFIG_RDFT=yes
8012 CONFIG_BZLIB=$bzlib
8013 CONFIG_ENCODERS=yes
8014 CONFIG_GPL=yes
8015 CONFIG_MLIB = $_mlib
8016 CONFIG_MUXERS=$_mencoder
8017 CONFIG_VDPAU=$_vdpau
8018 CONFIG_XVMC=$_xvmc
8019 CONFIG_ZLIB=$_zlib
8021 HAVE_PTHREADS = $_pthreads
8022 HAVE_SHM = $_shm
8023 HAVE_W32THREADS = $_w32threads
8024 HAVE_YASM = $_have_yasm
8028 #############################################################################
8030 ff_config_enable () {
8031 _nprefix=$3;
8032 test -z "$_nprefix" && _nprefix='CONFIG'
8033 for part in $1; do
8034 if $(echo $2 | grep -q -E "(^| )$part($| )"); then
8035 echo "#define ${_nprefix}_$part 1"
8036 else
8037 echo "#define ${_nprefix}_$part 0"
8039 done
8042 echo "Creating config.h"
8043 cat > $TMPH << EOF
8044 /*----------------------------------------------------------------------------
8045 ** This file has been automatically generated by configure any changes in it
8046 ** will be lost when you run configure again.
8047 ** Instead of modifying definitions here, use the --enable/--disable options
8048 ** of the configure script! See ./configure --help for details.
8049 *---------------------------------------------------------------------------*/
8051 #ifndef MPLAYER_CONFIG_H
8052 #define MPLAYER_CONFIG_H
8054 /* Undefine this if you do not want to select mono audio (left or right)
8055 with a stereo MPEG layer 2/3 audio stream. The command line option
8056 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8057 right-only), with 0 being the default.
8059 #define CONFIG_FAKE_MONO 1
8061 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8062 #define MAX_OUTBURST 65536
8064 /* set up audio OUTBURST. Do not change this! */
8065 #define OUTBURST 512
8067 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8068 #undef FAST_OSD
8069 #undef FAST_OSD_TABLE
8071 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8072 #define MPEG12_POSTPROC 1
8073 #define ATTRIBUTE_ALIGNED_MAX 16
8077 #define CONFIGURATION "$_configuration"
8079 #define MPLAYER_DATADIR "$_datadir"
8080 #define MPLAYER_CONFDIR "$_confdir"
8081 #define MPLAYER_LIBDIR "$_libdir"
8083 /* definitions needed by included libraries */
8084 #define HAVE_INTTYPES_H 1
8085 /* libmpeg2 + FFmpeg */
8086 $def_fast_inttypes
8087 /* libdvdcss */
8088 #define HAVE_ERRNO_H 1
8089 /* libdvdcss + libdvdread */
8090 #define HAVE_LIMITS_H 1
8091 /* libdvdcss + libfaad2 */
8092 #define HAVE_UNISTD_H 1
8093 /* libfaad2 + libdvdread */
8094 #define STDC_HEADERS 1
8095 #define HAVE_MEMCPY 1
8096 /* libfaad2 */
8097 #define HAVE_STRING_H 1
8098 #define HAVE_STRINGS_H 1
8099 #define HAVE_SYS_STAT_H 1
8100 #define HAVE_SYS_TYPES_H 1
8101 /* libdvdnav */
8102 #define READ_CACHE_TRACE 0
8103 /* libdvdread */
8104 #define HAVE_DLFCN_H 1
8105 $def_dvdcss
8108 /* system headers */
8109 $def_alloca_h
8110 $def_alsa_asoundlib_h
8111 $def_altivec_h
8112 $def_malloc_h
8113 $def_mman_h
8114 $def_mman_has_map_failed
8115 $def_soundcard_h
8116 $def_sys_asoundlib_h
8117 $def_sys_soundcard_h
8118 $def_sys_sysinfo_h
8119 $def_termios_h
8120 $def_termios_sys_h
8121 $def_winsock2_h
8124 /* system functions */
8125 $def_gethostbyname2
8126 $def_gettimeofday
8127 $def_glob
8128 $def_langinfo
8129 $def_llrint
8130 $def_log2
8131 $def_lrint
8132 $def_lrintf
8133 $def_map_memalign
8134 $def_memalign
8135 $def_nanosleep
8136 $def_posix_select
8137 $def_round
8138 $def_roundf
8139 $def_select
8140 $def_setenv
8141 $def_shm
8142 $def_strsep
8143 $def_swab
8144 $def_sysi86
8145 $def_sysi86_iv
8146 $def_termcap
8147 $def_termios
8148 $def_truncf
8149 $def_vsscanf
8152 /* system-specific features */
8153 $def_asmalign_pot
8154 $def_builtin_expect
8155 $def_dl
8156 $def_extern_asm
8157 $def_extern_prefix
8158 $def_iconv
8159 $def_kstat
8160 $def_macosx_bundle
8161 $def_macosx_finder
8162 $def_maemo
8163 $def_named_asm_args
8164 $def_priority
8165 $def_quicktime
8166 $def_restrict_keyword
8167 $def_rtc
8168 $def_unrar_exec
8171 /* configurable options */
8172 $def_charset
8173 $def_crash_debug
8174 $def_debug
8175 $def_dynamic_plugins
8176 $def_fastmemcpy
8177 $def_menu
8178 $def_runtime_cpudetection
8179 $def_sighandler
8180 $def_sortsub
8181 $def_stream_cache
8182 $def_pthread_cache
8185 /* CPU stuff */
8186 #define __CPU__ $iproc
8187 $def_words_endian
8188 $def_bigendian
8189 $(ff_config_enable "$_arch_all" "$_arch" "ARCH")
8190 $(ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE")
8193 /* DVD/VCD/CD */
8194 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8195 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8196 $def_bsdi_dvd
8197 $def_cddb
8198 $def_cdio
8199 $def_cdparanoia
8200 $def_cdrom
8201 $def_dvd
8202 $def_dvd_bsd
8203 $def_dvd_darwin
8204 $def_dvd_linux
8205 $def_dvd_openbsd
8206 $def_dvdio
8207 $def_dvdnav
8208 $def_dvdread
8209 $def_hpux_scsi_h
8210 $def_libcdio
8211 $def_sol_scsi_h
8212 $def_vcd
8215 /* codec libraries */
8216 $def_faac
8217 $def_faad
8218 $def_faad_internal
8219 $def_liba52
8220 $def_liba52_internal
8221 $def_libdca
8222 $def_libdv
8223 $def_liblzo
8224 $def_libmpeg2
8225 $def_mad
8226 $def_mp3lame
8227 $def_mp3lame_preset
8228 $def_mp3lame_preset_medium
8229 $def_mp3lib
8230 $def_musepack
8231 $def_speex
8232 $def_theora
8233 $def_toolame
8234 $def_tremor
8235 $def_twolame
8236 $def_vorbis
8237 $def_x264
8238 $def_xvid
8239 $def_zlib
8241 $def_libnut
8244 /* binary codecs */
8245 $def_qtx
8246 $def_qtx_win32
8247 $def_real
8248 $def_real_path
8249 $def_win32_loader
8250 $def_win32dll
8251 #define WIN32_PATH "$_win32codecsdir"
8252 $def_xanim
8253 $def_xanim_path
8254 $def_xmms
8255 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8258 /* Audio output drivers */
8259 $def_alsa
8260 $def_alsa1x
8261 $def_alsa5
8262 $def_alsa9
8263 $def_arts
8264 $def_coreaudio
8265 $def_dart
8266 $def_esd
8267 $def_esd_latency
8268 $def_jack
8269 $def_nas
8270 $def_openal
8271 $def_openal_h
8272 $def_ossaudio
8273 $def_ossaudio_devdsp
8274 $def_ossaudio_devmixer
8275 $def_pulse
8276 $def_sgiaudio
8277 $def_sunaudio
8278 $def_win32waveout
8280 $def_ladspa
8281 $def_libbs2b
8284 /* input */
8285 $def_apple_ir
8286 $def_apple_remote
8287 $def_ioctl_bt848_h_name
8288 $def_ioctl_meteor_h_name
8289 $def_joystick
8290 $def_lirc
8291 $def_lircc
8292 $def_pvr
8293 $def_radio
8294 $def_radio_bsdbt848
8295 $def_radio_capture
8296 $def_radio_v4l
8297 $def_radio_v4l2
8298 $def_tv
8299 $def_tv_bsdbt848
8300 $def_tv_dshow
8301 $def_tv_teletext
8302 $def_tv_v4l
8303 $def_tv_v4l1
8304 $def_tv_v4l2
8307 /* font stuff */
8308 $def_ass
8309 $def_bitmap_font
8310 $def_enca
8311 $def_fontconfig
8312 $def_freetype
8313 $def_fribidi
8316 /* networking */
8317 $def_closesocket
8318 $def_ftp
8319 $def_inet6
8320 $def_inet_aton
8321 $def_inet_pton
8322 $def_live
8323 $def_nemesi
8324 $def_network
8325 $def_smb
8326 $def_socklen_t
8327 $def_vstream
8330 /* libvo options */
8331 $def_3dfx
8332 $def_aa
8333 $def_bl
8334 $def_caca
8335 $def_corevideo
8336 $def_dfbmga
8337 $def_dga
8338 $def_dga1
8339 $def_dga2
8340 $def_direct3d
8341 $def_directfb
8342 $def_directfb_version
8343 $def_directx
8344 $def_dvb
8345 $def_dvb_head
8346 $def_dvbin
8347 $def_dxr2
8348 $def_dxr3
8349 $def_fbdev
8350 $def_ggi
8351 $def_ggiwmh
8352 $def_gif
8353 $def_gif_4
8354 $def_gif_tvt_hack
8355 $def_gl
8356 $def_gl_win32
8357 $def_glamo
8358 $def_ivtv
8359 $def_jpeg
8360 $def_kva
8361 $def_md5sum
8362 $def_mga
8363 $def_mng
8364 $def_png
8365 $def_pnm
8366 $def_quartz
8367 $def_s3fb
8368 $def_sdl
8369 $def_sdlbuggy
8370 $def_svga
8371 $def_tdfxfb
8372 $def_tdfxvid
8373 $def_tga
8374 $def_v4l2
8375 $def_vdpau
8376 $def_vesa
8377 $def_vidix
8378 $def_vidix_drv_cyberblade
8379 $def_vidix_drv_ivtv
8380 $def_vidix_drv_mach64
8381 $def_vidix_drv_mga
8382 $def_vidix_drv_mga_crtc2
8383 $def_vidix_drv_nvidia
8384 $def_vidix_drv_pm3
8385 $def_vidix_drv_radeon
8386 $def_vidix_drv_rage128
8387 $def_vidix_drv_s3
8388 $def_vidix_drv_sh_veu
8389 $def_vidix_drv_sis
8390 $def_vidix_drv_unichrome
8391 $def_vidix_pfx
8392 $def_vm
8393 $def_wii
8394 $def_x11
8395 $def_xdpms
8396 $def_xf86keysym
8397 $def_xinerama
8398 $def_xmga
8399 $def_xss
8400 $def_xv
8401 $def_xvmc
8402 $def_xvr100
8403 $def_yuv4mpeg
8404 $def_zr
8407 /* FFmpeg */
8408 $def_libavcodec
8409 $def_libavformat
8410 $def_libavutil
8411 $def_libpostproc
8412 $def_libswscale
8413 $def_libavcodec_internals
8414 $def_libswscale_internals
8416 #define CONFIG_DECODERS 1
8417 #define CONFIG_ENCODERS 1
8418 #define CONFIG_DEMUXERS 1
8419 $def_muxers
8421 $def_arpa_inet_h
8422 $def_bswap
8423 $def_bzlib
8424 $def_dcbzl
8425 $def_dos_paths
8426 $def_fast_64bit
8427 $def_fast_unaligned
8428 $def_memalign_hack
8429 $def_mlib
8430 $def_mkstemp
8431 $def_posix_memalign
8432 $def_pthreads
8433 $def_ten_operands
8434 $def_threads
8435 $def_xform_asm
8436 $def_yasm
8438 #define CONFIG_FASTDIV 0
8439 #define CONFIG_FFSERVER 0
8440 #define CONFIG_GPL 1
8441 #define CONFIG_GRAY 0
8442 #define CONFIG_HARDCODED_TABLES 0
8443 #define CONFIG_LIBVORBIS 0
8444 #define CONFIG_POWERPC_PERF 0
8445 #define CONFIG_SMALL 0
8446 #define CONFIG_SWSCALE 1
8447 #define CONFIG_SWSCALE_ALPHA 1
8449 #define HAVE_ATTRIBUTE_PACKED 1
8450 #define HAVE_GETHRTIME 0
8451 #define HAVE_INLINE_ASM 0
8452 #define HAVE_LDBRX 0
8453 #define HAVE_POLL_H 1
8454 #define HAVE_PPC4XX 0
8455 #define HAVE_VIRTUALALLOC 0
8457 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
8458 #define CONFIG_AANDCT 1
8459 #define CONFIG_FFT 1
8460 #define CONFIG_GOLOMB 1
8461 #define CONFIG_MDCT 1
8462 #define CONFIG_RDFT 1
8464 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8465 $def_ebx_available
8466 #ifndef MP_DEBUG
8467 #define HAVE_EBP_AVAILABLE 1
8468 #else
8469 #define HAVE_EBP_AVAILABLE 0
8470 #endif
8472 #define CONFIG_H263_VAAPI_HWACCEL 0
8473 #define CONFIG_MPEG2_VAAPI_HWACCEL 0
8474 #define CONFIG_MPEG4_VAAPI_HWACCEL 0
8475 #define CONFIG_H264_VAAPI_HWACCEL 0
8476 #define CONFIG_VC1_VAAPI_HWACCEL 0
8477 #define CONFIG_WMV3_VAAPI_HWACCEL 0
8479 #endif /* MPLAYER_CONFIG_H */
8482 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8483 cmp -s "$TMPH" config.h || mv -f "$TMPH" config.h
8485 #############################################################################
8487 cat << EOF
8489 Config files successfully generated by ./configure $_configuration !
8491 Install prefix: $_prefix
8492 Data directory: $_datadir
8493 Config direct.: $_confdir
8495 Byte order: $_byte_order
8496 Optimizing for: $_optimizing
8498 Languages:
8499 Messages: $language_msg
8500 Manual pages: $language_man
8501 Documentation: $language_doc
8503 Enabled optional drivers:
8504 Input: $_inputmodules
8505 Codecs: $_codecmodules
8506 Audio output: $_aomodules
8507 Video output: $_vomodules
8509 Disabled optional drivers:
8510 Input: $_noinputmodules
8511 Codecs: $_nocodecmodules
8512 Audio output: $_noaomodules
8513 Video output: $_novomodules
8515 'config.h' and 'config.mak' contain your configuration options.
8516 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8517 compile *** DO NOT REPORT BUGS if you tweak these files ***
8519 'make' will now compile MPlayer and 'make install' will install it.
8520 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8525 if test "$_mtrr" = yes ; then
8526 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
8527 echo
8530 if ! x86_32; then
8531 cat <<EOF
8532 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8533 operating system ($system_name). You may encounter a few files that cannot
8534 be played due to missing open source video/audio codec support.
8540 cat <<EOF
8541 Check $TMPLOG if you wonder why an autodetection failed (make sure
8542 development headers/packages are installed).
8544 NOTE: The --enable-* parameters unconditionally force options on, completely
8545 skipping autodetection. This behavior is unlike what you may be used to from
8546 autoconf-based configure scripts that can decide to override you. This greater
8547 level of control comes at a price. You may have to provide the correct compiler
8548 and linker flags yourself.
8549 If you used one of these options (except --enable-menu and similar ones that
8550 turn on internal features) and experience a compilation or linking failure,
8551 make sure you have passed the necessary compiler/linker flags to configure.
8553 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
8557 if test "$_warn_CFLAGS" = yes; then
8558 cat <<EOF
8560 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
8561 but:
8563 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8565 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8566 To do so, execute 'CFLAGS= ./configure <options>'
8571 # Last move:
8572 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"