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