Merge svn changes up to r27441
[mplayer.git] / configure
blob23cec50441eaf3ac030507f315e8a3f105b349cf
1 #! /bin/sh
3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: check the cvs log !
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if "$_feature" = auto; then
26 # cat > $TMPC << EOF
27 # #include <feature.h>
28 # int main(void) { return 0; }
29 # EOF
30 # _feature=no
31 # cc_check && _feature=yes
32 # if test "$_feature" = yes ; then
33 # _def_feature='#define CONFIG_FEATURE 1'
34 # else
35 # _def_feature='#undef CONFIG_FEATURE'
36 # fi
37 # echores "$_feature"
39 # Furthermore you need to add the variable _feature to the list of default
40 # settings and set it to one of yes/no/auto. Also add appropriate
41 # --enable-feature/--disable-feature command line options.
42 # The results of the check should be written to config.h and config.mak
43 # at the end of this script. The variable names used for this should be
44 # uniform, i.e. if the option is named 'feature':
46 # _feature : should have a value of yes/no/auto
47 # _def_feature : '#define ... 1' or '#undef ...' for conditional compilation
48 # _ld_feature : '-L/path/dir -lfeature' GCC options
50 #############################################################################
52 # Prevent locale nonsense from breaking basic text processing utils
53 LC_ALL=C
54 export LC_ALL
56 # Store the configure line that was used
57 _configuration="$*"
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
61 compile_check() {
62 echo >> "$TMPLOG"
63 cat "$1" >> "$TMPLOG"
64 echo >> "$TMPLOG"
65 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
66 rm -f "$TMPEXE"
67 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
68 TMP="$?"
69 echo >> "$TMPLOG"
70 echo >> "$TMPLOG"
71 return "$TMP"
74 cc_check() {
75 compile_check $TMPC $@
78 cxx_check() {
79 compile_check $TMPCPP $@ -lstdc++
82 tmp_run() {
83 "$TMPEXE" >> "$TMPLOG" 2>&1
86 # Display error message, flushes tempfile, exit
87 die () {
88 echo
89 echo "Error: $@" >&2
90 echo >&2
91 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
92 echo "Check \"$TMPLOG\" if you do not understand why it failed."
93 exit 1
96 # OS test booleans functions
97 issystem() {
98 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
100 linux() { issystem "Linux" || issystem "uClinux" ; return "$?" ; }
101 sunos() { issystem "SunOS" ; return "$?" ; }
102 hpux() { issystem "HP-UX" ; return "$?" ; }
103 irix() { issystem "IRIX" ; return "$?" ; }
104 aix() { issystem "AIX" ; return "$?" ; }
105 cygwin() { issystem "CYGWIN" ; return "$?" ; }
106 freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
107 netbsd() { issystem "NetBSD" ; return "$?" ; }
108 bsdos() { issystem "BSD/OS" ; return "$?" ; }
109 openbsd() { issystem "OpenBSD" ; return "$?" ; }
110 dragonfly() { issystem "DragonFly" ; return "$?" ; }
111 qnx() { issystem "QNX" ; return "$?" ; }
112 darwin() { issystem "Darwin" ; return "$?" ; }
113 gnu() { issystem "GNU" ; return "$?" ; }
114 mingw32() { issystem "MINGW32" ; return "$?" ; }
115 morphos() { issystem "MorphOS" ; return "$?" ; }
116 amigaos() { issystem "AmigaOS" ; return "$?" ; }
117 win32() { cygwin || mingw32 ; return "$?" ; }
118 beos() { issystem "BEOS" ; return "$?" ; }
119 os2() { issystem "OS/2" ; return "$?" ; }
121 # arch test boolean functions
122 # x86/x86pc is used by QNX
123 x86_32() {
124 case "$host_arch" in
125 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
126 *) return 1 ;;
127 esac
130 x86_64() {
131 case "$host_arch" in
132 x86_64|amd64) return 0 ;;
133 *) return 1 ;;
134 esac
137 x86() {
138 x86_32 || x86_64
141 ppc() {
142 case "$host_arch" in
143 ppc|ppc64|powerpc|powerpc64) return 0;;
144 *) return 1;;
145 esac
148 alpha() {
149 case "$host_arch" in
150 alpha) return 0;;
151 *) return 1;;
152 esac
155 arm() {
156 case "$host_arch" in
157 arm) return 0;;
158 *) return 1;;
159 esac
162 # Use this before starting a check
163 echocheck() {
164 echo "============ Checking for $@ ============" >> "$TMPLOG"
165 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
168 # Use this to echo the results of a check
169 echores() {
170 if test "$_res_comment" ; then
171 _res_comment="($_res_comment)"
173 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
174 echo "##########################################" >> "$TMPLOG"
175 echo "" >> "$TMPLOG"
176 echo "$@ $_res_comment"
177 _res_comment=""
179 #############################################################################
181 # Check how echo works in this /bin/sh
182 case `echo -n` in
183 -n) _echo_n= _echo_c='\c' ;; # SysV echo
184 *) _echo_n='-n ' _echo_c= ;; # BSD echo
185 esac
187 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"`
188 man_lang_all=`echo DOCS/man/??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g"`
189 doc_lang_all=`echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g"`
191 show_help(){
192 cat << EOF
193 Usage: $0 [OPTIONS]...
195 Configuration:
196 -h, --help display this help and exit
198 Installation directories:
199 --prefix=DIR prefix directory for installation [/usr/local]
200 --bindir=DIR directory for installing binaries [PREFIX/bin]
201 --datadir=DIR directory for installing machine independent
202 data files (skins, etc) [PREFIX/share/mplayer]
203 --mandir=DIR directory for installing man pages [PREFIX/share/man]
204 --confdir=DIR directory for installing configuration files
205 [PREFIX/etc/mplayer]
206 --libdir=DIR directory for object code libraries [PREFIX/lib]
207 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
208 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
209 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
210 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
212 Optional features:
213 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
214 --disable-mplayer disable MPlayer compilation [enable]
215 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
216 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
217 --disable-largefiles disable support for files > 2GB [enable]
218 --enable-linux-devfs set default devices to devfs [disable]
219 --enable-termcap use termcap database for key codes [autodetect]
220 --enable-termios use termios database for key codes [autodetect]
221 --disable-iconv disable iconv for encoding conversion [autodetect]
222 --disable-langinfo do not use langinfo [autodetect]
223 --enable-lirc enable LIRC (remote control) support [autodetect]
224 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
225 --enable-joystick enable joystick support [disable]
226 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
227 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
228 --disable-vm disable X video mode extensions [autodetect]
229 --disable-xf86keysym disable support for multimedia keys [autodetect]
230 --enable-radio enable radio interface [disable]
231 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
232 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
233 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
234 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
235 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
236 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
237 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
238 --disable-tv-teletext disable TV teletext interface [autodetect]
239 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
240 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
241 --disable-network disable networking [enable]
242 --enable-winsock2 enable winsock2 [autodetect]
243 --enable-smb enable Samba (SMB) input [autodetect]
244 --enable-live enable LIVE555 Streaming Media [autodetect]
245 --enable-nemesi enable Nemesi Streaming Media [autodetect]
246 --disable-dvdnav disable libdvdnav [autodetect]
247 --disable-dvdread disable libdvdread [autodetect]
248 --disable-dvdread-internal disable internal libdvdread [autodetect]
249 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
250 --disable-cdparanoia disable cdparanoia [autodetect]
251 --disable-cddb disable cddb [autodetect]
252 --disable-bitmap-font disable bitmap font support [enable]
253 --disable-freetype disable FreeType 2 font rendering [autodetect]
254 --disable-fontconfig disable fontconfig font lookup [autodetect]
255 --disable-unrarexec disable using of UnRAR executable [enabled]
256 --enable-menu enable OSD menu (not DVD menu) [disabled]
257 --disable-sortsub disable subtitle sorting [enabled]
258 --enable-fribidi enable the FriBiDi libs [autodetect]
259 --disable-enca disable ENCA charset oracle library [autodetect]
260 --disable-macosx disable Mac OS X specific features [autodetect]
261 --disable-maemo disable maemo specific features [autodetect]
262 --enable-macosx-finder enable Mac OS X Finder invocation parameter
263 parsing [disabled]
264 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
265 --disable-inet6 disable IPv6 support [autodetect]
266 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
267 --disable-ftp disable FTP support [enabled]
268 --disable-vstream disable TiVo vstream client support [autodetect]
269 --disable-pthreads disable Posix threads support [autodetect]
270 --disable-w32threads disable Win32 threads support [autodetect]
271 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
272 --enable-rpath enable runtime linker path for extra libs [disabled]
274 Codecs:
275 --enable-gif enable GIF support [autodetect]
276 --enable-png enable PNG input/output support [autodetect]
277 --enable-jpeg enable JPEG input/output support [autodetect]
278 --enable-libcdio enable external libcdio [autodetect]
279 --enable-liblzo enable external liblzo [autodetect]
280 --disable-win32dll disable Win32 DLL support [enabled]
281 --disable-qtx disable QuickTime codecs support [enabled]
282 --disable-xanim disable XAnim codecs support [enabled]
283 --disable-real disable RealPlayer codecs support [enabled]
284 --disable-xvid disable Xvid [autodetect]
285 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
286 --disable-x264 disable x264 [autodetect]
287 --disable-x264-lavc disable x264 in libavcodec [autodetect]
288 --disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
289 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
290 decoder) [autodetect]
291 --disable-libnut disable libnut [autodetect]
292 --disable-libavutil_a disable static libavutil [autodetect]
293 --disable-libavcodec_a disable static libavcodec [autodetect]
294 --disable-libavformat_a disable static libavformat [autodetect]
295 --disable-libpostproc_a disable static libpostproc [autodetect]
296 --disable-libavutil_so disable shared libavutil [autodetect]
297 --disable-libavcodec_so disable shared libavcodec [autodetect]
298 --disable-libavformat_so disable shared libavformat [autodetect]
299 --disable-libpostproc_so disable shared libpostproc [autodetect]
300 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
301 in libavcodec [enabled]
302 --disable-tremor-internal disable internal Tremor [enabled]
303 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
304 --enable-tremor-external enable external Tremor [autodetect]
305 --disable-libvorbis disable libvorbis support [autodetect]
306 --disable-speex disable Speex support [autodetect]
307 --enable-theora enable OggTheora libraries [autodetect]
308 --enable-faad-external enable external FAAD2 (AAC) [autodetect]
309 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
310 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
311 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
312 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
313 --disable-ladspa disable LADSPA plugin support [autodetect]
314 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
315 --disable-mad disable libmad (MPEG audio) support [autodetect]
316 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
317 --disable-mp3lame-lavc disable LAME in libavcodec [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 [enabled]
323 --disable-liba52 disable builtin liba52 [enabled]
324 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
325 --disable-musepack disable musepack support [autodetect]
326 --disable-libamr_nb disable libamr narrowband [autodetect]
327 --disable-libamr_wb disable libamr wideband [autodetect]
328 --disable-decoder=DECODER disable specified FFmpeg decoder
329 --enable-decoder=DECODER enable specified FFmpeg decoder
330 --disable-encoder=ENCODER disable specified FFmpeg encoder
331 --enable-encoder=ENCODER enable specified FFmpeg encoder
332 --disable-parser=PARSER disable specified FFmpeg parser
333 --enable-parser=PARSER enable specified FFmpeg parser
334 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
335 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
336 --disable-muxer=MUXER disable specified FFmpeg muxer
337 --enable-muxer=MUXER enable specified FFmpeg muxer
339 Video output:
340 --disable-vidix disable VIDIX [for x86 *nix]
341 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
342 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
343 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
344 --disable-vidix-pcidb disable VIDIX PCI device name database
345 --enable-dhahelper enable VIDIX dhahelper support
346 --enable-svgalib_helper enable VIDIX svgalib_helper support
347 --enable-gl enable OpenGL video output [autodetect]
348 --enable-dga2 enable DGA 2 support [autodetect]
349 --enable-dga1 enable DGA 1 support [autodetect]
350 --enable-vesa enable VESA video output [autodetect]
351 --enable-svga enable SVGAlib video output [autodetect]
352 --enable-sdl enable SDL video output [autodetect]
353 --enable-aa enable AAlib video output [autodetect]
354 --enable-caca enable CACA video output [autodetect]
355 --enable-ggi enable GGI video output [autodetect]
356 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
357 --enable-directx enable DirectX video output [autodetect]
358 --enable-dxr2 enable DXR2 video output [autodetect]
359 --enable-dxr3 enable DXR3/H+ video output [autodetect]
360 --enable-ivtv enable IVTV TV-Out video output [autodetect]
361 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
362 --enable-dvb enable DVB video output [autodetect]
363 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
364 --enable-mga enable mga_vid video output [autodetect]
365 --enable-xmga enable mga_vid X11 video output [autodetect]
366 --enable-xv enable Xv video output [autodetect]
367 --enable-xvmc enable XvMC acceleration [disable]
368 --enable-vm enable XF86VidMode support [autodetect]
369 --enable-xinerama enable Xinerama support [autodetect]
370 --enable-x11 enable X11 video output [autodetect]
371 --enable-xshape enable XShape support [autodetect]
372 --disable-xss disable screensaver support via xss [autodetect]
373 --enable-fbdev enable FBDev video output [autodetect]
374 --enable-mlib enable mediaLib video output (Solaris) [disable]
375 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
376 --enable-tdfxfb enable tdfxfb video output [disable]
377 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
378 --enable-wii enable Nintendo Wii/GameCube video output [disable]
379 --enable-directfb enable DirectFB video output [autodetect]
380 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
381 --enable-bl enable Blinkenlights video output [disable]
382 --enable-tdfxvid enable tdfx_vid video output [disable]
383 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
384 --disable-tga disable Targa video output [enable]
385 --disable-pnm disable PNM video output [enable]
386 --disable-md5sum disable md5sum video output [enable]
387 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
389 Audio output:
390 --disable-alsa disable ALSA audio output [autodetect]
391 --disable-ossaudio disable OSS audio output [autodetect]
392 --disable-arts disable aRts audio output [autodetect]
393 --disable-esd disable esd audio output [autodetect]
394 --disable-pulse disable Pulseaudio audio output [autodetect]
395 --disable-jack disable JACK audio output [autodetect]
396 --disable-openal disable OpenAL audio output [autodetect]
397 --disable-nas disable NAS audio output [autodetect]
398 --disable-sgiaudio disable SGI audio output [autodetect]
399 --disable-sunaudio disable Sun audio output [autodetect]
400 --disable-win32waveout disable Windows waveout audio output [autodetect]
401 --disable-select disable using select() on the audio device [enable]
403 Miscellaneous options:
404 --enable-runtime-cpudetection enable runtime CPU detection [disable]
405 --enable-cross-compile enable cross-compilation [autodetect]
406 --cc=COMPILER C compiler to build MPlayer [gcc]
407 --host-cc=COMPILER C compiler for tools needed while building [gcc]
408 --as=ASSEMBLER assembler to build MPlayer [as]
409 --ar=AR librarian to build MPlayer [ar]
410 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
411 --windres=WINDRES windres to build MPlayer [windres]
412 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
413 --enable-static build a statically linked binary
414 --charset=charset convert the console messages to this character set
415 --language=list a white space or comma separated list of languages for
416 translated man pages, the first language is used for
417 messages and the GUI (the environment variable
418 \$LINGUAS is also honored) [en]
419 (Available: all $msg_lang_all)
420 --with-install=PATH path to a custom install program
422 Advanced options:
423 --enable-mmx enable MMX [autodetect]
424 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
425 --enable-3dnow enable 3DNow! [autodetect]
426 --enable-3dnowext enable extended 3DNow! [autodetect]
427 --enable-sse enable SSE [autodetect]
428 --enable-sse2 enable SSE2 [autodetect]
429 --enable-ssse3 enable SSSE3 [autodetect]
430 --enable-shm enable shm [autodetect]
431 --enable-altivec enable AltiVec (PowerPC) [autodetect]
432 --enable-armv5te enable DSP extensions (ARM) [autodetect]
433 --enable-armv6 enable ARMv6 (ARM) [autodetect]
434 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
435 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
436 --enable-big-endian force byte order to big-endian [autodetect]
437 --enable-debug[=1-3] compile-in debugging information [disable]
438 --enable-profile compile-in profiling information [disable]
439 --disable-sighandler disable sighandler for crashes [enable]
440 --enable-crash-debug enable automatic gdb attach on crash [disable]
441 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
443 Use these options if autodetection fails (Options marked with (*) accept
444 multiple paths separated by ':'):
445 --extra-libs=FLAGS extra linker flags
446 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
447 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
448 --with-extraincdir=DIR extra header search paths in DIR (*)
449 --with-extralibdir=DIR extra linker search paths in DIR (*)
450 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
452 --with-freetype-config=PATH path to freetype-config
453 --with-fribidi-config=PATH path to fribidi-config
454 --with-glib-config=PATH path to glib*-config
455 --with-gtk-config=PATH path to gtk*-config
456 --with-sdl-config=PATH path to sdl*-config
457 --with-dvdnav-config=PATH path to dvdnav-config
458 --with-dvdread-config=PATH path to dvdread-config
460 This configure script is NOT autoconf-based, even though its output is similar.
461 It will try to autodetect all configuration options. If you --enable an option
462 it will be forcefully turned on, skipping autodetection. This can break
463 compilation, so you need to know what you are doing.
465 exit 0
466 } #show_help()
468 # GOTCHA: the variables below defines the default behavior for autodetection
469 # and have - unless stated otherwise - at least 2 states : yes no
470 # If autodetection is available then the third state is: auto
471 _mmx=auto
472 _3dnow=auto
473 _3dnowext=auto
474 _mmxext=auto
475 _sse=auto
476 _sse2=auto
477 _ssse3=auto
478 _cmov=auto
479 _fast_cmov=auto
480 _armv5te=auto
481 _armv6=auto
482 _iwmmxt=auto
483 _mtrr=auto
484 _altivec=auto
485 _install=install
486 _ranlib=ranlib
487 _windres=windres
488 _cc=cc
489 _ar=ar
490 test "$CC" && _cc="$CC"
491 _as=auto
492 _runtime_cpudetection=no
493 _cross_compile=auto
494 _prefix="/usr/local"
495 _libavutil_a=auto
496 _libavutil_so=auto
497 _libavcodec_a=auto
498 _libamr_nb=auto
499 _libamr_wb=auto
500 _libavdecoders_all=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
501 _libavdecoders=` echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER// `
502 _libavencoders_all=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
503 _libavencoders=` echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g'`
504 _libavparsers_all=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
505 _libavparsers=$_libavparsers_all
506 _libavbsfs_all=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
507 _libavbsfs=$_libavbsfs_all
508 _libavdemuxers_all=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
509 _libavdemuxers=`echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER// `
510 _libavmuxers_all=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
511 _libavmuxers=`echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER// `
512 _libavprotocols_all=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
513 _libavcodec_so=auto
514 _libavformat_a=auto
515 _libavformat_so=auto
516 _libpostproc_a=auto
517 _libpostproc_so=auto
518 _libavcodec_mpegaudio_hp=yes
519 _mencoder=yes
520 _mplayer=yes
521 _x11=auto
522 _xshape=auto
523 _xss=auto
524 _dga1=auto
525 _dga2=auto
526 _xv=auto
527 _xvmc=no #auto when complete
528 _sdl=auto
529 _directx=auto
530 _win32waveout=auto
531 _nas=auto
532 _png=auto
533 _jpeg=auto
534 _pnm=yes
535 _md5sum=yes
536 _yuv4mpeg=yes
537 _gif=auto
538 _gl=auto
539 _ggi=auto
540 _ggiwmh=auto
541 _aa=auto
542 _caca=auto
543 _svga=auto
544 _vesa=auto
545 _fbdev=auto
546 _dvb=auto
547 _dvbhead=auto
548 _dxr2=auto
549 _dxr3=auto
550 _ivtv=auto
551 _v4l2=auto
552 _iconv=auto
553 _langinfo=auto
554 _rtc=auto
555 _ossaudio=auto
556 _arts=auto
557 _esd=auto
558 _pulse=auto
559 _jack=auto
560 _openal=auto
561 _libcdio=auto
562 _liblzo=auto
563 _mad=auto
564 _mp3lame=auto
565 _mp3lame_lavc=auto
566 _toolame=auto
567 _twolame=auto
568 _tremor_internal=yes
569 _tremor_low=no
570 _tremor_external=auto
571 _libvorbis=auto
572 _speex=auto
573 _theora=auto
574 _mp3lib=yes
575 _liba52=yes
576 _libdca=auto
577 _libmpeg2=auto
578 _faad_internal=auto
579 _faad_external=auto
580 _faad_fixed=no
581 _faac=auto
582 _faac_lavc=auto
583 _ladspa=auto
584 _xmms=no
585 _dvdnav=auto
586 _dvdnavconfig=dvdnav-config
587 _dvdreadconfig=dvdread-config
588 _dvdread=auto
589 _dvdread_internal=auto
590 _libdvdcss_internal=auto
591 _xanim=auto
592 _real=auto
593 _live=auto
594 _nemesi=auto
595 _native_rtsp=yes
596 _xinerama=auto
597 _mga=auto
598 _xmga=auto
599 _vm=auto
600 _xf86keysym=auto
601 _mlib=no #broken, thus disabled
602 _sgiaudio=auto
603 _sunaudio=auto
604 _alsa=auto
605 _fastmemcpy=yes
606 _unrar_exec=auto
607 _win32dll=auto
608 _select=yes
609 _radio=no
610 _radio_capture=no
611 _radio_v4l=auto
612 _radio_v4l2=auto
613 _radio_bsdbt848=auto
614 _tv=yes
615 _tv_v4l1=auto
616 _tv_v4l2=auto
617 _tv_bsdbt848=auto
618 _tv_dshow=auto
619 _tv_teletext=auto
620 _pvr=auto
621 _network=yes
622 _winsock2=auto
623 _smb=auto
624 _vidix=auto
625 _vidix_pcidb=yes
626 _dhahelper=no
627 _svgalib_helper=no
628 _joystick=no
629 _xvid=auto
630 _xvid_lavc=auto
631 _x264=auto
632 _x264_lavc=auto
633 _libdirac_lavc=auto
634 _libschroedinger_lavc=auto
635 _libnut=auto
636 _lirc=auto
637 _lircc=auto
638 _apple_remote=auto
639 _apple_ir=auto
640 _gui=no
641 _gtk1=no
642 _termcap=auto
643 _termios=auto
644 _3dfx=no
645 _s3fb=no
646 _wii=no
647 _tdfxfb=no
648 _tdfxvid=no
649 _xvr100=auto
650 _tga=yes
651 _directfb=auto
652 _zr=auto
653 _bl=no
654 _largefiles=yes
655 #_language=en
656 _shm=auto
657 _linux_devfs=no
658 _charset="UTF-8"
659 _dynamic_plugins=no
660 _crash_debug=no
661 _sighandler=yes
662 _libdv=auto
663 _cdparanoia=auto
664 _cddb=auto
665 _big_endian=auto
666 _bitmap_font=yes
667 _freetype=auto
668 _fontconfig=auto
669 _menu=no
670 _qtx=auto
671 _macosx=auto
672 _maemo=auto
673 _macosx_finder=no
674 _macosx_bundle=auto
675 _sortsub=yes
676 _freetypeconfig='freetype-config'
677 _fribidi=auto
678 _fribidiconfig='fribidi-config'
679 _enca=auto
680 _inet6=auto
681 _gethostbyname2=auto
682 _ftp=yes
683 _musepack=auto
684 _vstream=auto
685 _pthreads=auto
686 _w32threads=auto
687 _ass=auto
688 _rpath=no
689 _asmalign_pot=auto
690 _stream_cache=yes
691 _def_stream_cache="#define CONFIG_STREAM_CACHE 1"
692 _need_shmem=yes
693 for ac_option do
694 case "$ac_option" in
695 --help|-help|-h)
696 show_help
698 --prefix=*)
699 _prefix=`echo $ac_option | cut -d '=' -f 2`
701 --bindir=*)
702 _bindir=`echo $ac_option | cut -d '=' -f 2`
704 --datadir=*)
705 _datadir=`echo $ac_option | cut -d '=' -f 2`
707 --mandir=*)
708 _mandir=`echo $ac_option | cut -d '=' -f 2`
710 --confdir=*)
711 _confdir=`echo $ac_option | cut -d '=' -f 2`
713 --libdir=*)
714 _libdir=`echo $ac_option | cut -d '=' -f 2`
716 --codecsdir=*)
717 _codecsdir=`echo $ac_option | cut -d '=' -f 2`
719 --win32codecsdir=*)
720 _win32codecsdir=`echo $ac_option | cut -d '=' -f 2`
722 --xanimcodecsdir=*)
723 _xanimcodecsdir=`echo $ac_option | cut -d '=' -f 2`
725 --realcodecsdir=*)
726 _realcodecsdir=`echo $ac_option | cut -d '=' -f 2`
728 --with-extraincdir=*)
729 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
731 --with-extralibdir=*)
732 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
735 --with-install=*)
736 _install=`echo $ac_option | cut -d '=' -f 2 `
738 --with-xvmclib=*)
739 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
742 --with-sdl-config=*)
743 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
745 --with-freetype-config=*)
746 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
748 --with-fribidi-config=*)
749 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
751 --with-gtk-config=*)
752 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
754 --with-glib-config=*)
755 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
757 --with-dvdnav-config=*)
758 _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
760 --with-dvdread-config=*)
761 _dvdreadconfig=`echo $ac_option | cut -d '=' -f 2`
764 --extra-libs=*)
765 _extra_libs=`echo $ac_option | cut -d '=' -f 2`
767 --extra-libs-mplayer=*)
768 _libs_mplayer=`echo $ac_option | cut -d '=' -f 2`
770 --extra-libs-mencoder=*)
771 _libs_mencoder=`echo $ac_option | cut -d '=' -f 2`
774 --target=*)
775 _target=`echo $ac_option | cut -d '=' -f 2`
777 --cc=*)
778 _cc=`echo $ac_option | cut -d '=' -f 2`
780 --host-cc=*)
781 _host_cc=`echo $ac_option | cut -d '=' -f 2`
783 --as=*)
784 _as=`echo $ac_option | cut -d '=' -f 2`
786 --ar=*)
787 _ar=`echo $ac_option | cut -d '=' -f 2`
789 --ranlib=*)
790 _ranlib=`echo $ac_option | cut -d '=' -f 2`
792 --windres=*)
793 _windres=`echo $ac_option | cut -d '=' -f 2`
795 --charset=*)
796 _charset=`echo $ac_option | cut -d '=' -f 2`
798 --language=*)
799 _language=`echo $ac_option | cut -d '=' -f 2`
802 --enable-static)
803 _ld_static='-static'
805 --disable-static)
806 _ld_static=''
808 --enable-profile)
809 _profile='-p'
811 --disable-profile)
812 _profile=
814 --enable-debug)
815 _debug='-g'
817 --enable-debug=*)
818 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
820 --disable-debug)
821 _debug=
823 --enable-runtime-cpudetection) _runtime_cpudetection=yes ;;
824 --disable-runtime-cpudetection) _runtime_cpudetection=no ;;
825 --enable-cross-compile) _cross_compile=yes ;;
826 --disable-cross-compile) _cross_compile=no ;;
827 --enable-mencoder) _mencoder=yes ;;
828 --disable-mencoder) _mencoder=no ;;
829 --enable-mplayer) _mplayer=yes ;;
830 --disable-mplayer) _mplayer=no ;;
831 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
832 --disable-dynamic-plugins) _dynamic_plugins=no ;;
833 --enable-x11) _x11=yes ;;
834 --disable-x11) _x11=no ;;
835 --enable-xshape) _xshape=yes ;;
836 --disable-xshape) _xshape=no ;;
837 --enable-xss) _xss=yes ;;
838 --disable-xss) _xss=no ;;
839 --enable-xv) _xv=yes ;;
840 --disable-xv) _xv=no ;;
841 --enable-xvmc) _xvmc=yes ;;
842 --disable-xvmc) _xvmc=no ;;
843 --enable-sdl) _sdl=yes ;;
844 --disable-sdl) _sdl=no ;;
845 --enable-directx) _directx=yes ;;
846 --disable-directx) _directx=no ;;
847 --enable-win32waveout) _win32waveout=yes ;;
848 --disable-win32waveout) _win32waveout=no ;;
849 --enable-nas) _nas=yes ;;
850 --disable-nas) _nas=no ;;
851 --enable-png) _png=yes ;;
852 --disable-png) _png=no ;;
853 --enable-jpeg) _jpeg=yes ;;
854 --disable-jpeg) _jpeg=no ;;
855 --enable-pnm) _pnm=yes ;;
856 --disable-pnm) _pnm=no ;;
857 --enable-md5sum) _md5sum=yes ;;
858 --disable-md5sum) _md5sum=no ;;
859 --enable-yuv4mpeg) _yuv4mpeg=yes ;;
860 --disable-yuv4mpeg) _yuv4mpeg=no ;;
861 --enable-gif) _gif=yes ;;
862 --disable-gif) _gif=no ;;
863 --enable-gl) _gl=yes ;;
864 --disable-gl) _gl=no ;;
865 --enable-ggi) _ggi=yes ;;
866 --disable-ggi) _ggi=no ;;
867 --enable-ggiwmh) _ggiwmh=yes ;;
868 --disable-ggiwmh) _ggiwmh=no ;;
869 --enable-aa) _aa=yes ;;
870 --disable-aa) _aa=no ;;
871 --enable-caca) _caca=yes ;;
872 --disable-caca) _caca=no ;;
873 --enable-svga) _svga=yes ;;
874 --disable-svga) _svga=no ;;
875 --enable-vesa) _vesa=yes ;;
876 --disable-vesa) _vesa=no ;;
877 --enable-fbdev) _fbdev=yes ;;
878 --disable-fbdev) _fbdev=no ;;
879 --enable-dvb) _dvb=yes ;;
880 --disable-dvb) _dvb=no ;;
881 --enable-dvbhead) _dvbhead=yes ;;
882 --disable-dvbhead) _dvbhead=no ;;
883 --enable-dxr2) _dxr2=yes ;;
884 --disable-dxr2) _dxr2=no ;;
885 --enable-dxr3) _dxr3=yes ;;
886 --disable-dxr3) _dxr3=no ;;
887 --enable-ivtv) _ivtv=yes ;;
888 --disable-ivtv) _ivtv=no ;;
889 --enable-v4l2) _v4l2=yes ;;
890 --disable-v4l2) _v4l2=no ;;
891 --enable-iconv) _iconv=yes ;;
892 --disable-iconv) _iconv=no ;;
893 --enable-langinfo) _langinfo=yes ;;
894 --disable-langinfo) _langinfo=no ;;
895 --enable-rtc) _rtc=yes ;;
896 --disable-rtc) _rtc=no ;;
897 --enable-libdv) _libdv=yes ;;
898 --disable-libdv) _libdv=no ;;
899 --enable-ossaudio) _ossaudio=yes ;;
900 --disable-ossaudio) _ossaudio=no ;;
901 --enable-arts) _arts=yes ;;
902 --disable-arts) _arts=no ;;
903 --enable-esd) _esd=yes ;;
904 --disable-esd) _esd=no ;;
905 --enable-pulse) _pulse=yes ;;
906 --disable-pulse) _pulse=no ;;
907 --enable-jack) _jack=yes ;;
908 --disable-jack) _jack=no ;;
909 --enable-openal) _openal=yes ;;
910 --disable-openal) _openal=no ;;
911 --enable-mad) _mad=yes ;;
912 --disable-mad) _mad=no ;;
913 --enable-mp3lame) _mp3lame=yes ;;
914 --disable-mp3lame) _mp3lame=no ;;
915 --enable-mp3lame-lavc) _mp3lame_lavc=yes ;;
916 --disable-mp3lame-lavc) _mp3lame_lavc=no ;;
917 --enable-toolame) _toolame=yes ;;
918 --disable-toolame) _toolame=no ;;
919 --enable-twolame) _twolame=yes ;;
920 --disable-twolame) _twolame=no ;;
921 --enable-libcdio) _libcdio=yes ;;
922 --disable-libcdio) _libcdio=no ;;
923 --enable-liblzo) _liblzo=yes ;;
924 --disable-liblzo) _liblzo=no ;;
925 --enable-libvorbis) _libvorbis=yes ;;
926 --disable-libvorbis) _libvorbis=no ;;
927 --enable-speex) _speex=yes ;;
928 --disable-speex) _speex=no ;;
929 --enable-tremor-internal) _tremor_internal=yes ;;
930 --disable-tremor-internal) _tremor_internal=no ;;
931 --enable-tremor-low) _tremor_low=yes ;;
932 --disable-tremor-low) _tremor_low=no ;;
933 --enable-tremor-external) _tremor_external=yes ;;
934 --disable-tremor-external) _tremor_external=no ;;
935 --enable-theora) _theora=yes ;;
936 --disable-theora) _theora=no ;;
937 --enable-mp3lib) _mp3lib=yes ;;
938 --disable-mp3lib) _mp3lib=no ;;
939 --enable-liba52) _liba52=yes ;;
940 --disable-liba52) _liba52=no ;;
941 --enable-libdca) _libdca=yes ;;
942 --disable-libdca) _libdca=no ;;
943 --enable-libmpeg2) _libmpeg2=yes ;;
944 --disable-libmpeg2) _libmpeg2=no ;;
945 --enable-musepack) _musepack=yes ;;
946 --disable-musepack) _musepack=no ;;
947 --enable-faad-internal) _faad_internal=yes ;;
948 --disable-faad-internal) _faad_internal=no ;;
949 --enable-faad-external) _faad_external=yes ;;
950 --disable-faad-external) _faad_external=no ;;
951 --enable-faad-fixed) _faad_fixed=yes ;;
952 --disable-faad-fixed) _faad_fixed=no ;;
953 --enable-faac) _faac=yes ;;
954 --disable-faac) _faac=no ;;
955 --enable-faac-lavc) _faac_lavc=yes ;;
956 --disable-faac-lavc) _faac_lavc=no ;;
957 --enable-ladspa) _ladspa=yes ;;
958 --disable-ladspa) _ladspa=no ;;
959 --enable-xmms) _xmms=yes ;;
960 --disable-xmms) _xmms=no ;;
961 --enable-dvdread) _dvdread=yes ;;
962 --disable-dvdread) _dvdread=no ;;
963 --enable-dvdread-internal) _dvdread_internal=yes ;;
964 --disable-dvdread-internal) _dvdread_internal=no ;;
965 --enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
966 --disable-libdvdcss-internal) _libdvdcss_internal=no ;;
967 --enable-dvdnav) _dvdnav=yes ;;
968 --disable-dvdnav) _dvdnav=no ;;
969 --enable-xanim) _xanim=yes ;;
970 --disable-xanim) _xanim=no ;;
971 --enable-real) _real=yes ;;
972 --disable-real) _real=no ;;
973 --enable-live) _live=yes ;;
974 --disable-live) _live=no ;;
975 --enable-nemesi) _nemesi=yes ;;
976 --disable-nemesi) _nemesi=no ;;
977 --enable-xinerama) _xinerama=yes ;;
978 --disable-xinerama) _xinerama=no ;;
979 --enable-mga) _mga=yes ;;
980 --disable-mga) _mga=no ;;
981 --enable-xmga) _xmga=yes ;;
982 --disable-xmga) _xmga=no ;;
983 --enable-vm) _vm=yes ;;
984 --disable-vm) _vm=no ;;
985 --enable-xf86keysym) _xf86keysym=yes ;;
986 --disable-xf86keysym) _xf86keysym=no ;;
987 --enable-mlib) _mlib=yes ;;
988 --disable-mlib) _mlib=no ;;
989 --enable-sunaudio) _sunaudio=yes ;;
990 --disable-sunaudio) _sunaudio=no ;;
991 --enable-sgiaudio) _sgiaudio=yes ;;
992 --disable-sgiaudio) _sgiaudio=no ;;
993 --enable-alsa) _alsa=yes ;;
994 --disable-alsa) _alsa=no ;;
995 --enable-tv) _tv=yes ;;
996 --disable-tv) _tv=no ;;
997 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
998 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
999 --enable-tv-v4l1) _tv_v4l1=yes ;;
1000 --disable-tv-v4l1) _tv_v4l1=no ;;
1001 --enable-tv-v4l2) _tv_v4l2=yes ;;
1002 --disable-tv-v4l2) _tv_v4l2=no ;;
1003 --enable-tv-dshow) _tv_dshow=yes ;;
1004 --disable-tv-dshow) _tv_dshow=no ;;
1005 --enable-tv-teletext) _tv_teletext=yes ;;
1006 --disable-tv-teletext) _tv_teletext=no ;;
1007 --enable-radio) _radio=yes ;;
1008 --enable-radio-capture) _radio_capture=yes ;;
1009 --disable-radio-capture) _radio_capture=no ;;
1010 --disable-radio) _radio=no ;;
1011 --enable-radio-v4l) _radio_v4l=yes ;;
1012 --disable-radio-v4l) _radio_v4l=no ;;
1013 --enable-radio-v4l2) _radio_v4l2=yes ;;
1014 --disable-radio-v4l2) _radio_v4l2=no ;;
1015 --enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
1016 --disable-radio-bsdbt848) _radio_bsdbt848=no ;;
1017 --enable-pvr) _pvr=yes ;;
1018 --disable-pvr) _pvr=no ;;
1019 --enable-fastmemcpy) _fastmemcpy=yes ;;
1020 --disable-fastmemcpy) _fastmemcpy=no ;;
1021 --enable-network) _network=yes ;;
1022 --disable-network) _network=no ;;
1023 --enable-winsock2) _winsock2=yes ;;
1024 --disable-winsock2) _winsock2=no ;;
1025 --enable-smb) _smb=yes ;;
1026 --disable-smb) _smb=no ;;
1027 --enable-vidix) _vidix=yes ;;
1028 --disable-vidix) _vidix=no ;;
1029 --with-vidix-drivers=*)
1030 _vidix_drivers=`echo $ac_option | cut -d '=' -f 2`
1032 --disable-vidix-pcidb) _vidix_pcidb=no ;;
1033 --enable-dhahelper) _dhahelper=yes ;;
1034 --disable-dhahelper) _dhahelper=no ;;
1035 --enable-svgalib_helper) _svgalib_helper=yes ;;
1036 --disable-svgalib_helper) _svgalib_helper=no ;;
1037 --enable-joystick) _joystick=yes ;;
1038 --disable-joystick) _joystick=no ;;
1039 --enable-xvid) _xvid=yes ;;
1040 --disable-xvid) _xvid=no ;;
1041 --enable-xvid-lavc) _xvid_lavc=yes ;;
1042 --disable-xvid-lavc) _xvid_lavc=no ;;
1043 --enable-x264) _x264=yes ;;
1044 --disable-x264) _x264=no ;;
1045 --enable-x264-lavc) _x264_lavc=yes ;;
1046 --disable-x264-lavc) _x264_lavc=no ;;
1047 --enable-libdirac-lavc) _libdirac_lavc=yes ;;
1048 --disable-libdirac-lavc) _libdirac_lavc=no ;;
1049 --enable-libschroedinger-lavc) _libschroedinger_lavc=yes ;;
1050 --disable-libschroedinger-lavc) _libschroedinger_lavc=no ;;
1051 --enable-libnut) _libnut=yes ;;
1052 --disable-libnut) _libnut=no ;;
1053 --enable-libavutil_a) _libavutil_a=yes ;;
1054 --disable-libavutil_a) _libavutil_a=no ;;
1055 --enable-libavutil_so) _libavutil_so=yes ;;
1056 --disable-libavutil_so) _libavutil_so=no ;;
1057 --enable-libavcodec_a) _libavcodec_a=yes ;;
1058 --disable-libavcodec_a) _libavcodec_a=no ;;
1059 --enable-libavcodec_so) _libavcodec_so=yes ;;
1060 --disable-libavcodec_so) _libavcodec_so=no ;;
1061 --enable-libamr_nb) _libamr_nb=yes ;;
1062 --disable-libamr_nb) _libamr_nb=no ;;
1063 --enable-libamr_wb) _libamr_wb=yes ;;
1064 --disable-libamr_wb) _libamr_wb=no ;;
1065 --enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1066 --disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1067 --enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1068 --disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1069 --enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1070 --disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1071 --enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1072 --disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1073 --enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1074 --disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1075 --enable-libavformat_a) _libavformat_a=yes ;;
1076 --disable-libavformat_a) _libavformat_a=no ;;
1077 --enable-libavformat_so) _libavformat_so=yes ;;
1078 --disable-libavformat_so) _libavformat_so=no ;;
1079 --enable-libpostproc_a) _libpostproc_a=yes ;;
1080 --disable-libpostproc_a) _libpostproc_a=no ;;
1081 --enable-libpostproc_so) _libpostproc_so=yes ;;
1082 --disable-libpostproc_so) _libpostproc_so=no ;;
1083 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
1084 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
1086 --enable-lirc) _lirc=yes ;;
1087 --disable-lirc) _lirc=no ;;
1088 --enable-lircc) _lircc=yes ;;
1089 --disable-lircc) _lircc=no ;;
1090 --enable-apple-remote) _apple_remote=yes ;;
1091 --disable-apple-remote) _apple_remote=no ;;
1092 --enable-apple-ir) _apple_ir=yes ;;
1093 --disable-apple-ir) _apple_ir=no ;;
1094 --enable-gui) _gui=yes ;;
1095 --disable-gui) _gui=no ;;
1096 --enable-gtk1) _gtk1=yes ;;
1097 --disable-gtk1) _gtk1=no ;;
1098 --enable-termcap) _termcap=yes ;;
1099 --disable-termcap) _termcap=no ;;
1100 --enable-termios) _termios=yes ;;
1101 --disable-termios) _termios=no ;;
1102 --enable-3dfx) _3dfx=yes ;;
1103 --disable-3dfx) _3dfx=no ;;
1104 --enable-s3fb) _s3fb=yes ;;
1105 --disable-s3fb) _s3fb=no ;;
1106 --enable-wii) _wii=yes ;;
1107 --disable-wii) _wii=no ;;
1108 --enable-tdfxfb) _tdfxfb=yes ;;
1109 --disable-tdfxfb) _tdfxfb=no ;;
1110 --disable-tdfxvid) _tdfxvid=no ;;
1111 --enable-tdfxvid) _tdfxvid=yes ;;
1112 --disable-xvr100) _xvr100=no ;;
1113 --enable-xvr100) _xvr100=yes ;;
1114 --disable-tga) _tga=no ;;
1115 --enable-tga) _tga=yes ;;
1116 --enable-directfb) _directfb=yes ;;
1117 --disable-directfb) _directfb=no ;;
1118 --enable-zr) _zr=yes ;;
1119 --disable-zr) _zr=no ;;
1120 --enable-bl) _bl=yes ;;
1121 --disable-bl) _bl=no ;;
1122 --enable-mtrr) _mtrr=yes ;;
1123 --disable-mtrr) _mtrr=no ;;
1124 --enable-largefiles) _largefiles=yes ;;
1125 --disable-largefiles) _largefiles=no ;;
1126 --enable-shm) _shm=yes ;;
1127 --disable-shm) _shm=no ;;
1128 --enable-select) _select=yes ;;
1129 --disable-select) _select=no ;;
1130 --enable-linux-devfs) _linux_devfs=yes ;;
1131 --disable-linux-devfs) _linux_devfs=no ;;
1132 --enable-cdparanoia) _cdparanoia=yes ;;
1133 --disable-cdparanoia) _cdparanoia=no ;;
1134 --enable-cddb) _cddb=yes ;;
1135 --disable-cddb) _cddb=no ;;
1136 --enable-big-endian) _big_endian=yes ;;
1137 --disable-big-endian) _big_endian=no ;;
1138 --enable-bitmap-font) _bitmap_font=yes ;;
1139 --disable-bitmap-font) _bitmap_font=no ;;
1140 --enable-freetype) _freetype=yes ;;
1141 --disable-freetype) _freetype=no ;;
1142 --enable-fontconfig) _fontconfig=yes ;;
1143 --disable-fontconfig) _fontconfig=no ;;
1144 --enable-unrarexec) _unrar_exec=yes ;;
1145 --disable-unrarexec) _unrar_exec=no ;;
1146 --enable-ftp) _ftp=yes ;;
1147 --disable-ftp) _ftp=no ;;
1148 --enable-vstream) _vstream=yes ;;
1149 --disable-vstream) _vstream=no ;;
1150 --enable-pthreads) _pthreads=yes ;;
1151 --disable-pthreads) _pthreads=no ;;
1152 --enable-w32threads) _w32threads=yes ;;
1153 --disable-w32threads) _w32threads=no ;;
1154 --enable-ass) _ass=yes ;;
1155 --disable-ass) _ass=no ;;
1156 --enable-rpath) _rpath=yes ;;
1157 --disable-rpath) _rpath=no ;;
1159 --enable-fribidi) _fribidi=yes ;;
1160 --disable-fribidi) _fribidi=no ;;
1162 --enable-enca) _enca=yes ;;
1163 --disable-enca) _enca=no ;;
1165 --enable-inet6) _inet6=yes ;;
1166 --disable-inet6) _inet6=no ;;
1168 --enable-gethostbyname2) _gethostbyname2=yes ;;
1169 --disable-gethostbyname2) _gethostbyname2=no ;;
1171 --enable-dga1) _dga1=yes ;;
1172 --disable-dga1) _dga1=no ;;
1173 --enable-dga2) _dga2=yes ;;
1174 --disable-dga2) _dga2=no ;;
1176 --enable-menu) _menu=yes ;;
1177 --disable-menu) _menu=no ;;
1179 --enable-qtx) _qtx=yes ;;
1180 --disable-qtx) _qtx=no ;;
1182 --enable-macosx) _macosx=yes ;;
1183 --disable-macosx) _macosx=no ;;
1184 --enable-macosx-finder) _macosx_finder=yes ;;
1185 --disable-macosx-finder) _macosx_finder=no ;;
1186 --enable-macosx-bundle) _macosx_bundle=yes;;
1187 --disable-macosx-bundle) _macosx_bundle=no;;
1189 --enable-maemo) _maemo=yes ;;
1190 --disable-maemo) _maemo=no ;;
1192 --enable-sortsub) _sortsub=yes ;;
1193 --disable-sortsub) _sortsub=no ;;
1195 --enable-crash-debug) _crash_debug=yes ;;
1196 --disable-crash-debug) _crash_debug=no ;;
1197 --enable-sighandler) _sighandler=yes ;;
1198 --disable-sighandler) _sighandler=no ;;
1199 --enable-win32dll) _win32dll=yes ;;
1200 --disable-win32dll) _win32dll=no ;;
1202 --enable-sse) _sse=yes ;;
1203 --disable-sse) _sse=no ;;
1204 --enable-sse2) _sse2=yes ;;
1205 --disable-sse2) _sse2=no ;;
1206 --enable-ssse3) _ssse3=yes ;;
1207 --disable-ssse3) _ssse3=no ;;
1208 --enable-mmxext) _mmxext=yes ;;
1209 --disable-mmxext) _mmxext=no ;;
1210 --enable-3dnow) _3dnow=yes ;;
1211 --disable-3dnow) _3dnow=no _3dnowext=no ;;
1212 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
1213 --disable-3dnowext) _3dnowext=no ;;
1214 --enable-cmov) _cmov=yes ;;
1215 --disable-cmov) _cmov=no ;;
1216 --enable-fast-cmov) _fast_cmov=yes ;;
1217 --disable-fast-cmov) _fast_cmov=no ;;
1218 --enable-altivec) _altivec=yes ;;
1219 --disable-altivec) _altivec=no ;;
1220 --enable-armv5te) _armv5te=yes ;;
1221 --disable-armv5te) _armv5te=no ;;
1222 --enable-armv6) _armv6=yes ;;
1223 --disable-armv6) _armv6=no ;;
1224 --enable-iwmmxt) _iwmmxt=yes ;;
1225 --disable-iwmmxt) _iwmmxt=no ;;
1226 --enable-mmx) _mmx=yes ;;
1227 --disable-mmx) # 3Dnow! and MMX2 require MMX
1228 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
1231 echo "Unknown parameter: $ac_option"
1232 exit 1
1235 esac
1236 done
1238 # Atmos: moved this here, to be correct, if --prefix is specified
1239 test -z "$_bindir" && _bindir="$_prefix/bin"
1240 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1241 test -z "$_mandir" && _mandir="$_prefix/share/man"
1242 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1243 test -z "$_libdir" && _libdir="$_prefix/lib"
1245 # Determine our OS name and CPU architecture
1246 if test -z "$_target" ; then
1247 # OS name
1248 system_name=`uname -s 2>&1`
1249 case "$system_name" in
1250 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
1252 IRIX*)
1253 system_name=IRIX
1255 GNU/kFreeBSD)
1256 system_name=FreeBSD
1258 HP-UX*)
1259 system_name=HP-UX
1261 [cC][yY][gG][wW][iI][nN]*)
1262 system_name=CYGWIN
1264 MINGW32*)
1265 system_name=MINGW32
1267 OS/2*)
1268 system_name=OS/2
1271 system_name="$system_name-UNKNOWN"
1273 esac
1276 # host's CPU/instruction set
1277 host_arch=`uname -p 2>&1`
1278 case "$host_arch" in
1279 i386|sparc|ppc|alpha|arm|mips|vax)
1281 powerpc) # Darwin returns 'powerpc'
1282 host_arch=ppc
1284 *) # uname -p on Linux returns 'unknown' for the processor type,
1285 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1287 # Maybe uname -m (machine hardware name) returns something we
1288 # recognize.
1290 # x86/x86pc is used by QNX
1291 case "`uname -m 2>&1`" in
1292 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 ;;
1293 ia64) host_arch=ia64 ;;
1294 x86_64|amd64)
1295 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
1296 -z "`echo $CFLAGS | grep -- -m32`" ]; then
1297 host_arch=x86_64
1298 else
1299 host_arch=i386
1302 macppc|ppc|ppc64) host_arch=ppc ;;
1303 alpha) host_arch=alpha ;;
1304 sparc) host_arch=sparc ;;
1305 sparc64) host_arch=sparc64 ;;
1306 parisc*|hppa*|9000*) host_arch=hppa ;;
1307 arm*|zaurus|cats) host_arch=arm ;;
1308 sh3|sh4|sh4a) host_arch=sh ;;
1309 s390) host_arch=s390 ;;
1310 s390x) host_arch=s390x ;;
1311 mips*) host_arch=mips ;;
1312 vax) host_arch=vax ;;
1313 xtensa*) host_arch=xtensa ;;
1314 *) host_arch=UNKNOWN ;;
1315 esac
1317 esac
1318 else # if test -z "$_target"
1319 system_name=`echo $_target | cut -d '-' -f 2`
1320 case "`echo $system_name | tr A-Z a-z`" in
1321 linux) system_name=Linux ;;
1322 freebsd) system_name=FreeBSD ;;
1323 gnu/kfreebsd) system_name=FreeBSD ;;
1324 netbsd) system_name=NetBSD ;;
1325 bsd/os) system_name=BSD/OS ;;
1326 openbsd) system_name=OpenBSD ;;
1327 dragonfly) system_name=DragonFly ;;
1328 sunos) system_name=SunOS ;;
1329 qnx) system_name=QNX ;;
1330 morphos) system_name=MorphOS ;;
1331 amigaos) system_name=AmigaOS ;;
1332 mingw32msvc) system_name=MINGW32 ;;
1333 esac
1334 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1335 host_arch=`echo $_target | cut -d '-' -f 1`
1336 if test `echo $host_arch` != "x86_64" ; then
1337 host_arch=`echo $host_arch | tr '_' '-'`
1341 echo "Detected operating system: $system_name"
1342 echo "Detected host architecture: $host_arch"
1344 if test "$_runtime_cpudetection" = yes && ! x86 && ! ppc; then
1345 die "Runtime CPU detection only works for x86, x86-64 and PPC!"
1349 _timer=timer-linux.c
1350 _getch=getch2.c
1351 if freebsd ; then
1352 _ld_extra="$_ld_extra -L/usr/local/lib"
1353 _inc_extra="$_inc_extra -I/usr/local/include"
1356 if netbsd || dragonfly ; then
1357 _ld_extra="$_ld_extra -L/usr/pkg/lib"
1358 _inc_extra="$_inc_extra -I/usr/pkg/include"
1361 if darwin; then
1362 _ld_extra="$_ld_extra -L/usr/local/lib"
1363 _inc_extra="$_inc_extra -I/usr/local/include"
1364 _timer=timer-darwin.c
1367 if aix ; then
1368 _ld_extra="$_ld_extra -lC"
1371 if irix ; then
1372 _ranlib='ar -r'
1373 elif linux ; then
1374 _ranlib='true'
1377 if win32 ; then
1378 _exesuf=".exe"
1379 # -lwinmm is always needed for osdep/timer-win2.c
1380 _ld_extra="$_ld_extra -lwinmm"
1381 _pe_executable=yes
1382 _timer=timer-win2.c
1385 if mingw32 ; then
1386 _getch=getch2-win.c
1387 _need_shmem=no
1390 if cygwin ; then
1391 _def_confwin32='#define WIN32'
1394 if amigaos ; then
1395 _select=no
1396 _sighandler=no
1397 _stream_cache=no
1398 _def_stream_cache="#undef CONFIG_STREAM_CACHE"
1401 if qnx ; then
1402 _ld_extra="$_ld_extra -lph"
1405 if os2 ; then
1406 _exesuf=".exe"
1407 _getch=getch2-os2.c
1408 _need_shmem=no
1411 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1412 test "$I" && break
1413 done
1416 TMPLOG="configure.log"
1417 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
1418 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
1419 TMPEXE="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1420 TMPH="$I/mplayer-conf-$RANDOM-$$.h"
1421 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
1423 rm -f "$TMPLOG"
1424 echo configuration: $_configuration > "$TMPLOG"
1425 echo >> "$TMPLOG"
1428 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
1429 # if used as 'head -1' instead of 'head -n 1', but older versions don't
1430 # know about '-n'.
1431 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
1432 _head() { head -$1 2>/dev/null ; }
1433 else
1434 _head() { head -n $1 2>/dev/null ; }
1436 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
1437 _tail() { tail -$1 2>/dev/null ; }
1438 else
1439 _tail() { tail -n $1 2>/dev/null ; }
1442 # Checking CC version...
1443 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1444 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
1445 echocheck "$_cc version"
1446 cc_vendor=intel
1447 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
1448 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
1449 _cc_major=`echo $cc_version | cut -d '.' -f 1`
1450 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
1451 # TODO verify older icc/ecc compatibility
1452 case $cc_version in
1454 cc_version="v. ?.??, bad"
1455 cc_fail=yes
1457 10.1)
1458 cc_version="$cc_version, ok"
1461 cc_version="$cc_version, bad"
1462 cc_fail=yes
1464 esac
1465 echores "$cc_version"
1466 else
1467 for _cc in "$_cc" cc gcc ; do
1468 cc_name_tmp=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
1469 if test "$cc_name_tmp" = "gcc"; then
1470 cc_name=$cc_name_tmp
1471 echocheck "$_cc version"
1472 cc_vendor=gnu
1473 cc_version=`$_cc -dumpversion 2>&1`
1474 case $cc_version in
1475 2.96*)
1476 cc_fail=yes
1479 _cc_major=`echo $cc_version | cut -d '.' -f 1`
1480 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
1481 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
1483 esac
1484 echores "$cc_version"
1485 break
1487 done
1488 fi # icc
1489 test "$cc_fail" = yes && die "unsupported compiler version"
1491 echocheck "host cc"
1492 test "$_host_cc" || _host_cc=$_cc
1493 echores $_host_cc
1495 echocheck "cross compilation"
1496 if test $_cross_compile = auto ; then
1497 cat > $TMPC << EOF
1498 int main(void) { return 0; }
1500 _cross_compile=yes
1501 cc_check && "$TMPEXE" && _cross_compile=no
1503 echores $_cross_compile
1505 if test $_cross_compile = yes; then
1506 tmp_run() {
1507 return 0
1511 # ---
1513 # now that we know what compiler should be used for compilation, try to find
1514 # out which assembler is used by the $_cc compiler
1515 if test "$_as" = auto ; then
1516 _as=`$_cc -print-prog-name=as`
1517 test -z "$_as" && _as=as
1520 # XXX: this should be ok..
1521 _cpuinfo="echo"
1523 if test "$_runtime_cpudetection" = no ; then
1525 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1526 # FIXME: Remove the cygwin check once AMD CPUs are supported
1527 if test -r /proc/cpuinfo && ! cygwin; then
1528 # Linux with /proc mounted, extract CPU information from it
1529 _cpuinfo="cat /proc/cpuinfo"
1530 elif test -r /compat/linux/proc/cpuinfo && ! x86_32 ; then
1531 # FreeBSD with Linux emulation /proc mounted,
1532 # extract CPU information from it
1533 _cpuinfo="cat /compat/linux/proc/cpuinfo"
1534 elif darwin && ! x86_32 ; then
1535 # use hostinfo on Darwin
1536 _cpuinfo="hostinfo"
1537 elif aix; then
1538 # use 'lsattr' on AIX
1539 _cpuinfo="lsattr -E -l proc0 -a type"
1540 elif x86; then
1541 # all other OSes try to extract CPU information from a small helper
1542 # program cpuinfo instead
1543 $_cc -o cpuinfo$_exesuf cpuinfo.c
1544 _cpuinfo="./cpuinfo$_exesuf"
1547 if x86 ; then
1548 # gather more CPU information
1549 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
1550 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1551 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1552 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1553 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1555 exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
1557 pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1558 -e s/xmm/sse/ -e s/kni/sse/`
1560 for ext in $pparam ; do
1561 eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
1562 done
1564 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1565 test $_sse = kernel_check && _mmxext=kernel_check
1567 echocheck "CPU vendor"
1568 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
1570 echocheck "CPU type"
1571 echores "$pname"
1574 fi # test "$_runtime_cpudetection" = no
1576 if x86 && test "$_runtime_cpudetection" = no ; then
1577 extcheck() {
1578 if test "$1" = kernel_check ; then
1579 echocheck "kernel support of $2"
1580 cat > $TMPC <<EOF
1581 #include <stdlib.h>
1582 #include <signal.h>
1583 void catch() { exit(1); }
1584 int main(void) {
1585 signal(SIGILL, catch);
1586 __asm__ __volatile__ ("$3":::"memory"); return 0;
1590 if cc_check && tmp_run ; then
1591 eval _$2=yes
1592 echores "yes"
1593 _optimizing="$_optimizing $2"
1594 return 0
1595 else
1596 eval _$2=no
1597 echores "failed"
1598 echo "It seems that your kernel does not correctly support $2."
1599 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1600 return 1
1603 return 0
1606 extcheck $_mmx "mmx" "emms"
1607 extcheck $_mmxext "mmxext" "sfence"
1608 extcheck $_3dnow "3dnow" "femms"
1609 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1610 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
1611 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
1612 extcheck $_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1613 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx"
1615 echocheck "mtrr support"
1616 if test "$_mtrr" = kernel_check ; then
1617 _mtrr="yes"
1618 _optimizing="$_optimizing mtrr"
1620 echores "$_mtrr"
1622 if test "$_gcc3_ext" != ""; then
1623 # if we had to disable sse/sse2 because the active kernel does not
1624 # support this instruction set extension, we also have to tell
1625 # gcc3 to not generate sse/sse2 instructions for normal C code
1626 cat > $TMPC << EOF
1627 int main(void) { return 0; }
1629 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1635 _arch_all='X86 X86_32 X86_64 IA64 SPARC ARM ARMV4L SH POWERPC PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1636 case "$host_arch" in
1637 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
1638 _arch='X86 X86_32'
1639 _target_arch_x86="ARCH_X86 = yes"
1640 _target_arch="ARCH_X86_32 = yes"
1641 _def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1642 iproc=486
1643 proc=i486
1646 if test "$_runtime_cpudetection" = no ; then
1647 case "$pvendor" in
1648 AuthenticAMD)
1649 case "$pfamily" in
1650 3) proc=i386 iproc=386 ;;
1651 4) proc=i486 iproc=486 ;;
1652 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1653 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1654 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1655 proc=k6-3
1656 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1657 proc=geode
1658 elif test "$pmodel" -ge 8; then
1659 proc=k6-2
1660 elif test "$pmodel" -ge 6; then
1661 proc=k6
1662 else
1663 proc=i586
1666 6) iproc=686
1667 # It's a bit difficult to determine the correct type of Family 6
1668 # AMD CPUs just from their signature. Instead, we check directly
1669 # whether it supports SSE.
1670 if test "$_sse" = yes; then
1671 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1672 proc=athlon-xp
1673 else
1674 # Again, gcc treats athlon and athlon-tbird similarly.
1675 proc=athlon
1678 15) iproc=686
1679 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1680 # caught and remedied in the optimization tests below.
1681 proc=k8
1684 *) proc=k8 iproc=686 ;;
1685 esac
1687 GenuineIntel)
1688 case "$pfamily" in
1689 3) proc=i386 iproc=386 ;;
1690 4) proc=i486 iproc=486 ;;
1691 5) iproc=586
1692 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
1693 proc=pentium-mmx # 4 is desktop, 8 is mobile
1694 else
1695 proc=i586
1698 6) iproc=686
1699 if test "$pmodel" -ge 15; then
1700 proc=core2
1701 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1702 proc=pentium-m
1703 elif test "$pmodel" -ge 7; then
1704 proc=pentium3
1705 elif test "$pmodel" -ge 3; then
1706 proc=pentium2
1707 else
1708 proc=i686
1711 15) iproc=686
1712 # A nocona in 32-bit mode has no more capabilities than a prescott.
1713 if test "$pmodel" -ge 3; then
1714 proc=prescott
1715 else
1716 proc=pentium4
1718 test $_fast_cmov = "auto" && _fast_cmov=no
1720 *) proc=prescott iproc=686 ;;
1721 esac
1723 CentaurHauls)
1724 case "$pfamily" in
1725 5) iproc=586
1726 if test "$pmodel" -ge 8; then
1727 proc=winchip2
1728 elif test "$pmodel" -ge 4; then
1729 proc=winchip-c6
1730 else
1731 proc=i586
1734 6) iproc=686
1735 if test "$pmodel" -ge 9; then
1736 proc=c3-2
1737 else
1738 proc=c3
1739 iproc=586
1742 *) proc=i686 iproc=i686 ;;
1743 esac
1745 unknown)
1746 case "$pfamily" in
1747 3) proc=i386 iproc=386 ;;
1748 4) proc=i486 iproc=486 ;;
1749 *) proc=i586 iproc=586 ;;
1750 esac
1753 proc=i586 iproc=586 ;;
1754 esac
1755 fi # test "$_runtime_cpudetection" = no
1758 # check that gcc supports our CPU, if not, fall back to earlier ones
1759 # LGB: check -mcpu and -march swithing step by step with enabling
1760 # to fall back till 386.
1762 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1764 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1765 cpuopt=-mtune
1766 else
1767 cpuopt=-mcpu
1770 echocheck "GCC & CPU optimization abilities"
1771 cat > $TMPC << EOF
1772 int main(void) { return 0; }
1774 if test "$_runtime_cpudetection" = no ; then
1775 cc_check -march=native && proc=native
1776 if test "$proc" = "k8"; then
1777 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1779 if test "$proc" = "athlon-xp"; then
1780 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1782 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1783 cc_check -march=$proc $cpuopt=$proc || proc=k6
1785 if test "$proc" = "k6" || test "$proc" = "c3"; then
1786 if ! cc_check -march=$proc $cpuopt=$proc; then
1787 if cc_check -march=i586 $cpuopt=i686; then
1788 proc=i586-i686
1789 else
1790 proc=i586
1794 if test "$proc" = "prescott" ; then
1795 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1797 if test "$proc" = "core2" ; then
1798 cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
1800 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
1801 cc_check -march=$proc $cpuopt=$proc || proc=i686
1803 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1804 cc_check -march=$proc $cpuopt=$proc || proc=i586
1806 if test "$proc" = "i586"; then
1807 cc_check -march=$proc $cpuopt=$proc || proc=i486
1809 if test "$proc" = "i486" ; then
1810 cc_check -march=$proc $cpuopt=$proc || proc=i386
1812 if test "$proc" = "i386" ; then
1813 cc_check -march=$proc $cpuopt=$proc || proc=error
1815 if test "$proc" = "error" ; then
1816 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1817 _mcpu=""
1818 _march=""
1819 _optimizing=""
1820 elif test "$proc" = "i586-i686"; then
1821 _march="-march=i586"
1822 _mcpu="$cpuopt=i686"
1823 _optimizing="$proc"
1824 else
1825 _march="-march=$proc"
1826 _mcpu="$cpuopt=$proc"
1827 _optimizing="$proc"
1829 else # if test "$_runtime_cpudetection" = no
1830 _mcpu="$cpuopt=generic"
1831 # at least i486 required, for bswap instruction
1832 _march="-march=i486"
1833 cc_check $_mcpu || _mcpu="$cpuopt=i686"
1834 cc_check $_mcpu || _mcpu=""
1835 cc_check $_march $_mcpu || _march=""
1838 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1839 ## autodetected mcpu/march parameters
1840 if test "$_target" ; then
1841 # TODO: it may be a good idea to check GCC and fall back in all cases
1842 if test "$host_arch" = "i586-i686"; then
1843 _march="-march=i586"
1844 _mcpu="$cpuopt=i686"
1845 else
1846 _march="-march=$host_arch"
1847 _mcpu="$cpuopt=$host_arch"
1850 proc="$host_arch"
1852 case "$proc" in
1853 i386) iproc=386 ;;
1854 i486) iproc=486 ;;
1855 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1856 i686|athlon*|pentium*) iproc=686 ;;
1857 *) iproc=586 ;;
1858 esac
1861 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1862 _fast_cmov="yes"
1863 else
1864 _fast_cmov="no"
1867 echores "$proc"
1870 ia64)
1871 _arch='IA64'
1872 _target_arch='ARCH_IA64 = yes'
1873 iproc='ia64'
1874 proc=''
1875 _march=''
1876 _mcpu=''
1877 _optimizing=''
1880 x86_64|amd64)
1881 _arch='X86 X86_64'
1882 _target_arch='ARCH_X86_64 = yes'
1883 _target_arch_x86="ARCH_X86 = yes"
1884 _def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1885 iproc='x86_64'
1887 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1888 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1889 cpuopt=-mtune
1890 else
1891 cpuopt=-mcpu
1893 if test "$_runtime_cpudetection" = no ; then
1894 case "$pvendor" in
1895 AuthenticAMD)
1896 proc=k8;;
1897 GenuineIntel)
1898 case "$pfamily" in
1899 6) proc=core2;;
1901 # 64-bit prescotts exist, but as far as GCC is concerned they
1902 # have the same capabilities as a nocona.
1903 proc=nocona
1904 test $_fast_cmov = "auto" && _fast_cmov=no
1906 esac
1909 proc=error;;
1910 esac
1911 fi # test "$_runtime_cpudetection" = no
1913 echocheck "GCC & CPU optimization abilities"
1914 cat > $TMPC << EOF
1915 int main(void) { return 0; }
1917 # This is a stripped-down version of the i386 fallback.
1918 if test "$_runtime_cpudetection" = no ; then
1919 cc_check -march=native && proc=native
1920 # --- AMD processors ---
1921 if test "$proc" = "k8"; then
1922 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1924 # This will fail if gcc version < 3.3, which is ok because earlier
1925 # versions don't really support 64-bit on amd64.
1926 # Is this a valid assumption? -Corey
1927 if test "$proc" = "athlon-xp"; then
1928 cc_check -march=$proc $cpuopt=$proc || proc=error
1930 # --- Intel processors ---
1931 if test "$proc" = "core2"; then
1932 cc_check -march=$proc $cpuopt=$proc || proc=nocona
1934 if test "$proc" = "nocona"; then
1935 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1937 if test "$proc" = "pentium4"; then
1938 cc_check -march=$proc $cpuopt=$proc || proc=error
1941 _march="-march=$proc"
1942 _mcpu="$cpuopt=$proc"
1943 if test "$proc" = "error" ; then
1944 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1945 _mcpu=""
1946 _march=""
1948 else # if test "$_runtime_cpudetection" = no
1949 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1950 _march="-march=x86-64"
1951 _mcpu="$cpuopt=generic"
1952 cc_check $_mcpu || _mcpu="x86-64"
1953 cc_check $_mcpu || _mcpu=""
1954 cc_check $_march $_mcpu || _march=""
1957 _optimizing=""
1959 echores "$proc"
1962 sparc)
1963 _arch='SPARC'
1964 _target_arch='ARCH_SPARC = yes'
1965 iproc='sparc'
1966 if sunos ; then
1967 echocheck "CPU type"
1968 karch=`uname -m`
1969 case "`echo $karch`" in
1970 sun4) proc=v7 ;;
1971 sun4c) proc=v7 ;;
1972 sun4d) proc=v8 ;;
1973 sun4m) proc=v8 ;;
1974 sun4u) proc=ultrasparc _vis='yes' ;;
1975 sun4v) proc=v9 ;;
1976 *) proc=v8 ;;
1977 esac
1978 echores "$proc"
1979 else
1980 proc=v8
1982 _march=''
1983 _mcpu="-mcpu=$proc"
1984 _optimizing="$proc"
1987 sparc64)
1988 _arch='SPARC'
1989 _target_arch='ARCH_SPARC = yes'
1990 _vis='yes'
1991 iproc='sparc'
1992 proc='ultrasparc'
1993 _march=''
1994 _mcpu="-mcpu=$proc"
1995 _optimizing="$proc"
1998 arm|armv4l|armv5tel)
1999 _arch='ARM ARMV4L'
2000 _target_arch='ARCH_ARMV4L = yes'
2001 iproc='arm'
2002 proc=''
2003 _march=''
2004 _mcpu=''
2005 _optimizing=''
2009 _arch='SH'
2010 _target_arch='ARCH_SH = yes'
2011 iproc='sh'
2012 proc=''
2013 _march=''
2014 _mcpu=''
2015 _optimizing=''
2018 ppc|ppc64|powerpc|powerpc64)
2019 _arch='POWERPC PPC'
2020 _def_dcbzl='#undef HAVE_DCBZL'
2021 _target_arch='ARCH_POWERPC = yes'
2022 iproc='ppc'
2023 proc=''
2024 _march=''
2025 _mcpu=''
2026 _optimizing=''
2028 echocheck "CPU type"
2029 case $system_name in
2030 Linux)
2031 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
2032 if test -n "`$_cpuinfo | grep altivec`"; then
2033 test $_altivec = auto && _altivec=yes
2036 Darwin)
2037 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
2038 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
2039 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
2040 test $_altivec = auto && _altivec=yes
2043 NetBSD)
2044 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2045 case $cc_version in
2046 2*|3.0*|3.1*|3.2*|3.3*)
2049 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
2050 test $_altivec = auto && _altivec=yes
2053 esac
2055 AIX)
2056 proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
2058 esac
2059 if test "$_altivec" = yes; then
2060 echores "$proc altivec"
2061 else
2062 _altivec=no
2063 echores "$proc"
2066 echocheck "GCC & CPU optimization abilities"
2068 if test -n "$proc"; then
2069 case "$proc" in
2070 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
2071 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
2072 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
2073 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
2074 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
2075 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
2076 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
2077 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
2078 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
2079 *) ;;
2080 esac
2081 # gcc 3.1(.1) and up supports 7400 and 7450
2082 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
2083 case "$proc" in
2084 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
2085 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
2086 *) ;;
2087 esac
2089 # gcc 3.2 and up supports 970
2090 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2091 case "$proc" in
2092 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
2093 _def_dcbzl='#define HAVE_DCBZL 1' ;;
2094 *) ;;
2095 esac
2097 # gcc 3.3 and up supports POWER4
2098 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2099 case "$proc" in
2100 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
2101 *) ;;
2102 esac
2104 # gcc 3.4 and up supports 440*
2105 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
2106 case "$proc" in
2107 440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
2108 440G* ) _march='-mcpu=440' _mcpu='-mtune=440' ;;
2109 *) ;;
2110 esac
2112 # gcc 4.0 and up supports POWER5
2113 if test "$_cc_major" -ge "4"; then
2114 case "$proc" in
2115 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
2116 *) ;;
2117 esac
2121 if test -n "$_mcpu"; then
2122 _optimizing=`echo $_mcpu | cut -c 8-`
2123 echores "$_optimizing"
2124 else
2125 echores "none"
2130 alpha)
2131 _arch='ALPHA'
2132 _target_arch='ARCH_ALPHA = yes'
2133 iproc='alpha'
2134 _march=''
2136 echocheck "CPU type"
2137 cat > $TMPC << EOF
2138 int main(void) {
2139 unsigned long ver, mask;
2140 asm ("implver %0" : "=r" (ver));
2141 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
2142 printf("%ld-%x\n", ver, ~mask);
2143 return 0;
2146 $_cc -o "$TMPEXE" "$TMPC"
2147 case `"$TMPEXE"` in
2149 0-0) proc="ev4"; _mvi="0";;
2150 1-0) proc="ev5"; _mvi="0";;
2151 1-1) proc="ev56"; _mvi="0";;
2152 1-101) proc="pca56"; _mvi="1";;
2153 2-303) proc="ev6"; _mvi="1";;
2154 2-307) proc="ev67"; _mvi="1";;
2155 2-1307) proc="ev68"; _mvi="1";;
2156 esac
2157 echores "$proc"
2159 echocheck "GCC & CPU optimization abilities"
2160 if test "$proc" = "ev68" ; then
2161 cc_check -mcpu=$proc || proc=ev67
2163 if test "$proc" = "ev67" ; then
2164 cc_check -mcpu=$proc || proc=ev6
2166 _mcpu="-mcpu=$proc"
2167 echores "$proc"
2169 _optimizing="$proc"
2172 mips)
2173 _arch='SGI_MIPS'
2174 _target_arch='ARCH_SGI_MIPS = yes'
2175 iproc='sgi-mips'
2176 proc=''
2177 _march=''
2178 _mcpu=''
2179 _optimizing=''
2181 if irix ; then
2182 echocheck "CPU type"
2183 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
2184 case "`echo $proc`" in
2185 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
2186 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
2187 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
2188 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
2189 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
2190 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
2191 esac
2192 # gcc < 3.x does not support -mtune.
2193 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2194 _mcpu=''
2196 echores "$proc"
2201 hppa)
2202 _arch='PA_RISC'
2203 _target_arch='ARCH_PA_RISC = yes'
2204 iproc='PA-RISC'
2205 proc=''
2206 _march=''
2207 _mcpu=''
2208 _optimizing=''
2211 s390)
2212 _arch='S390'
2213 _target_arch='ARCH_S390 = yes'
2214 iproc='390'
2215 proc=''
2216 _march=''
2217 _mcpu=''
2218 _optimizing=''
2221 s390x)
2222 _arch='S390X'
2223 _target_arch='ARCH_S390X = yes'
2224 iproc='390x'
2225 proc=''
2226 _march=''
2227 _mcpu=''
2228 _optimizing=''
2231 vax)
2232 _arch='VAX'
2233 _target_arch='ARCH_VAX = yes'
2234 iproc='vax'
2235 proc=''
2236 _march=''
2237 _mcpu=''
2238 _optimizing=''
2241 xtensa)
2242 _arch='XTENSA'
2243 _target_arch='ARCH_XTENSA = yes'
2244 iproc='xtensa'
2245 proc=''
2246 _march=''
2247 _mcpu=''
2248 _optimizing=''
2251 generic)
2252 _arch='GENERIC'
2253 _target_arch='ARCH_GENERIC = yes'
2254 iproc=''
2255 proc=''
2256 _march=''
2257 _mcpu=''
2258 _optimizing=''
2262 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2263 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2264 die "unsupported architecture $host_arch"
2266 esac # case "$host_arch" in
2268 if test "$_runtime_cpudetection" = yes ; then
2269 if x86 ; then
2270 test "$_cmov" != no && _cmov=yes
2271 x86_32 && _cmov=no
2272 test "$_mmx" != no && _mmx=yes
2273 test "$_3dnow" != no && _3dnow=yes
2274 test "$_3dnowext" != no && _3dnowext=yes
2275 test "$_mmxext" != no && _mmxext=yes
2276 test "$_sse" != no && _sse=yes
2277 test "$_sse2" != no && _sse2=yes
2278 test "$_ssse3" != no && _ssse3=yes
2279 test "$_mtrr" != no && _mtrr=yes
2281 if ppc; then
2282 _altivec=yes
2287 echocheck "extern symbol prefix"
2288 cat > $TMPC << EOF
2289 int ff_extern;
2291 cc_check -c || die "Symbol mangling check failed."
2292 sym=$(nm -P -g $TMPEXE)
2293 extern_prefix=${sym%%ff_extern*}
2294 _def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
2295 echores $extern_prefix
2298 echocheck "assembler support of -pipe option"
2299 cat > $TMPC << EOF
2300 int main(void) { return 0; }
2302 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
2305 echocheck "compiler support of named assembler arguments"
2306 _named_asm_args=yes
2307 _def_named_asm_args="#define NAMED_ASM_ARGS 1"
2308 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2309 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2310 _named_asm_args=no
2311 _def_named_asm_args="#undef NAMED_ASM_ARGS"
2313 echores $_named_asm_args
2316 if darwin && test "$cc_vendor" = "gnu" ; then
2317 echocheck "GCC support of -mstackrealign"
2318 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2319 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2320 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2321 # wrong code with this flag, but this can be worked around by adding
2322 # -fno-unit-at-a-time as described in the blog post at
2323 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2324 cat > $TMPC << EOF
2325 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2326 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2328 cc_check -O4 -mstackrealign && tmp_run && cflags_stackrealign=-mstackrealign
2329 test -z "$cflags_stackrealign" && cc_check -O4 -mstackrealign -fno-unit-at-a-time \
2330 && tmp_run && cflags_stackrealign="-mstackrealign -fno-unit-at-a-time"
2331 test -n "$cflags_stackrealign" && echores "yes" || echores "no"
2332 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2335 # Checking for CFLAGS
2336 _install_strip="-s"
2337 if test "$_profile" != "" || test "$_debug" != "" ; then
2338 CFLAGS="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2339 _install_strip=
2340 elif test -z "$CFLAGS" ; then
2341 if test "$cc_vendor" = "intel" ; then
2342 CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2343 elif test "$cc_vendor" != "gnu" ; then
2344 CFLAGS="-O2 $_march $_mcpu $_pipe"
2345 else
2346 CFLAGS="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2348 else
2349 _warn_CFLAGS=yes
2351 if test -n "$LDFLAGS" ; then
2352 _ld_extra="$_ld_extra $LDFLAGS"
2353 _warn_CFLAGS=yes
2354 elif test "$cc_vendor" = "intel" ; then
2355 _ld_extra="$_ld_extra -i-static"
2357 if test -n "$CPPFLAGS" ; then
2358 _inc_extra="$_inc_extra $CPPFLAGS"
2359 _warn_CFLAGS=yes
2364 if x86_32 ; then
2365 # Checking assembler (_as) compatibility...
2366 # Added workaround for older as that reads from stdin by default - atmos
2367 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2368 echocheck "assembler ($_as $as_version)"
2370 _pref_as_version='2.9.1'
2371 echo 'nop' > $TMPS
2372 if test "$_mmx" = yes ; then
2373 echo 'emms' >> $TMPS
2375 if test "$_3dnow" = yes ; then
2376 _pref_as_version='2.10.1'
2377 echo 'femms' >> $TMPS
2379 if test "$_3dnowext" = yes ; then
2380 _pref_as_version='2.10.1'
2381 echo 'pswapd %mm0, %mm0' >> $TMPS
2383 if test "$_mmxext" = yes ; then
2384 _pref_as_version='2.10.1'
2385 echo 'movntq %mm0, (%eax)' >> $TMPS
2387 if test "$_sse" = yes ; then
2388 _pref_as_version='2.10.1'
2389 echo 'xorps %xmm0, %xmm0' >> $TMPS
2391 #if test "$_sse2" = yes ; then
2392 # _pref_as_version='2.11'
2393 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2395 if test "$_cmov" = yes ; then
2396 _pref_as_version='2.10.1'
2397 echo 'cmovb %eax, %ebx' >> $TMPS
2399 if test "$_ssse3" = yes ; then
2400 _pref_as_version='2.16.92'
2401 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2403 $_as $TMPS -o $TMPEXE > /dev/null 2>&1 || as_verc_fail=yes
2405 if test "$as_verc_fail" != yes ; then
2406 echores "ok"
2407 else
2408 _res_comment="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2409 echores "failed"
2410 die "obsolete binutils version"
2413 fi #if x86_32
2415 echocheck ".align is a power of two"
2416 if test "$_asmalign_pot" = auto ; then
2417 _asmalign_pot=no
2418 cat > $TMPC << EOF
2419 int main(void) { asm (".align 3"); return 0; }
2421 cc_check && _asmalign_pot=yes
2423 if test "$_asmalign_pot" = "yes" ; then
2424 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2425 else
2426 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2428 echores $_asmalign_pot
2431 #FIXME: This should happen before the check for CFLAGS..
2432 if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
2434 # check if AltiVec is supported by the compiler, and how to enable it
2435 echocheck "GCC AltiVec flags"
2436 cat > $TMPC << EOF
2437 int main(void) { return 0; }
2439 if $(cc_check -maltivec -mabi=altivec) ; then
2440 _altivec_gcc_flags="-maltivec -mabi=altivec"
2441 # check if <altivec.h> should be included
2442 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2443 cat > $TMPC << EOF
2444 #include <altivec.h>
2445 int main(void) { return 0; }
2447 if $(cc_check $_altivec_gcc_flags) ; then
2448 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2449 inc_altivec_h='#include <altivec.h>'
2450 else
2451 cat > $TMPC << EOF
2452 int main(void) { return 0; }
2454 if $(cc_check -faltivec) ; then
2455 _altivec_gcc_flags="-faltivec"
2456 else
2457 _altivec=no
2458 _altivec_gcc_flags="none, AltiVec disabled"
2462 echores "$_altivec_gcc_flags"
2464 # check if the compiler supports braces for vector declarations
2465 cat > $TMPC << EOF
2466 $inc_altivec_h
2467 int main(void) { (vector int) {1}; return 0; }
2469 cc_check $_altivec_gcc_flags || die "You need a compiler that supports {} in AltiVec vector declarations."
2471 # Disable runtime cpudetection if we cannot generate AltiVec code or
2472 # AltiVec is disabled by the user.
2473 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2474 && _runtime_cpudetection=no
2476 # Show that we are optimizing for AltiVec (if enabled and supported).
2477 test "$_runtime_cpudetection" = no && test "$_altivec" = yes \
2478 && _optimizing="$_optimizing altivec"
2480 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2481 test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"
2484 if arm ; then
2485 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2486 if test $_armv5te = "auto" ; then
2487 cat > $TMPC << EOF
2488 int main(void) { __asm__ __volatile__ ("qadd r0, r0, r0"); return 0; }
2490 _armv5te=no
2491 cc_check && _armv5te=yes
2493 echores "$_armv5te"
2495 echocheck "ARMv6 (SIMD instructions)"
2496 if test $_armv6 = "auto" ; then
2497 cat > $TMPC << EOF
2498 int main(void) { __asm__ __volatile__ ("sadd16 r0, r0, r0"); return 0; }
2500 _armv6=no
2501 cc_check && _armv6=yes
2503 echores "$_armv6"
2505 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2506 if test $_iwmmxt = "auto" ; then
2507 cat > $TMPC << EOF
2508 int main(void) { __asm__ __volatile__ ("wunpckelub wr6, wr4"); return 0; }
2510 _iwmmxt=no
2511 cc_check && _iwmmxt=yes
2513 echores "$_iwmmxt"
2516 _cpuexts_all='ALTIVEC MMX MMX2 3DNOW 3DNOWEX SSE SSE2 SSSE3 FAST_CMOV CMOV ARMV5TE ARMV6 IWMMXT MLIB MMI SH4 VIS MVI'
2517 test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts"
2518 test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
2519 test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
2520 test "$_3dnow" = yes && _cpuexts="3DNOW $_cpuexts"
2521 test "$_3dnowext" = yes && _cpuexts="3DNOWEX $_cpuexts"
2522 test "$_sse" = yes && _cpuexts="SSE $_cpuexts"
2523 test "$_sse2" = yes && _cpuexts="SSE2 $_cpuexts"
2524 test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
2525 test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
2526 test "$_fast_cmov" = yes && _cpuexts="FAST_CMOV $_cpuexts"
2527 test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
2528 test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
2529 test "$_iwmmxt" = yes && _cpuexts="IWMMXT $_cpuexts"
2530 test "$_vis" = yes && _cpuexts="VIS $_cpuexts"
2531 test "$_mvi" = yes && _cpuexts="MVI $_cpuexts"
2533 # Checking kernel version...
2534 if x86_32 && linux ; then
2535 _k_verc_problem=no
2536 kernel_version=`uname -r 2>&1`
2537 echocheck "$system_name kernel version"
2538 case "$kernel_version" in
2539 '') kernel_version="?.??"; _k_verc_fail=yes;;
2540 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2541 _k_verc_problem=yes;;
2542 esac
2543 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2544 _k_verc_fail=yes
2546 if test "$_k_verc_fail" ; then
2547 echores "$kernel_version, fail"
2548 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2549 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2550 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2551 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2552 echo "2.2.x you must upgrade it to get SSE support!"
2553 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2554 else
2555 echores "$kernel_version, ok"
2559 ######################
2560 # MAIN TESTS GO HERE #
2561 ######################
2564 echocheck "-lposix"
2565 cat > $TMPC <<EOF
2566 int main(void) { return 0; }
2568 if cc_check -lposix ; then
2569 _ld_extra="$_ld_extra -lposix"
2570 echores "yes"
2571 else
2572 echores "no"
2575 echocheck "-lm"
2576 cat > $TMPC <<EOF
2577 int main(void) { return 0; }
2579 if cc_check -lm ; then
2580 _ld_lm="-lm"
2581 echores "yes"
2582 else
2583 _ld_lm=""
2584 echores "no"
2588 echocheck "langinfo"
2589 if test "$_langinfo" = auto ; then
2590 cat > $TMPC <<EOF
2591 #include <langinfo.h>
2592 int main(void) { nl_langinfo(CODESET); return 0; }
2594 _langinfo=no
2595 cc_check && _langinfo=yes
2597 if test "$_langinfo" = yes ; then
2598 _def_langinfo='#define HAVE_LANGINFO 1'
2599 else
2600 _def_langinfo='#undef HAVE_LANGINFO'
2602 echores "$_langinfo"
2605 echocheck "language"
2606 test -z "$_language" && _language=$LINGUAS
2607 _language=`echo $_language | tr , " "`
2608 if $(echo $_language | grep -q all) ; then
2609 doc_lang=en ; doc_langs=$doc_lang_all
2610 man_lang=en ; man_langs=$man_lang_all
2611 msg_lang=en
2612 else
2613 for lang in $_language ; do
2614 if test -d DOCS/man/$lang ; then
2615 tmp_man_langs="$tmp_man_langs $lang"
2617 if test -d DOCS/xml/$lang ; then
2618 tmp_doc_langs="$tmp_doc_langs $lang"
2620 done
2621 man_langs=$tmp_man_langs
2622 doc_langs=$tmp_man_langs
2623 for lang in $_language ; do
2624 if test -f "help/help_mp-${lang}.h" ; then
2625 msg_lang=$lang
2626 break
2627 else
2628 echo ${_echo_n} "$lang not found, ${_echo_c}"
2629 _language=`echo $_language | sed "s/$lang *//"`
2631 done
2633 test -z "$doc_langs" && doc_langs=en
2634 test -z "$man_langs" && man_langs=en
2635 test -z "$doc_lang" && doc_lang=$(echo $doc_langs | cut -f1 -d" ")
2636 test -z "$man_lang" && man_lang=$(echo $man_langs | cut -f1 -d" ")
2637 test -z "$msg_lang" && msg_lang=en
2638 _mp_help="help/help_mp-${msg_lang}.h"
2639 echores "messages: $msg_lang - man pages: $man_langs - documentation: $doc_langs"
2642 echocheck "enable sighandler"
2643 if test "$_sighandler" = yes ; then
2644 _def_sighandler='#define CONFIG_SIGHANDLER 1'
2645 else
2646 _def_sighandler='#undef CONFIG_SIGHANDLER'
2648 echores "$_sighandler"
2650 echocheck "runtime cpudetection"
2651 if test "$_runtime_cpudetection" = yes ; then
2652 _optimizing="Runtime CPU-Detection enabled"
2653 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2654 else
2655 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2657 echores "$_runtime_cpudetection"
2660 echocheck "restrict keyword"
2661 for restrict_keyword in restrict __restrict __restrict__ ; do
2662 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2663 if cc_check; then
2664 _def_restrict_keyword=$restrict_keyword
2665 break;
2667 done
2668 if [ -n "$_def_restrict_keyword" ]; then
2669 echores "$_def_restrict_keyword"
2670 else
2671 echores "none"
2673 # Avoid infinite recursion loop ("#define restrict restrict")
2674 if [ "$_def_restrict_keyword" != "restrict" ]; then
2675 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2676 else
2677 _def_restrict_keyword=""
2681 echocheck "__builtin_expect"
2682 # GCC branch prediction hint
2683 cat > $TMPC << EOF
2684 int foo (int a) {
2685 a = __builtin_expect (a, 10);
2686 return a == 10 ? 0 : 1;
2688 int main(void) { return foo(10) && foo(0); }
2690 _builtin_expect=no
2691 cc_check && _builtin_expect=yes
2692 if test "$_builtin_expect" = yes ; then
2693 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2694 else
2695 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2697 echores "$_builtin_expect"
2700 echocheck "kstat"
2701 cat > $TMPC << EOF
2702 #include <kstat.h>
2703 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2705 _kstat=no
2706 cc_check -lkstat && _kstat=yes
2707 if test "$_kstat" = yes ; then
2708 _def_kstat="#define HAVE_LIBKSTAT 1"
2709 _ld_extra="$_ld_extra -lkstat"
2710 else
2711 _def_kstat="#undef HAVE_LIBKSTAT"
2713 echores "$_kstat"
2716 echocheck "posix4"
2717 # required for nanosleep on some systems
2718 cat > $TMPC << EOF
2719 #include <time.h>
2720 int main(void) { (void) nanosleep(0, 0); return 0; }
2722 _posix4=no
2723 cc_check -lposix4 && _posix4=yes
2724 if test "$_posix4" = yes ; then
2725 _ld_extra="$_ld_extra -lposix4"
2727 echores "$_posix4"
2729 for func in llrint lrint lrintf round roundf; do
2730 echocheck $func
2731 cat > $TMPC << EOF
2732 #include <math.h>
2733 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
2735 eval _$func=no
2736 cc_check -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes
2737 if eval test "x\$_$func" = "xyes"; then
2738 eval _def_$func="\"#define HAVE_`echo $func | tr '[a-z]' '[A-Z]'` 1\""
2739 echores yes
2740 else
2741 eval _def_$func="\"#undef HAVE_`echo $func | tr '[a-z]' '[A-Z]'`\""
2742 echores no
2744 done
2747 echocheck "mkstemp"
2748 cat > $TMPC << EOF
2749 #include <stdlib.h>
2750 int main(void) { char a; mkstemp(&a); return 0; }
2752 _mkstemp=no
2753 cc_check && _mkstemp=yes
2754 if test "$_mkstemp" = yes ; then
2755 _def_mkstemp='#define HAVE_MKSTEMP 1'
2756 else
2757 _def_mkstemp='#undef HAVE_MKSTEMP'
2759 echores "$_mkstemp"
2762 echocheck "nanosleep"
2763 # also check for nanosleep
2764 cat > $TMPC << EOF
2765 #include <time.h>
2766 int main(void) { (void) nanosleep(0, 0); return 0; }
2768 _nanosleep=no
2769 cc_check && _nanosleep=yes
2770 if test "$_nanosleep" = yes ; then
2771 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2772 else
2773 _def_nanosleep='#undef HAVE_NANOSLEEP'
2775 echores "$_nanosleep"
2778 echocheck "socklib"
2779 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2780 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2781 cat > $TMPC << EOF
2782 #include <netdb.h>
2783 #include <sys/socket.h>
2784 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2786 _socklib=no
2787 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2788 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2789 done
2790 if test $_winsock2 = auto && ! cygwin ; then
2791 _winsock2=no
2792 cat > $TMPC << EOF
2793 #include <winsock2.h>
2794 int main(void) { (void) gethostbyname(0); return 0; }
2796 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2798 test "$_ld_sock" && _res_comment="using $_ld_sock"
2799 echores "$_socklib"
2802 if test $_winsock2 = yes ; then
2803 _ld_sock="-lws2_32"
2804 _def_winsock2='#define HAVE_WINSOCK2 1'
2805 else
2806 _def_winsock2='#undef HAVE_WINSOCK2'
2810 _use_aton=no
2811 echocheck "inet_pton()"
2812 cat > $TMPC << EOF
2813 #include <sys/types.h>
2814 #include <sys/socket.h>
2815 #include <arpa/inet.h>
2816 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2818 if test "$_winsock2" = yes ; then
2819 _res_comment="using winsock2 functions instead"
2820 echores "no"
2821 elif cc_check $_ld_sock ; then
2822 # NOTE: Linux has libresolv but does not need it
2824 _res_comment="using $_ld_sock"
2825 echores "yes"
2826 elif cc_check $_ld_sock -lresolv ; then
2827 # NOTE: needed for SunOS at least
2828 _ld_sock="$_ld_sock -lresolv"
2829 _res_comment="using $_ld_sock"
2830 echores "yes"
2831 else
2832 _res_comment="trying inet_aton next"
2833 echores "no"
2835 echocheck "inet_aton()"
2836 cat > $TMPC << EOF
2837 #include <sys/types.h>
2838 #include <sys/socket.h>
2839 #include <arpa/inet.h>
2840 int main(void) { (void) inet_aton(0, 0); return 0; }
2842 _use_aton=yes
2843 if cc_check $_ld_sock ; then
2844 # NOTE: Linux has libresolv but does not need it
2846 _res_comment="using $_ld_sock"
2847 elif cc_check $_ld_sock -lresolv ; then
2848 # NOTE: needed for SunOS at least
2849 _ld_sock="$_ld_sock -lresolv"
2850 _res_comment="using $_ld_sock"
2851 else
2852 _use_aton=no
2853 _network=no
2854 _res_comment="network support disabled"
2856 echores "$_use_aton"
2859 _def_use_aton='#undef HAVE_ATON'
2860 if test "$_use_aton" = yes; then
2861 _def_use_aton='#define HAVE_ATON 1'
2865 echocheck "socklen_t"
2866 _socklen_t=no
2867 for header in "sys/socket.h" "ws2tcpip.h" ; do
2868 cat > $TMPC << EOF
2869 #include <$header>
2870 int main(void) { socklen_t v = 0; return v; }
2872 cc_check && _socklen_t=yes && break
2873 done
2874 if test "$_socklen_t" = yes ; then
2875 _def_socklen_t='#define HAVE_SOCKLEN_T 1'
2876 else
2877 _def_socklen_t='#undef HAVE_SOCKLEN_T'
2879 echores "$_socklen_t"
2882 echocheck "network"
2883 # FIXME network check
2884 if test "$_network" = yes ; then
2885 _def_network='#define CONFIG_NETWORK 1'
2886 _ld_extra="$_ld_extra $_ld_sock"
2887 _inputmodules="network $_inputmodules"
2888 else
2889 _noinputmodules="network $_noinputmodules"
2890 _def_network='#undef CONFIG_NETWORK'
2891 _ftp=no
2893 echores "$_network"
2895 echocheck "inttypes.h (required)"
2896 cat > $TMPC << EOF
2897 #include <inttypes.h>
2898 int main(void) { return 0; }
2900 _inttypes=no
2901 cc_check && _inttypes=yes
2902 echores "$_inttypes"
2904 if test "$_inttypes" = no ; then
2905 echocheck "bitypes.h (inttypes.h predecessor)"
2906 cat > $TMPC << EOF
2907 #include <sys/bitypes.h>
2908 int main(void) { return 0; }
2910 cc_check && _inttypes=yes
2911 if test "$_inttypes" = yes ; then
2912 die "You don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h into the include path, and re-run configure."
2913 else
2914 die "Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
2919 echocheck "int_fastXY_t in inttypes.h"
2920 cat > $TMPC << EOF
2921 #include <inttypes.h>
2922 int main(void) {
2923 volatile int_fast16_t v= 0;
2924 return v; }
2926 _fast_inttypes=no
2927 cc_check && _fast_inttypes=yes
2928 if test "$_fast_inttypes" = no ; then
2929 _def_fast_inttypes='
2930 typedef signed char int_fast8_t;
2931 typedef signed int int_fast16_t;
2932 typedef signed int int_fast32_t;
2933 typedef signed long long int_fast64_t;
2934 typedef unsigned char uint_fast8_t;
2935 typedef unsigned int uint_fast16_t;
2936 typedef unsigned int uint_fast32_t;
2937 typedef unsigned long long uint_fast64_t;'
2939 echores "$_fast_inttypes"
2942 echocheck "word size"
2943 _mp_wordsize="#undef MP_WORDSIZE"
2944 cat > $TMPC << EOF
2945 #include <stdio.h>
2946 #include <sys/types.h>
2947 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2949 cc_check && _wordsize=`$TMPEXE` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2950 echores "$_wordsize"
2953 echocheck "malloc.h"
2954 cat > $TMPC << EOF
2955 #include <malloc.h>
2956 int main(void) { (void) malloc(0); return 0; }
2958 _malloc=no
2959 cc_check && _malloc=yes
2960 if test "$_malloc" = yes ; then
2961 _def_malloc='#define HAVE_MALLOC_H 1'
2962 else
2963 _def_malloc='#undef HAVE_MALLOC_H'
2965 # malloc.h emits a warning in FreeBSD and OpenBSD
2966 freebsd || openbsd || dragonfly && _def_malloc='#undef HAVE_MALLOC_H'
2967 echores "$_malloc"
2970 echocheck "memalign()"
2971 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2972 cat > $TMPC << EOF
2973 #include <malloc.h>
2974 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
2976 _memalign=no
2977 cc_check && _memalign=yes
2978 if test "$_memalign" = yes ; then
2979 _def_memalign='#define HAVE_MEMALIGN 1'
2980 else
2981 _def_memalign='#undef HAVE_MEMALIGN'
2982 _def_map_memalign='#define memalign(a,b) malloc(b)'
2983 darwin || _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
2985 echores "$_memalign"
2988 echocheck "alloca.h"
2989 cat > $TMPC << EOF
2990 #include <alloca.h>
2991 int main(void) { (void) alloca(0); return 0; }
2993 _alloca=no
2994 cc_check && _alloca=yes
2995 if cc_check ; then
2996 _def_alloca='#define HAVE_ALLOCA_H 1'
2997 else
2998 _def_alloca='#undef HAVE_ALLOCA_H'
3000 echores "$_alloca"
3003 echocheck "byteswap.h"
3004 cat > $TMPC << EOF
3005 #include <byteswap.h>
3006 int main(void) { bswap_16(0); return 0; }
3008 _byteswap_h=no
3009 cc_check && _byteswap_h=yes
3010 if cc_check ; then
3011 _def_byteswap_h='#define HAVE_BYTESWAP_H 1'
3012 else
3013 _def_byteswap_h='#undef HAVE_BYTESWAP_H'
3015 echores "$_byteswap_h"
3018 echocheck "mman.h"
3019 cat > $TMPC << EOF
3020 #include <sys/types.h>
3021 #include <sys/mman.h>
3022 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3024 _mman=no
3025 cc_check && _mman=yes
3026 if test "$_mman" = yes ; then
3027 _def_mman='#define HAVE_SYS_MMAN_H 1'
3028 else
3029 _def_mman='#undef HAVE_SYS_MMAN_H'
3030 os2 && _need_mmap=yes
3032 echores "$_mman"
3034 cat > $TMPC << EOF
3035 #include <sys/types.h>
3036 #include <sys/mman.h>
3037 int main(void) { void *p = MAP_FAILED; return 0; }
3039 _mman_has_map_failed=no
3040 cc_check && _mman_has_map_failed=yes
3041 if test "$_mman_has_map_failed" = yes ; then
3042 _def_mman_has_map_failed=''
3043 else
3044 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
3047 echocheck "dynamic loader"
3048 cat > $TMPC << EOF
3049 #include <stddef.h>
3050 #include <dlfcn.h>
3051 int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
3053 _dl=no
3054 for _ld_tmp in "" "-ldl" ; do
3055 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
3056 done
3057 if test "$_dl" = yes ; then
3058 _def_dl='#define HAVE_LIBDL 1'
3059 else
3060 _def_dl='#undef HAVE_LIBDL'
3062 echores "$_dl"
3065 echocheck "dynamic a/v plugins support"
3066 if test "$_dl" = no ; then
3067 _dynamic_plugins=no
3069 if test "$_dynamic_plugins" = yes ; then
3070 _def_dynamic_plugins='#define CONFIG_DYNAMIC_PLUGINS 1'
3071 else
3072 _def_dynamic_plugins='#undef CONFIG_DYNAMIC_PLUGINS'
3074 echores "$_dynamic_plugins"
3077 _def_threads='#undef HAVE_THREADS'
3079 echocheck "pthread"
3080 if test "$_pthreads" = auto ; then
3081 cat > $TMPC << EOF
3082 #include <pthread.h>
3083 void* func(void *arg) { return arg; }
3084 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3086 _pthreads=no
3087 if ! hpux ; then
3088 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3089 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3090 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3091 done
3094 if test "$_pthreads" = yes ; then
3095 _res_comment="using $_ld_pthread"
3096 _def_pthreads='#define HAVE_PTHREADS 1'
3097 _def_threads='#define HAVE_THREADS 1'
3098 else
3099 _res_comment="v4l, v4l2, ao_nas, win32 loader disabled"
3100 _def_pthreads='#undef HAVE_PTHREADS'
3101 _nas=no ; _tv_v4l1=no ; _tv_v4l2=no
3102 mingw32 || _win32dll=no
3104 echores "$_pthreads"
3106 echocheck "w32threads"
3107 if test "$_pthreads" = yes ; then
3108 _res_comment="using pthread instead"
3109 _w32threads=no
3111 if test "$_w32threads" = auto ; then
3112 _w32threads=no
3113 mingw32 && _w32threads=yes
3115 test "$_w32threads" = yes && _def_threads='#define HAVE_THREADS 1'
3116 echores "$_w32threads"
3118 echocheck "rpath"
3119 netbsd &&_rpath=yes
3120 if test "$_rpath" = yes ; then
3121 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
3122 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3123 done
3124 _ld_extra=$tmp
3126 echores "$_rpath"
3128 echocheck "iconv"
3129 if test "$_iconv" = auto ; then
3130 cat > $TMPC << EOF
3131 #include <stdio.h>
3132 #include <unistd.h>
3133 #include <iconv.h>
3134 #define INBUFSIZE 1024
3135 #define OUTBUFSIZE 4096
3137 char inbuffer[INBUFSIZE];
3138 char outbuffer[OUTBUFSIZE];
3140 int main(void) {
3141 size_t numread;
3142 iconv_t icdsc;
3143 char *tocode="UTF-8";
3144 char *fromcode="cp1250";
3145 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3146 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3147 char *iptr=inbuffer;
3148 char *optr=outbuffer;
3149 size_t inleft=numread;
3150 size_t outleft=OUTBUFSIZE;
3151 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3152 != (size_t)(-1)) {
3153 write (1, outbuffer, OUTBUFSIZE - outleft);
3156 if (iconv_close(icdsc) == -1)
3159 return 0;
3162 _iconv=no
3163 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3164 cc_check $_ld_lm $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3165 _iconv=yes && break
3166 done
3168 if test "$_iconv" = yes ; then
3169 _def_iconv='#define CONFIG_ICONV 1'
3170 else
3171 _def_iconv='#undef CONFIG_ICONV'
3173 echores "$_iconv"
3176 echocheck "soundcard.h"
3177 _soundcard_h=no
3178 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3179 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3180 for _soundcard_header in "sys/soundcard.h" "soundcard.h"; do
3181 cat > $TMPC << EOF
3182 #include <$_soundcard_header>
3183 int main(void) { return 0; }
3185 cc_check && _soundcard_h=yes && _res_comment="$_soundcard_header" && break
3186 done
3188 if test "$_soundcard_h" = yes ; then
3189 if test $_soundcard_header = "sys/soundcard.h"; then
3190 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
3191 else
3192 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3195 echores "$_soundcard_h"
3198 echocheck "sys/dvdio.h"
3199 cat > $TMPC << EOF
3200 #include <unistd.h>
3201 #include <sys/dvdio.h>
3202 int main(void) { return 0; }
3204 _dvdio=no
3205 cc_check && _dvdio=yes
3206 if test "$_dvdio" = yes ; then
3207 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3208 else
3209 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3211 echores "$_dvdio"
3214 echocheck "sys/cdio.h"
3215 cat > $TMPC << EOF
3216 #include <unistd.h>
3217 #include <sys/cdio.h>
3218 int main(void) { return 0; }
3220 _cdio=no
3221 cc_check && _cdio=yes
3222 if test "$_cdio" = yes ; then
3223 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3224 else
3225 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3227 echores "$_cdio"
3230 echocheck "linux/cdrom.h"
3231 cat > $TMPC << EOF
3232 #include <sys/types.h>
3233 #include <linux/cdrom.h>
3234 int main(void) { return 0; }
3236 _cdrom=no
3237 cc_check && _cdrom=yes
3238 if test "$_cdrom" = yes ; then
3239 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3240 else
3241 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3243 echores "$_cdrom"
3246 echocheck "dvd.h"
3247 cat > $TMPC << EOF
3248 #include <dvd.h>
3249 int main(void) { return 0; }
3251 _dvd=no
3252 cc_check && _dvd=yes
3253 if test "$_dvd" = yes ; then
3254 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3255 else
3256 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3258 echores "$_dvd"
3261 if bsdos; then
3262 echocheck "BSDI dvd.h"
3263 cat > $TMPC << EOF
3264 #include <dvd.h>
3265 int main(void) { return 0; }
3267 _bsdi_dvd=no
3268 cc_check && _bsdi_dvd=yes
3269 if test "$_bsdi_dvd" = yes ; then
3270 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3271 else
3272 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3274 echores "$_bsdi_dvd"
3275 fi #if bsdos
3278 if hpux; then
3279 # also used by AIX, but AIX does not support VCD and/or libdvdread
3280 echocheck "HP-UX SCSI header"
3281 cat > $TMPC << EOF
3282 #include <sys/scsi.h>
3283 int main(void) { return 0; }
3285 _hpux_scsi_h=no
3286 cc_check && _hpux_scsi_h=yes
3287 if test "$_hpux_scsi_h" = yes ; then
3288 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3289 else
3290 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3292 echores "$_hpux_scsi_h"
3293 fi #if hpux
3296 if sunos; then
3297 echocheck "userspace SCSI headers (Solaris)"
3298 cat > $TMPC << EOF
3299 #include <unistd.h>
3300 #include <stropts.h>
3301 #include <sys/scsi/scsi_types.h>
3302 #include <sys/scsi/impl/uscsi.h>
3303 int main(void) { return 0; }
3305 _sol_scsi_h=no
3306 cc_check && _sol_scsi_h=yes
3307 if test "$_sol_scsi_h" = yes ; then
3308 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3309 else
3310 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3312 echores "$_sol_scsi_h"
3313 fi #if sunos
3316 echocheck "termcap"
3317 if test "$_termcap" = auto ; then
3318 cat > $TMPC <<EOF
3319 #include <stddef.h>
3320 #include <term.h>
3321 int main(void) { tgetent(NULL, NULL); return 0; }
3323 _termcap=no
3324 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3325 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
3326 && _termcap=yes && break
3327 done
3329 if test "$_termcap" = yes ; then
3330 _def_termcap='#define HAVE_TERMCAP 1'
3331 _res_comment="using $_ld_tmp"
3332 else
3333 _def_termcap='#undef HAVE_TERMCAP'
3335 echores "$_termcap"
3338 echocheck "termios"
3339 _def_termios='#undef HAVE_TERMIOS'
3340 _def_termios_h='#undef HAVE_TERMIOS_H'
3341 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3342 if test "$_termios" = auto ; then
3343 _termios=no
3344 for _termios_header in "sys/termios.h" "termios.h"; do
3345 cat > $TMPC <<EOF
3346 #include <$_termios_header>
3347 int main(void) { return 0; }
3349 cc_check && _termios=yes && _res_comment="$_termios_header" && break
3350 done
3353 if test "$_termios" = yes ; then
3354 _def_termios='#define HAVE_TERMIOS 1'
3355 if test "$_termios_header" = "termios.h" ; then
3356 _def_termios_h='#define HAVE_TERMIOS_H 1'
3357 else
3358 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3361 echores "$_termios"
3364 echocheck "shm"
3365 if test "$_shm" = auto ; then
3366 cat > $TMPC << EOF
3367 #include <sys/types.h>
3368 #include <sys/shm.h>
3369 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3371 _shm=no
3372 cc_check && _shm=yes
3374 if test "$_shm" = yes ; then
3375 _def_shm='#define HAVE_SHM 1'
3376 else
3377 _def_shm='#undef HAVE_SHM'
3379 echores "$_shm"
3382 echocheck "strsep()"
3383 cat > $TMPC << EOF
3384 #include <string.h>
3385 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3387 _strsep=no
3388 cc_check && _strsep=yes
3389 if test "$_strsep" = yes ; then
3390 _def_strsep='#define HAVE_STRSEP 1'
3391 _need_strsep=no
3392 else
3393 _def_strsep='#undef HAVE_STRSEP'
3394 _need_strsep=yes
3396 echores "$_strsep"
3399 echocheck "vsscanf()"
3400 cat > $TMPC << EOF
3401 #include <stdarg.h>
3402 int main(void) { vsscanf(0, 0, 0); return 0; }
3404 _vsscanf=no
3405 cc_check && _vsscanf=yes
3406 if test "$_vsscanf" = yes ; then
3407 _def_vsscanf='#define HAVE_VSSCANF 1'
3408 _need_vsscanf=no
3409 else
3410 _def_vsscanf='#undef HAVE_VSSCANF'
3411 _need_vsscanf=yes
3413 echores "$_vsscanf"
3416 echocheck "swab()"
3417 cat > $TMPC << EOF
3418 #include <unistd.h>
3419 int main(void) { swab(0, 0, 0); return 0; }
3421 _swab=no
3422 cc_check && _swab=yes
3423 if test "$_swab" = yes ; then
3424 _def_swab='#define HAVE_SWAB 1'
3425 _need_swab=no
3426 else
3427 _def_swab='#undef HAVE_SWAB'
3428 _need_swab=yes
3430 echores "$_swab"
3432 echocheck "POSIX select()"
3433 cat > $TMPC << EOF
3434 #include <stdio.h>
3435 #include <stdlib.h>
3436 #include <sys/types.h>
3437 #include <string.h>
3438 #include <sys/time.h>
3439 #include <unistd.h>
3440 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3442 _posix_select=no
3443 _def_posix_select='#undef HAVE_POSIX_SELECT'
3444 #select() of kLIBC (OS/2) supports socket only
3445 ! os2 && cc_check && _posix_select=yes \
3446 && _def_posix_select='#define HAVE_POSIX_SELECT 1'
3447 echores "$_posix_select"
3450 echocheck "gettimeofday()"
3451 cat > $TMPC << EOF
3452 #include <stdio.h>
3453 #include <sys/time.h>
3454 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3456 _gettimeofday=no
3457 cc_check && _gettimeofday=yes
3458 if test "$_gettimeofday" = yes ; then
3459 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3460 _need_gettimeofday=no
3461 else
3462 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3463 _need_gettimeofday=yes
3465 echores "$_gettimeofday"
3468 echocheck "glob()"
3469 cat > $TMPC << EOF
3470 #include <stdio.h>
3471 #include <glob.h>
3472 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3474 _glob=no
3475 cc_check && _glob=yes
3476 if test "$_glob" = yes ; then
3477 _def_glob='#define HAVE_GLOB 1'
3478 _need_glob=no
3479 else
3480 _def_glob='#undef HAVE_GLOB'
3481 _need_glob=yes
3483 echores "$_glob"
3486 echocheck "setenv()"
3487 cat > $TMPC << EOF
3488 #include <stdlib.h>
3489 int main(void) { setenv("","",0); return 0; }
3491 _setenv=no
3492 cc_check && _setenv=yes
3493 if test "$_setenv" = yes ; then
3494 _def_setenv='#define HAVE_SETENV 1'
3495 _need_setenv=no
3496 else
3497 _def_setenv='#undef HAVE_SETENV'
3498 _need_setenv=yes
3500 echores "$_setenv"
3503 if sunos; then
3504 echocheck "sysi86()"
3505 cat > $TMPC << EOF
3506 #include <sys/sysi86.h>
3507 int main(void) { sysi86(0); return 0; }
3509 _sysi86=no
3510 cc_check && _sysi86=yes
3511 if test "$_sysi86" = yes ; then
3512 _def_sysi86='#define HAVE_SYSI86 1'
3513 cat > $TMPC << EOF
3514 #include <sys/sysi86.h>
3515 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3517 cc_check && _def_sysi86_iv='#define HAVE_SYSI86_iv 1'
3518 else
3519 _def_sysi86='#undef HAVE_SYSI86'
3521 echores "$_sysi86"
3522 fi #if sunos
3525 echocheck "sys/sysinfo.h"
3526 cat > $TMPC << EOF
3527 #include <sys/sysinfo.h>
3528 int main(void) {
3529 struct sysinfo s_info;
3530 sysinfo(&s_info);
3531 return 0;
3534 _sys_sysinfo=no
3535 cc_check && _sys_sysinfo=yes
3536 if test "$_sys_sysinfo" = yes ; then
3537 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3538 else
3539 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3541 echores "$_sys_sysinfo"
3544 if darwin; then
3546 echocheck "Mac OS X APIs"
3547 if test "$_macosx" = auto ; then
3548 productName=`/usr/bin/sw_vers -productName`
3549 if test "$productName" = "Mac OS X" ||
3550 test "$productName" = "Mac OS X Server" ; then
3551 _macosx=yes
3552 else
3553 _macosx=no
3554 _noaomodules="macosx $_noaomodules"
3555 _novomodules="quartz $_novomodules"
3558 if test "$_macosx" = yes ; then
3559 cat > $TMPC <<EOF
3560 #include <Carbon/Carbon.h>
3561 #include <QuickTime/QuickTime.h>
3562 #include <CoreAudio/CoreAudio.h>
3563 int main(void) {
3564 EnterMovies();
3565 ExitMovies();
3566 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3567 return 0;
3570 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3571 _ld_extra="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3572 _coreaudio=yes
3573 _def_coreaudio='#define CONFIG_COREAUDIO 1'
3574 _aosrc="$_aosrc ao_macosx.c"
3575 _aomodules="macosx $_aomodules"
3576 _def_quartz='#define CONFIG_QUARTZ 1'
3577 _vosrc="$_vosrc vo_quartz.c"
3578 _vomodules="quartz $_vomodules"
3579 _def_quicktime='#define CONFIG_QUICKTIME 1'
3580 else
3581 _macosx=no
3582 _coreaudio=no
3583 _def_coreaudio='#undef CONFIG_COREAUDIO'
3584 _noaomodules="macosx $_noaomodules"
3585 _def_quartz='#undef CONFIG_QUARTZ'
3586 _novomodules="quartz $_novomodules"
3587 _def_quicktime='#undef CONFIG_QUICKTIME'
3589 cat > $TMPC <<EOF
3590 #include <Carbon/Carbon.h>
3591 #include <QuartzCore/CoreVideo.h>
3592 int main(void) { return 0; }
3594 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3595 _vosrc="$_vosrc vo_macosx.m"
3596 _vomodules="macosx $_vomodules"
3597 _ld_extra="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
3598 _def_corevideo='#define CONFIG_COREVIDEO 1'
3599 _corevideo=yes
3600 else
3601 _novomodules="macosx $_novomodules"
3602 _def_corevideo='#undef CONFIG_COREVIDEO'
3603 _corevideo=no
3606 echores "$_macosx"
3608 echocheck "Mac OS X Finder Support"
3609 if test "$_macosx_finder" = auto ; then
3610 _macosx_finder=$_macosx
3612 if test "$_macosx_finder" = yes; then
3613 _def_macosx_finder='#define CONFIG_MACOSX_FINDER 1'
3614 _macosx_finder=yes
3615 else
3616 _def_macosx_finder='#undef CONFIG_MACOSX_FINDER'
3617 _macosx_finder=no
3619 echores "$_macosx_finder"
3621 echocheck "Mac OS X Bundle file locations"
3622 if test "$_macosx_bundle" = auto ; then
3623 _macosx_bundle=$_macosx_finder
3625 if test "$_macosx_bundle" = yes; then
3626 _def_macosx_bundle='#define CONFIG_MACOSX_BUNDLE 1'
3627 else
3628 _def_macosx_bundle='#undef CONFIG_MACOSX_BUNDLE'
3629 _macosx_bundle=no
3631 echores "$_macosx_bundle"
3633 echocheck "Apple Remote"
3634 if test "$_apple_remote" = auto ; then
3635 _apple_remote=no
3636 cat > $TMPC <<EOF
3637 #include <stdio.h>
3638 #include <IOKit/IOCFPlugIn.h>
3639 int main(void) {
3640 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3641 CFMutableDictionaryRef hidMatchDictionary;
3642 IOReturn ioReturnValue;
3644 // Set up a matching dictionary to search the I/O Registry by class.
3645 // name for all HID class devices
3646 hidMatchDictionary = IOServiceMatching("AppleIRController");
3648 // Now search I/O Registry for matching devices.
3649 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3650 hidMatchDictionary, &hidObjectIterator);
3652 // If search is unsuccessful, return nonzero.
3653 if (ioReturnValue != kIOReturnSuccess ||
3654 !IOIteratorIsValid(hidObjectIterator)) {
3655 return 1;
3657 return 0;
3660 cc_check -framework IOKit && tmp_run && _apple_remote=yes
3662 if test "$_apple_remote" = yes ; then
3663 _def_apple_remote='#define CONFIG_APPLE_REMOTE 1'
3664 _ld_extra="$_ld_extra -framework IOKit"
3665 else
3666 _def_apple_remote='#undef CONFIG_APPLE_REMOTE'
3668 echores "$_apple_remote"
3670 fi #if darwin
3672 if linux; then
3674 echocheck "Apple IR"
3675 if test "$_apple_ir" = auto ; then
3676 _apple_ir=no
3677 cat > $TMPC <<EOF
3678 #include <linux/types.h>
3679 #include <linux/input.h>
3680 int main(void) {
3681 struct input_event ev;
3682 struct input_id id;
3683 return 0;
3686 cc_check && tmp_run && _apple_ir=yes
3688 if test "$_apple_ir" = yes ; then
3689 _def_apple_ir='#define CONFIG_APPLE_IR 1'
3690 else
3691 _def_apple_ir='#undef CONFIG_APPLE_IR'
3693 echores "$_apple_ir"
3694 fi #if linux
3696 echocheck "pkg-config"
3697 _pkg_config=pkg-config
3698 if `$_pkg_config --version > /dev/null 2>&1`; then
3699 if test "$_ld_static"; then
3700 _pkg_config="$_pkg_config --static"
3702 echores "yes"
3703 else
3704 _pkg_config=false
3705 echores "no"
3709 echocheck "Samba support (libsmbclient)"
3710 if test "$_smb" = yes; then
3711 _ld_extra="$_ld_extra -lsmbclient"
3713 if test "$_smb" = auto; then
3714 _smb=no
3715 cat > $TMPC << EOF
3716 #include <libsmbclient.h>
3717 int main(void) { smbc_opendir("smb://"); return 0; }
3719 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3720 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3721 _smb=yes && break
3722 done
3725 if test "$_smb" = yes; then
3726 _def_smb="#define CONFIG_LIBSMBCLIENT"
3727 _inputmodules="smb $_inputmodules"
3728 else
3729 _def_smb="#undef CONFIG_LIBSMBCLIENT"
3730 _noinputmodules="smb $_noinputmodules"
3732 echores "$_smb"
3735 #########
3736 # VIDEO #
3737 #########
3740 echocheck "tdfxfb"
3741 if test "$_tdfxfb" = yes ; then
3742 _def_tdfxfb='#define CONFIG_TDFXFB 1'
3743 _vosrc="$_vosrc vo_tdfxfb.c"
3744 _vomodules="tdfxfb $_vomodules"
3745 else
3746 _def_tdfxfb='#undef CONFIG_TDFXFB'
3747 _novomodules="tdfxfb $_novomodules"
3749 echores "$_tdfxfb"
3751 echocheck "s3fb"
3752 if test "$_s3fb" = yes ; then
3753 _def_s3fb='#define CONFIG_S3FB 1'
3754 _vosrc="$_vosrc vo_s3fb.c"
3755 _vomodules="s3fb $_vomodules"
3756 else
3757 _def_s3fb='#undef CONFIG_S3FB'
3758 _novomodules="s3fb $_novomodules"
3760 echores "$_s3fb"
3762 echocheck "wii"
3763 if test "$_wii" = yes ; then
3764 _def_wii='#define CONFIG_WII 1'
3765 _vosrc="$_vosrc vo_wii.c"
3766 _vomodules="wii $_vomodules"
3767 else
3768 _def_wii='#undef CONFIG_WII'
3769 _novomodules="wii $_novomodules"
3771 echores "$_wii"
3773 echocheck "tdfxvid"
3774 if test "$_tdfxvid" = yes ; then
3775 _def_tdfxvid='#define CONFIG_TDFX_VID 1'
3776 _vosrc="$_vosrc vo_tdfx_vid.c"
3777 _vomodules="tdfx_vid $_vomodules"
3778 else
3779 _def_tdfxvid='#undef CONFIG_TDFX_VID'
3780 _novomodules="tdfx_vid $_novomodules"
3782 echores "$_tdfxvid"
3784 echocheck "xvr100"
3785 if test "$_xvr100" = auto ; then
3786 cat > $TMPC << EOF
3787 #include <unistd.h>
3788 #include <sys/fbio.h>
3789 #include <sys/visual_io.h>
3790 int main(void) {
3791 struct vis_identifier ident;
3792 struct fbgattr attr;
3793 ioctl(0, VIS_GETIDENTIFIER, &ident);
3794 ioctl(0, FBIOGATTR, &attr);
3795 return 0;
3798 _xvr100=no
3799 cc_check && _xvr100=yes
3801 if test "$_xvr100" = yes ; then
3802 _def_xvr100='#define CONFIG_XVR100 1'
3803 _vosrc="$_vosrc vo_xvr100.c"
3804 _vomodules="xvr100 $_vomodules"
3805 else
3806 _def_tdfxvid='#undef CONFIG_XVR100'
3807 _novomodules="xvr100 $_novomodules"
3809 echores "$_xvr100"
3811 echocheck "tga"
3812 if test "$_tga" = yes ; then
3813 _def_tga='#define CONFIG_TGA 1'
3814 _vosrc="$_vosrc vo_tga.c"
3815 _vomodules="tga $_vomodules"
3816 else
3817 _def_tga='#undef CONFIG_TGA'
3818 _novomodules="tga $_novomodules"
3820 echores "$_tga"
3823 echocheck "md5sum support"
3824 if test "$_md5sum" = yes; then
3825 _def_md5sum="#define CONFIG_MD5SUM"
3826 _vosrc="$_vosrc vo_md5sum.c"
3827 _vomodules="md5sum $_vomodules"
3828 else
3829 _def_md5sum="#undef CONFIG_MD5SUM"
3830 _novomodules="md5sum $_novomodules"
3832 echores "$_md5sum"
3835 echocheck "yuv4mpeg support"
3836 if test "$_yuv4mpeg" = yes; then
3837 _def_yuv4mpeg="#define CONFIG_YUV4MPEG"
3838 _vosrc="$_vosrc vo_yuv4mpeg.c"
3839 _vomodules="yuv4mpeg $_vomodules"
3840 else
3841 _def_yuv4mpeg="#undef CONFIG_YUV4MPEG"
3842 _novomodules="yuv4mpeg $_novomodules"
3844 echores "$_yuv4mpeg"
3847 echocheck "bl"
3848 if test "$_bl" = yes ; then
3849 _def_bl='#define CONFIG_BL 1'
3850 _vosrc="$_vosrc vo_bl.c"
3851 _vomodules="bl $_vomodules"
3852 else
3853 _def_bl='#undef CONFIG_BL'
3854 _novomodules="bl $_novomodules"
3856 echores "$_bl"
3859 echocheck "DirectFB"
3860 if test "$_directfb" = auto ; then
3861 _directfb=no
3862 cat > $TMPC <<EOF
3863 #include <directfb.h>
3864 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3866 for _inc_tmp in "" -I/usr/local/include/directfb \
3867 -I/usr/include/directfb -I/usr/local/include; do
3868 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
3869 _inc_extra="$_inc_extra $_inc_tmp" && break
3870 done
3873 dfb_version() {
3874 expr $1 \* 65536 + $2 \* 256 + $3
3877 if test "$_directfb" = yes; then
3878 cat > $TMPC << EOF
3879 #include <directfb_version.h>
3881 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3884 if $_cc -E $TMPC $_inc_extra > "$TMPEXE"; then
3885 _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()'`
3886 _dfb_major=`echo $_directfb_version | cut -d . -f 1`
3887 _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
3888 _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
3889 _dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3890 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3891 _def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
3892 _res_comment="$_directfb_version"
3893 test "$_dfb_version" -ge `dfb_version 0 9 15` && _dfbmga=yes
3894 else
3895 _def_directfb_version='#undef DIRECTFBVERSION'
3896 _directfb=no
3897 _res_comment="version >=0.9.13 required"
3899 else
3900 _directfb=no
3901 _res_comment="failed to get version"
3904 echores "$_directfb"
3906 if test "$_directfb" = yes ; then
3907 _def_directfb='#define CONFIG_DIRECTFB 1'
3908 _vosrc="$_vosrc vo_directfb2.c"
3909 _vomodules="directfb $_vomodules"
3910 _libs_mplayer="$_libs_mplayer -ldirectfb"
3911 else
3912 _def_directfb='#undef CONFIG_DIRECTFB'
3913 _novomodules="directfb $_novomodules"
3915 if test "$_dfbmga" = yes; then
3916 _vosrc="$_vosrc vo_dfbmga.c"
3917 _vomodules="dfbmga $_vomodules"
3918 _def_dfbmga='#define CONFIG_DFBMGA 1'
3919 else
3920 _novomodules="dfbmga $_novomodules"
3921 _def_dfbmga='#undef CONFIG_DFBMGA'
3925 echocheck "X11 headers presence"
3926 _x11_headers="no"
3927 _res_comment="check if the dev(el) packages are installed"
3928 for I in `echo $_inc_extra | sed s/-I//g` /usr/include ; do
3929 if test -f "$I/X11/Xlib.h" ; then
3930 _x11_headers="yes"
3931 _res_comment=""
3932 break
3934 done
3935 if test $_cross_compile = no; then
3936 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/openwin/include ; do
3937 if test -f "$I/X11/Xlib.h" ; then
3938 _inc_extra="$_inc_extra -I$I"
3939 _x11_headers="yes"
3940 _res_comment="using $I"
3941 break
3943 done
3945 echores "$_x11_headers"
3948 echocheck "X11"
3949 if test "$_x11" = auto && test "$_x11_headers" = yes ; then
3950 cat > $TMPC <<EOF
3951 #include <X11/Xlib.h>
3952 #include <X11/Xutil.h>
3953 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3955 for I in "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3956 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3957 if netbsd; then
3958 _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
3959 else
3960 _ld_tmp="$I -lXext -lX11 $_ld_pthread"
3962 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" \
3963 && _x11=yes && break
3964 done
3966 if test "$_x11" = yes ; then
3967 _def_x11='#define CONFIG_X11 1'
3968 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3969 _vomodules="x11 xover $_vomodules"
3970 else
3971 _x11=no
3972 _def_x11='#undef CONFIG_X11'
3973 _novomodules="x11 $_novomodules"
3974 _res_comment="check if the dev(el) packages are installed"
3975 # disable stuff that depends on X
3976 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no
3978 echores "$_x11"
3980 echocheck "Xss screensaver extensions"
3981 if test "$_xss" = auto ; then
3982 cat > $TMPC << EOF
3983 #include <X11/Xlib.h>
3984 #include <X11/extensions/scrnsaver.h>
3985 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
3987 _xss=no
3988 cc_check -lXss && _xss=yes
3990 if test "$_xss" = yes ; then
3991 _def_xss='#define CONFIG_XSS 1'
3992 _libs_mplayer="$_libs_mplayer -lXss"
3993 else
3994 _def_xss='#undef CONFIG_XSS'
3996 echores "$_xss"
3998 echocheck "DPMS"
3999 _xdpms3=no
4000 _xdpms4=no
4001 if test "$_x11" = yes ; then
4002 cat > $TMPC <<EOF
4003 #include <X11/Xmd.h>
4004 #include <X11/Xlib.h>
4005 #include <X11/Xutil.h>
4006 #include <X11/Xatom.h>
4007 #include <X11/extensions/dpms.h>
4008 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4010 cc_check -lXdpms && _xdpms3=yes
4011 cat > $TMPC <<EOF
4012 #include <X11/Xlib.h>
4013 #include <X11/extensions/dpms.h>
4014 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4016 cc_check -lXext && _xdpms4=yes
4018 if test "$_xdpms4" = yes ; then
4019 _def_xdpms='#define CONFIG_XDPMS 1'
4020 _res_comment="using Xdpms 4"
4021 echores "yes"
4022 elif test "$_xdpms3" = yes ; then
4023 _def_xdpms='#define CONFIG_XDPMS 1'
4024 _libs_mplayer="$_libs_mplayer -lXdpms"
4025 _res_comment="using Xdpms 3"
4026 echores "yes"
4027 else
4028 _def_xdpms='#undef CONFIG_XDPMS'
4029 echores "no"
4033 echocheck "Xv"
4034 if test "$_xv" = auto ; then
4035 cat > $TMPC <<EOF
4036 #include <X11/Xlib.h>
4037 #include <X11/extensions/Xvlib.h>
4038 int main(void) {
4039 (void) XvGetPortAttribute(0, 0, 0, 0);
4040 (void) XvQueryPortAttributes(0, 0, 0);
4041 return 0; }
4043 _xv=no
4044 cc_check -lXv && _xv=yes
4047 if test "$_xv" = yes ; then
4048 _def_xv='#define CONFIG_XV 1'
4049 _libs_mplayer="$_libs_mplayer -lXv"
4050 _vosrc="$_vosrc vo_xv.c"
4051 _vomodules="xv $_vomodules"
4052 else
4053 _def_xv='#undef CONFIG_XV'
4054 _novomodules="xv $_novomodules"
4056 echores "$_xv"
4059 echocheck "XvMC"
4060 if test "$_xv" = yes && test "$_xvmc" != no ; then
4061 _xvmc=no
4062 cat > $TMPC <<EOF
4063 #include <X11/Xlib.h>
4064 #include <X11/extensions/Xvlib.h>
4065 #include <X11/extensions/XvMClib.h>
4066 int main(void) {
4067 (void) XvMCQueryExtension(0,0,0);
4068 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4069 return 0; }
4071 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
4072 cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
4073 done
4075 if test "$_xvmc" = yes ; then
4076 _def_xvmc='#define HAVE_XVMC 1'
4077 _libs_mplayer="$_libs_mplayer -lXvMC -l$_xvmclib"
4078 _vosrc="$_vosrc vo_xvmc.c"
4079 _vomodules="xvmc $_vomodules"
4080 _res_comment="using $_xvmclib"
4081 else
4082 _def_xvmc='#undef HAVE_XVMC'
4083 _novomodules="xvmc $_novomodules"
4084 _libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
4086 echores "$_xvmc"
4089 echocheck "Xinerama"
4090 if test "$_xinerama" = auto ; then
4091 cat > $TMPC <<EOF
4092 #include <X11/Xlib.h>
4093 #include <X11/extensions/Xinerama.h>
4094 int main(void) { (void) XineramaIsActive(0); return 0; }
4096 _xinerama=no
4097 cc_check -lXinerama && _xinerama=yes
4100 if test "$_xinerama" = yes ; then
4101 _def_xinerama='#define CONFIG_XINERAMA 1'
4102 _libs_mplayer="$_libs_mplayer -lXinerama"
4103 else
4104 _def_xinerama='#undef CONFIG_XINERAMA'
4106 echores "$_xinerama"
4109 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4110 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4111 # named 'X extensions' or something similar.
4112 # This check may be useful for future mplayer versions (to change resolution)
4113 # If you run into problems, remove '-lXxf86vm'.
4114 echocheck "Xxf86vm"
4115 if test "$_vm" = auto ; then
4116 cat > $TMPC <<EOF
4117 #include <X11/Xlib.h>
4118 #include <X11/extensions/xf86vmode.h>
4119 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4121 _vm=no
4122 cc_check -lXxf86vm && _vm=yes
4124 if test "$_vm" = yes ; then
4125 _def_vm='#define CONFIG_XF86VM 1'
4126 _libs_mplayer="$_libs_mplayer -lXxf86vm"
4127 else
4128 _def_vm='#undef CONFIG_XF86VM'
4130 echores "$_vm"
4132 # Check for the presence of special keycodes, like audio control buttons
4133 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4134 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4135 # have these new keycodes.
4136 echocheck "XF86keysym"
4137 if test "$_xf86keysym" = auto; then
4138 _xf86keysym=no
4139 cat > $TMPC <<EOF
4140 #include <X11/Xlib.h>
4141 #include <X11/XF86keysym.h>
4142 int main(void) { return XF86XK_AudioPause; }
4144 cc_check && _xf86keysym=yes
4146 if test "$_xf86keysym" = yes ; then
4147 _def_xf86keysym='#define CONFIG_XF86XK 1'
4148 else
4149 _def_xf86keysym='#undef CONFIG_XF86XK'
4151 echores "$_xf86keysym"
4153 echocheck "DGA"
4154 if test "$_dga2" = auto && test "$_x11" = yes ; then
4155 cat > $TMPC << EOF
4156 #include <X11/Xlib.h>
4157 #include <X11/extensions/xf86dga.h>
4158 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4160 _dga2=no
4161 cc_check -lXxf86dga && _dga2=yes
4163 if test "$_dga1" = auto && test "$_dga2" = no && test "$_vm" = yes ; then
4164 cat > $TMPC << EOF
4165 #include <X11/Xlib.h>
4166 #include <X11/extensions/xf86dga.h>
4167 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4169 _dga1=no
4170 cc_check -lXxf86dga -lXxf86vm && _dga1=yes
4173 _dga=no
4174 _def_dga='#undef CONFIG_DGA'
4175 _def_dga1='#undef CONFIG_DGA1'
4176 _def_dga2='#undef CONFIG_DGA2'
4177 if test "$_dga1" = yes ; then
4178 _dga=yes
4179 _def_dga1='#define CONFIG_DGA1 1'
4180 _res_comment="using DGA 1.0"
4181 elif test "$_dga2" = yes ; then
4182 _dga=yes
4183 _def_dga2='#define CONFIG_DGA2 1'
4184 _res_comment="using DGA 2.0"
4186 if test "$_dga" = yes ; then
4187 _def_dga='#define CONFIG_DGA 1'
4188 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4189 _vosrc="$_vosrc vo_dga.c"
4190 _vomodules="dga $_vomodules"
4191 else
4192 _novomodules="dga $_novomodules"
4194 echores "$_dga"
4197 echocheck "3dfx"
4198 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4199 _def_3dfx='#define CONFIG_3DFX 1'
4200 _vosrc="$_vosrc vo_3dfx.c"
4201 _vomodules="3dfx $_vomodules"
4202 else
4203 _def_3dfx='#undef CONFIG_3DFX'
4204 _novomodules="3dfx $_novomodules"
4206 echores "$_3dfx"
4209 echocheck "OpenGL"
4210 #Note: this test is run even with --enable-gl since we autodetect linker flags
4211 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
4212 cat > $TMPC << EOF
4213 #include <GL/gl.h>
4214 #ifdef GL_WIN32
4215 #include <windows.h>
4216 #include <GL/glext.h>
4217 #else
4218 #include <X11/Xlib.h>
4219 #include <GL/glx.h>
4220 #endif
4221 int main(void) {
4222 #ifdef GL_WIN32
4223 HDC dc;
4224 wglCreateContext(dc);
4225 #else
4226 glXCreateContext(NULL, NULL, NULL, True);
4227 #endif
4228 glFinish();
4229 return 0;
4232 _gl=no
4233 if cc_check -lGL $_ld_lm ; then
4234 _gl=yes
4235 _libs_mplayer="$_libs_mplayer -lGL $_ld_dl"
4236 elif cc_check -lGL $_ld_lm $_ld_pthread ; then
4237 _gl=yes
4238 _libs_mplayer="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
4239 elif cc_check -DGL_WIN32 -lopengl32 ; then
4240 _gl=yes
4241 _gl_win32=yes
4242 _libs_mplayer="$_libs_mplayer -lopengl32 -lgdi32"
4244 else
4245 _gl=no
4247 if test "$_gl" = yes ; then
4248 _def_gl='#define CONFIG_GL 1'
4249 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4250 if test "$_gl_win32" = yes ; then
4251 _def_gl_win32='#define GL_WIN32 1'
4252 _vosrc="$_vosrc w32_common.c"
4253 _res_comment="win32 version"
4255 _vomodules="opengl $_vomodules"
4256 else
4257 _def_gl='#undef CONFIG_GL'
4258 _def_gl_win32='#undef GL_WIN32'
4259 _novomodules="opengl $_novomodules"
4261 echores "$_gl"
4264 echocheck "VIDIX"
4265 _def_vidix='#undef CONFIG_VIDIX'
4266 _def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4267 _vidix_drv_cyberblade=no
4268 _def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
4269 _vidix_drv_ivtv=no
4270 _def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
4271 _vidix_drv_ivtv=no
4272 _def_vidix_drv_mach64='#undef CONFIG_VIDIX_DRV_MACH64'
4273 _vidix_drv_mach64=no
4274 _def_vidix_drv_mga='#undef CONFIG_VIDIX_DRV_MGA'
4275 _vidix_drv_mga=no
4276 _def_vidix_drv_mga_crtc2='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4277 _vidix_drv_mga_crtc2=no
4278 _def_vidix_drv_nvidia='#undef CONFIG_VIDIX_DRV_NVIDIA'
4279 _vidix_drv_nvidia=no
4280 _def_vidix_drv_pm2='#undef CONFIG_VIDIX_DRV_PM2'
4281 _vidix_drv_pm2=no
4282 _def_vidix_drv_pm3='#undef CONFIG_VIDIX_DRV_PM3'
4283 _vidix_drv_pm3=no
4284 _def_vidix_drv_radeon='#undef CONFIG_VIDIX_DRV_RADEON'
4285 _vidix_drv_radeon=no
4286 _def_vidix_drv_rage128='#undef CONFIG_VIDIX_DRV_RAGE128'
4287 _vidix_drv_rage128=no
4288 _def_vidix_drv_s3='#undef CONFIG_VIDIX_DRV_S3'
4289 _vidix_drv_s3=no
4290 _def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
4291 _vidix_drv_sis=no
4292 _def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
4293 _vidix_drv_unichrome=no
4294 if test "$_vidix" = auto ; then
4295 _vidix=no
4296 x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
4297 && _vidix=yes
4298 (ppc || alpha) && linux && _vidix=yes
4300 echores "$_vidix"
4302 if test "$_vidix" = yes ; then
4303 _def_vidix='#define CONFIG_VIDIX 1'
4304 _vosrc="$_vosrc vo_cvidix.c"
4305 _vomodules="cvidix $_vomodules"
4306 test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sis unichrome"
4307 test $_ivtv = "yes" || _vidix_drivers=`echo $_vidix_drivers | sed s/ivtv//`
4309 # some vidix drivers are meant to work on x86 only, discard them elsewhere
4310 x86 || _vidix_drivers=`echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//`
4312 for driver in $_vidix_drivers ; do
4313 uc_driver=`echo $driver | tr '[a-z]' '[A-Z]'`
4314 eval _vidix_drv_${driver}=yes
4315 eval _def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4316 done
4318 echocheck "VIDIX PCI device name database"
4319 echores "$_vidix_pcidb"
4320 if test "$_vidix_pcidb" = yes ; then
4321 _vidix_pcidb_val=1
4322 else
4323 _vidix_pcidb_val=0
4326 echocheck "VIDIX dhahelper support"
4327 test "$_dhahelper" = yes && cflags_dhahelper=-DCONFIG_DHAHELPER
4328 echores "$_dhahelper"
4330 echocheck "VIDIX svgalib_helper support"
4331 test "$_svgalib_helper" = yes && cflags_svgalib_helper=-DCONFIG_SVGAHELPER
4332 echores "$_svgalib_helper"
4334 else
4335 _novomodules="cvidix $_novomodules"
4338 if test "$_vidix" = yes && win32; then
4339 _vosrc="$_vosrc vo_winvidix.c"
4340 _vomodules="winvidix $_vomodules"
4341 _libs_mplayer="$_libs_mplayer -lgdi32"
4342 else
4343 _novomodules="winvidix $_novomodules"
4345 if test "$_vidix" = yes && test "$_x11" = yes; then
4346 _vosrc="$_vosrc vo_xvidix.c"
4347 _vomodules="xvidix $_vomodules"
4348 else
4349 _novomodules="xvidix $_novomodules"
4352 echocheck "/dev/mga_vid"
4353 if test "$_mga" = auto ; then
4354 _mga=no
4355 test -c /dev/mga_vid && _mga=yes
4357 if test "$_mga" = yes ; then
4358 _def_mga='#define CONFIG_MGA 1'
4359 _vosrc="$_vosrc vo_mga.c"
4360 _vomodules="mga $_vomodules"
4361 else
4362 _def_mga='#undef CONFIG_MGA'
4363 _novomodules="mga $_novomodules"
4365 echores "$_mga"
4368 echocheck "xmga"
4369 if test "$_xmga" = auto ; then
4370 _xmga=no
4371 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4373 if test "$_xmga" = yes ; then
4374 _def_xmga='#define CONFIG_XMGA 1'
4375 _vosrc="$_vosrc vo_xmga.c"
4376 _vomodules="xmga $_vomodules"
4377 else
4378 _def_xmga='#undef CONFIG_XMGA'
4379 _novomodules="xmga $_novomodules"
4381 echores "$_xmga"
4384 echocheck "GGI"
4385 if test "$_ggi" = auto ; then
4386 cat > $TMPC << EOF
4387 #include <ggi/ggi.h>
4388 int main(void) { ggiInit(); return 0; }
4390 _ggi=no
4391 cc_check -lggi && _ggi=yes
4393 if test "$_ggi" = yes ; then
4394 _def_ggi='#define CONFIG_GGI 1'
4395 _libs_mplayer="$_libs_mplayer -lggi"
4396 _vosrc="$_vosrc vo_ggi.c"
4397 _vomodules="ggi $_vomodules"
4398 else
4399 _def_ggi='#undef CONFIG_GGI'
4400 _novomodules="ggi $_novomodules"
4402 echores "$_ggi"
4404 echocheck "GGI extension: libggiwmh"
4405 if test "$_ggiwmh" = auto ; then
4406 _ggiwmh=no
4407 cat > $TMPC << EOF
4408 #include <ggi/ggi.h>
4409 #include <ggi/wmh.h>
4410 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4412 cc_check -lggi -lggiwmh && _ggiwmh=yes
4414 # needed to get right output on obscure combination
4415 # like --disable-ggi --enable-ggiwmh
4416 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4417 _def_ggiwmh='#define CONFIG_GGIWMH 1'
4418 _libs_mplayer="$_libs_mplayer -lggiwmh"
4419 else
4420 _ggiwmh=no
4421 _def_ggiwmh='#undef CONFIG_GGIWMH'
4423 echores "$_ggiwmh"
4426 echocheck "AA"
4427 if test "$_aa" = auto ; then
4428 cat > $TMPC << EOF
4429 #include <aalib.h>
4430 extern struct aa_hardware_params aa_defparams;
4431 extern struct aa_renderparams aa_defrenderparams;
4432 int main(void) {
4433 aa_context *c;
4434 aa_renderparams *p;
4435 (void) aa_init(0, 0, 0);
4436 c = aa_autoinit(&aa_defparams);
4437 p = aa_getrenderparams();
4438 aa_autoinitkbd(c,0);
4439 return 0; }
4441 _aa=no
4442 for _ld_tmp in "-laa" ; do
4443 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" && _aa=yes && break
4444 done
4446 if test "$_aa" = yes ; then
4447 _def_aa='#define CONFIG_AA 1'
4448 if cygwin ; then
4449 _libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4451 _vosrc="$_vosrc vo_aa.c"
4452 _vomodules="aa $_vomodules"
4453 else
4454 _def_aa='#undef CONFIG_AA'
4455 _novomodules="aa $_novomodules"
4457 echores "$_aa"
4460 echocheck "CACA"
4461 if test "$_caca" = auto ; then
4462 _caca=no
4463 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4464 cat > $TMPC << EOF
4465 #include <caca.h>
4466 #ifdef CACA_API_VERSION_1
4467 #include <caca0.h>
4468 #endif
4469 int main(void) { (void) caca_init(); return 0; }
4471 cc_check `caca-config --libs` && _caca=yes
4474 if test "$_caca" = yes ; then
4475 _def_caca='#define CONFIG_CACA 1'
4476 _inc_extra="$_inc_extra `caca-config --cflags`"
4477 _libs_mplayer="$_libs_mplayer `caca-config --libs`"
4478 _vosrc="$_vosrc vo_caca.c"
4479 _vomodules="caca $_vomodules"
4480 else
4481 _def_caca='#undef CONFIG_CACA'
4482 _novomodules="caca $_novomodules"
4484 echores "$_caca"
4487 echocheck "SVGAlib"
4488 if test "$_svga" = auto ; then
4489 cat > $TMPC << EOF
4490 #include <vga.h>
4491 int main(void) { return 0; }
4493 _svga=no
4494 cc_check -lvga $_ld_lm && _svga=yes
4496 if test "$_svga" = yes ; then
4497 _def_svga='#define CONFIG_SVGALIB 1'
4498 _libs_mplayer="$_libs_mplayer -lvga"
4499 _vosrc="$_vosrc vo_svga.c"
4500 _vomodules="svga $_vomodules"
4501 else
4502 _def_svga='#undef CONFIG_SVGALIB'
4503 _novomodules="svga $_novomodules"
4505 echores "$_svga"
4508 echocheck "FBDev"
4509 if test "$_fbdev" = auto ; then
4510 _fbdev=no
4511 linux && _fbdev=yes
4513 if test "$_fbdev" = yes ; then
4514 _def_fbdev='#define CONFIG_FBDEV 1'
4515 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4516 _vomodules="fbdev $_vomodules"
4517 else
4518 _def_fbdev='#undef CONFIG_FBDEV'
4519 _novomodules="fbdev $_novomodules"
4521 echores "$_fbdev"
4525 echocheck "DVB"
4526 if test "$_dvb" = auto ; then
4527 _dvb=no
4528 cat >$TMPC << EOF
4529 #include <sys/poll.h>
4530 #include <sys/ioctl.h>
4531 #include <stdio.h>
4532 #include <time.h>
4533 #include <unistd.h>
4534 #include <ost/dmx.h>
4535 #include <ost/frontend.h>
4536 #include <ost/sec.h>
4537 #include <ost/video.h>
4538 #include <ost/audio.h>
4539 int main(void) {return 0;}
4541 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4542 cc_check $_inc_tmp && _dvb=yes && \
4543 _inc_extra="$_inc_extra $_inc_tmp" && break
4544 done
4546 echores "$_dvb"
4547 if test "$_dvb" = yes ; then
4548 _def_dvb='#define CONFIG_DVB 1'
4549 _def_dvbin='#define CONFIG_DVBIN 1'
4550 _aomodules="mpegpes(dvb) $_aomodules"
4551 _vomodules="mpegpes(dvb) $_vomodules"
4554 echocheck "DVB HEAD"
4555 if test "$_dvbhead" = auto ; then
4556 _dvbhead=no
4558 cat >$TMPC << EOF
4559 #include <sys/poll.h>
4560 #include <sys/ioctl.h>
4561 #include <stdio.h>
4562 #include <time.h>
4563 #include <unistd.h>
4564 #include <linux/dvb/dmx.h>
4565 #include <linux/dvb/frontend.h>
4566 #include <linux/dvb/video.h>
4567 #include <linux/dvb/audio.h>
4568 int main(void) {return 0;}
4570 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4571 cc_check $_inc_tmp && _dvbhead=yes && \
4572 _inc_extra="$_inc_extra $_inc_tmp" && break
4573 done
4575 echores "$_dvbhead"
4576 if test "$_dvbhead" = yes ; then
4577 _def_dvb='#define CONFIG_DVB 1'
4578 _def_dvb_head='#define CONFIG_DVB_HEAD 1'
4579 _def_dvbin='#define CONFIG_DVBIN 1'
4580 _aomodules="mpegpes(dvb) $_aomodules"
4581 _vomodules="mpegpes(dvb) $_vomodules"
4584 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4585 _def_dvb='#undef CONFIG_DVB'
4586 _def_dvb_head='#undef CONFIG_DVB_HEAD'
4587 _def_dvbin='#undef CONFIG_DVBIN '
4588 _aomodules="mpegpes(file) $_aomodules"
4589 _vomodules="mpegpes(file) $_vomodules"
4592 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4593 _dvbin=yes
4594 _inputmodules="dvb $_inputmodules"
4595 else
4596 _dvbin=no
4597 _noinputmodules="dvb $_noinputmodules"
4603 echocheck "PNG support"
4604 if test "$_png" = auto ; then
4605 _png=no
4606 if irix ; then
4607 # Don't check for -lpng on irix since it has its own libpng
4608 # incompatible with the GNU libpng
4609 _res_comment="disabled on irix (not GNU libpng)"
4610 else
4611 cat > $TMPC << EOF
4612 #include <png.h>
4613 #include <string.h>
4614 int main(void) {
4615 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4616 printf("libpng: %s\n", png_libpng_ver);
4617 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4620 if cc_check -lpng -lz $_ld_lm ; then
4621 if tmp_run ; then
4622 _png=yes
4623 else
4624 _res_comment="mismatch of library and header versions"
4629 echores "$_png"
4630 if test "$_png" = yes ; then
4631 _def_png='#define CONFIG_PNG 1'
4632 _ld_extra="$_ld_extra -lpng -lz"
4633 _vosrc="$_vosrc vo_png.c"
4634 _vomodules="png $_vomodules"
4635 else
4636 _def_png='#undef CONFIG_PNG'
4637 _novomodules="png $_novomodules"
4640 echocheck "JPEG support"
4641 if test "$_jpeg" = auto ; then
4642 _jpeg=no
4643 cat > $TMPC << EOF
4644 #include <stdio.h>
4645 #include <stdlib.h>
4646 #include <setjmp.h>
4647 #include <string.h>
4648 #include <jpeglib.h>
4649 int main(void) { return 0; }
4651 if cc_check -ljpeg $_ld_lm ; then
4652 if tmp_run ; then
4653 _jpeg=yes
4657 echores "$_jpeg"
4659 if test "$_jpeg" = yes ; then
4660 _def_jpeg='#define CONFIG_JPEG 1'
4661 _vosrc="$_vosrc vo_jpeg.c"
4662 _vomodules="jpeg $_vomodules"
4663 _ld_extra="$_ld_extra -ljpeg"
4664 else
4665 _def_jpeg='#undef CONFIG_JPEG'
4666 _novomodules="jpeg $_novomodules"
4671 echocheck "PNM support"
4672 if test "$_pnm" = yes; then
4673 _def_pnm="#define CONFIG_PNM"
4674 _vosrc="$_vosrc vo_pnm.c"
4675 _vomodules="pnm $_vomodules"
4676 else
4677 _def_pnm="#undef CONFIG_PNM"
4678 _novomodules="pnm $_novomodules"
4680 echores "$_pnm"
4684 echocheck "GIF support"
4685 # This is to appease people who want to force gif support.
4686 # If it is forced to yes, then we still do checks to determine
4687 # which gif library to use.
4688 if test "$_gif" = yes ; then
4689 _force_gif=yes
4690 _gif=auto
4693 if test "$_gif" = auto ; then
4694 _gif=no
4695 cat > $TMPC << EOF
4696 #include <gif_lib.h>
4697 int main(void) { return 0; }
4699 for _ld_gif in "-lungif" "-lgif" ; do
4700 cc_check $_ld_gif && tmp_run && _gif=yes && break
4701 done
4704 # If no library was found, and the user wants support forced,
4705 # then we force it on with libgif, as this is the safest
4706 # assumption IMHO. (libungif & libregif both create symbolic
4707 # links to libgif. We also assume that no x11 support is needed,
4708 # because if you are forcing this, then you _should_ know what
4709 # you are doing. [ Besides, package maintainers should never
4710 # have compiled x11 deps into libungif in the first place. ] )
4711 # </rant>
4712 # --Joey
4713 if test "$_force_gif" = yes && test "$_gif" = no ; then
4714 _gif=yes
4715 _ld_gif="-lgif"
4718 if test "$_gif" = yes ; then
4719 _def_gif='#define CONFIG_GIF 1'
4720 _vosrc="$_vosrc vo_gif89a.c"
4721 _codecmodules="gif $_codecmodules"
4722 _vomodules="gif89a $_vomodules"
4723 _res_comment="old version, some encoding functions disabled"
4724 _def_gif_4='#undef CONFIG_GIF_4'
4725 _ld_extra="$_ld_extra $_ld_gif"
4727 cat > $TMPC << EOF
4728 #include <signal.h>
4729 #include <gif_lib.h>
4730 void catch() { exit(1); }
4731 int main(void) {
4732 signal(SIGSEGV, catch); // catch segfault
4733 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4734 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4735 return 0;
4738 if cc_check "$_ld_gif" && tmp_run ; then
4739 _def_gif_4='#define CONFIG_GIF_4 1'
4740 _res_comment=""
4742 else
4743 _def_gif='#undef CONFIG_GIF'
4744 _def_gif_4='#undef CONFIG_GIF_4'
4745 _novomodules="gif89a $_novomodules"
4746 _nocodecmodules="gif $_nocodecmodules"
4748 echores "$_gif"
4751 case "$_gif" in yes*)
4752 echocheck "broken giflib workaround"
4753 _def_gif_tvt_hack='#define CONFIG_GIF_TVT_HACK 1'
4755 cat > $TMPC << EOF
4756 #include <gif_lib.h>
4757 int main(void) {
4758 GifFileType gif;
4759 printf("UserData is at address %p\n", gif.UserData);
4760 return 0;
4763 if cc_check "$_ld_gif" && tmp_run ; then
4764 _def_gif_tvt_hack='#undef CONFIG_GIF_TVT_HACK'
4765 echores "disabled"
4766 else
4767 echores "enabled"
4770 esac
4773 echocheck "VESA support"
4774 if test "$_vesa" = auto ; then
4775 cat > $TMPC << EOF
4776 #include <vbe.h>
4777 int main(void) { vbeVersion(); return 0; }
4779 _vesa=no
4780 cc_check -lvbe -llrmi && _vesa=yes
4782 if test "$_vesa" = yes ; then
4783 _def_vesa='#define CONFIG_VESA 1'
4784 _libs_mplayer="$_libs_mplayer -lvbe -llrmi"
4785 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4786 _vomodules="vesa $_vomodules"
4787 else
4788 _def_vesa='#undef CONFIG_VESA'
4789 _novomodules="vesa $_novomodules"
4791 echores "$_vesa"
4793 #################
4794 # VIDEO + AUDIO #
4795 #################
4798 echocheck "SDL"
4799 if test -z "$_sdlconfig" ; then
4800 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4801 _sdlconfig="sdl-config"
4802 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4803 _sdlconfig="sdl11-config"
4804 else
4805 _sdlconfig=false
4808 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4809 cat > $TMPC << EOF
4810 #include <SDL.h>
4811 int main(void) {
4812 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4813 return 0;
4816 _sdl=no
4817 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4818 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4819 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4820 if test "$_sdlversion" -gt 116 ; then
4821 if test "$_sdlversion" -lt 121 ; then
4822 _def_sdlbuggy='#define BUGGY_SDL'
4823 else
4824 _def_sdlbuggy='#undef BUGGY_SDL'
4826 _sdl=yes
4831 if test "$_sdl" = yes ; then
4832 _def_sdl='#define CONFIG_SDL 1'
4833 if cygwin ; then
4834 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4835 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4836 elif mingw32 ; then
4837 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4838 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4839 else
4840 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs`"
4841 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4843 _vosrc="$_vosrc vo_sdl.c"
4844 _vomodules="sdl $_vomodules"
4845 _aosrc="$_aosrc ao_sdl.c"
4846 _aomodules="sdl $_aomodules"
4847 _res_comment="using $_sdlconfig"
4848 else
4849 _def_sdl='#undef CONFIG_SDL'
4850 _novomodules="sdl $_novomodules"
4851 _noaomodules="sdl $_noaomodules"
4853 echores "$_sdl"
4856 if win32; then
4858 echocheck "Windows waveout"
4859 if test "$_win32waveout" = auto ; then
4860 cat > $TMPC << EOF
4861 #include <windows.h>
4862 #include <mmsystem.h>
4863 int main(void) { return 0; }
4865 _win32waveout=no
4866 cc_check -lwinmm && _win32waveout=yes
4868 if test "$_win32waveout" = yes ; then
4869 _def_win32waveout='#define CONFIG_WIN32WAVEOUT 1'
4870 _libs_mplayer="$_libs_mplayer -lwinmm"
4871 _aosrc="$_aosrc ao_win32.c"
4872 _aomodules="win32 $_aomodules"
4873 else
4874 _def_win32waveout='#undef CONFIG_WIN32WAVEOUT'
4875 _noaomodules="win32 $_noaomodules"
4877 echores "$_win32waveout"
4879 echocheck "Directx"
4880 if test "$_directx" = auto ; then
4881 cat > $TMPC << EOF
4882 #include <windows.h>
4883 #include <ddraw.h>
4884 #include <dsound.h>
4885 int main(void) { return 0; }
4887 _directx=no
4888 cc_check -lgdi32 && _directx=yes
4890 if test "$_directx" = yes ; then
4891 _def_directx='#define CONFIG_DIRECTX 1'
4892 _libs_mplayer="$_libs_mplayer -lgdi32"
4893 _vosrc="$_vosrc vo_directx.c"
4894 _vomodules="directx $_vomodules"
4895 _aosrc="$_aosrc ao_dsound.c"
4896 _aomodules="dsound $_aomodules"
4897 else
4898 _def_directx='#undef CONFIG_DIRECTX'
4899 _novomodules="directx $_novomodules"
4900 _noaomodules="dsound $_noaomodules"
4902 echores "$_directx"
4904 fi #if win32; then
4907 echocheck "NAS"
4908 if test "$_nas" = auto ; then
4909 cat > $TMPC << EOF
4910 #include <audio/audiolib.h>
4911 int main(void) { return 0; }
4913 _nas=no
4914 cc_check $_ld_lm -laudio -lXt && _nas=yes
4916 if test "$_nas" = yes ; then
4917 _def_nas='#define CONFIG_NAS 1'
4918 _libs_mplayer="$_libs_mplayer -laudio -lXt"
4919 _aosrc="$_aosrc ao_nas.c"
4920 _aomodules="nas $_aomodules"
4921 else
4922 _noaomodules="nas $_noaomodules"
4923 _def_nas='#undef CONFIG_NAS'
4925 echores "$_nas"
4927 echocheck "DXR2"
4928 if test "$_dxr2" = auto; then
4929 _dxr2=no
4930 cat > $TMPC << EOF
4931 #include <dxr2ioctl.h>
4932 int main(void) { return 0; }
4934 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4935 cc_check $_inc_tmp && _dxr2=yes && \
4936 _inc_extra="$_inc_extra $_inc_tmp" && break
4937 done
4939 if test "$_dxr2" = yes; then
4940 _def_dxr2='#define CONFIG_DXR2 1'
4941 _vosrc="$_vosrc vo_dxr2.c"
4942 _aosrc="$_aosrc ao_dxr2.c"
4943 _aomodules="dxr2 $_aomodules"
4944 _vomodules="dxr2 $_vomodules"
4945 else
4946 _def_dxr2='#undef CONFIG_DXR2'
4947 _noaomodules="dxr2 $_noaomodules"
4948 _novomodules="dxr2 $_novomodules"
4950 echores "$_dxr2"
4952 echocheck "DXR3/H+"
4953 if test "$_dxr3" = auto ; then
4954 cat > $TMPC << EOF
4955 #include <linux/em8300.h>
4956 int main(void) { return 0; }
4958 _dxr3=no
4959 cc_check && _dxr3=yes
4961 if test "$_dxr3" = yes ; then
4962 _def_dxr3='#define CONFIG_DXR3 1'
4963 _vosrc="$_vosrc vo_dxr3.c"
4964 _vomodules="dxr3 $_vomodules"
4965 else
4966 _def_dxr3='#undef CONFIG_DXR3'
4967 _novomodules="dxr3 $_novomodules"
4969 echores "$_dxr3"
4972 echocheck "IVTV TV-Out (pre linux-2.6.24)"
4973 if test "$_ivtv" = auto ; then
4974 cat > $TMPC << EOF
4975 #include <stdlib.h>
4976 #include <inttypes.h>
4977 #include <linux/types.h>
4978 #include <linux/videodev2.h>
4979 #include <linux/ivtv.h>
4980 #include <sys/ioctl.h>
4981 int main(void) {
4982 struct ivtv_cfg_stop_decode sd;
4983 struct ivtv_cfg_start_decode sd1;
4984 ioctl (0, IVTV_IOC_START_DECODE, &sd1);
4985 ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
4986 return 0; }
4988 _ivtv=no
4989 cc_check && _ivtv=yes
4991 if test "$_ivtv" = yes ; then
4992 _def_ivtv='#define CONFIG_IVTV 1'
4993 _vosrc="$_vosrc vo_ivtv.c"
4994 _vomodules="ivtv $_vomodules"
4995 _aosrc="$_aosrc ao_ivtv.c"
4996 _aomodules="ivtv $_aomodules"
4997 else
4998 _def_ivtv='#undef CONFIG_IVTV'
4999 _novomodules="ivtv $_novomodules"
5000 _noaomodules="ivtv $_noaomodules"
5002 echores "$_ivtv"
5005 echocheck "V4L2 MPEG Decoder"
5006 if test "$_v4l2" = auto ; then
5007 cat > $TMPC << EOF
5008 #include <stdlib.h>
5009 #include <inttypes.h>
5010 #include <linux/types.h>
5011 #include <linux/videodev2.h>
5012 #include <linux/version.h>
5013 int main(void) {
5014 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5015 #error kernel headers too old, need 2.6.22
5016 bad_kernel_version();
5017 #endif
5018 struct v4l2_ext_controls ctrls;
5019 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5020 return 0;
5023 _v4l2=no
5024 cc_check && _v4l2=yes
5026 if test "$_v4l2" = yes ; then
5027 _def_v4l2='#define CONFIG_V4L2_DECODER 1'
5028 _vosrc="$_vosrc vo_v4l2.c"
5029 _vomodules="v4l2 $_vomodules"
5030 _aosrc="$_aosrc ao_v4l2.c"
5031 _aomodules="v4l2 $_aomodules"
5032 else
5033 _def_v4l2='#undef CONFIG_V4L2_DECODER'
5034 _novomodules="v4l2 $_novomodules"
5035 _noaomodules="v4l2 $_noaomodules"
5037 echores "$_v4l2"
5041 #########
5042 # AUDIO #
5043 #########
5046 echocheck "OSS Audio"
5047 if test "$_ossaudio" = auto ; then
5048 cat > $TMPC << EOF
5049 #include <sys/ioctl.h>
5050 #include <$_soundcard_header>
5051 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5053 _ossaudio=no
5054 cc_check && _ossaudio=yes
5056 if test "$_ossaudio" = yes ; then
5057 _def_ossaudio='#define CONFIG_OSS_AUDIO 1'
5058 _aosrc="$_aosrc ao_oss.c"
5059 _aomodules="oss $_aomodules"
5060 if test "$_linux_devfs" = yes; then
5061 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
5062 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5063 else
5064 cat > $TMPC << EOF
5065 #include <sys/ioctl.h>
5066 #include <$_soundcard_header>
5067 #ifdef OPEN_SOUND_SYSTEM
5068 int main(void) { return 0; }
5069 #else
5070 #error Not the real thing
5071 #endif
5073 _real_ossaudio=no
5074 cc_check && _real_ossaudio=yes
5075 if test "$_real_ossaudio" = yes; then
5076 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5077 elif netbsd || openbsd ; then
5078 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
5079 _ld_extra="$_ld_extra -lossaudio"
5080 else
5081 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5083 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
5085 else
5086 _def_ossaudio='#undef CONFIG_OSS_AUDIO'
5087 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
5088 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
5089 _noaomodules="oss $_noaomodules"
5091 echores "$_ossaudio"
5094 echocheck "aRts"
5095 if test "$_arts" = auto ; then
5096 _arts=no
5097 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
5099 cat > $TMPC << EOF
5100 #include <artsc.h>
5101 int main(void) { return 0; }
5103 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
5108 if test "$_arts" = yes ; then
5109 _def_arts='#define CONFIG_ARTS 1'
5110 _aosrc="$_aosrc ao_arts.c"
5111 _aomodules="arts $_aomodules"
5112 _libs_mplayer="$_libs_mplayer `artsc-config --libs`"
5113 _inc_extra="$_inc_extra `artsc-config --cflags`"
5114 else
5115 _noaomodules="arts $_noaomodules"
5117 echores "$_arts"
5120 echocheck "EsounD"
5121 if test "$_esd" = auto ; then
5122 _esd=no
5123 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
5125 cat > $TMPC << EOF
5126 #include <esd.h>
5127 int main(void) { int fd = esd_open_sound("test"); return fd; }
5129 cc_check `esd-config --libs` `esd-config --cflags` && _esd=yes
5133 echores "$_esd"
5135 if test "$_esd" = yes ; then
5136 _def_esd='#define CONFIG_ESD 1'
5137 _aosrc="$_aosrc ao_esd.c"
5138 _aomodules="esd $_aomodules"
5139 _libs_mplayer="$_libs_mplayer `esd-config --libs`"
5140 _inc_extra="$_inc_extra `esd-config --cflags`"
5142 echocheck "esd_get_latency()"
5143 cat > $TMPC << EOF
5144 #include <esd.h>
5145 int main(void) { return esd_get_latency(0); }
5147 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define CONFIG_ESD_LATENCY'
5148 echores "$_esd_latency"
5149 else
5150 _def_esd='#undef CONFIG_ESD'
5151 _def_esd_latency='#undef CONFIG_ESD_LATENCY'
5152 _noaomodules="esd $_noaomodules"
5155 echocheck "pulse"
5156 if test "$_pulse" = auto ; then
5157 _pulse=no
5158 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5160 cat > $TMPC << EOF
5161 #include <pulse/pulseaudio.h>
5162 int main(void) { return 0; }
5164 cc_check `$_pkg_config --libs --cflags libpulse` && tmp_run && _pulse=yes
5168 echores "$_pulse"
5170 if test "$_pulse" = yes ; then
5171 _def_pulse='#define CONFIG_PULSE 1'
5172 _aosrc="$_aosrc ao_pulse.c"
5173 _aomodules="pulse $_aomodules"
5174 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs libpulse`"
5175 _inc_extra="$_inc_extra `$_pkg_config --cflags libpulse`"
5176 else
5177 _def_pulse='#undef CONFIG_PULSE'
5178 _noaomodules="pulse $_noaomodules"
5182 echocheck "JACK"
5183 if test "$_jack" = auto ; then
5184 _jack=yes
5186 cat > $TMPC << EOF
5187 #include <jack/jack.h>
5188 int main(void) { jack_client_new("test"); return 0; }
5190 if cc_check -ljack ; then
5191 _libs_mplayer="$_libs_mplayer -ljack"
5192 elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
5193 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs jack`"
5194 _inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
5195 else
5196 _jack=no
5200 if test "$_jack" = yes ; then
5201 _def_jack='#define CONFIG_JACK 1'
5202 _aosrc="$_aosrc ao_jack.c"
5203 _aomodules="jack $_aomodules"
5204 else
5205 _noaomodules="jack $_noaomodules"
5207 echores "$_jack"
5209 echocheck "OpenAL"
5210 if test "$_openal" = auto ; then
5211 _openal=no
5212 cat > $TMPC << EOF
5213 #ifdef OPENAL_AL_H
5214 #include <OpenAL/al.h>
5215 #else
5216 #include <AL/al.h>
5217 #endif
5218 int main(void) {
5219 alSourceQueueBuffers(0, 0, 0);
5220 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5221 return 0;
5224 for I in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5225 cc_check $I && _openal=yes && break
5226 cc_check -DOPENAL_AL_H=1 $I && _def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
5227 done
5228 test "$_openal" = yes && _libs_mplayer="$_libs_mplayer $I"
5230 if test "$_openal" = yes ; then
5231 _def_openal='#define CONFIG_OPENAL 1'
5232 _aosrc="$_aosrc ao_openal.c"
5233 _aomodules="openal $_aomodules"
5234 else
5235 _noaomodules="openal $_noaomodules"
5237 echores "$_openal"
5239 echocheck "ALSA audio"
5240 if test "$_alloca" != yes ; then
5241 _alsa=no
5242 _res_comment="alloca missing"
5244 if test "$_alsa" != no ; then
5245 _alsa=no
5246 cat > $TMPC << EOF
5247 #include <sys/time.h>
5248 #include <sys/asoundlib.h>
5249 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5250 #error "alsa version != 0.5.x"
5251 #endif
5252 int main(void) { return 0; }
5254 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
5256 cat > $TMPC << EOF
5257 #include <sys/time.h>
5258 #include <sys/asoundlib.h>
5259 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5260 #error "alsa version != 0.9.x"
5261 #endif
5262 int main(void) { return 0; }
5264 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
5265 cat > $TMPC << EOF
5266 #include <sys/time.h>
5267 #include <alsa/asoundlib.h>
5268 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5269 #error "alsa version != 0.9.x"
5270 #endif
5271 int main(void) { return 0; }
5273 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5275 cat > $TMPC << EOF
5276 #include <sys/time.h>
5277 #include <sys/asoundlib.h>
5278 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5279 #error "alsa version != 1.0.x"
5280 #endif
5281 int main(void) { return 0; }
5283 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5284 cat > $TMPC << EOF
5285 #include <sys/time.h>
5286 #include <alsa/asoundlib.h>
5287 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5288 #error "alsa version != 1.0.x"
5289 #endif
5290 int main(void) { return 0; }
5292 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5294 _def_alsa='#undef CONFIG_ALSA'
5295 _def_alsa5='#undef CONFIG_ALSA5'
5296 _def_alsa9='#undef CONFIG_ALSA9'
5297 _def_alsa1x='#undef CONFIG_ALSA1X'
5298 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5299 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5300 if test "$_alsaver" ; then
5301 _alsa=yes
5302 if test "$_alsaver" = '0.5.x' ; then
5303 _alsa5=yes
5304 _aosrc="$_aosrc ao_alsa5.c"
5305 _aomodules="alsa5 $_aomodules"
5306 _def_alsa5='#define CONFIG_ALSA5 1'
5307 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5308 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5309 elif test "$_alsaver" = '0.9.x-sys' ; then
5310 _alsa9=yes
5311 _aosrc="$_aosrc ao_alsa.c"
5312 _aomodules="alsa $_aomodules"
5313 _def_alsa='#define CONFIG_ALSA 1'
5314 _def_alsa9='#define CONFIG_ALSA9 1'
5315 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5316 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5317 elif test "$_alsaver" = '0.9.x-alsa' ; then
5318 _alsa9=yes
5319 _aosrc="$_aosrc ao_alsa.c"
5320 _aomodules="alsa $_aomodules"
5321 _def_alsa='#define CONFIG_ALSA 1'
5322 _def_alsa9='#define CONFIG_ALSA9 1'
5323 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5324 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5325 elif test "$_alsaver" = '1.0.x-sys' ; then
5326 _alsa1x=yes
5327 _aosrc="$_aosrc ao_alsa.c"
5328 _aomodules="alsa $_aomodules"
5329 _def_alsa='#define CONFIG_ALSA 1'
5330 _def_alsa1x="#define CONFIG_ALSA1X 1"
5331 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5332 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5333 elif test "$_alsaver" = '1.0.x-alsa' ; then
5334 _alsa1x=yes
5335 _aosrc="$_aosrc ao_alsa.c"
5336 _aomodules="alsa $_aomodules"
5337 _def_alsa='#define CONFIG_ALSA 1'
5338 _def_alsa1x="#define CONFIG_ALSA1X 1"
5339 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5340 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5341 else
5342 _alsa=no
5343 _res_comment="unknown version"
5345 _ld_extra="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5346 else
5347 _noaomodules="alsa $_noaomodules"
5349 echores "$_alsa"
5352 echocheck "Sun audio"
5353 if test "$_sunaudio" = auto ; then
5354 cat > $TMPC << EOF
5355 #include <sys/types.h>
5356 #include <sys/audioio.h>
5357 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5359 _sunaudio=no
5360 cc_check && _sunaudio=yes
5362 if test "$_sunaudio" = yes ; then
5363 _def_sunaudio='#define CONFIG_SUN_AUDIO 1'
5364 _aosrc="$_aosrc ao_sun.c"
5365 _aomodules="sun $_aomodules"
5366 else
5367 _def_sunaudio='#undef CONFIG_SUN_AUDIO'
5368 _noaomodules="sun $_noaomodules"
5370 echores "$_sunaudio"
5373 if sunos; then
5374 echocheck "Sun mediaLib"
5375 if test "$_mlib" = auto ; then
5376 _mlib=no
5377 cat > $TMPC << EOF
5378 #include <mlib.h>
5379 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5381 cc_check -lmlib && _mlib=yes
5383 test "$_mlib" = yes && _cpuexts="MLIB $_cpuexts"
5384 echores "$_mlib"
5385 fi #if sunos
5388 if irix; then
5389 echocheck "SGI audio"
5390 if test "$_sgiaudio" = auto ; then
5391 # check for SGI audio
5392 cat > $TMPC << EOF
5393 #include <dmedia/audio.h>
5394 int main(void) { return 0; }
5396 _sgiaudio=no
5397 cc_check && _sgiaudio=yes
5399 if test "$_sgiaudio" = "yes" ; then
5400 _def_sgiaudio='#define CONFIG_SGI_AUDIO 1'
5401 _libs_mplayer="$_libs_mplayer -laudio"
5402 _aosrc="$_aosrc ao_sgi.c"
5403 _aomodules="sgi $_aomodules"
5404 else
5405 _def_sgiaudio='#undef CONFIG_SGI_AUDIO'
5406 _noaomodules="sgi $_noaomodules"
5408 echores "$_sgiaudio"
5409 fi #if irix
5412 echocheck "VCD support"
5413 if linux || freebsd || netbsd || dragonfly || bsdos || darwin || sunos || mingw32; then
5414 _inputmodules="vcd $_inputmodules"
5415 _def_vcd='#define CONFIG_VCD 1'
5416 _vcd="yes"
5417 else
5418 _def_vcd='#undef CONFIG_VCD'
5419 _noinputmodules="vcd $_noinputmodules"
5420 _res_comment="not supported on this OS"
5421 _vcd="no"
5423 echores "$_vcd"
5427 echocheck "dvdread"
5428 if test "$_dvdread_internal" = auto ; then
5429 _dvdread_internal=no
5430 _dvdread=no
5431 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux) \
5432 && (test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5433 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes) \
5434 || darwin || win32; then
5435 _dvdread_internal=yes
5436 _dvdread=yes
5438 elif test "$_dvdread" = auto ; then
5439 _dvdread=no
5440 if test "$_dl" = yes; then
5441 cat > $TMPC << EOF
5442 #include <inttypes.h>
5443 #include <libdvdread/dvd_reader.h>
5444 #include <libdvdread/ifo_types.h>
5445 #include <libdvdread/ifo_read.h>
5446 #include <libdvdread/nav_read.h>
5447 int main(void) { return 0; }
5450 _dvdreadcflags=`$_dvdreadconfig --cflags`
5451 _dvdreadlibs=`$_dvdreadconfig --libs`
5452 if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5453 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5454 _dvdread=yes
5455 _inc_extra="$_inc_extra $_dvdreadcflags"
5456 _ld_extra="$_ld_extra $_dvdreadlibs"
5457 _res_comment="external"
5461 if test "$_dvdread_internal" = yes; then
5462 _def_dvdread_internal="#define CONFIG_DVDREAD_INTERNAL 1"
5463 _def_dvdread='#define CONFIG_DVDREAD 1'
5464 _inputmodules="dvdread(internal) $_inputmodules"
5465 _largefiles=yes
5466 _res_comment="internal"
5467 elif test "$_dvdread" = yes; then
5468 _def_dvdread='#define CONFIG_DVDREAD 1'
5469 _largefiles=yes
5470 _ld_extra="$_ld_extra -ldvdread"
5471 _inputmodules="dvdread(external) $_inputmodules"
5472 _res_comment="external"
5473 else
5474 _def_dvdread_internal="#undef CONFIG_DVDREAD_INTERNAL"
5475 _def_dvdread='#undef CONFIG_DVDREAD'
5476 _noinputmodules="dvdread $_noinputmodules"
5478 echores "$_dvdread"
5481 echocheck "internal libdvdcss"
5482 if test "$_libdvdcss_internal" = auto ; then
5483 _libdvdcss_internal=no
5484 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5485 hpux && test "$_hpux_scsi_h" = no && _libdvdcss_internal=no
5487 if test "$_libdvdcss_internal" = yes ; then
5488 if linux || netbsd || openbsd || bsdos ; then
5489 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5490 openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5491 elif freebsd || dragonfly ; then
5492 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5493 elif darwin ; then
5494 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5495 _ld_extra="$_ld_extra -framework IOKit"
5496 elif cygwin ; then
5497 cflags_libdvdcss="-DSYS_CYGWIN"
5498 elif beos ; then
5499 cflags_libdvdcss="-DSYS_BEOS"
5500 elif os2 ; then
5501 cflags_libdvdcss="-DSYS_OS2"
5503 cflags_libdvdcss_dvdread="-Ilibdvdcss -DHAVE_DVDCSS_DVDCSS_H"
5504 _inputmodules="libdvdcss(internal) $_inputmodules"
5505 _largefiles=yes
5506 else
5507 _noinputmodules="libdvdcss(internal) $_noinputmodules"
5509 echores "$_libdvdcss_internal"
5512 echocheck "cdparanoia"
5513 if test "$_cdparanoia" = auto ; then
5514 cat > $TMPC <<EOF
5515 #include <cdda_interface.h>
5516 #include <cdda_paranoia.h>
5517 // This need a better test. How ?
5518 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5520 _cdparanoia=no
5521 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5522 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5523 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5524 done
5526 if test "$_cdparanoia" = yes ; then
5527 _cdda='yes'
5528 _ld_extra="$_ld_extra -lcdda_interface -lcdda_paranoia"
5529 openbsd && _ld_extra="$_ld_extra -lutil"
5531 echores "$_cdparanoia"
5534 echocheck "libcdio"
5535 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5536 cat > $TMPC << EOF
5537 #include <stdio.h>
5538 #include <cdio/version.h>
5539 #include <cdio/cdda.h>
5540 #include <cdio/paranoia.h>
5541 int main(void) {
5542 void *test = cdda_verbose_set;
5543 printf("%s\n", CDIO_VERSION);
5544 return test == (void *)1;
5547 _libcdio=no
5548 for _ld_tmp in "" "-lwinmm" ; do
5549 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5550 cc_check $_ld_tmp $_ld_lm \
5551 && _libcdio=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5552 done
5553 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5554 _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
5555 _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
5556 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5557 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5560 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5561 _cdda='yes'
5562 _def_libcdio='#define CONFIG_LIBCDIO'
5563 _def_havelibcdio='yes'
5564 else
5565 if test "$_cdparanoia" = yes ; then
5566 _res_comment="using cdparanoia"
5568 _def_libcdio='#undef CONFIG_LIBCDIO'
5569 _def_havelibcdio='no'
5571 echores "$_libcdio"
5573 if test "$_cdda" = yes ; then
5574 test $_cddb = auto && test $_network = yes && _cddb=yes
5575 _def_cdparanoia='#define CONFIG_CDDA'
5576 _inputmodules="cdda $_inputmodules"
5577 else
5578 _def_cdparanoia='#undef CONFIG_CDDA'
5579 _noinputmodules="cdda $_noinputmodules"
5582 if test "$_cddb" = yes ; then
5583 _def_cddb='#define CONFIG_CDDB'
5584 _inputmodules="cddb $_inputmodules"
5585 else
5586 _cddb=no
5587 _def_cddb='#undef CONFIG_CDDB'
5588 _noinputmodules="cddb $_noinputmodules"
5591 echocheck "bitmap font support"
5592 if test "$_bitmap_font" = yes ; then
5593 _def_bitmap_font="#define CONFIG_BITMAP_FONT 1"
5594 else
5595 _def_bitmap_font="#undef CONFIG_BITMAP_FONT"
5597 echores "$_bitmap_font"
5600 echocheck "freetype >= 2.0.9"
5602 # freetype depends on iconv
5603 if test "$_iconv" = no ; then
5604 _freetype=no
5605 _res_comment="iconv support needed"
5608 if test "$_freetype" = auto ; then
5609 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5610 cat > $TMPC << EOF
5611 #include <stdio.h>
5612 #include <ft2build.h>
5613 #include FT_FREETYPE_H
5614 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5615 #error "Need FreeType 2.0.9 or newer"
5616 #endif
5617 int main(void) {
5618 FT_Library library;
5619 FT_Int major=-1,minor=-1,patch=-1;
5620 int err=FT_Init_FreeType(&library);
5621 if(err){
5622 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5623 exit(err);
5625 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5626 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5627 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5628 (int)major,(int)minor,(int)patch );
5629 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5630 printf("Library and header version mismatch! Fix it in your distribution!\n");
5631 exit(1);
5633 return 0;
5636 _freetype=no
5637 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5638 else
5639 _freetype=no
5642 if test "$_freetype" = yes ; then
5643 _def_freetype='#define CONFIG_FREETYPE'
5644 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5645 _ld_extra="$_ld_extra `$_freetypeconfig --libs`"
5646 else
5647 _def_freetype='#undef CONFIG_FREETYPE'
5649 echores "$_freetype"
5651 if test "$_freetype" = no ; then
5652 _fontconfig=no
5653 _res_comment="freetype support needed"
5655 echocheck "fontconfig"
5656 if test "$_fontconfig" = auto ; then
5657 cat > $TMPC << EOF
5658 #include <stdio.h>
5659 #include <stdlib.h>
5660 #include <fontconfig/fontconfig.h>
5661 int main(void) {
5662 int err = FcInit();
5663 if(err == FcFalse){
5664 printf("Couldn't initialize fontconfig lib\n");
5665 exit(err);
5667 return 0;
5670 _fontconfig=no
5671 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5672 _ld_tmp="-lfontconfig $_ld_tmp"
5673 cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5674 done
5675 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
5676 _inc_tmp=`$_pkg_config --cflags fontconfig`
5677 _ld_tmp=`$_pkg_config --libs fontconfig`
5678 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
5679 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5682 if test "$_fontconfig" = yes ; then
5683 _def_fontconfig='#define CONFIG_FONTCONFIG'
5684 else
5685 _def_fontconfig='#undef CONFIG_FONTCONFIG'
5687 echores "$_fontconfig"
5690 echocheck "SSA/ASS support"
5691 # libass depends on FreeType
5692 if test "$_freetype" = no ; then
5693 _ass=no
5694 _res_comment="FreeType support needed"
5697 if test "$_ass" = auto ; then
5698 cat > $TMPC << EOF
5699 #include <ft2build.h>
5700 #include FT_FREETYPE_H
5701 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5702 #error "Need FreeType 2.1.8 or newer"
5703 #endif
5704 int main(void) { return 0; }
5706 _ass=no
5707 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5708 if test "$_ass" = no ; then
5709 _res_comment="FreeType >= 2.1.8 needed"
5712 if test "$_ass" = yes ; then
5713 _def_ass='#define CONFIG_ASS'
5714 else
5715 _def_ass='#undef CONFIG_ASS'
5717 echores "$_ass"
5720 echocheck "fribidi with charsets"
5721 if test "$_fribidi" = auto ; then
5722 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5723 cat > $TMPC << EOF
5724 #include <stdio.h>
5725 /* workaround for fribidi 0.10.4 and below */
5726 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5727 #include <fribidi/fribidi.h>
5728 int main(void) {
5729 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5730 printf("Fribidi headers are not consistents with the library!\n");
5731 exit(1);
5733 return 0;
5736 _fribidi=no
5737 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5738 else
5739 _fribidi=no
5742 if test "$_fribidi" = yes ; then
5743 _def_fribidi='#define CONFIG_FRIBIDI'
5744 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5745 _ld_extra="$_ld_extra `$_fribidiconfig --libs`"
5746 else
5747 _def_fribidi='#undef CONFIG_FRIBIDI'
5749 echores "$_fribidi"
5752 echocheck "ENCA"
5753 if test "$_enca" = auto ; then
5754 cat > $TMPC << EOF
5755 #include <sys/types.h>
5756 #include <enca.h>
5757 int main(void) {
5758 const char **langs;
5759 size_t langcnt;
5760 langs = enca_get_languages(&langcnt);
5761 return 0;
5764 _enca=no
5765 cc_check -lenca $_ld_lm && _enca=yes
5767 if test "$_enca" = yes ; then
5768 _def_enca='#define CONFIG_ENCA 1'
5769 _ld_extra="$_ld_extra -lenca"
5770 else
5771 _def_enca='#undef CONFIG_ENCA'
5773 echores "$_enca"
5776 echocheck "zlib"
5777 cat > $TMPC << EOF
5778 #include <zlib.h>
5779 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5781 _zlib=no
5782 cc_check -lz && _zlib=yes
5783 if test "$_zlib" = yes ; then
5784 _def_zlib='#define CONFIG_ZLIB 1'
5785 _ld_extra="$_ld_extra -lz"
5786 else
5787 _def_zlib='#undef CONFIG_ZLIB'
5788 _libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `
5789 _libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
5791 echores "$_zlib"
5794 echocheck "RTC"
5795 if test "$_rtc" = auto ; then
5796 cat > $TMPC << EOF
5797 #include <sys/ioctl.h>
5798 #ifdef __linux__
5799 #include <linux/rtc.h>
5800 #else
5801 #include <rtc.h>
5802 #define RTC_PIE_ON RTCIO_PIE_ON
5803 #endif
5804 int main(void) { return RTC_PIE_ON; }
5806 _rtc=no
5807 cc_check && _rtc=yes
5808 ppc && _rtc=no
5810 if test "$_rtc" = yes ; then
5811 _def_rtc='#define HAVE_RTC 1'
5812 else
5813 _def_rtc='#undef HAVE_RTC'
5815 echores "$_rtc"
5818 echocheck "liblzo2 support"
5819 if test "$_liblzo" = auto ; then
5820 _liblzo=no
5821 cat > $TMPC << EOF
5822 #include <lzo/lzo1x.h>
5823 int main(void) { lzo_init();return 0; }
5825 cc_check -llzo2 && _liblzo=yes
5827 if test "$_liblzo" = yes ; then
5828 _def_liblzo='#define CONFIG_LIBLZO 1'
5829 _ld_extra="$_ld_extra -llzo2"
5830 _codecmodules="liblzo $_codecmodules"
5831 else
5832 _def_liblzo='#undef CONFIG_LIBLZO'
5833 _nocodecmodules="liblzo $_nocodecmodules"
5835 echores "$_liblzo"
5838 echocheck "mad support"
5839 if test "$_mad" = auto ; then
5840 _mad=no
5841 cat > $TMPC << EOF
5842 #include <mad.h>
5843 int main(void) { return 0; }
5845 cc_check -lmad && _mad=yes
5847 if test "$_mad" = yes ; then
5848 _def_mad='#define CONFIG_LIBMAD 1'
5849 _ld_extra="$_ld_extra -lmad"
5850 _codecmodules="libmad $_codecmodules"
5851 else
5852 _def_mad='#undef CONFIG_LIBMAD'
5853 _nocodecmodules="libmad $_nocodecmodules"
5855 echores "$_mad"
5857 echocheck "Twolame"
5858 if test "$_twolame" = auto ; then
5859 cat > $TMPC <<EOF
5860 #include <twolame.h>
5861 int main(void) { twolame_init(); return 0; }
5863 _twolame=no
5864 cc_check -ltwolame $_ld_lm && _twolame=yes
5866 if test "$_twolame" = yes ; then
5867 _def_twolame='#define CONFIG_TWOLAME 1'
5868 _libs_mencoder="$_libs_mencoder -ltwolame"
5869 _codecmodules="twolame $_codecmodules"
5870 else
5871 _def_twolame='#undef CONFIG_TWOLAME'
5872 _nocodecmodules="twolame $_nocodecmodules"
5874 echores "$_twolame"
5876 echocheck "Toolame"
5877 if test "$_toolame" = auto ; then
5878 _toolame=no
5879 if test "$_twolame" = yes ; then
5880 _res_comment="disabled by twolame"
5881 else
5882 cat > $TMPC <<EOF
5883 #include <toolame.h>
5884 int main(void) { toolame_init(); return 0; }
5886 cc_check -ltoolame $_ld_lm && _toolame=yes
5889 if test "$_toolame" = yes ; then
5890 _def_toolame='#define CONFIG_TOOLAME 1'
5891 _libs_mencoder="$_libs_mencoder -ltoolame"
5892 _codecmodules="toolame $_codecmodules"
5893 else
5894 _def_toolame='#undef CONFIG_TOOLAME'
5895 _nocodecmodules="toolame $_nocodecmodules"
5897 if test "$_toolamedir" ; then
5898 _res_comment="using $_toolamedir"
5900 echores "$_toolame"
5902 echocheck "OggVorbis support"
5903 if test "$_tremor_internal" = yes; then
5904 _libvorbis=no
5905 elif test "$_tremor_external" = auto; then
5906 _tremor_external=no
5907 cat > $TMPC << EOF
5908 #include <tremor/ivorbiscodec.h>
5909 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5911 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5913 if test "$_libvorbis" = auto; then
5914 _libvorbis=no
5915 cat > $TMPC << EOF
5916 #include <vorbis/codec.h>
5917 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5919 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5921 if test "$_tremor_internal" = yes ; then
5922 _vorbis=yes
5923 _def_vorbis='#define CONFIG_OGGVORBIS 1'
5924 _def_tremor='#define CONFIG_TREMOR 1'
5925 _codecmodules="tremor(internal) $_codecmodules"
5926 _res_comment="internal Tremor"
5927 if test "$_tremor_low" = yes ; then
5928 cflags_tremor_low="-D_LOW_ACCURACY_"
5929 _res_comment="internal low accuracy Tremor"
5931 elif test "$_tremor_external" = yes ; then
5932 _vorbis=yes
5933 _def_vorbis='#define CONFIG_OGGVORBIS 1'
5934 _def_tremor='#define CONFIG_TREMOR 1'
5935 _codecmodules="tremor(external) $_codecmodules"
5936 _res_comment="external Tremor"
5937 _ld_extra="$_ld_extra -logg -lvorbisidec"
5938 elif test "$_libvorbis" = yes ; then
5939 _vorbis=yes
5940 _def_vorbis='#define CONFIG_OGGVORBIS 1'
5941 _codecmodules="libvorbis $_codecmodules"
5942 _res_comment="libvorbis"
5943 _ld_extra="$_ld_extra -lvorbis -logg"
5944 else
5945 _vorbis=no
5946 _nocodecmodules="libvorbis $_nocodecmodules"
5948 echores "$_vorbis"
5950 echocheck "libspeex (version >= 1.1 required)"
5951 if test "$_speex" = auto ; then
5952 _speex=no
5953 cat > $TMPC << EOF
5954 #include <speex/speex.h>
5955 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
5957 cc_check -lspeex $_ld_lm && _speex=yes
5959 if test "$_speex" = yes ; then
5960 _def_speex='#define CONFIG_SPEEX 1'
5961 _ld_extra="$_ld_extra -lspeex"
5962 _codecmodules="speex $_codecmodules"
5963 else
5964 _def_speex='#undef CONFIG_SPEEX'
5965 _nocodecmodules="speex $_nocodecmodules"
5967 echores "$_speex"
5969 echocheck "OggTheora support"
5970 if test "$_theora" = auto ; then
5971 _theora=no
5972 cat > $TMPC << EOF
5973 #include <theora/theora.h>
5974 #include <string.h>
5975 int main(void) {
5976 /* theora is in flux, make sure that all interface routines and
5977 * datatypes exist and work the way we expect it, so we don't break
5978 * mplayer */
5979 ogg_packet op;
5980 theora_comment tc;
5981 theora_info inf;
5982 theora_state st;
5983 yuv_buffer yuv;
5984 int r;
5985 double t;
5987 theora_info_init (&inf);
5988 theora_comment_init (&tc);
5990 return 0;
5992 /* we don't want to execute this kind of nonsense; just for making sure
5993 * that compilation works... */
5994 memset(&op, 0, sizeof(op));
5995 r = theora_decode_header (&inf, &tc, &op);
5996 r = theora_decode_init (&st, &inf);
5997 t = theora_granule_time (&st, op.granulepos);
5998 r = theora_decode_packetin (&st, &op);
5999 r = theora_decode_YUVout (&st, &yuv);
6000 theora_clear (&st);
6002 return 0;
6005 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
6006 cc_check $_ld_theora && _ld_extra="$_ld_extra $_ld_theora" \
6007 && _theora=yes && break
6008 done
6009 if test "$_theora" = no && test "$_tremor_internal" = yes; then
6010 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
6011 cc_check -I. tremor/bitwise.c $_ld_theora \
6012 && _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
6013 done
6016 if test "$_theora" = yes ; then
6017 _def_theora='#define CONFIG_OGGTHEORA 1'
6018 _codecmodules="libtheora $_codecmodules"
6019 # when --enable-theora is forced, we'd better provide a probably sane
6020 # $_ld_theora than nothing
6021 test -z "$_ld_theora" && _ld_extra="$_ld_extra -ltheora -logg"
6022 else
6023 _def_theora='#undef CONFIG_OGGTHEORA'
6024 _nocodecmodules="libtheora $_nocodecmodules"
6026 echores "$_theora"
6028 echocheck "internal mp3lib support"
6029 if test "$_mp3lib" = yes ; then
6030 _def_mp3lib='#define CONFIG_MP3LIB 1'
6031 _codecmodules="mp3lib $_codecmodules"
6032 else
6033 _def_mp3lib='#undef CONFIG_MP3LIB'
6034 _nocodecmodules="mp3lib $_nocodecmodules"
6036 echores "$_mp3lib"
6038 echocheck "internal liba52 support"
6039 if test "$_liba52" = yes ; then
6040 _def_liba52='#define CONFIG_LIBA52 1'
6041 _codecmodules="liba52 $_codecmodules"
6042 else
6043 _def_liba52='#undef CONFIG_LIBA52'
6044 _nocodecmodules="liba52 $_nocodecmodules"
6046 echores "$_liba52"
6048 echocheck "internal libmpeg2 support"
6049 if test "$_libmpeg2" = auto ; then
6050 _libmpeg2=yes
6051 if alpha && test cc_vendor=gnu; then
6052 case $cc_version in
6053 2*|3.0*|3.1*) # cannot compile MVI instructions
6054 _libmpeg2=no
6055 _res_comment="broken gcc"
6057 esac
6060 if test "$_libmpeg2" = yes ; then
6061 _def_libmpeg2='#define CONFIG_LIBMPEG2 1'
6062 _codecmodules="libmpeg2 $_codecmodules"
6063 else
6064 _def_libmpeg2='#undef CONFIG_LIBMPEG2'
6065 _nocodecmodules="libmpeg2 $_nocodecmodules"
6067 echores "$_libmpeg2"
6069 echocheck "libdca support"
6070 if test "$_libdca" = auto ; then
6071 _libdca=no
6072 cat > $TMPC << EOF
6073 #include <inttypes.h>
6074 #include <dts.h>
6075 int main(void) { dts_init (0); return 0; }
6077 for _ld_dca in -ldts -ldca ; do
6078 cc_check $_ld_dca $_ld_lm && _ld_extra="$_ld_extra $_ld_dca" \
6079 && _libdca=yes && break
6080 done
6082 if test "$_libdca" = yes ; then
6083 _def_libdca='#define CONFIG_LIBDCA 1'
6084 _codecmodules="libdca $_codecmodules"
6085 else
6086 _def_libdca='#undef CONFIG_LIBDCA'
6087 _nocodecmodules="libdca $_nocodecmodules"
6089 echores "$_libdca"
6091 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
6092 if test "$_musepack" = auto ; then
6093 _musepack=no
6094 cat > $TMPC << EOF
6095 #include <stddef.h>
6096 #include <mpcdec/mpcdec.h>
6097 int main(void) {
6098 mpc_streaminfo info;
6099 mpc_decoder decoder;
6100 mpc_decoder_set_streaminfo(&decoder, &info);
6101 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6102 return 0;
6105 cc_check -lmpcdec $_ld_lm && _musepack=yes
6107 if test "$_musepack" = yes ; then
6108 _def_musepack='#define CONFIG_MUSEPACK 1'
6109 _ld_extra="$_ld_extra -lmpcdec"
6110 _codecmodules="musepack $_codecmodules"
6111 else
6112 _def_musepack='#undef CONFIG_MUSEPACK'
6113 _nocodecmodules="musepack $_nocodecmodules"
6115 echores "$_musepack"
6118 echocheck "FAAC (AAC encoder) support"
6119 if test "$_faac" = auto ; then
6120 cat > $TMPC <<EOF
6121 #include <inttypes.h>
6122 #include <faac.h>
6123 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6125 _faac=no
6126 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6127 cc_check -O4 $_ld_faac $_ld_lm && _libs_mencoder="$_libs_mencoder $_ld_faac" && _faac=yes && break
6128 done
6130 if test "$_faac" = yes ; then
6131 _def_faac="#define CONFIG_FAAC 1"
6132 test "$_faac_lavc" = auto && _faac_lavc=yes
6133 if test "$_faac_lavc" = yes ; then
6134 _def_faac_lavc="#define CONFIG_LIBFAAC 1"
6135 _libs_mplayer="$_libs_mplayer $_ld_faac"
6136 _libavencoders="$_libavencoders LIBFAAC_ENCODER"
6138 _codecmodules="faac $_codecmodules"
6139 else
6140 _faac_lavc=no
6141 _def_faac="#undef CONFIG_FAAC"
6142 _def_faac_lavc="#undef CONFIG_LIBFAAC"
6143 _nocodecmodules="faac $_nocodecmodules"
6145 _res_comment="in libavcodec: $_faac_lavc"
6146 echores "$_faac"
6149 echocheck "FAAD2 (AAC) support"
6150 if test "$_faad_internal" = auto ; then
6151 if x86_32 && test cc_vendor=gnu; then
6152 case $cc_version in
6153 3.1*|3.2) # ICE/insn with these versions
6154 _faad_internal=no
6155 _res_comment="broken gcc"
6158 _faad_internal=yes
6160 esac
6161 else
6162 _faad_internal=yes
6164 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
6165 _faad_external=no
6166 cat > $TMPC << EOF
6167 #include <faad.h>
6168 #ifndef FAAD_MIN_STREAMSIZE
6169 #error Too old version
6170 #endif
6171 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6172 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6174 cc_check -lfaad $_ld_lm && _faad_external=yes
6177 if test "$_faad_internal" = yes ; then
6178 _def_faad_internal="#define CONFIG_FAAD_INTERNAL 1"
6179 _faad=yes
6180 _res_comment="internal floating-point"
6181 if test "$_faad_fixed" = yes ; then
6182 # The FIXED_POINT implementation of FAAD2 improves performance
6183 # on some platforms, especially for SBR files.
6184 cflags_faad_fixed="-DFIXED_POINT"
6185 _res_comment="internal fixed-point"
6187 elif test "$_faad_external" = yes ; then
6188 _faad=yes
6189 _ld_extra="$_ld_extra -lfaad"
6190 else
6191 _def_faad_internal="#undef CONFIG_FAAD_INTERNAL"
6192 _faad=no
6195 if test "$_faad" = yes ; then
6196 _def_faad='#define CONFIG_FAAD 1'
6197 _codecmodules="faad2 $_codecmodules"
6198 else
6199 _def_faad='#undef CONFIG_FAAD'
6200 _nocodecmodules="faad2 $_nocodecmodules"
6202 echores "$_faad"
6205 echocheck "LADSPA plugin support"
6206 if test "$_ladspa" = auto ; then
6207 cat > $TMPC <<EOF
6208 #include <stdio.h>
6209 #include <ladspa.h>
6210 int main(void) {
6211 const LADSPA_Descriptor *ld = NULL;
6212 return 0;
6215 _ladspa=no
6216 cc_check && _ladspa=yes
6218 if test "$_ladspa" = yes; then
6219 _def_ladspa="#define CONFIG_LADSPA"
6220 else
6221 _def_ladspa="#undef CONFIG_LADSPA"
6223 echores "$_ladspa"
6226 if test -z "$_codecsdir" ; then
6227 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
6228 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
6229 if test -d "$dir" ; then
6230 _codecsdir="$dir"
6231 break;
6233 done
6235 # Fall back on default directory.
6236 if test -z "$_codecsdir" ; then
6237 _codecsdir="$_libdir/codecs"
6238 mingw32 && _codecsdir="codecs"
6239 os2 && _codecsdir="codecs"
6243 echocheck "Win32 codecs"
6244 if test "$_win32dll" = auto ; then
6245 _win32dll=no
6246 if x86_32 && ! qnx; then
6247 _win32dll=yes
6250 if test "$_win32dll" = yes ; then
6251 _def_win32dll='#define CONFIG_WIN32DLL 1'
6252 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
6253 _res_comment="using $_win32codecsdir"
6254 if ! win32 ; then
6255 _def_win32_loader='#define WIN32_LOADER 1'
6256 _win32_emulation=yes
6257 else
6258 _ld_extra="$_ld_extra -ladvapi32 -lole32"
6259 _res_comment="using native windows"
6261 _codecmodules="win32 $_codecmodules"
6262 else
6263 _def_win32dll='#undef CONFIG_WIN32DLL'
6264 _def_win32_loader='#undef WIN32_LOADER'
6265 _nocodecmodules="win32 $_nocodecmodules"
6267 echores "$_win32dll"
6270 echocheck "XAnim codecs"
6271 if test "$_xanim" = auto ; then
6272 _xanim=no
6273 _res_comment="dynamic loader support needed"
6274 if test "$_dl" = yes ; then
6275 _xanim=yes
6278 if test "$_xanim" = yes ; then
6279 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6280 _def_xanim='#define CONFIG_XANIM 1'
6281 _def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6282 _codecmodules="xanim $_codecmodules"
6283 _res_comment="using $_xanimcodecsdir"
6284 else
6285 _def_xanim='#undef CONFIG_XANIM'
6286 _def_xanim_path='#undef XACODEC_PATH'
6287 _nocodecmodules="xanim $_nocodecmodules"
6289 echores "$_xanim"
6292 echocheck "RealPlayer codecs"
6293 if test "$_real" = auto ; then
6294 _real=no
6295 _res_comment="dynamic loader support needed"
6296 if test "$_dl" = yes || test "$_win32dll" = yes &&
6297 (linux || freebsd || netbsd || dragonfly || darwin || win32) ; then
6298 _real=yes
6301 if test "$_real" = yes ; then
6302 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6303 _def_real='#define CONFIG_REALCODECS 1'
6304 _def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6305 _codecmodules="real $_codecmodules"
6306 _res_comment="using $_realcodecsdir"
6307 else
6308 _def_real='#undef CONFIG_REALCODECS'
6309 _def_real_path="#undef REALCODEC_PATH"
6310 _nocodecmodules="real $_nocodecmodules"
6312 echores "$_real"
6315 echocheck "QuickTime codecs"
6316 _qtx_emulation=no
6317 _def_qtx_win32='#undef CONFIG_QTX_CODECS_WIN32'
6318 if test "$_qtx" = auto ; then
6319 test "$_win32dll" = yes || darwin && _qtx=yes
6321 if test "$_qtx" = yes ; then
6322 _def_qtx='#define CONFIG_QTX_CODECS 1'
6323 win32 && _qtx_codecs_win32=yes && _def_qtx_win32='#define CONFIG_QTX_CODECS_WIN32 1'
6324 _codecmodules="qtx $_codecmodules"
6325 darwin || win32 || _qtx_emulation=yes
6326 else
6327 _def_qtx='#undef CONFIG_QTX_CODECS'
6328 _nocodecmodules="qtx $_nocodecmodules"
6330 echores "$_qtx"
6332 echocheck "Nemesi Streaming Media libraries"
6333 if test "$_nemesi" = auto && test "$_network" = yes ; then
6334 _nemesi=no
6335 if $_pkg_config libnemesi --atleast-version=0.6.3 ; then
6336 _inc_extra="$_inc_extra `$_pkg_config --cflags libnemesi`"
6337 _ld_extra="$_ld_extra `$_pkg_config --libs libnemesi`"
6338 _nemesi=yes
6341 if test "$_nemesi" = yes; then
6342 _native_rtsp=no
6343 _def_nemesi='#define CONFIG_LIBNEMESI 1'
6344 _inputmodules="nemesi $_inputmodules"
6345 else
6346 _native_rtsp="$_network"
6347 _nemesi=no
6348 _def_nemesi='#undef CONFIG_LIBNEMESI'
6349 _noinputmodules="nemesi $_noinputmodules"
6351 echores "$_nemesi"
6353 echocheck "LIVE555 Streaming Media libraries"
6354 if test "$_live" = auto && test "$_network" = yes ; then
6355 cat > $TMPCPP << EOF
6356 #include <liveMedia.hh>
6357 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6358 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6359 #endif
6360 int main(void) { return 0; }
6363 _live=no
6364 for I in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6365 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6366 $I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
6367 _ld_extra="$_livelibdir/liveMedia/libliveMedia.a \
6368 $_livelibdir/groupsock/libgroupsock.a \
6369 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6370 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6371 $_ld_extra -lstdc++" \
6372 _inc_extraxx="-I$_livelibdir/liveMedia/include \
6373 -I$_livelibdir/UsageEnvironment/include \
6374 -I$_livelibdir/BasicUsageEnvironment/include \
6375 -I$_livelibdir/groupsock/include" && \
6376 _live=yes && break
6377 done
6378 if test "$_live" != yes ; then
6379 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6380 _live_dist=yes
6384 if test "$_live" = yes && test "$_network" = yes; then
6385 _res_comment="using $_livelibdir"
6386 _def_live='#define CONFIG_LIVE555 1'
6387 _inputmodules="live555 $_inputmodules"
6388 elif test "$_live_dist" = yes && test "$_network" = yes; then
6389 _res_comment="using distribution version"
6390 _live="yes"
6391 _def_live='#define CONFIG_LIVE555 1'
6392 _ld_extra="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6393 _inc_extraxx="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6394 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6395 _inputmodules="live555 $_inputmodules"
6396 else
6397 _live=no
6398 _def_live='#undef CONFIG_LIVE555'
6399 _noinputmodules="live555 $_noinputmodules"
6401 echores "$_live"
6404 echocheck "FFmpeg libavutil"
6405 if test "$_libavutil_a" = auto ; then
6406 if test -d ffmpeg/libavutil ; then
6407 _libavutil_a=yes
6408 _res_comment="static"
6409 else
6410 die "MPlayer will not compile without libavutil in the source tree."
6412 elif test "$_libavutil_so" = auto ; then
6413 _libavutil_so=no
6414 cat > $TMPC << EOF
6415 #include <libavutil/common.h>
6416 int main(void) { ff_gcd(1,1); return 0; }
6418 if $_pkg_config --exists libavutil ; then
6419 _inc_libavutil=`$_pkg_config --cflags libavutil`
6420 _ld_tmp=`$_pkg_config --libs libavutil`
6421 cc_check $_inc_libavutil $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6422 && _libavutil_so=yes
6423 elif cc_check -lavutil $_ld_lm ; then
6424 _ld_extra="$_ld_extra -lavutil"
6425 _libavutil_so=yes
6426 _res_comment="using libavutil.so, but static libavutil is recommended"
6429 _libavutil=no
6430 _def_libavutil='#undef CONFIG_LIBAVUTIL'
6431 _def_libavutil_a='#undef CONFIG_LIBAVUTIL_A'
6432 _def_libavutil_so='#undef CONFIG_LIBAVUTIL_SO'
6433 test "$_libavutil_a" = yes || test "$_libavutil_so" = yes && _libavutil=yes
6434 test "$_libavutil" = yes && _def_libavutil='#define CONFIG_LIBAVUTIL 1'
6435 test "$_libavutil_a" = yes && _def_libavutil_a='#define CONFIG_LIBAVUTIL_A 1'
6436 test "$_libavutil_so" = yes && _def_libavutil_so='#define CONFIG_LIBAVUTIL_SO 1'
6437 # neither static nor shared libavutil is available, but it is mandatory ...
6438 if test "$_libavutil" = no ; then
6439 die "You need static or shared libavutil, MPlayer will not compile without!"
6441 echores "$_libavutil"
6443 echocheck "FFmpeg libavcodec"
6444 if test "$_libavcodec_a" = auto ; then
6445 _libavcodec_a=no
6446 if test -d ffmpeg/libavcodec && test -f ffmpeg/libavcodec/utils.c ; then
6447 _libavcodec_a="yes"
6448 _res_comment="static"
6450 elif test "$_libavcodec_so" = auto ; then
6451 _libavcodec_so=no
6452 _res_comment="libavcodec.so is discouraged over static libavcodec"
6453 cat > $TMPC << EOF
6454 #include <libavcodec/avcodec.h>
6455 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6457 if $_pkg_config --exists libavcodec ; then
6458 _inc_libavcodec=`$_pkg_config --cflags libavcodec`
6459 _ld_tmp=`$_pkg_config --libs libavcodec`
6460 cc_check $_inc_libavcodec $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6461 && _libavcodec_so=yes
6462 elif cc_check -lavcodec $_ld_lm ; then
6463 _ld_extra="$_ld_extra -lavcodec"
6464 _libavcodec_so=yes
6465 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6468 _libavcodec=no
6469 _def_libavcodec='#undef CONFIG_LIBAVCODEC'
6470 _def_libavcodec_a='#undef CONFIG_LIBAVCODEC_A'
6471 _def_libavcodec_so='#undef CONFIG_LIBAVCODEC_SO'
6472 test "$_libavcodec_a" = yes || test "$_libavcodec_so" = yes && _libavcodec=yes
6473 test "$_libavcodec" = yes && _def_libavcodec='#define CONFIG_LIBAVCODEC 1'
6474 test "$_libavcodec_a" = yes && _def_libavcodec_a='#define CONFIG_LIBAVCODEC_A 1'
6475 test "$_libavcodec_so" = yes && _def_libavcodec_so='#define CONFIG_LIBAVCODEC_SO 1'
6476 test "$_libavcodec_mpegaudio_hp" = yes \
6477 && _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6478 if test "$_libavcodec_a" = yes ; then
6479 _codecmodules="libavcodec $_codecmodules"
6480 elif test "$_libavcodec_so" = yes ; then
6481 _codecmodules="libavcodec.so $_codecmodules"
6482 else
6483 _nocodecmodules="libavcodec $_nocodecmodules"
6485 echores "$_libavcodec"
6487 echocheck "FFmpeg libavformat"
6488 if test "$_libavformat_a" = auto ; then
6489 _libavformat_a=no
6490 if test -d ffmpeg/libavformat && test -f ffmpeg/libavformat/utils.c ; then
6491 _libavformat_a=yes
6492 _res_comment="static"
6494 elif test "$_libavformat_so" = auto ; then
6495 _libavformat_so=no
6496 cat > $TMPC <<EOF
6497 #include <libavformat/avformat.h>
6498 #include <libavcodec/opt.h>
6499 int main(void) { av_alloc_format_context(); return 0; }
6501 if $_pkg_config --exists libavformat ; then
6502 _inc_libavformat=`$_pkg_config --cflags libavformat`
6503 _ld_tmp=`$_pkg_config --libs libavformat`
6504 cc_check $_inc_libavformat $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6505 && _libavformat_so=yes
6506 elif cc_check $_ld_lm -lavformat ; then
6507 _ld_extra="$_ld_extra -lavformat"
6508 _libavformat_so=yes
6509 _res_comment="using libavformat.so, but static libavformat is recommended"
6512 _libavformat=no
6513 _def_libavformat='#undef CONFIG_LIBAVFORMAT'
6514 _def_libavformat_a='#undef CONFIG_LIBAVFORMAT_A'
6515 _def_libavformat_so='#undef CONFIG_LIBAVFORMAT_SO'
6516 test "$_libavformat_a" = yes || test "$_libavformat_so" = yes && _libavformat=yes
6517 test "$_libavformat" = yes && _def_libavformat='#define CONFIG_LIBAVFORMAT 1'
6518 test "$_libavformat_a" = yes && _def_libavformat_a='#define CONFIG_LIBAVFORMAT_A 1'
6519 test "$_libavformat_so" = yes \
6520 && _def_libavformat_so='#define CONFIG_LIBAVFORMAT_SO 1'
6521 echores "$_libavformat"
6523 echocheck "FFmpeg libpostproc"
6524 if test "$_libpostproc_a" = auto ; then
6525 _libpostproc_a=no
6526 if test -d ffmpeg/libpostproc && test -f ffmpeg/libpostproc/postprocess.h ; then
6527 _libpostproc_a='yes'
6528 _res_comment="static"
6530 elif test "$_libpostproc_so" = auto ; then
6531 _libpostproc_so=no
6532 cat > $TMPC << EOF
6533 #define CONFIG_LIBPOSTPROC 1
6534 #include <inttypes.h>
6535 #include <libpostproc/postprocess.h>
6536 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6538 if cc_check -lpostproc $_ld_lm ; then
6539 _ld_extra="$_ld_extra -lpostproc"
6540 _libpostproc_so=yes
6541 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6544 _libpostproc=no
6545 _def_libpostproc='#undef CONFIG_LIBPOSTPROC'
6546 _def_libpostproc_a='#undef CONFIG_LIBPOSTPROC_A'
6547 _def_libpostproc_so='#undef CONFIG_LIBPOSTPROC_SO'
6548 test "$_libpostproc_a" = yes || test "$_libpostproc_so" = yes && _libpostproc=yes
6549 test "$_libpostproc" = yes && _def_libpostproc='#define CONFIG_LIBPOSTPROC 1'
6550 test "$_libpostproc_a" = yes && _def_libpostproc_a='#define CONFIG_LIBPOSTPROC_A 1'
6551 test "$_libpostproc_so" = yes \
6552 && _def_libpostproc_so='#define CONFIG_LIBPOSTPROC_SO 1'
6553 echores "$_libpostproc"
6556 echocheck "libamr narrowband"
6557 if test "$_libamr_nb" = auto ; then
6558 _libamr_nb=no
6559 cat > $TMPC << EOF
6560 #include <amrnb/sp_dec.h>
6561 int main(void) { Speech_Decode_Frame_init(); return 0; }
6563 cc_check -lamrnb && _libamr_nb=yes
6564 if test "$_libavcodec_a" != yes ; then
6565 _libamr_nb=no
6566 _res_comment="libavcodec (static) is required by libamr_nb, sorry"
6569 if test "$_libamr_nb" = yes ; then
6570 _libamr=yes
6571 _ld_extra="$_ld_extra -lamrnb"
6572 _def_libamr='#define CONFIG_LIBAMR 1'
6573 _def_libamr_nb='#define CONFIG_LIBAMR_NB 1'
6574 _libavdecoders="$_libavdecoders LIBAMR_NB_DECODER"
6575 _libavencoders="$_libavencoders LIBAMR_NB_ENCODER"
6576 _codecmodules="libamr_nb $_codecmodules"
6577 else
6578 _def_libamr_nb='#undef CONFIG_LIBAMR_NB'
6579 _nocodecmodules="libamr_nb $_nocodecmodules"
6581 echores "$_libamr_nb"
6584 echocheck "libamr wideband"
6585 if test "$_libamr_wb" = auto ; then
6586 _libamr_wb=no
6587 cat > $TMPC << EOF
6588 #include <amrwb/dec_if.h>
6589 int main(void) { D_IF_init(); return 0; }
6591 cc_check -lamrwb && _libamr_wb=yes
6592 if test "$_libavcodec_a" != yes ; then
6593 _libamr_wb=no
6594 _res_comment="libavcodec (static) is required by libamr_wb, sorry"
6597 if test "$_libamr_wb" = yes ; then
6598 _libamr=yes
6599 _ld_extra="$_ld_extra -lamrwb"
6600 _def_libamr='#define CONFIG_LIBAMR 1'
6601 _def_libamr_wb='#define CONFIG_LIBAMR_WB 1'
6602 _libavdecoders="$_libavdecoders LIBAMR_WB_DECODER"
6603 _libavencoders="$_libavencoders LIBAMR_WB_ENCODER"
6604 _codecmodules="libamr_wb $_codecmodules"
6605 else
6606 _def_libamr_wb='#undef CONFIG_LIBAMR_WB'
6607 _nocodecmodules="libamr_wb $_nocodecmodules"
6609 echores "$_libamr_wb"
6611 echocheck "libdv-0.9.5+"
6612 if test "$_libdv" = auto ; then
6613 _libdv=no
6614 cat > $TMPC <<EOF
6615 #include <libdv/dv.h>
6616 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6618 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6620 if test "$_libdv" = yes ; then
6621 _def_libdv='#define CONFIG_LIBDV095 1'
6622 _ld_extra="$_ld_extra -ldv"
6623 _codecmodules="libdv $_codecmodules"
6624 else
6625 _def_libdv='#undef CONFIG_LIBDV095'
6626 _nocodecmodules="libdv $_nocodecmodules"
6628 echores "$_libdv"
6631 echocheck "Xvid"
6632 if test "$_xvid" = auto ; then
6633 _xvid=no
6634 cat > $TMPC << EOF
6635 #include <xvid.h>
6636 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6638 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6639 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && _xvid=yes && break
6640 done
6643 if test "$_xvid" = yes ; then
6644 _def_xvid='#define CONFIG_XVID4 1'
6645 _codecmodules="xvid $_codecmodules"
6646 else
6647 _def_xvid='#undef CONFIG_XVID4'
6648 _nocodecmodules="xvid $_nocodecmodules"
6650 echores "$_xvid"
6652 echocheck "Xvid two pass plugin"
6653 if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
6654 cat > $TMPC << EOF
6655 #include <xvid.h>
6656 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6658 cc_check && _xvid_lavc=yes
6660 if test "$_xvid_lavc" = yes ; then
6661 _def_xvid_lavc='#define CONFIG_LIBXVID 1'
6662 _libavencoders="$_libavencoders LIBXVID_ENCODER"
6663 else
6664 _xvid_lavc=no
6665 _def_xvid_lavc='#undef CONFIG_LIBXVID'
6667 echores "$_xvid_lavc"
6670 echocheck "x264"
6671 if test "$_x264" = auto ; then
6672 cat > $TMPC << EOF
6673 #include <inttypes.h>
6674 #include <x264.h>
6675 #if X264_BUILD < 59
6676 #error We do not support old versions of x264. Get the latest from SVN.
6677 #endif
6678 int main(void) { x264_encoder_open((void*)0); return 0; }
6680 _x264=no
6681 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6682 cc_check $_ld_x264 && _libs_mencoder="$_libs_mencoder $_ld_x264" && _x264=yes && break
6683 done
6686 if test "$_x264" = yes ; then
6687 _def_x264='#define CONFIG_X264 1'
6688 _codecmodules="x264 $_codecmodules"
6689 test "$_x264_lavc" = auto && _x264_lavc=yes
6690 if test "$_x264_lavc" = yes ; then
6691 _def_x264_lavc='#define CONFIG_LIBX264 1'
6692 _libs_mplayer="$_libs_mplayer $_ld_x264"
6693 _libavencoders="$_libavencoders LIBX264_ENCODER"
6695 else
6696 _x264_lavc=no
6697 _def_x264='#undef CONFIG_X264'
6698 _def_x264_lavc='#undef CONFIG_LIBX264'
6699 _nocodecmodules="x264 $_nocodecmodules"
6701 _res_comment="in libavcodec: $_x264_lavc"
6702 echores "$_x264"
6705 echocheck "libdirac"
6706 if test "$_libdirac_lavc" = auto; then
6707 _libdirac_lavc=no
6708 if test "$_libavcodec_a" != yes; then
6709 _res_comment="libavcodec (static) is required by libdirac, sorry"
6710 else
6711 cat > $TMPC << EOF
6712 #include <libdirac_encoder/dirac_encoder.h>
6713 #include <libdirac_decoder/dirac_parser.h>
6714 int main(void)
6716 dirac_encoder_context_t enc_ctx;
6717 dirac_decoder_t *dec_handle;
6718 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
6719 dec_handle = dirac_decoder_init(0);
6720 if (dec_handle)
6721 dirac_decoder_close(dec_handle);
6722 return 0;
6725 if $_pkg_config --exists dirac ; then
6726 _inc_dirac=`$_pkg_config --silence-errors --cflags dirac`
6727 _ld_dirac=`$_pkg_config --silence-errors --libs dirac`
6728 cc_check $_inc_dirac $_ld_dirac &&
6729 _libdirac_lavc=yes &&
6730 _inc_extra="$_inc_extra $_inc_dirac" &&
6731 _ld_extra="$_ld_extra $_ld_dirac"
6735 if test "$_libdirac_lavc" = yes ; then
6736 _def_libdirac_lavc='#define CONFIG_LIBDIRAC 1'
6737 _libavencoders="$_libavencoders LIBDIRAC_ENCODER"
6738 _libavdecoders="$_libavdecoders LIBDIRAC_DECODER"
6739 _codecmodules="libdirac $_codecmodules"
6740 else
6741 _def_libdirac_lavc='#undef CONFIG_LIBDIRAC'
6742 _nocodecmodules="libdirac $_nocodecmodules"
6744 echores "$_libdirac_lavc"
6747 echocheck "libschroedinger"
6748 if test "$_libschroedinger_lavc" = auto ; then
6749 _libschroedinger_lavc=no
6750 if test "$_libavcodec_a" != yes; then
6751 _res_comment="libavcodec (static) is required by libschroedinger, sorry"
6752 else
6753 cat > $TMPC << EOF
6754 #include <schroedinger/schro.h>
6755 int main(void) { schro_init(); return 0; }
6757 if $_pkg_config --exists schroedinger-1.0 ; then
6758 _inc_schroedinger=`$_pkg_config --silence-errors --cflags schroedinger-1.0`
6759 _ld_schroedinger=`$_pkg_config --silence-errors --libs schroedinger-1.0`
6760 cc_check $_inc_schroedinger $_ld_schroedinger &&
6761 _libschroedinger_lavc=yes &&
6762 _inc_extra="$_inc_extra $_inc_schroedinger" &&
6763 _ld_extra="$_ld_extra $_ld_schroedinger"
6767 if test "$_libschroedinger_lavc" = yes ; then
6768 _def_libschroedinger_lavc='#define CONFIG_LIBSCHROEDINGER 1'
6769 _libavencoders="$_libavencoders LIBSCHROEDINGER_ENCODER"
6770 _libavdecoders="$_libavdecoders LIBSCHROEDINGER_DECODER"
6771 _codecmodules="libschroedinger $_codecmodules"
6772 else
6773 _def_libschroedinger_lavc='#undef CONFIG_LIBSCHROEDINGER'
6774 _nocodecmodules="libschroedinger $_nocodecmodules"
6776 echores "$_libschroedinger_lavc"
6778 echocheck "libnut"
6779 if test "$_libnut" = auto ; then
6780 cat > $TMPC << EOF
6781 #include <stdio.h>
6782 #include <stdlib.h>
6783 #include <inttypes.h>
6784 #include <libnut.h>
6785 int main(void) { (void)nut_error(0); return 0; }
6787 _libnut=no
6788 cc_check -lnut && _libnut=yes
6791 if test "$_libnut" = yes ; then
6792 _def_libnut='#define CONFIG_LIBNUT 1'
6793 _ld_extra="$_ld_extra -lnut"
6794 else
6795 _def_libnut='#undef CONFIG_LIBNUT'
6797 echores "$_libnut"
6799 #check must be done after libavcodec one
6800 echocheck "zr"
6801 if test "$_zr" = auto ; then
6802 #36067's seem to identify themselves as 36057PQC's, so the line
6803 #below should work for 36067's and 36057's.
6804 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci ; then
6805 _zr=yes
6806 else
6807 _zr=no
6810 if test "$_zr" = yes ; then
6811 if test "$_libavcodec_a" = yes ; then
6812 _def_zr='#define CONFIG_ZR 1'
6813 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6814 _vomodules="zr zr2 $_vomodules"
6815 else
6816 _res_comment="libavcodec (static) is required by zr, sorry"
6817 _novomodules="zr $_novomodules"
6818 _def_zr='#undef CONFIG_ZR'
6820 else
6821 _def_zr='#undef CONFIG_ZR'
6822 _novomodules="zr zr2 $_novomodules"
6824 echores "$_zr"
6826 # mencoder requires (optional) those libs: libmp3lame
6827 if test "$_mencoder" != no ; then
6829 echocheck "libmp3lame (for mencoder)"
6830 _def_mp3lame_preset='#undef CONFIG_MP3LAME_PRESET'
6831 _def_mp3lame_preset_medium='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
6832 if test "$_mp3lame" = auto ; then
6833 _mp3lame=no
6834 cat > $TMPC <<EOF
6835 #include <lame/lame.h>
6836 int main(void) { lame_version_t lv; (void) lame_init();
6837 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
6838 return 0; }
6840 cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
6842 if test "$_mp3lame" = yes ; then
6843 _def_mp3lame="#define CONFIG_MP3LAME"
6844 _ld_mp3lame=-lmp3lame
6845 _libs_mencoder="$_libs_mencoder $_ld_mp3lame"
6846 cat > $TMPC << EOF
6847 #include <lame/lame.h>
6848 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6850 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define CONFIG_MP3LAME_PRESET"
6851 cat > $TMPC << EOF
6852 #include <lame/lame.h>
6853 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6855 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define CONFIG_MP3LAME_PRESET_MEDIUM"
6856 test "$_mp3lame_lavc" = auto && _mp3lame_lavc=yes
6857 if test "$_mp3lame_lavc" = yes ; then
6858 _def_mp3lame_lavc="#define CONFIG_LIBMP3LAME 1"
6859 _libavencoders="$_libavencoders LIBMP3LAME_ENCODER"
6860 _libs_mplayer="$_libs_mplayer $_ld_mp3lame"
6862 else
6863 _mp3lame_lavc=no
6864 _def_mp3lame='#undef CONFIG_MP3LAME'
6865 _def_mp3lame_lavc="#undef CONFIG_LIBMP3LAME"
6867 _res_comment="in libavcodec: $_mp3lame_lavc"
6868 echores "$_mp3lame"
6872 echocheck "mencoder"
6873 if test "$_mencoder" = yes ; then
6874 _def_muxers='#define CONFIG_MUXERS 1'
6875 else
6876 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6877 _libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
6878 _libavmuxers=""
6880 echores "$_mencoder"
6882 echocheck "fastmemcpy"
6883 # fastmemcpy check is done earlier with tests of CPU & binutils features
6884 if test "$_fastmemcpy" = yes ; then
6885 _def_fastmemcpy='#define CONFIG_FASTMEMCPY 1'
6886 else
6887 _def_fastmemcpy='#undef CONFIG_FASTMEMCPY'
6889 echores "$_fastmemcpy"
6892 echocheck "UnRAR executable"
6893 if test "$_unrar_exec" = auto ; then
6894 _unrar_exec="yes"
6895 mingw32 && _unrar_exec="no"
6897 if test "$_unrar_exec" = yes ; then
6898 _def_unrar_exec='#define CONFIG_UNRAR_EXEC 1'
6899 else
6900 _def_unrar_exec='#undef CONFIG_UNRAR_EXEC'
6902 echores "$_unrar_exec"
6904 echocheck "TV interface"
6905 if test "$_tv" = yes ; then
6906 _def_tv='#define CONFIG_TV 1'
6907 _inputmodules="tv $_inputmodules"
6908 else
6909 _noinputmodules="tv $_noinputmodules"
6910 _def_tv='#undef CONFIG_TV'
6912 echores "$_tv"
6915 if freebsd || netbsd || openbsd || dragonfly || bsdos ; then
6916 echocheck "*BSD BT848 bt8xx header"
6917 _ioctl_bt848_h=no
6918 for file in "machine/ioctl_bt848.h" \
6919 "dev/bktr/ioctl_bt848.h" \
6920 "dev/video/bktr/ioctl_bt848.h" \
6921 "dev/ic/bt8xx.h" ; do
6922 cat > $TMPC <<EOF
6923 #include <sys/types.h>
6924 #include <sys/ioctl.h>
6925 #include <$file>
6926 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
6928 if cc_check ; then
6929 _ioctl_bt848_h=yes
6930 _ioctl_bt848_h_name="$file"
6931 break;
6933 done
6934 if test "$_ioctl_bt848_h" = yes ; then
6935 _def_ioctl_bt848_h_name="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
6936 _res_comment="using $_ioctl_bt848_h_name"
6937 else
6938 _def_ioctl_bt848_h_name="#undef IOCTL_BT848_H_NAME"
6940 echores "$_ioctl_bt848_h"
6942 echocheck "*BSD ioctl_meteor.h"
6943 _ioctl_meteor_h=no
6944 for file in "machine/ioctl_meteor.h" \
6945 "dev/bktr/ioctl_meteor.h" \
6946 "dev/video/bktr/ioctl_meteor.h" ; do
6947 cat > $TMPC <<EOF
6948 #include <sys/types.h>
6949 #include <$file>
6950 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
6952 if cc_check ; then
6953 _ioctl_meteor_h=yes
6954 _ioctl_meteor_h_name="$file"
6955 break;
6957 done
6958 if test "$_ioctl_meteor_h" = yes ; then
6959 _def_ioctl_meteor_h_name="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
6960 _res_comment="using $_ioctl_meteor_h_name"
6961 else
6962 _def_ioctl_meteor_h_name="#undef IOCTL_METEOR_H_NAME"
6964 echores "$_ioctl_meteor_h"
6966 echocheck "*BSD BrookTree 848 TV interface"
6967 if test "$_tv_bsdbt848" = auto ; then
6968 _tv_bsdbt848=no
6969 if test "$_tv" = yes ; then
6970 cat > $TMPC <<EOF
6971 #include <sys/types.h>
6972 $_def_ioctl_meteor_h_name
6973 $_def_ioctl_bt848_h_name
6974 #ifdef IOCTL_METEOR_H_NAME
6975 #include IOCTL_METEOR_H_NAME
6976 #endif
6977 #ifdef IOCTL_BT848_H_NAME
6978 #include IOCTL_BT848_H_NAME
6979 #endif
6980 int main(void) {
6981 ioctl(0, METEORSINPUT, 0);
6982 ioctl(0, TVTUNER_GETFREQ, 0);
6983 return 0;
6986 cc_check && _tv_bsdbt848=yes
6989 if test "$_tv_bsdbt848" = yes ; then
6990 _def_tv_bsdbt848='#define CONFIG_TV_BSDBT848 1'
6991 _inputmodules="tv-bsdbt848 $_inputmodules"
6992 else
6993 _def_tv_bsdbt848='#undef CONFIG_TV_BSDBT848'
6994 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6996 echores "$_tv_bsdbt848"
6997 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7000 echocheck "DirectShow TV interface"
7001 if test "$_tv_dshow" = auto ; then
7002 _tv_dshow=no
7003 if test "$_tv" = yes && win32 ; then
7004 cat > $TMPC <<EOF
7005 #include <ole2.h>
7006 int main(void) {
7007 void* p;
7008 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7009 return 0;
7012 cc_check -lole32 -luuid && _tv_dshow=yes
7015 if test "$_tv_dshow" = yes ; then
7016 _inputmodules="tv-dshow $_inputmodules"
7017 _def_tv_dshow='#define CONFIG_TV_DSHOW 1'
7018 _ld_extra="$_ld_extra -lole32 -luuid"
7019 else
7020 _noinputmodules="tv-dshow $_noinputmodules"
7021 _def_tv_dshow='#undef CONFIG_TV_DSHOW'
7023 echores "$_tv_dshow"
7026 echocheck "Video 4 Linux TV interface"
7027 if test "$_tv_v4l1" = auto ; then
7028 _tv_v4l1=no
7029 if test "$_tv" = yes && linux ; then
7030 cat > $TMPC <<EOF
7031 #include <stdlib.h>
7032 #include <linux/videodev.h>
7033 int main(void) { return 0; }
7035 cc_check && _tv_v4l1=yes
7038 if test "$_tv_v4l1" = yes ; then
7039 _audio_input=yes
7040 _tv_v4l=yes
7041 _def_tv_v4l='#define CONFIG_TV_V4L 1'
7042 _def_tv_v4l1='#define CONFIG_TV_V4L1 1'
7043 _inputmodules="tv-v4l $_inputmodules"
7044 else
7045 _noinputmodules="tv-v4l1 $_noinputmodules"
7046 _def_tv_v4l='#undef CONFIG_TV_V4L'
7048 echores "$_tv_v4l1"
7051 echocheck "Video 4 Linux 2 TV interface"
7052 if test "$_tv_v4l2" = auto ; then
7053 _tv_v4l2=no
7054 if test "$_tv" = yes && linux ; then
7055 cat > $TMPC <<EOF
7056 #include <stdlib.h>
7057 #include <linux/types.h>
7058 #include <linux/videodev2.h>
7059 int main(void) { return 0; }
7061 cc_check && _tv_v4l2=yes
7064 if test "$_tv_v4l2" = yes ; then
7065 _audio_input=yes
7066 _tv_v4l=yes
7067 _def_tv_v4l='#define CONFIG_TV_V4L 1'
7068 _def_tv_v4l2='#define CONFIG_TV_V4L2 1'
7069 _inputmodules="tv-v4l2 $_inputmodules"
7070 else
7071 _noinputmodules="tv-v4l2 $_noinputmodules"
7072 _def_tv_v4l2='#undef CONFIG_TV_V4L2'
7074 echores "$_tv_v4l2"
7077 echocheck "TV teletext interface"
7078 if test "$_tv_teletext" = auto ; then
7079 _tv_teletext=no
7080 if test "$_freetype" = yes && test "$_pthreads" = yes; then
7081 if test "$_tv_v4l2" = yes || test "$_v4l" = yes || test "$_tv_dshow" = yes; then
7082 _tv_teletext=yes
7086 if test "$_tv_teletext" = yes ; then
7087 _def_tv_teletext='#define CONFIG_TV_TELETEXT 1'
7088 _inputmodules="tv-teletext $_inputmodules"
7089 else
7090 _noinputmodules="tv-teletext $_noinputmodules"
7091 _def_tv_teletext='#undef CONFIG_TV_TELETEXT'
7093 echores "$_tv_teletext"
7096 echocheck "Radio interface"
7097 if test "$_radio" = yes ; then
7098 _def_radio='#define CONFIG_RADIO 1'
7099 _inputmodules="radio $_inputmodules"
7100 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7101 _radio_capture=no
7103 if test "$_radio_capture" = yes ; then
7104 _audio_input=yes
7105 _def_radio_capture="#define CONFIG_RADIO_CAPTURE 1"
7106 else
7107 _def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7109 else
7110 _noinputmodules="radio $_noinputmodules"
7111 _def_radio='#undef CONFIG_RADIO'
7112 _def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7113 _radio_capture=no
7115 echores "$_radio"
7116 echocheck "Capture for Radio interface"
7117 echores "$_radio_capture"
7119 echocheck "Video 4 Linux 2 Radio interface"
7120 if test "$_radio_v4l2" = auto ; then
7121 _radio_v4l2=no
7122 if test "$_radio" = yes && linux ; then
7123 cat > $TMPC <<EOF
7124 #include <stdlib.h>
7125 #include <linux/types.h>
7126 #include <linux/videodev2.h>
7127 int main(void) { return 0; }
7129 cc_check && _radio_v4l2=yes
7132 if test "$_radio_v4l2" = yes ; then
7133 _def_radio_v4l2='#define CONFIG_RADIO_V4L2 1'
7134 else
7135 _def_radio_v4l2='#undef CONFIG_RADIO_V4L2'
7137 echores "$_radio_v4l2"
7139 echocheck "Video 4 Linux Radio interface"
7140 if test "$_radio_v4l" = auto ; then
7141 _radio_v4l=no
7142 if test "$_radio" = yes && linux ; then
7143 cat > $TMPC <<EOF
7144 #include <stdlib.h>
7145 #include <linux/videodev.h>
7146 int main(void) { return 0; }
7148 cc_check && _radio_v4l=yes
7151 if test "$_radio_v4l" = yes ; then
7152 _def_radio_v4l='#define CONFIG_RADIO_V4L 1'
7153 else
7154 _def_radio_v4l='#undef CONFIG_RADIO_V4L'
7156 echores "$_radio_v4l"
7158 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7159 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
7160 echocheck "*BSD BrookTree 848 Radio interface"
7161 _radio_bsdbt848=no
7162 cat > $TMPC <<EOF
7163 #include <sys/types.h>
7164 $_def_ioctl_bt848_h_name
7165 #ifdef IOCTL_BT848_H_NAME
7166 #include IOCTL_BT848_H_NAME
7167 #endif
7168 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7170 cc_check && _radio_bsdbt848=yes
7171 echores "$_radio_bsdbt848"
7172 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7174 if test "$_radio_bsdbt848" = yes ; then
7175 _def_radio_bsdbt848='#define CONFIG_RADIO_BSDBT848 1'
7176 else
7177 _def_radio_bsdbt848='#undef CONFIG_RADIO_BSDBT848'
7180 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
7181 test "$_radio_bsdbt848" = no && test "$_radio" = yes ; then
7182 die "Radio driver requires BSD BT848, V4L or V4L2!"
7185 echocheck "Video 4 Linux 2 MPEG PVR interface"
7186 if test "$_pvr" = auto ; then
7187 _pvr=no
7188 if test "$_tv_v4l2" = yes && linux ; then
7189 cat > $TMPC <<EOF
7190 #include <stdlib.h>
7191 #include <inttypes.h>
7192 #include <linux/types.h>
7193 #include <linux/videodev2.h>
7194 int main(void) { struct v4l2_ext_controls ext; return 0; }
7196 cc_check && _pvr=yes
7199 if test "$_pvr" = yes ; then
7200 _def_pvr='#define CONFIG_PVR 1'
7201 _inputmodules="pvr $_inputmodules"
7202 else
7203 _noinputmodules="pvr $_noinputmodules"
7204 _def_pvr='#undef CONFIG_PVR'
7206 echores "$_pvr"
7209 echocheck "audio select()"
7210 if test "$_select" = no ; then
7211 _def_select='#undef HAVE_AUDIO_SELECT'
7212 elif test "$_select" = yes ; then
7213 _def_select='#define HAVE_AUDIO_SELECT 1'
7215 echores "$_select"
7218 echocheck "ftp"
7219 if ! beos && test "$_ftp" = yes ; then
7220 _def_ftp='#define CONFIG_FTP 1'
7221 _inputmodules="ftp $_inputmodules"
7222 else
7223 _noinputmodules="ftp $_noinputmodules"
7224 _def_ftp='#undef CONFIG_FTP'
7226 echores "$_ftp"
7228 echocheck "vstream client"
7229 if test "$_vstream" = auto ; then
7230 _vstream=no
7231 cat > $TMPC <<EOF
7232 #include <vstream-client.h>
7233 void vstream_error(const char *format, ... ) {}
7234 int main(void) { vstream_start(); return 0; }
7236 cc_check -lvstream-client && _vstream=yes
7238 if test "$_vstream" = yes ; then
7239 _def_vstream='#define CONFIG_VSTREAM 1'
7240 _inputmodules="vstream $_inputmodules"
7241 _ld_extra="$_ld_extra -lvstream-client"
7242 else
7243 _noinputmodules="vstream $_noinputmodules"
7244 _def_vstream='#undef CONFIG_VSTREAM'
7246 echores "$_vstream"
7248 # endian testing
7249 echocheck "byte order"
7250 if test "$_big_endian" = auto ; then
7251 cat > $TMPC <<EOF
7252 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
7253 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
7254 int main(void) { return (int)ascii_name; }
7256 if cc_check ; then
7257 if strings $TMPEXE | grep -q -l MPlayerBigEndian ; then
7258 _big_endian=yes
7259 else
7260 _big_endian=no
7262 else
7263 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
7266 if test "$_big_endian" = yes ; then
7267 _byte_order='big-endian'
7268 _def_words_endian='#define WORDS_BIGENDIAN 1'
7269 else
7270 _byte_order='little-endian'
7271 _def_words_endian='#undef WORDS_BIGENDIAN'
7273 echores "$_byte_order"
7275 echocheck "OSD menu"
7276 if test "$_menu" = yes ; then
7277 _def_menu='#define CONFIG_MENU 1'
7278 test $_dvbin = "yes" && _menu_dvbin=yes
7279 else
7280 _def_menu='#undef CONFIG_MENU'
7281 _menu_dvbin=no
7283 echores "$_menu"
7286 echocheck "Subtitles sorting"
7287 if test "$_sortsub" = yes ; then
7288 _def_sortsub='#define CONFIG_SORTSUB 1'
7289 else
7290 _def_sortsub='#undef CONFIG_SORTSUB'
7292 echores "$_sortsub"
7295 echocheck "XMMS inputplugin support"
7296 if test "$_xmms" = yes ; then
7297 if ( xmms-config --version ) >/dev/null 2>&1 ; then
7298 _xmmsplugindir=`xmms-config --input-plugin-dir`
7299 _xmmslibdir=`xmms-config --exec-prefix`/lib
7300 else
7301 _xmmsplugindir=/usr/lib/xmms/Input
7302 _xmmslibdir=/usr/lib
7305 _def_xmms='#define CONFIG_XMMS 1'
7306 if darwin ; then
7307 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
7308 else
7309 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7311 else
7312 _def_xmms='#undef CONFIG_XMMS'
7314 echores "$_xmms"
7316 echocheck "inet6"
7317 if test "$_inet6" = auto ; then
7318 cat > $TMPC << EOF
7319 #include <sys/types.h>
7320 #if !defined(_WIN32) || defined(__CYGWIN__)
7321 #include <sys/socket.h>
7322 #include <netinet/in.h>
7323 #else
7324 #include <ws2tcpip.h>
7325 #endif
7326 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
7328 _inet6=no
7329 if cc_check $_ld_sock ; then
7330 _inet6=yes
7333 if test "$_inet6" = yes ; then
7334 _def_inet6='#define HAVE_AF_INET6 1'
7335 else
7336 _def_inet6='#undef HAVE_AF_INET6'
7338 echores "$_inet6"
7341 echocheck "gethostbyname2"
7342 if test "$_gethostbyname2" = auto ; then
7343 cat > $TMPC << EOF
7344 #include <sys/types.h>
7345 #include <sys/socket.h>
7346 #include <netdb.h>
7347 int main(void) { gethostbyname2("", AF_INET); return 0; }
7349 _gethostbyname2=no
7350 if cc_check ; then
7351 _gethostbyname2=yes
7355 if test "$_gethostbyname2" = yes ; then
7356 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
7357 else
7358 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
7360 echores "$_gethostbyname2"
7363 # --------------- GUI specific tests begin -------------------
7364 echocheck "GUI"
7365 echo "$_gui"
7366 if test "$_gui" = yes ; then
7368 # Required libraries
7369 if test "$_libavcodec" != yes ||
7370 ! echo $_libavdecoders | grep -q PNG_DECODER ; then
7371 die "The GUI requires libavcodec with PNG support (needs zlib)."
7373 test "$_freetype" = no && test "$_bitmap_font" = no && \
7374 die "The GUI requires either FreeType or bitmap font support."
7375 if ! win32 ; then
7376 _gui_gtk=yes
7377 test "$_x11" != yes && die "X11 support required for GUI compilation."
7379 echocheck "XShape extension"
7380 if test "$_xshape" = auto ; then
7381 _xshape=no
7382 cat > $TMPC << EOF
7383 #include <X11/Xlib.h>
7384 #include <X11/Xproto.h>
7385 #include <X11/Xutil.h>
7386 #include <X11/extensions/shape.h>
7387 #include <stdlib.h>
7388 int main(void) {
7389 char *name = ":0.0";
7390 Display *wsDisplay;
7391 int exitvar = 0;
7392 int eventbase, errorbase;
7393 if (getenv("DISPLAY"))
7394 name=getenv("DISPLAY");
7395 wsDisplay=XOpenDisplay(name);
7396 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7397 exitvar=1;
7398 XCloseDisplay(wsDisplay);
7399 return exitvar;
7402 cc_check -lXext && _xshape=yes
7404 if test "$_xshape" = yes ; then
7405 _def_xshape='#define CONFIG_XSHAPE 1'
7406 else
7407 die "The GUI requires the X11 extension XShape (which was not found)."
7409 echores "$_xshape"
7411 #Check for GTK
7412 if test "$_gtk1" = no ; then
7413 #Check for GTK2 :
7414 echocheck "GTK+ version"
7416 if $_pkg_config gtk+-2.0 --exists ; then
7417 _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7418 _inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7419 _libs_mplayer="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7420 echores "$_gtk"
7422 # Check for GLIB2
7423 if $_pkg_config glib-2.0 --exists ; then
7424 echocheck "glib version"
7425 _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7426 _libs_mplayer="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7427 echores "$_glib"
7429 _def_gui='#define CONFIG_GUI 1'
7430 _def_gtk2='#define CONFIG_GTK2 1'
7431 else
7432 _gtk1=yes
7433 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7435 else
7436 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7437 _gtk1=yes
7441 if test "$_gtk1" = yes ; then
7442 # Check for old GTK (1.2.x)
7443 echocheck "GTK version"
7444 if test -z "$_gtkconfig" ; then
7445 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7446 _gtkconfig="gtk-config"
7447 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7448 _gtkconfig="gtk12-config"
7449 else
7450 die "The GUI requires GTK devel packages (which were not found)."
7453 _gtk=`$_gtkconfig --version 2>&1`
7454 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7455 _libs_mplayer="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7456 echores "$_gtk (using $_gtkconfig)"
7458 # Check for GLIB
7459 echocheck "glib version"
7460 if test -z "$_glibconfig" ; then
7461 if ( glib-config --version ) >/dev/null 2>&1 ; then
7462 _glibconfig="glib-config"
7463 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7464 _glibconfig="glib12-config"
7465 else
7466 die "The GUI requires GLIB devel packages (which were not found)"
7469 _glib=`$_glibconfig --version 2>&1`
7470 _libs_mplayer="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7471 echores "$_glib (using $_glibconfig)"
7473 _def_gui='#define CONFIG_GUI 1'
7474 _def_gtk2='#undef CONFIG_GTK2'
7477 else #if ! win32
7478 _gui_win32=yes
7479 _libs_mplayer="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7480 _def_gui='#define CONFIG_GUI 1'
7481 _def_gtk2='#undef CONFIG_GTK2'
7482 fi #if ! win32
7484 else #if test "$_gui"
7485 _def_gui='#undef CONFIG_GUI'
7486 _def_gtk2='#undef CONFIG_GTK2'
7487 fi #if test "$_gui"
7488 # --------------- GUI specific tests end -------------------
7491 if test "$_charset" = "noconv" ; then
7492 _charset=""
7494 if test "$_charset" ; then
7495 _def_charset="#define MSG_CHARSET \"$_charset\""
7496 else
7497 _def_charset="#undef MSG_CHARSET"
7500 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
7501 echocheck "iconv program"
7502 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7503 if test "$?" -ne 0 ; then
7504 echores "no"
7505 echo "No working iconv program found, use "
7506 echo "--charset=UTF-8 to continue anyway."
7507 echo "If you also have problems with iconv library functions use --charset=noconv."
7508 echo "Messages in the GTK-2 interface will be broken then."
7509 exit 1
7510 else
7511 echores "yes"
7515 #############################################################################
7517 echocheck "automatic gdb attach"
7518 if test "$_crash_debug" = yes ; then
7519 _def_crash_debug='#define CONFIG_CRASH_DEBUG 1'
7520 else
7521 _def_crash_debug='#undef CONFIG_CRASH_DEBUG'
7522 _crash_debug=no
7524 echores "$_crash_debug"
7526 echocheck "compiler support for noexecstack"
7527 cat > $TMPC <<EOF
7528 int main(void) { return 0; }
7530 if cc_check -Wl,-z,noexecstack ; then
7531 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7532 echores "yes"
7533 else
7534 echores "no"
7538 # Dynamic linking flags
7539 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7540 _ld_dl_dynamic=''
7541 freebsd || netbsd || openbsd || dragonfly || bsdos && _ld_dl_dynamic='-rdynamic'
7542 if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin && ! os2 ; then
7543 _ld_dl_dynamic='-rdynamic'
7546 _ld_extra="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7547 bsdos && _ld_extra="$_ld_extra -ldvd"
7548 netbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7549 openbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7551 _def_debug='#undef MP_DEBUG'
7552 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7555 echocheck "joystick"
7556 _def_joystick='#undef CONFIG_JOYSTICK'
7557 if test "$_joystick" = yes ; then
7558 if linux ; then
7559 # TODO add some check
7560 _def_joystick='#define CONFIG_JOYSTICK 1'
7561 else
7562 _joystick="no"
7563 _res_comment="unsupported under $system_name"
7566 echores "$_joystick"
7568 echocheck "lirc"
7569 if test "$_lirc" = auto ; then
7570 _lirc=no
7571 cat > $TMPC <<EOF
7572 #include <lirc/lirc_client.h>
7573 int main(void) { return 0; }
7575 cc_check -llirc_client && _lirc=yes
7577 if test "$_lirc" = yes ; then
7578 _def_lirc='#define CONFIG_LIRC 1'
7579 _ld_extra="$_ld_extra -llirc_client"
7580 else
7581 _def_lirc='#undef CONFIG_LIRC'
7583 echores "$_lirc"
7585 echocheck "lircc"
7586 if test "$_lircc" = auto ; then
7587 _lircc=no
7588 cat > $TMPC <<EOF
7589 #include <lirc/lircc.h>
7590 int main(void) { return 0; }
7592 cc_check -llircc && _lircc=yes
7594 if test "$_lircc" = yes ; then
7595 _def_lircc='#define CONFIG_LIRCC 1'
7596 _ld_extra="$_ld_extra -llircc"
7597 else
7598 _def_lircc='#undef CONFIG_LIRCC'
7600 echores "$_lircc"
7602 if arm; then
7603 # Detect maemo development platform libraries availability (http://www.maemo.org),
7604 # they are used when run on Nokia 770|8x0
7605 echocheck "maemo (Nokia 770|8x0)"
7606 if test "$_maemo" = auto ; then
7607 _maemo=no
7608 cat > $TMPC << EOF
7609 #include <libosso.h>
7610 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7612 cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
7614 if test "$_maemo" = yes ; then
7615 _def_maemo='#define CONFIG_MAEMO 1'
7616 _inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
7617 _ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7618 else
7619 _def_maemo='#undef CONFIG_MAEMO'
7621 echores "$_maemo"
7624 #this must be the last test to be performed or the ones following it will likely fail
7625 #because libdvdnavmini is intentionally not linked against libdvdread (to permit mplayer
7626 # to use its own copy of the library)
7627 echocheck "DVD support (libdvdnav)"
7628 if test "$_dvdnav" = auto ; then
7629 if test "$_dvdread_internal" = yes ; then
7630 _dvdnav=no
7631 _res_comment="Disabled in favor of the internal copy of dvdread. Append --disable-dvdread-internal."
7632 else
7633 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
7636 if test "$_dvdnav" = auto ; then
7637 cat > $TMPC <<EOF
7638 #include <inttypes.h>
7639 #include <dvdnav/dvdnav.h>
7640 int main(void) { dvdnav_t *dvd=0; return 0; }
7642 _dvdnav=no
7643 _dvdnavdir=`$_dvdnavconfig --cflags`
7644 _dvdnavlibs=`$_dvdnavconfig --libs`
7645 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
7647 if test "$_dvdnav" = yes ; then
7648 _largefiles=yes
7649 _def_dvdnav='#define CONFIG_DVDNAV 1'
7650 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
7651 _ld_extra="$_ld_extra `$_dvdnavconfig --minilibs`"
7652 _inputmodules="dvdnav $_inputmodules"
7653 else
7654 _def_dvdnav='#undef CONFIG_DVDNAV'
7655 _noinputmodules="dvdnav $_noinputmodules"
7657 echores "$_dvdnav"
7660 #############################################################################
7662 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7663 # the OMF format needs to come after the 'extern symbol prefix' check, which
7664 # uses nm.
7665 if os2 ; then
7666 _ld_extra="$_ld_extra -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7669 # linker paths should be the same for mencoder and mplayer
7670 _ld_tmp=""
7671 for I in $_libs_mplayer ; do
7672 _tmp=`echo $I | sed -e 's/^-L.*$//'`
7673 if test -z "$_tmp" ; then
7674 _ld_extra="$I $_ld_extra"
7675 else
7676 _ld_tmp="$_ld_tmp $I"
7678 done
7679 _libs_mplayer=$_ld_tmp
7682 #############################################################################
7683 if darwin ; then
7684 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -shared-libgcc"
7685 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7686 CFLAGS="$CFLAGS -no-cpp-precomp"
7689 if amigaos ; then
7690 CFLAGS="$CFLAGS -DNEWLIB -D__USE_INLINE__"
7692 # Thread support
7693 if linux ; then
7694 CFLAGS="$CFLAGS -D_REENTRANT"
7695 elif freebsd || netbsd || openbsd || bsdos ; then
7696 # FIXME bsd needs this so maybe other OS'es
7697 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7699 # 64 bit file offsets?
7700 if test "$_largefiles" = yes || freebsd ; then
7701 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7702 if test "$_dvdread" = yes || test "$_libdvdcss_internal" = yes ; then
7703 # dvdread support requires this (for off64_t)
7704 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7708 cat > $TMPC << EOF
7709 int main(void) { return 0; }
7711 if test "$cc_vendor" = "gnu" ; then
7712 cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
7713 cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
7714 cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
7717 CFLAGS_FFMPEG="-I../.. $CFLAGS"
7718 CFLAGS="-I. -Iffmpeg $CFLAGS"
7719 CXXFLAGS=" $CFLAGS -D__STDC_LIMIT_MACROS"
7721 cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
7723 #############################################################################
7724 echo "Creating config.mak"
7725 cat > config.mak << EOF
7726 # -------- Generated by configure -----------
7728 # Ensure that locale settings do not interfere with shell commands.
7729 export LC_ALL = C
7731 DOC_LANG = $doc_lang
7732 DOC_LANGS = $doc_langs
7733 DOC_LANG_ALL = $doc_lang_all
7734 MAN_LANG = $man_lang
7735 MAN_LANGS = $man_langs
7736 MAN_LANG_ALL = $man_lang_all
7738 DESTDIR =
7739 prefix = \$(DESTDIR)$_prefix
7740 BINDIR = \$(DESTDIR)$_bindir
7741 DATADIR = \$(DESTDIR)$_datadir
7742 MANDIR = \$(DESTDIR)$_mandir
7743 CONFDIR = \$(DESTDIR)$_confdir
7744 LIBDIR = \$(DESTDIR)$_libdir
7746 AR = $_ar
7747 CC = $_cc
7748 CXX = $_cc
7749 HOST_CC = $_host_cc
7750 RANLIB = $_ranlib
7751 WINDRES = $_windres
7752 INSTALL = $_install
7753 INSTALLSTRIP = $_install_strip
7755 EXTRA_INC = $_inc_extra
7756 EXTRAXX_INC = $_inc_extra $_inc_extraxx
7757 CFLAGS = $CFLAGS \$(EXTRA_INC)
7758 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7759 FFMPEG_OFLAGS = $CFLAGS_FFMPEG \$(EXTRA_INC)
7760 CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
7761 CFLAGS_DHAHELPER = $cflags_dhahelper
7762 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
7763 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
7764 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
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
7770 EXTRALIBS = $_extra_libs
7771 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7772 EXTRALIBS_MPLAYER = $_libs_mplayer
7773 EXTRALIBS_MENCODER = $_libs_mencoder
7775 CHARSET = $_charset
7776 HELP_FILE = $_mp_help
7778 EXESUF = $_exesuf
7780 $_target_arch
7781 $_target_arch_x86
7782 `echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
7784 GETCH = $_getch
7785 TIMER = $_timer
7787 AO_SRCS = $_aosrc
7788 VO_SRCS = $_vosrc
7790 MENCODER = $_mencoder
7791 MPLAYER = $_mplayer
7793 #internal libraries
7794 LIBA52 = $_liba52
7795 LIBMPEG2 = $_libmpeg2
7796 MP3LIB = $_mp3lib
7797 TREMOR_INTERNAL = $_tremor_internal
7799 HAVE_SYS_MMAN_H = $_mman
7800 HAVE_POSIX_SELECT = $_posix_select
7802 NEED_GETTIMEOFDAY = $_need_gettimeofday
7803 NEED_GLOB = $_need_glob
7804 NEED_MMAP = $_need_mmap
7805 NEED_SETENV = $_need_setenv
7806 NEED_SHMEM = $_need_shmem
7807 NEED_STRSEP = $_need_strsep
7808 NEED_SWAB = $_need_swab
7809 NEED_VSSCANF = $_need_vsscanf
7811 # audio output
7812 OSS = $_ossaudio
7813 ALSA9 = $_alsa9
7814 ALSA1X = $_alsa1x
7816 # features
7817 APPLE_IR = $_apple_ir
7818 APPLE_REMOTE = $_apple_remote
7819 AUDIO_INPUT = $_audio_input
7820 BITMAP_FONT = $_bitmap_font
7821 CDDA = $_cdda
7822 CDDB = $_cddb
7823 COREAUDIO = $_coreaudio
7824 COREVIDEO = $_corevideo
7825 DVBIN = $_dvbin
7826 DVDNAV = $_dvdnav
7827 DVDREAD = $_dvdread
7828 DVDREAD_INTERNAL = $_dvdread_internal
7829 FAAC=$_faac
7830 FAAD = $_faad
7831 FAAD_INTERNAL = $_faad_internal
7832 FREETYPE = $_freetype
7833 FTP = $_ftp
7834 GIF = $_gif
7835 GUI = $_gui
7836 GUI_GTK = $_gui_gtk
7837 GUI_WIN32 = $_gui_win32
7838 JOYSTICK = $_joystick
7839 JPEG = $_jpeg
7840 LADSPA = $_ladspa
7841 LIBASS = $_ass
7842 LIBDCA = $_libdca
7843 LIBDV = $_libdv
7844 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7845 LIBLZO = $_liblzo
7846 LIBMAD = $_mad
7847 LIBMENU = $_menu
7848 LIBMENU_DVBIN = $_menu_dvbin
7849 LIBNEMESI = $_nemesi
7850 LIBNUT = $_libnut
7851 LIBSMBCLIENT = $_smb
7852 LIBTHEORA = $_theora
7853 LIBVORBIS = $_vorbis
7854 LIRC = $_lirc
7855 LIVE555 = $_live
7856 MACOSX_BUNDLE = $_macosx_bundle
7857 MACOSX_FINDER = $_macosx_finder
7858 MP3LAME = $_mp3lame
7859 MUSEPACK = $_musepack
7860 NATIVE_RTSP = $_native_rtsp
7861 NETWORK = $_network
7862 PE_EXECUTABLE = $_pe_executable
7863 PNG = $_png
7864 PVR = $_pvr
7865 QTX_CODECS = $_qtx
7866 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7867 QTX_EMULATION = $_qtx_emulation
7868 QUARTZ = $_quartz
7869 RADIO=$_radio
7870 RADIO_CAPTURE=$_radio_capture
7871 REAL_CODECS = $_real
7872 SPEEX = $_speex
7873 STREAM_CACHE = $_stream_cache
7874 TOOLAME=$_toolame
7875 TV = $_tv
7876 TV_BSDBT848 = $_tv_bsdbt848
7877 TV_DSHOW = $_tv_dshow
7878 TV_TELETEXT = $_tv_teletext
7879 TV_V4L = $_tv_v4l
7880 TV_V4L1 = $_tv_v4l1
7881 TV_V4L2 = $_tv_v4l2
7882 TWOLAME=$_twolame
7883 UNRAR_EXEC = $_unrar_exec
7884 VCD = $_vcd
7885 VIDIX = $_vidix
7886 VIDIX_PCIDB = $_vidix_pcidb_val
7887 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7888 VIDIX_IVTV=$_vidix_drv_ivtv
7889 VIDIX_MACH64=$_vidix_drv_mach64
7890 VIDIX_MGA=$_vidix_drv_mga
7891 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7892 VIDIX_NVIDIA=$_vidix_drv_nvidia
7893 VIDIX_PM2=$_vidix_drv_pm2
7894 VIDIX_PM3=$_vidix_drv_pm3
7895 VIDIX_RADEON=$_vidix_drv_radeon
7896 VIDIX_RAGE128=$_vidix_drv_rage128
7897 VIDIX_S3=$_vidix_drv_s3
7898 VIDIX_SIS=$_vidix_drv_sis
7899 VIDIX_UNICHROME=$_vidix_drv_unichrome
7900 VSTREAM = $_vstream
7901 WIN32DLL = $_win32dll
7902 WIN32_EMULATION = $_win32_emulation
7903 X264 = $_x264
7904 XANIM_CODECS = $_xanim
7905 XMMS_PLUGINS = $_xmms
7906 XVID4 = $_xvid
7907 ZORAN = $_zr
7909 # FFmpeg
7910 LIBAVUTIL = $_libavutil
7911 LIBAVUTIL_A = $_libavutil_a
7912 LIBAVUTIL_SO = $_libavutil_so
7913 LIBAVCODEC = $_libavcodec
7914 LIBAVCODEC_A = $_libavcodec_a
7915 LIBAVCODEC_SO = $_libavcodec_so
7916 LIBAVFORMAT = $_libavformat
7917 LIBAVFORMAT_A = $_libavformat_a
7918 LIBAVFORMAT_SO = $_libavformat_so
7919 LIBPOSTPROC = $_libpostproc
7920 LIBPOSTPROC_A = $_libpostproc_a
7921 LIBPOSTPROC_SO = $_libpostproc_so
7923 BUILD_STATIC=yes
7924 SRC_PATH=..
7925 BUILD_ROOT=..
7926 LIBPREF=lib
7927 LIBSUF=.a
7928 LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7930 CONFIG_ENCODERS=yes
7931 CONFIG_GPL=yes
7932 CONFIG_MUXERS=$_mencoder
7933 CONFIG_LIBAMR=$_libamr
7934 CONFIG_LIBAMR_NB=$_libamr_nb
7935 CONFIG_LIBAMR_WB=$_libamr_wb
7936 CONFIG_LIBDIRAC=$_libdirac_lavc
7937 CONFIG_LIBFAAC=$_faac_lavc
7938 CONFIG_LIBMP3LAME=$_mp3lame_lavc
7939 CONFIG_LIBSCHROEDINGER=$_libschroedinger_lavc
7940 CONFIG_LIBVORBIS=$_libvorbis
7941 CONFIG_LIBX264=$_x264_lavc
7942 CONFIG_LIBXVID=$_xvid_lavc
7943 CONFIG_MLIB = $_mlib
7944 CONFIG_POSTPROC = yes
7945 # Prevent building libavcodec/imgresample.c with conflicting symbols
7946 CONFIG_SWSCALE=yes
7947 CONFIG_ZLIB=$_zlib
7949 HAVE_PTHREADS = $_pthreads
7950 HAVE_W32THREADS = $_w32threads
7951 HAVE_XVMC = $_xvmc
7953 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7954 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7955 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7956 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7957 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7958 `echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7960 DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
7962 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7963 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7967 #############################################################################
7969 ff_config_enable () {
7970 _nprefix=$3;
7971 test -z "$_nprefix" && _nprefix='CONFIG'
7972 for part in $1; do
7973 if ` echo $2 | grep -q -E "(^| )$part($| )" `; then
7974 echo "#define ${_nprefix}_$part 1"
7975 echo "#define ENABLE_$part 1"
7976 else
7977 echo "#define ENABLE_$part 0"
7979 done
7982 echo "Creating config.h"
7983 cat > $TMPH << EOF
7984 /* -------- This file has been automatically generated by configure ---------
7985 Note: Any changes in it will be lost when you run configure again. */
7987 /* Protect against multiple inclusion */
7988 #ifndef MPLAYER_CONFIG_H
7989 #define MPLAYER_CONFIG_H
7991 #define CONFIGURATION "$_configuration"
7993 /* make sure we never get lavformat's poll() emulation, the results are
7994 horrible if the X libs try to actually use it, see MPlayer-users
7995 Message-ID: <45D49541.8060101@infernix.net>
7996 Date: Thu, 15 Feb 2007 18:15:45 +0100
7997 Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
7999 #define HAVE_SYS_POLL_H 1
8001 /* yes, we have inttypes.h */
8002 #define HAVE_INTTYPES_H 1
8004 /* int_fastXY_t emulation */
8005 $_def_fast_inttypes
8007 /* libdvdcss */
8008 #define HAVE_ERRNO_H 1
8010 /* libdvdcss + libdvdread */
8011 #define HAVE_LIMITS_H 1
8013 /* libdvdcss + libfaad2 */
8014 #define HAVE_UNISTD_H 1
8016 /* libfaad2 + libdvdread */
8017 #define STDC_HEADERS 1
8019 /* libfaad2 */
8020 #define HAVE_MEMCPY 1
8021 #define HAVE_STRCHR 1
8023 /* libdvdread */
8024 #define HAVE_UINTPTR_T 1
8026 /* name of messages charset */
8027 $_def_charset
8029 /* Runtime CPU detection */
8030 $_def_runtime_cpudetection
8032 /* Dynamic a/v plugins */
8033 $_def_dynamic_plugins
8035 /* "restrict" keyword */
8036 $_def_restrict_keyword
8038 /* __builtin_expect branch prediction hint */
8039 $_def_builtin_expect
8040 #ifdef HAVE_BUILTIN_EXPECT
8041 #define likely(x) __builtin_expect ((x) != 0, 1)
8042 #define unlikely(x) __builtin_expect ((x) != 0, 0)
8043 #else
8044 #define likely(x) (x)
8045 #define unlikely(x) (x)
8046 #endif
8048 /* attribute(used) as needed by some compilers */
8049 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
8050 # define attribute_used __attribute__((used))
8051 #else
8052 # define attribute_used
8053 #endif
8055 /* extern symbol prefix */
8056 $_def_extern_prefix
8058 /* compiler support for named assembler arguments */
8059 $_def_named_asm_args
8061 /* enable/disable SIGHANDLER */
8062 $_def_sighandler
8064 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
8065 $_def_crash_debug
8067 /* Toggles debugging informations */
8068 $_def_debug
8070 /* Indicates that libcdio is available for VCD and CD-DA playback */
8071 $_def_libcdio
8073 /* Indicates that Ogle's libdvdread is available for DVD playback */
8074 $_def_dvdread
8076 /* Indicates that dvdread is internal */
8077 $_def_dvdread_internal
8079 /* Additional options for libdvdread/libdvdcss */
8080 $_def_dvd
8081 $_def_cdrom
8082 $_def_cdio
8083 $_def_dvdio
8084 $_def_bsdi_dvd
8085 $_def_dvd_bsd
8086 $_def_dvd_linux
8087 $_dev_dvd_openbsd
8088 $_def_dvd_darwin
8089 $_def_sol_scsi_h
8090 $_def_hpux_scsi_h
8092 /* Common data directory (for fonts, etc) */
8093 #define MPLAYER_DATADIR "$_datadir"
8094 #define MPLAYER_CONFDIR "$_confdir"
8095 #define MPLAYER_LIBDIR "$_libdir"
8097 /* Define this to compile stream-caching support, it can be enabled via
8098 -cache <kilobytes> */
8099 $_def_stream_cache
8101 /* Define if you are using Xvid library */
8102 $_def_xvid
8104 /* Define if you are using the X.264 library */
8105 $_def_x264
8107 /* Define if you are using libnut */
8108 $_def_libnut
8110 /* Define to include support for libdv-0.9.5 */
8111 $_def_libdv
8113 /* Indicates if libmp3lame is available
8114 Note: for mencoder */
8115 $_def_mp3lame
8116 $_def_mp3lame_preset
8117 $_def_mp3lame_preset_medium
8119 /* Undefine this if you do not want to select mono audio (left or right)
8120 with a stereo MPEG layer 2/3 audio stream. The command line option
8121 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8122 right-only), with 0 being the default.
8124 #define CONFIG_FAKE_MONO 1
8126 /* Undefine this if your sound card driver has no working select().
8127 If you have kernel Oops, player hangups, or just no audio, you should
8128 try to recompile MPlayer with this option disabled! */
8129 $_def_select
8131 /* define this to use iconv(3) function to codepage conversions */
8132 $_def_iconv
8134 /* define this to use nl_langinfo function */
8135 $_def_langinfo
8137 /* define this to use RTC (/dev/rtc) for video timers */
8138 $_def_rtc
8140 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8141 #define MAX_OUTBURST 65536
8143 /* set up audio OUTBURST. Do not change this! */
8144 #define OUTBURST 512
8146 /* Define this if your system has the header file for the OSS sound interface */
8147 $_def_sys_soundcard
8149 /* Define this if your system has the header file for the OSS sound interface
8150 * in /usr/include */
8151 $_def_soundcard
8153 /* Define this if your system has the sysinfo header */
8154 $_def_sys_sysinfo
8156 /* Define this if your system has the "malloc.h" header file */
8157 $_def_malloc
8159 /* memalign is mapped to malloc if unsupported */
8160 $_def_memalign
8161 $_def_map_memalign
8162 $_def_memalign_hack
8164 /* assembler handling of .align */
8165 $_def_asmalign_pot
8167 /* Define this if your system has the "alloca.h" header file */
8168 $_def_alloca
8170 /* Define this if your system has the "byteswap.h" header file */
8171 $_def_byteswap_h
8173 /* Define this if your system has the "sys/mman.h" header file */
8174 $_def_mman
8175 $_def_mman_has_map_failed
8177 /* Define this if you have the elf dynamic linker -ldl library */
8178 $_def_dl
8180 /* Define this if you have the kstat kernel statistics library */
8181 $_def_kstat
8183 /* Define this if you have zlib */
8184 $_def_zlib
8186 /* Define this if you have shm support */
8187 $_def_shm
8189 /* Define this if your system has strsep */
8190 $_def_strsep
8192 /* Define this if your system has vsscanf */
8193 $_def_vsscanf
8195 /* Define this if your system has swab */
8196 $_def_swab
8198 /* Define this if your system has posix select */
8199 $_def_posix_select
8201 /* Define this if your system has gettimeofday */
8202 $_def_gettimeofday
8204 /* Define this if your system has glob */
8205 $_def_glob
8207 /* Define this if your system has setenv */
8208 $_def_setenv
8209 #ifndef HAVE_SETENV
8210 int setenv(const char *name, const char *val, int overwrite);
8211 #endif
8213 /* Define this if your system has sysi86 */
8214 $_def_sysi86
8215 $_def_sysi86_iv
8217 /* Define this if your system has pthreads */
8218 $_def_pthreads
8220 /* LIRC (remote control, see www.lirc.org) support: */
8221 $_def_lirc
8223 /* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */
8224 $_def_apple_remote
8226 /* Apple IR Remote (Linux remote control driver) */
8227 $_def_apple_ir
8229 /* Support for maemo (http://www.maemo.org) */
8230 $_def_maemo
8233 * LIRCCD (LIRC client daemon)
8234 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
8236 $_def_lircc
8238 /* DVD navigation support using libdvdnav */
8239 $_def_dvdnav
8241 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
8242 #define MPEG12_POSTPROC 1
8244 /* maximum alignment used by libmpeg2 */
8245 #define ATTRIBUTE_ALIGNED_MAX 16
8247 /* Win32 DLL support */
8248 $_def_win32dll
8249 #define WIN32_PATH "$_win32codecsdir"
8251 /* Mac OS X specific features */
8252 $_def_macosx_finder
8253 $_def_macosx_bundle
8254 $_def_coreaudio
8255 $_def_corevideo
8256 $_def_quartz
8257 $_def_quicktime
8259 /* Build our Win32-loader */
8260 $_def_win32_loader
8262 /* FFmpeg */
8263 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
8264 $_def_libpostproc
8265 $_def_libpostproc_a
8266 $_def_libpostproc_so
8268 /* Define this if you enabled thread support for libavcodec */
8269 $_def_threads
8270 #ifdef HAVE_THREADS
8271 #define ENABLE_THREADS 1
8272 #else
8273 #define ENABLE_THREADS 0
8274 #endif
8276 /* ffmpeg's libavcodec support (requires libavcodec source) */
8277 $_def_libavcodec
8278 $_def_libavcodec_a
8279 $_def_libavcodec_so
8280 $_def_libavcodec_mpegaudio_hp
8282 /* ffmpeg's libavformat support (requires libavformat source) */
8283 $_def_libavformat
8284 $_def_libavformat_a
8285 $_def_libavformat_so
8287 $_def_libavutil
8288 $_def_libavutil_a
8289 $_def_libavutil_so
8291 /* Use libavcodec's decoders */
8292 #define CONFIG_DECODERS 1
8293 #define ENABLE_DECODERS 1
8294 /* Use libavcodec's encoders */
8295 #define CONFIG_ENCODERS 1
8296 #define ENABLE_ENCODERS 1
8298 /* Use libavformat's demuxers */
8299 #define CONFIG_DEMUXERS 1
8300 #define ENABLE_DEMUXERS 1
8301 /* Use libavformat's muxers */
8302 $_def_muxers
8304 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8305 #define HAVE_EBX_AVAILABLE 1
8306 #ifndef MP_DEBUG
8307 #define HAVE_EBP_AVAILABLE 1
8308 #endif
8310 #define CONFIG_GPL 1
8311 #define ENABLE_SMALL 0
8312 #define ENABLE_GRAY 0
8314 /* Use AMR codecs from libavcodec. */
8315 $_def_libamr
8316 $_def_libamr_nb
8317 $_def_libamr_wb
8319 /* Use specific parts from FFmpeg. */
8320 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
8321 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
8322 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
8323 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
8324 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
8325 `ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
8326 `ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
8328 $_def_libdirac_lavc
8329 $_def_faac_lavc
8330 $_def_mp3lame_lavc
8331 $_def_libschroedinger_lavc
8332 $_def_x264_lavc
8333 $_def_xvid_lavc
8335 /* Use codec libs included in mplayer CVS / source dist: */
8336 $_def_mp3lib
8337 $_def_liba52
8338 $_def_libmpeg2
8340 /* XAnim DLL support */
8341 $_def_xanim
8342 /* Default search path */
8343 $_def_xanim_path
8345 /* RealPlayer DLL support */
8346 $_def_real
8347 /* Default search path */
8348 $_def_real_path
8350 /* LIVE555 Streaming Media library support */
8351 $_def_live
8353 /* libnemesi Streaming Media library support */
8354 $_def_nemesi
8356 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8357 $_def_fastmemcpy
8359 /* Use UnRAR executable for Vobsubs */
8360 $_def_unrar_exec
8362 /* gui support, please do not edit this option */
8363 $_def_gui
8364 $_def_gtk2
8366 /* Audio output drivers */
8367 $_def_ossaudio
8368 $_def_ossaudio_devdsp
8369 $_def_ossaudio_devmixer
8370 $_def_alsa
8371 $_def_alsa5
8372 $_def_alsa9
8373 $_def_alsa1x
8374 $_def_arts
8375 $_def_esd
8376 $_def_esd_latency
8377 $_def_pulse
8378 $_def_jack
8379 $_def_openal
8380 $_def_openal_h
8381 $_def_sys_asoundlib_h
8382 $_def_alsa_asoundlib_h
8383 $_def_sunaudio
8384 $_def_sgiaudio
8385 $_def_win32waveout
8386 $_def_nas
8388 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8389 #undef FAST_OSD
8390 #undef FAST_OSD_TABLE
8392 /* Enable TV Interface support */
8393 $_def_tv
8395 /* Enable Video 4 Linux TV interface support */
8396 $_def_tv_v4l
8398 /* Enable Video 4 Linux 1 TV interface support */
8399 $_def_tv_v4l1
8401 /* Enable Video 4 Linux 2 TV interface support */
8402 $_def_tv_v4l2
8404 /* Enable DirectShow TV interface support */
8405 $_def_tv_dshow
8407 /* *BSD BrookTree headers */
8408 $_def_ioctl_meteor_h_name
8409 $_def_ioctl_bt848_h_name
8411 /* Enable *BSD BrookTree TV interface support */
8412 $_def_tv_bsdbt848
8414 /* Enable TV Teletext Interface support */
8415 $_def_tv_teletext
8417 /* Enable Radio Interface support */
8418 $_def_radio
8420 /* Enable Capture for Radio Interface support */
8421 $_def_radio_capture
8423 /* Enable Video 4 Linux Radio interface support */
8424 $_def_radio_v4l
8426 /* Enable Video 4 Linux 2 Radio interface support */
8427 $_def_radio_v4l2
8429 /* Enable *BSD BrookTree Radio interface support */
8430 $_def_radio_bsdbt848
8432 /* Enable Video 4 Linux 2 MPEG PVR support */
8433 $_def_pvr
8435 /* Define if your processor stores words with the most significant
8436 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8437 $_def_words_endian
8439 /* Define if your processor can access unaligned data in a fast way */
8440 $_def_fast_unaligned
8442 `ff_config_enable "$_arch_all" "$_arch" "ARCH"`
8444 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8445 have the instruction. */
8446 $_def_dcbzl
8448 /* Define this for Cygwin build for win32 */
8449 $_def_confwin32
8451 /* Define this to any prefered value from 386 up to infinity with step 100 */
8452 #define __CPU__ $iproc
8454 $_mp_wordsize
8456 $_def_vcd
8458 #ifdef sun
8459 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8460 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8461 #elif defined(WIN32) || defined(__OS2__)
8462 #define DEFAULT_CDROM_DEVICE "D:"
8463 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8464 #elif defined(__APPLE__) || defined(__DARWIN__)
8465 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8466 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8467 #elif defined(__OpenBSD__)
8468 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8469 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8470 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8471 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8472 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8473 #elif defined(__DragonFly__)
8474 #define DEFAULT_CDROM_DEVICE "/dev/cd0"
8475 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8476 #elif defined(__AMIGAOS4__)
8477 #define DEFAULT_CDROM_DEVICE "a1ide.device:2"
8478 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8479 #else
8480 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8481 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8482 #endif
8485 /*----------------------------------------------------------------------------
8487 ** NOTE: Instead of modifying these definitions here, use the
8488 ** --enable/--disable options of the ./configure script!
8489 ** See ./configure --help for details.
8491 *---------------------------------------------------------------------------*/
8493 /* C99 *lrint* and round* functions available */
8494 $_def_llrint
8495 $_def_lrint
8496 $_def_lrintf
8497 $_def_round
8498 $_def_roundf
8500 /* mkstemp support */
8501 $_def_mkstemp
8503 /* nanosleep support */
8504 $_def_nanosleep
8506 /* SMB support */
8507 $_def_smb
8509 /* termcap flag for getch2.c */
8510 $_def_termcap
8512 /* termios flag for getch2.c */
8513 $_def_termios
8514 $_def_termios_h
8515 $_def_termios_sys_h
8517 /* enable PNG support */
8518 $_def_png
8520 /* enable JPEG support */
8521 $_def_jpeg
8523 /* enable PNM support */
8524 $_def_pnm
8526 /* enable md5sum support */
8527 $_def_md5sum
8529 /* enable yuv4mpeg support */
8530 $_def_yuv4mpeg
8532 /* enable GIF support */
8533 $_def_gif
8534 $_def_gif_4
8535 $_def_gif_tvt_hack
8537 /* enable bitmap font support */
8538 $_def_bitmap_font
8540 /* enable FreeType support */
8541 $_def_freetype
8543 /* enable Fontconfig support */
8544 $_def_fontconfig
8546 /* enable SSA/ASS support */
8547 $_def_ass
8549 /* enable FriBiDi usage */
8550 $_def_fribidi
8552 /* enable ENCA usage */
8553 $_def_enca
8555 /* liblzo support */
8556 $_def_liblzo
8558 /* libmad support */
8559 $_def_mad
8561 /* enable OggVorbis support */
8562 $_def_vorbis
8563 $_def_tremor
8565 /* enable Speex support */
8566 $_def_speex
8568 /* enable musepack support */
8569 $_def_musepack
8571 /* enable OggTheora support */
8572 $_def_theora
8574 /* enable FAAD (AAC) support */
8575 $_def_faad
8576 $_def_faad_internal
8578 /* enable FAAC (AAC encoder) support */
8579 $_def_faac
8581 /* enable libdca support */
8582 $_def_libdca
8584 /* enable LADSPA plugin support */
8585 $_def_ladspa
8587 /* enable network */
8588 $_def_network
8590 /* enable ftp support */
8591 $_def_ftp
8593 /* enable vstream support */
8594 $_def_vstream
8596 /* enable winsock2 instead of Unix functions*/
8597 $_def_winsock2
8599 /* define this to use inet_aton() instead of inet_pton() */
8600 $_def_use_aton
8602 /* socklen_t support */
8603 $_def_socklen_t
8604 #ifndef HAVE_SOCKLEN_T
8605 #define HAVE_SOCKLEN_T 1
8606 typedef int socklen_t;
8607 #endif
8609 /* enables / disables cdparanoia support */
8610 $_def_cdparanoia
8611 $_def_cddb
8613 /* enables / disables VIDIX usage */
8614 $_def_vidix
8615 $_def_vidix_drv_cyberblade
8616 $_def_vidix_drv_ivtv
8617 $_def_vidix_drv_mach64
8618 $_def_vidix_drv_mga
8619 $_def_vidix_drv_mga_crtc2
8620 $_def_vidix_drv_nvidia
8621 $_def_vidix_drv_pm3
8622 $_def_vidix_drv_radeon
8623 $_def_vidix_drv_rage128
8624 $_def_vidix_drv_s3
8625 $_def_vidix_drv_sis
8626 $_def_vidix_drv_unichrome
8627 $_def_vidix_pfx
8629 /* enables / disables new input joystick support */
8630 $_def_joystick
8632 /* enables / disables QTX codecs */
8633 $_def_qtx
8634 $_def_qtx_win32
8636 /* enables / disables osd menu */
8637 $_def_menu
8639 /* enables / disables subtitles sorting */
8640 $_def_sortsub
8642 /* XMMS input plugin support */
8643 $_def_xmms
8644 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8646 /* enables inet6 support */
8647 $_def_inet6
8649 /* do we have gethostbyname2? */
8650 $_def_gethostbyname2
8652 /* Extension defines */
8653 `ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
8655 $_def_altivec_h // enables usage of altivec.h
8657 /* libvo options */
8658 #define SCREEN_SIZE_X 1
8659 #define SCREEN_SIZE_Y 1
8660 $_def_x11
8661 $_def_xv
8662 $_def_xvmc
8663 $_def_vm
8664 $_def_xf86keysym
8665 $_def_xinerama
8666 $_def_gl
8667 $_def_gl_win32
8668 $_def_dga
8669 $_def_dga1
8670 $_def_dga2
8671 $_def_sdl
8672 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8673 $_def_sdlbuggy
8674 $_def_directx
8675 $_def_ggi
8676 $_def_ggiwmh
8677 $_def_3dfx
8678 $_def_s3fb
8679 $_def_wii
8680 $_def_tdfxfb
8681 $_def_tdfxvid
8682 $_def_xvr100
8683 $_def_directfb
8684 $_def_directfb_version
8685 $_def_dfbmga
8686 $_def_zr
8687 $_def_bl
8688 $_def_mga
8689 $_def_xmga
8690 $_def_fbdev
8691 $_def_dxr2
8692 $_def_dxr3
8693 $_def_ivtv
8694 $_def_v4l2
8695 $_def_dvb
8696 $_def_dvb_head
8697 $_def_dvbin
8698 $_def_svga
8699 $_def_vesa
8700 $_def_xss
8701 $_def_xdpms
8702 $_def_aa
8703 $_def_caca
8704 $_def_tga
8705 $_def_toolame
8706 $_def_twolame
8708 /* used by GUI: */
8709 $_def_xshape
8711 #if defined(CONFIG_GL) || defined(CONFIG_X11) || defined(CONFIG_XV)
8712 #define X11_FULLSCREEN 1
8713 #endif
8715 #endif /* MPLAYER_CONFIG_H */
8718 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8719 cmp -s "$TMPH" config.h || mv -f "$TMPH" config.h
8721 cp -p config.h ffmpeg/config.h
8722 sed -e 's/OPTFLAGS/MPLAYER_OPTFLAGS/' -e 's/FFMPEG_OFLAGS/OPTFLAGS/' config.mak >ffmpeg/config.mak
8724 #############################################################################
8726 cat << EOF
8728 Config files successfully generated by ./configure $_configuration !
8730 Install prefix: $_prefix
8731 Data directory: $_datadir
8732 Config direct.: $_confdir
8734 Byte order: $_byte_order
8735 Optimizing for: $_optimizing
8737 Languages:
8738 Messages/GUI: $msg_lang
8739 Manual pages: $man_langs
8741 Enabled optional drivers:
8742 Input: $_inputmodules
8743 Codecs: $_codecmodules
8744 Audio output: $_aomodules
8745 Video output: $_vomodules
8747 Disabled optional drivers:
8748 Input: $_noinputmodules
8749 Codecs: $_nocodecmodules
8750 Audio output: $_noaomodules
8751 Video output: $_novomodules
8753 'config.h' and 'config.mak' contain your configuration options.
8754 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8755 compile *** DO NOT REPORT BUGS if you tweak these files ***
8757 'make' will now compile MPlayer and 'make install' will install it.
8758 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8763 if test "$_mtrr" = yes ; then
8764 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
8765 echo
8768 if ! x86_32; then
8769 cat <<EOF
8770 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8771 operating system ($system_name). You may encounter a few files that cannot
8772 be played due to missing open source video/audio codec support.
8778 cat <<EOF
8779 Check $TMPLOG if you wonder why an autodetection failed (make sure
8780 development headers/packages are installed).
8782 NOTE: The --enable-* parameters unconditionally force options on, completely
8783 skipping autodetection. This behavior is unlike what you may be used to from
8784 autoconf-based configure scripts that can decide to override you. This greater
8785 level of control comes at a price. You may have to provide the correct compiler
8786 and linker flags yourself.
8787 If you used one of these options (except --enable-gui and similar ones that
8788 turn on internal features) and experience a compilation or linking failure,
8789 make sure you have passed the necessary compiler/linker flags to configure.
8791 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
8795 if test "$_warn_CFLAGS" = yes; then
8796 cat <<EOF
8798 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8800 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8802 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8803 To do so, execute 'CFLAGS= ./configure <options>'
8808 # Last move:
8809 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"