core: Clean up move-to-next-file logic
[mplayer.git] / configure
blob48c2a6d0621d745c8613f4ec87e7e1285648c1fe
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_sh_veu='#undef CONFIG_VIDIX_DRV_SH_VEU'
4291 _vidix_drv_sh_veu=no
4292 _def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
4293 _vidix_drv_sis=no
4294 _def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
4295 _vidix_drv_unichrome=no
4296 if test "$_vidix" = auto ; then
4297 _vidix=no
4298 x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
4299 && _vidix=yes
4300 (ppc || alpha) && linux && _vidix=yes
4302 echores "$_vidix"
4304 if test "$_vidix" = yes ; then
4305 _def_vidix='#define CONFIG_VIDIX 1'
4306 _vosrc="$_vosrc vo_cvidix.c"
4307 _vomodules="cvidix $_vomodules"
4308 test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4309 test $_ivtv = "yes" || _vidix_drivers=`echo $_vidix_drivers | sed s/ivtv//`
4311 # some vidix drivers are architecture and os specific, discard them elsewhere
4312 x86 || _vidix_drivers=`echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//`
4313 (test $host_arch = "sh" && linux) || _vidix_drivers=`echo $_vidix_drivers | sed s/sh_veu//`
4315 for driver in $_vidix_drivers ; do
4316 uc_driver=`echo $driver | tr '[a-z]' '[A-Z]'`
4317 eval _vidix_drv_${driver}=yes
4318 eval _def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4319 done
4321 echocheck "VIDIX PCI device name database"
4322 echores "$_vidix_pcidb"
4323 if test "$_vidix_pcidb" = yes ; then
4324 _vidix_pcidb_val=1
4325 else
4326 _vidix_pcidb_val=0
4329 echocheck "VIDIX dhahelper support"
4330 test "$_dhahelper" = yes && cflags_dhahelper=-DCONFIG_DHAHELPER
4331 echores "$_dhahelper"
4333 echocheck "VIDIX svgalib_helper support"
4334 test "$_svgalib_helper" = yes && cflags_svgalib_helper=-DCONFIG_SVGAHELPER
4335 echores "$_svgalib_helper"
4337 else
4338 _novomodules="cvidix $_novomodules"
4341 if test "$_vidix" = yes && win32; then
4342 _vosrc="$_vosrc vo_winvidix.c"
4343 _vomodules="winvidix $_vomodules"
4344 _libs_mplayer="$_libs_mplayer -lgdi32"
4345 else
4346 _novomodules="winvidix $_novomodules"
4348 if test "$_vidix" = yes && test "$_x11" = yes; then
4349 _vosrc="$_vosrc vo_xvidix.c"
4350 _vomodules="xvidix $_vomodules"
4351 else
4352 _novomodules="xvidix $_novomodules"
4355 echocheck "/dev/mga_vid"
4356 if test "$_mga" = auto ; then
4357 _mga=no
4358 test -c /dev/mga_vid && _mga=yes
4360 if test "$_mga" = yes ; then
4361 _def_mga='#define CONFIG_MGA 1'
4362 _vosrc="$_vosrc vo_mga.c"
4363 _vomodules="mga $_vomodules"
4364 else
4365 _def_mga='#undef CONFIG_MGA'
4366 _novomodules="mga $_novomodules"
4368 echores "$_mga"
4371 echocheck "xmga"
4372 if test "$_xmga" = auto ; then
4373 _xmga=no
4374 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4376 if test "$_xmga" = yes ; then
4377 _def_xmga='#define CONFIG_XMGA 1'
4378 _vosrc="$_vosrc vo_xmga.c"
4379 _vomodules="xmga $_vomodules"
4380 else
4381 _def_xmga='#undef CONFIG_XMGA'
4382 _novomodules="xmga $_novomodules"
4384 echores "$_xmga"
4387 echocheck "GGI"
4388 if test "$_ggi" = auto ; then
4389 cat > $TMPC << EOF
4390 #include <ggi/ggi.h>
4391 int main(void) { ggiInit(); return 0; }
4393 _ggi=no
4394 cc_check -lggi && _ggi=yes
4396 if test "$_ggi" = yes ; then
4397 _def_ggi='#define CONFIG_GGI 1'
4398 _libs_mplayer="$_libs_mplayer -lggi"
4399 _vosrc="$_vosrc vo_ggi.c"
4400 _vomodules="ggi $_vomodules"
4401 else
4402 _def_ggi='#undef CONFIG_GGI'
4403 _novomodules="ggi $_novomodules"
4405 echores "$_ggi"
4407 echocheck "GGI extension: libggiwmh"
4408 if test "$_ggiwmh" = auto ; then
4409 _ggiwmh=no
4410 cat > $TMPC << EOF
4411 #include <ggi/ggi.h>
4412 #include <ggi/wmh.h>
4413 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4415 cc_check -lggi -lggiwmh && _ggiwmh=yes
4417 # needed to get right output on obscure combination
4418 # like --disable-ggi --enable-ggiwmh
4419 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4420 _def_ggiwmh='#define CONFIG_GGIWMH 1'
4421 _libs_mplayer="$_libs_mplayer -lggiwmh"
4422 else
4423 _ggiwmh=no
4424 _def_ggiwmh='#undef CONFIG_GGIWMH'
4426 echores "$_ggiwmh"
4429 echocheck "AA"
4430 if test "$_aa" = auto ; then
4431 cat > $TMPC << EOF
4432 #include <aalib.h>
4433 extern struct aa_hardware_params aa_defparams;
4434 extern struct aa_renderparams aa_defrenderparams;
4435 int main(void) {
4436 aa_context *c;
4437 aa_renderparams *p;
4438 (void) aa_init(0, 0, 0);
4439 c = aa_autoinit(&aa_defparams);
4440 p = aa_getrenderparams();
4441 aa_autoinitkbd(c,0);
4442 return 0; }
4444 _aa=no
4445 for _ld_tmp in "-laa" ; do
4446 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" && _aa=yes && break
4447 done
4449 if test "$_aa" = yes ; then
4450 _def_aa='#define CONFIG_AA 1'
4451 if cygwin ; then
4452 _libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4454 _vosrc="$_vosrc vo_aa.c"
4455 _vomodules="aa $_vomodules"
4456 else
4457 _def_aa='#undef CONFIG_AA'
4458 _novomodules="aa $_novomodules"
4460 echores "$_aa"
4463 echocheck "CACA"
4464 if test "$_caca" = auto ; then
4465 _caca=no
4466 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4467 cat > $TMPC << EOF
4468 #include <caca.h>
4469 #ifdef CACA_API_VERSION_1
4470 #include <caca0.h>
4471 #endif
4472 int main(void) { (void) caca_init(); return 0; }
4474 cc_check `caca-config --libs` && _caca=yes
4477 if test "$_caca" = yes ; then
4478 _def_caca='#define CONFIG_CACA 1'
4479 _inc_extra="$_inc_extra `caca-config --cflags`"
4480 _libs_mplayer="$_libs_mplayer `caca-config --libs`"
4481 _vosrc="$_vosrc vo_caca.c"
4482 _vomodules="caca $_vomodules"
4483 else
4484 _def_caca='#undef CONFIG_CACA'
4485 _novomodules="caca $_novomodules"
4487 echores "$_caca"
4490 echocheck "SVGAlib"
4491 if test "$_svga" = auto ; then
4492 cat > $TMPC << EOF
4493 #include <vga.h>
4494 int main(void) { return 0; }
4496 _svga=no
4497 cc_check -lvga $_ld_lm && _svga=yes
4499 if test "$_svga" = yes ; then
4500 _def_svga='#define CONFIG_SVGALIB 1'
4501 _libs_mplayer="$_libs_mplayer -lvga"
4502 _vosrc="$_vosrc vo_svga.c"
4503 _vomodules="svga $_vomodules"
4504 else
4505 _def_svga='#undef CONFIG_SVGALIB'
4506 _novomodules="svga $_novomodules"
4508 echores "$_svga"
4511 echocheck "FBDev"
4512 if test "$_fbdev" = auto ; then
4513 _fbdev=no
4514 linux && _fbdev=yes
4516 if test "$_fbdev" = yes ; then
4517 _def_fbdev='#define CONFIG_FBDEV 1'
4518 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4519 _vomodules="fbdev $_vomodules"
4520 else
4521 _def_fbdev='#undef CONFIG_FBDEV'
4522 _novomodules="fbdev $_novomodules"
4524 echores "$_fbdev"
4528 echocheck "DVB"
4529 if test "$_dvb" = auto ; then
4530 _dvb=no
4531 cat >$TMPC << EOF
4532 #include <sys/poll.h>
4533 #include <sys/ioctl.h>
4534 #include <stdio.h>
4535 #include <time.h>
4536 #include <unistd.h>
4537 #include <ost/dmx.h>
4538 #include <ost/frontend.h>
4539 #include <ost/sec.h>
4540 #include <ost/video.h>
4541 #include <ost/audio.h>
4542 int main(void) {return 0;}
4544 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4545 cc_check $_inc_tmp && _dvb=yes && \
4546 _inc_extra="$_inc_extra $_inc_tmp" && break
4547 done
4549 echores "$_dvb"
4550 if test "$_dvb" = yes ; then
4551 _def_dvb='#define CONFIG_DVB 1'
4552 _def_dvbin='#define CONFIG_DVBIN 1'
4553 _aomodules="mpegpes(dvb) $_aomodules"
4554 _vomodules="mpegpes(dvb) $_vomodules"
4557 echocheck "DVB HEAD"
4558 if test "$_dvbhead" = auto ; then
4559 _dvbhead=no
4561 cat >$TMPC << EOF
4562 #include <sys/poll.h>
4563 #include <sys/ioctl.h>
4564 #include <stdio.h>
4565 #include <time.h>
4566 #include <unistd.h>
4567 #include <linux/dvb/dmx.h>
4568 #include <linux/dvb/frontend.h>
4569 #include <linux/dvb/video.h>
4570 #include <linux/dvb/audio.h>
4571 int main(void) {return 0;}
4573 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4574 cc_check $_inc_tmp && _dvbhead=yes && \
4575 _inc_extra="$_inc_extra $_inc_tmp" && break
4576 done
4578 echores "$_dvbhead"
4579 if test "$_dvbhead" = yes ; then
4580 _def_dvb='#define CONFIG_DVB 1'
4581 _def_dvb_head='#define CONFIG_DVB_HEAD 1'
4582 _def_dvbin='#define CONFIG_DVBIN 1'
4583 _aomodules="mpegpes(dvb) $_aomodules"
4584 _vomodules="mpegpes(dvb) $_vomodules"
4587 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4588 _def_dvb='#undef CONFIG_DVB'
4589 _def_dvb_head='#undef CONFIG_DVB_HEAD'
4590 _def_dvbin='#undef CONFIG_DVBIN '
4591 _aomodules="mpegpes(file) $_aomodules"
4592 _vomodules="mpegpes(file) $_vomodules"
4595 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4596 _dvbin=yes
4597 _inputmodules="dvb $_inputmodules"
4598 else
4599 _dvbin=no
4600 _noinputmodules="dvb $_noinputmodules"
4606 echocheck "PNG support"
4607 if test "$_png" = auto ; then
4608 _png=no
4609 if irix ; then
4610 # Don't check for -lpng on irix since it has its own libpng
4611 # incompatible with the GNU libpng
4612 _res_comment="disabled on irix (not GNU libpng)"
4613 else
4614 cat > $TMPC << EOF
4615 #include <png.h>
4616 #include <string.h>
4617 int main(void) {
4618 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4619 printf("libpng: %s\n", png_libpng_ver);
4620 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4623 if cc_check -lpng -lz $_ld_lm ; then
4624 if tmp_run ; then
4625 _png=yes
4626 else
4627 _res_comment="mismatch of library and header versions"
4632 echores "$_png"
4633 if test "$_png" = yes ; then
4634 _def_png='#define CONFIG_PNG 1'
4635 _ld_extra="$_ld_extra -lpng -lz"
4636 _vosrc="$_vosrc vo_png.c"
4637 _vomodules="png $_vomodules"
4638 else
4639 _def_png='#undef CONFIG_PNG'
4640 _novomodules="png $_novomodules"
4643 echocheck "JPEG support"
4644 if test "$_jpeg" = auto ; then
4645 _jpeg=no
4646 cat > $TMPC << EOF
4647 #include <stdio.h>
4648 #include <stdlib.h>
4649 #include <setjmp.h>
4650 #include <string.h>
4651 #include <jpeglib.h>
4652 int main(void) { return 0; }
4654 if cc_check -ljpeg $_ld_lm ; then
4655 if tmp_run ; then
4656 _jpeg=yes
4660 echores "$_jpeg"
4662 if test "$_jpeg" = yes ; then
4663 _def_jpeg='#define CONFIG_JPEG 1'
4664 _vosrc="$_vosrc vo_jpeg.c"
4665 _vomodules="jpeg $_vomodules"
4666 _ld_extra="$_ld_extra -ljpeg"
4667 else
4668 _def_jpeg='#undef CONFIG_JPEG'
4669 _novomodules="jpeg $_novomodules"
4674 echocheck "PNM support"
4675 if test "$_pnm" = yes; then
4676 _def_pnm="#define CONFIG_PNM"
4677 _vosrc="$_vosrc vo_pnm.c"
4678 _vomodules="pnm $_vomodules"
4679 else
4680 _def_pnm="#undef CONFIG_PNM"
4681 _novomodules="pnm $_novomodules"
4683 echores "$_pnm"
4687 echocheck "GIF support"
4688 # This is to appease people who want to force gif support.
4689 # If it is forced to yes, then we still do checks to determine
4690 # which gif library to use.
4691 if test "$_gif" = yes ; then
4692 _force_gif=yes
4693 _gif=auto
4696 if test "$_gif" = auto ; then
4697 _gif=no
4698 cat > $TMPC << EOF
4699 #include <gif_lib.h>
4700 int main(void) { return 0; }
4702 for _ld_gif in "-lungif" "-lgif" ; do
4703 cc_check $_ld_gif && tmp_run && _gif=yes && break
4704 done
4707 # If no library was found, and the user wants support forced,
4708 # then we force it on with libgif, as this is the safest
4709 # assumption IMHO. (libungif & libregif both create symbolic
4710 # links to libgif. We also assume that no x11 support is needed,
4711 # because if you are forcing this, then you _should_ know what
4712 # you are doing. [ Besides, package maintainers should never
4713 # have compiled x11 deps into libungif in the first place. ] )
4714 # </rant>
4715 # --Joey
4716 if test "$_force_gif" = yes && test "$_gif" = no ; then
4717 _gif=yes
4718 _ld_gif="-lgif"
4721 if test "$_gif" = yes ; then
4722 _def_gif='#define CONFIG_GIF 1'
4723 _vosrc="$_vosrc vo_gif89a.c"
4724 _codecmodules="gif $_codecmodules"
4725 _vomodules="gif89a $_vomodules"
4726 _res_comment="old version, some encoding functions disabled"
4727 _def_gif_4='#undef CONFIG_GIF_4'
4728 _ld_extra="$_ld_extra $_ld_gif"
4730 cat > $TMPC << EOF
4731 #include <signal.h>
4732 #include <gif_lib.h>
4733 void catch() { exit(1); }
4734 int main(void) {
4735 signal(SIGSEGV, catch); // catch segfault
4736 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4737 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4738 return 0;
4741 if cc_check "$_ld_gif" && tmp_run ; then
4742 _def_gif_4='#define CONFIG_GIF_4 1'
4743 _res_comment=""
4745 else
4746 _def_gif='#undef CONFIG_GIF'
4747 _def_gif_4='#undef CONFIG_GIF_4'
4748 _novomodules="gif89a $_novomodules"
4749 _nocodecmodules="gif $_nocodecmodules"
4751 echores "$_gif"
4754 case "$_gif" in yes*)
4755 echocheck "broken giflib workaround"
4756 _def_gif_tvt_hack='#define CONFIG_GIF_TVT_HACK 1'
4758 cat > $TMPC << EOF
4759 #include <gif_lib.h>
4760 int main(void) {
4761 GifFileType gif;
4762 printf("UserData is at address %p\n", gif.UserData);
4763 return 0;
4766 if cc_check "$_ld_gif" && tmp_run ; then
4767 _def_gif_tvt_hack='#undef CONFIG_GIF_TVT_HACK'
4768 echores "disabled"
4769 else
4770 echores "enabled"
4773 esac
4776 echocheck "VESA support"
4777 if test "$_vesa" = auto ; then
4778 cat > $TMPC << EOF
4779 #include <vbe.h>
4780 int main(void) { vbeVersion(); return 0; }
4782 _vesa=no
4783 cc_check -lvbe -llrmi && _vesa=yes
4785 if test "$_vesa" = yes ; then
4786 _def_vesa='#define CONFIG_VESA 1'
4787 _libs_mplayer="$_libs_mplayer -lvbe -llrmi"
4788 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4789 _vomodules="vesa $_vomodules"
4790 else
4791 _def_vesa='#undef CONFIG_VESA'
4792 _novomodules="vesa $_novomodules"
4794 echores "$_vesa"
4796 #################
4797 # VIDEO + AUDIO #
4798 #################
4801 echocheck "SDL"
4802 if test -z "$_sdlconfig" ; then
4803 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4804 _sdlconfig="sdl-config"
4805 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4806 _sdlconfig="sdl11-config"
4807 else
4808 _sdlconfig=false
4811 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4812 cat > $TMPC << EOF
4813 #include <SDL.h>
4814 int main(void) {
4815 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4816 return 0;
4819 _sdl=no
4820 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4821 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4822 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4823 if test "$_sdlversion" -gt 116 ; then
4824 if test "$_sdlversion" -lt 121 ; then
4825 _def_sdlbuggy='#define BUGGY_SDL'
4826 else
4827 _def_sdlbuggy='#undef BUGGY_SDL'
4829 _sdl=yes
4834 if test "$_sdl" = yes ; then
4835 _def_sdl='#define CONFIG_SDL 1'
4836 if cygwin ; then
4837 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4838 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4839 elif mingw32 ; then
4840 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4841 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4842 else
4843 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs`"
4844 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4846 _vosrc="$_vosrc vo_sdl.c"
4847 _vomodules="sdl $_vomodules"
4848 _aosrc="$_aosrc ao_sdl.c"
4849 _aomodules="sdl $_aomodules"
4850 _res_comment="using $_sdlconfig"
4851 else
4852 _def_sdl='#undef CONFIG_SDL'
4853 _novomodules="sdl $_novomodules"
4854 _noaomodules="sdl $_noaomodules"
4856 echores "$_sdl"
4859 if win32; then
4861 echocheck "Windows waveout"
4862 if test "$_win32waveout" = auto ; then
4863 cat > $TMPC << EOF
4864 #include <windows.h>
4865 #include <mmsystem.h>
4866 int main(void) { return 0; }
4868 _win32waveout=no
4869 cc_check -lwinmm && _win32waveout=yes
4871 if test "$_win32waveout" = yes ; then
4872 _def_win32waveout='#define CONFIG_WIN32WAVEOUT 1'
4873 _libs_mplayer="$_libs_mplayer -lwinmm"
4874 _aosrc="$_aosrc ao_win32.c"
4875 _aomodules="win32 $_aomodules"
4876 else
4877 _def_win32waveout='#undef CONFIG_WIN32WAVEOUT'
4878 _noaomodules="win32 $_noaomodules"
4880 echores "$_win32waveout"
4882 echocheck "Directx"
4883 if test "$_directx" = auto ; then
4884 cat > $TMPC << EOF
4885 #include <windows.h>
4886 #include <ddraw.h>
4887 #include <dsound.h>
4888 int main(void) { return 0; }
4890 _directx=no
4891 cc_check -lgdi32 && _directx=yes
4893 if test "$_directx" = yes ; then
4894 _def_directx='#define CONFIG_DIRECTX 1'
4895 _libs_mplayer="$_libs_mplayer -lgdi32"
4896 _vosrc="$_vosrc vo_directx.c"
4897 _vomodules="directx $_vomodules"
4898 _aosrc="$_aosrc ao_dsound.c"
4899 _aomodules="dsound $_aomodules"
4900 else
4901 _def_directx='#undef CONFIG_DIRECTX'
4902 _novomodules="directx $_novomodules"
4903 _noaomodules="dsound $_noaomodules"
4905 echores "$_directx"
4907 fi #if win32; then
4910 echocheck "NAS"
4911 if test "$_nas" = auto ; then
4912 cat > $TMPC << EOF
4913 #include <audio/audiolib.h>
4914 int main(void) { return 0; }
4916 _nas=no
4917 cc_check $_ld_lm -laudio -lXt && _nas=yes
4919 if test "$_nas" = yes ; then
4920 _def_nas='#define CONFIG_NAS 1'
4921 _libs_mplayer="$_libs_mplayer -laudio -lXt"
4922 _aosrc="$_aosrc ao_nas.c"
4923 _aomodules="nas $_aomodules"
4924 else
4925 _noaomodules="nas $_noaomodules"
4926 _def_nas='#undef CONFIG_NAS'
4928 echores "$_nas"
4930 echocheck "DXR2"
4931 if test "$_dxr2" = auto; then
4932 _dxr2=no
4933 cat > $TMPC << EOF
4934 #include <dxr2ioctl.h>
4935 int main(void) { return 0; }
4937 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4938 cc_check $_inc_tmp && _dxr2=yes && \
4939 _inc_extra="$_inc_extra $_inc_tmp" && break
4940 done
4942 if test "$_dxr2" = yes; then
4943 _def_dxr2='#define CONFIG_DXR2 1'
4944 _vosrc="$_vosrc vo_dxr2.c"
4945 _aosrc="$_aosrc ao_dxr2.c"
4946 _aomodules="dxr2 $_aomodules"
4947 _vomodules="dxr2 $_vomodules"
4948 else
4949 _def_dxr2='#undef CONFIG_DXR2'
4950 _noaomodules="dxr2 $_noaomodules"
4951 _novomodules="dxr2 $_novomodules"
4953 echores "$_dxr2"
4955 echocheck "DXR3/H+"
4956 if test "$_dxr3" = auto ; then
4957 cat > $TMPC << EOF
4958 #include <linux/em8300.h>
4959 int main(void) { return 0; }
4961 _dxr3=no
4962 cc_check && _dxr3=yes
4964 if test "$_dxr3" = yes ; then
4965 _def_dxr3='#define CONFIG_DXR3 1'
4966 _vosrc="$_vosrc vo_dxr3.c"
4967 _vomodules="dxr3 $_vomodules"
4968 else
4969 _def_dxr3='#undef CONFIG_DXR3'
4970 _novomodules="dxr3 $_novomodules"
4972 echores "$_dxr3"
4975 echocheck "IVTV TV-Out (pre linux-2.6.24)"
4976 if test "$_ivtv" = auto ; then
4977 cat > $TMPC << EOF
4978 #include <stdlib.h>
4979 #include <inttypes.h>
4980 #include <linux/types.h>
4981 #include <linux/videodev2.h>
4982 #include <linux/ivtv.h>
4983 #include <sys/ioctl.h>
4984 int main(void) {
4985 struct ivtv_cfg_stop_decode sd;
4986 struct ivtv_cfg_start_decode sd1;
4987 ioctl (0, IVTV_IOC_START_DECODE, &sd1);
4988 ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
4989 return 0; }
4991 _ivtv=no
4992 cc_check && _ivtv=yes
4994 if test "$_ivtv" = yes ; then
4995 _def_ivtv='#define CONFIG_IVTV 1'
4996 _vosrc="$_vosrc vo_ivtv.c"
4997 _vomodules="ivtv $_vomodules"
4998 _aosrc="$_aosrc ao_ivtv.c"
4999 _aomodules="ivtv $_aomodules"
5000 else
5001 _def_ivtv='#undef CONFIG_IVTV'
5002 _novomodules="ivtv $_novomodules"
5003 _noaomodules="ivtv $_noaomodules"
5005 echores "$_ivtv"
5008 echocheck "V4L2 MPEG Decoder"
5009 if test "$_v4l2" = auto ; then
5010 cat > $TMPC << EOF
5011 #include <stdlib.h>
5012 #include <inttypes.h>
5013 #include <linux/types.h>
5014 #include <linux/videodev2.h>
5015 #include <linux/version.h>
5016 int main(void) {
5017 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5018 #error kernel headers too old, need 2.6.22
5019 bad_kernel_version();
5020 #endif
5021 struct v4l2_ext_controls ctrls;
5022 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5023 return 0;
5026 _v4l2=no
5027 cc_check && _v4l2=yes
5029 if test "$_v4l2" = yes ; then
5030 _def_v4l2='#define CONFIG_V4L2_DECODER 1'
5031 _vosrc="$_vosrc vo_v4l2.c"
5032 _vomodules="v4l2 $_vomodules"
5033 _aosrc="$_aosrc ao_v4l2.c"
5034 _aomodules="v4l2 $_aomodules"
5035 else
5036 _def_v4l2='#undef CONFIG_V4L2_DECODER'
5037 _novomodules="v4l2 $_novomodules"
5038 _noaomodules="v4l2 $_noaomodules"
5040 echores "$_v4l2"
5044 #########
5045 # AUDIO #
5046 #########
5049 echocheck "OSS Audio"
5050 if test "$_ossaudio" = auto ; then
5051 cat > $TMPC << EOF
5052 #include <sys/ioctl.h>
5053 #include <$_soundcard_header>
5054 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5056 _ossaudio=no
5057 cc_check && _ossaudio=yes
5059 if test "$_ossaudio" = yes ; then
5060 _def_ossaudio='#define CONFIG_OSS_AUDIO 1'
5061 _aosrc="$_aosrc ao_oss.c"
5062 _aomodules="oss $_aomodules"
5063 if test "$_linux_devfs" = yes; then
5064 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
5065 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5066 else
5067 cat > $TMPC << EOF
5068 #include <sys/ioctl.h>
5069 #include <$_soundcard_header>
5070 #ifdef OPEN_SOUND_SYSTEM
5071 int main(void) { return 0; }
5072 #else
5073 #error Not the real thing
5074 #endif
5076 _real_ossaudio=no
5077 cc_check && _real_ossaudio=yes
5078 if test "$_real_ossaudio" = yes; then
5079 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5080 elif netbsd || openbsd ; then
5081 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
5082 _ld_extra="$_ld_extra -lossaudio"
5083 else
5084 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
5086 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
5088 else
5089 _def_ossaudio='#undef CONFIG_OSS_AUDIO'
5090 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
5091 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
5092 _noaomodules="oss $_noaomodules"
5094 echores "$_ossaudio"
5097 echocheck "aRts"
5098 if test "$_arts" = auto ; then
5099 _arts=no
5100 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
5102 cat > $TMPC << EOF
5103 #include <artsc.h>
5104 int main(void) { return 0; }
5106 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
5111 if test "$_arts" = yes ; then
5112 _def_arts='#define CONFIG_ARTS 1'
5113 _aosrc="$_aosrc ao_arts.c"
5114 _aomodules="arts $_aomodules"
5115 _libs_mplayer="$_libs_mplayer `artsc-config --libs`"
5116 _inc_extra="$_inc_extra `artsc-config --cflags`"
5117 else
5118 _noaomodules="arts $_noaomodules"
5120 echores "$_arts"
5123 echocheck "EsounD"
5124 if test "$_esd" = auto ; then
5125 _esd=no
5126 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
5128 cat > $TMPC << EOF
5129 #include <esd.h>
5130 int main(void) { int fd = esd_open_sound("test"); return fd; }
5132 cc_check `esd-config --libs` `esd-config --cflags` && _esd=yes
5136 echores "$_esd"
5138 if test "$_esd" = yes ; then
5139 _def_esd='#define CONFIG_ESD 1'
5140 _aosrc="$_aosrc ao_esd.c"
5141 _aomodules="esd $_aomodules"
5142 _libs_mplayer="$_libs_mplayer `esd-config --libs`"
5143 _inc_extra="$_inc_extra `esd-config --cflags`"
5145 echocheck "esd_get_latency()"
5146 cat > $TMPC << EOF
5147 #include <esd.h>
5148 int main(void) { return esd_get_latency(0); }
5150 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define CONFIG_ESD_LATENCY'
5151 echores "$_esd_latency"
5152 else
5153 _def_esd='#undef CONFIG_ESD'
5154 _def_esd_latency='#undef CONFIG_ESD_LATENCY'
5155 _noaomodules="esd $_noaomodules"
5158 echocheck "pulse"
5159 if test "$_pulse" = auto ; then
5160 _pulse=no
5161 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5163 cat > $TMPC << EOF
5164 #include <pulse/pulseaudio.h>
5165 int main(void) { return 0; }
5167 cc_check `$_pkg_config --libs --cflags libpulse` && tmp_run && _pulse=yes
5171 echores "$_pulse"
5173 if test "$_pulse" = yes ; then
5174 _def_pulse='#define CONFIG_PULSE 1'
5175 _aosrc="$_aosrc ao_pulse.c"
5176 _aomodules="pulse $_aomodules"
5177 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs libpulse`"
5178 _inc_extra="$_inc_extra `$_pkg_config --cflags libpulse`"
5179 else
5180 _def_pulse='#undef CONFIG_PULSE'
5181 _noaomodules="pulse $_noaomodules"
5185 echocheck "JACK"
5186 if test "$_jack" = auto ; then
5187 _jack=yes
5189 cat > $TMPC << EOF
5190 #include <jack/jack.h>
5191 int main(void) { jack_client_new("test"); return 0; }
5193 if cc_check -ljack ; then
5194 _libs_mplayer="$_libs_mplayer -ljack"
5195 elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
5196 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs jack`"
5197 _inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
5198 else
5199 _jack=no
5203 if test "$_jack" = yes ; then
5204 _def_jack='#define CONFIG_JACK 1'
5205 _aosrc="$_aosrc ao_jack.c"
5206 _aomodules="jack $_aomodules"
5207 else
5208 _noaomodules="jack $_noaomodules"
5210 echores "$_jack"
5212 echocheck "OpenAL"
5213 if test "$_openal" = auto ; then
5214 _openal=no
5215 cat > $TMPC << EOF
5216 #ifdef OPENAL_AL_H
5217 #include <OpenAL/al.h>
5218 #else
5219 #include <AL/al.h>
5220 #endif
5221 int main(void) {
5222 alSourceQueueBuffers(0, 0, 0);
5223 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5224 return 0;
5227 for I in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5228 cc_check $I && _openal=yes && break
5229 cc_check -DOPENAL_AL_H=1 $I && _def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
5230 done
5231 test "$_openal" = yes && _libs_mplayer="$_libs_mplayer $I"
5233 if test "$_openal" = yes ; then
5234 _def_openal='#define CONFIG_OPENAL 1'
5235 _aosrc="$_aosrc ao_openal.c"
5236 _aomodules="openal $_aomodules"
5237 else
5238 _noaomodules="openal $_noaomodules"
5240 echores "$_openal"
5242 echocheck "ALSA audio"
5243 if test "$_alloca" != yes ; then
5244 _alsa=no
5245 _res_comment="alloca missing"
5247 if test "$_alsa" != no ; then
5248 _alsa=no
5249 cat > $TMPC << EOF
5250 #include <sys/time.h>
5251 #include <sys/asoundlib.h>
5252 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5253 #error "alsa version != 0.5.x"
5254 #endif
5255 int main(void) { return 0; }
5257 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
5259 cat > $TMPC << EOF
5260 #include <sys/time.h>
5261 #include <sys/asoundlib.h>
5262 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5263 #error "alsa version != 0.9.x"
5264 #endif
5265 int main(void) { return 0; }
5267 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
5268 cat > $TMPC << EOF
5269 #include <sys/time.h>
5270 #include <alsa/asoundlib.h>
5271 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5272 #error "alsa version != 0.9.x"
5273 #endif
5274 int main(void) { return 0; }
5276 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5278 cat > $TMPC << EOF
5279 #include <sys/time.h>
5280 #include <sys/asoundlib.h>
5281 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5282 #error "alsa version != 1.0.x"
5283 #endif
5284 int main(void) { return 0; }
5286 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5287 cat > $TMPC << EOF
5288 #include <sys/time.h>
5289 #include <alsa/asoundlib.h>
5290 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5291 #error "alsa version != 1.0.x"
5292 #endif
5293 int main(void) { return 0; }
5295 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5297 _def_alsa='#undef CONFIG_ALSA'
5298 _def_alsa5='#undef CONFIG_ALSA5'
5299 _def_alsa9='#undef CONFIG_ALSA9'
5300 _def_alsa1x='#undef CONFIG_ALSA1X'
5301 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5302 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5303 if test "$_alsaver" ; then
5304 _alsa=yes
5305 if test "$_alsaver" = '0.5.x' ; then
5306 _alsa5=yes
5307 _aosrc="$_aosrc ao_alsa5.c"
5308 _aomodules="alsa5 $_aomodules"
5309 _def_alsa5='#define CONFIG_ALSA5 1'
5310 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5311 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5312 elif test "$_alsaver" = '0.9.x-sys' ; then
5313 _alsa9=yes
5314 _aosrc="$_aosrc ao_alsa.c"
5315 _aomodules="alsa $_aomodules"
5316 _def_alsa='#define CONFIG_ALSA 1'
5317 _def_alsa9='#define CONFIG_ALSA9 1'
5318 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5319 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5320 elif test "$_alsaver" = '0.9.x-alsa' ; then
5321 _alsa9=yes
5322 _aosrc="$_aosrc ao_alsa.c"
5323 _aomodules="alsa $_aomodules"
5324 _def_alsa='#define CONFIG_ALSA 1'
5325 _def_alsa9='#define CONFIG_ALSA9 1'
5326 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5327 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5328 elif test "$_alsaver" = '1.0.x-sys' ; then
5329 _alsa1x=yes
5330 _aosrc="$_aosrc ao_alsa.c"
5331 _aomodules="alsa $_aomodules"
5332 _def_alsa='#define CONFIG_ALSA 1'
5333 _def_alsa1x="#define CONFIG_ALSA1X 1"
5334 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5335 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5336 elif test "$_alsaver" = '1.0.x-alsa' ; then
5337 _alsa1x=yes
5338 _aosrc="$_aosrc ao_alsa.c"
5339 _aomodules="alsa $_aomodules"
5340 _def_alsa='#define CONFIG_ALSA 1'
5341 _def_alsa1x="#define CONFIG_ALSA1X 1"
5342 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5343 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5344 else
5345 _alsa=no
5346 _res_comment="unknown version"
5348 _ld_extra="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5349 else
5350 _noaomodules="alsa $_noaomodules"
5352 echores "$_alsa"
5355 echocheck "Sun audio"
5356 if test "$_sunaudio" = auto ; then
5357 cat > $TMPC << EOF
5358 #include <sys/types.h>
5359 #include <sys/audioio.h>
5360 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5362 _sunaudio=no
5363 cc_check && _sunaudio=yes
5365 if test "$_sunaudio" = yes ; then
5366 _def_sunaudio='#define CONFIG_SUN_AUDIO 1'
5367 _aosrc="$_aosrc ao_sun.c"
5368 _aomodules="sun $_aomodules"
5369 else
5370 _def_sunaudio='#undef CONFIG_SUN_AUDIO'
5371 _noaomodules="sun $_noaomodules"
5373 echores "$_sunaudio"
5376 if sunos; then
5377 echocheck "Sun mediaLib"
5378 if test "$_mlib" = auto ; then
5379 _mlib=no
5380 cat > $TMPC << EOF
5381 #include <mlib.h>
5382 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5384 cc_check -lmlib && _mlib=yes
5386 test "$_mlib" = yes && _cpuexts="MLIB $_cpuexts"
5387 echores "$_mlib"
5388 fi #if sunos
5391 if irix; then
5392 echocheck "SGI audio"
5393 if test "$_sgiaudio" = auto ; then
5394 # check for SGI audio
5395 cat > $TMPC << EOF
5396 #include <dmedia/audio.h>
5397 int main(void) { return 0; }
5399 _sgiaudio=no
5400 cc_check && _sgiaudio=yes
5402 if test "$_sgiaudio" = "yes" ; then
5403 _def_sgiaudio='#define CONFIG_SGI_AUDIO 1'
5404 _libs_mplayer="$_libs_mplayer -laudio"
5405 _aosrc="$_aosrc ao_sgi.c"
5406 _aomodules="sgi $_aomodules"
5407 else
5408 _def_sgiaudio='#undef CONFIG_SGI_AUDIO'
5409 _noaomodules="sgi $_noaomodules"
5411 echores "$_sgiaudio"
5412 fi #if irix
5415 echocheck "VCD support"
5416 if linux || freebsd || netbsd || dragonfly || bsdos || darwin || sunos || mingw32; then
5417 _inputmodules="vcd $_inputmodules"
5418 _def_vcd='#define CONFIG_VCD 1'
5419 _vcd="yes"
5420 else
5421 _def_vcd='#undef CONFIG_VCD'
5422 _noinputmodules="vcd $_noinputmodules"
5423 _res_comment="not supported on this OS"
5424 _vcd="no"
5426 echores "$_vcd"
5430 echocheck "dvdread"
5431 if test "$_dvdread_internal" = auto ; then
5432 _dvdread_internal=no
5433 _dvdread=no
5434 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux) \
5435 && (test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5436 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes) \
5437 || darwin || win32; then
5438 _dvdread_internal=yes
5439 _dvdread=yes
5441 elif test "$_dvdread" = auto ; then
5442 _dvdread=no
5443 if test "$_dl" = yes; then
5444 cat > $TMPC << EOF
5445 #include <inttypes.h>
5446 #include <libdvdread/dvd_reader.h>
5447 #include <libdvdread/ifo_types.h>
5448 #include <libdvdread/ifo_read.h>
5449 #include <libdvdread/nav_read.h>
5450 int main(void) { return 0; }
5453 _dvdreadcflags=`$_dvdreadconfig --cflags`
5454 _dvdreadlibs=`$_dvdreadconfig --libs`
5455 if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5456 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5457 _dvdread=yes
5458 _inc_extra="$_inc_extra $_dvdreadcflags"
5459 _ld_extra="$_ld_extra $_dvdreadlibs"
5460 _res_comment="external"
5464 if test "$_dvdread_internal" = yes; then
5465 _def_dvdread_internal="#define CONFIG_DVDREAD_INTERNAL 1"
5466 _def_dvdread='#define CONFIG_DVDREAD 1'
5467 _inputmodules="dvdread(internal) $_inputmodules"
5468 _largefiles=yes
5469 _res_comment="internal"
5470 elif test "$_dvdread" = yes; then
5471 _def_dvdread='#define CONFIG_DVDREAD 1'
5472 _largefiles=yes
5473 _ld_extra="$_ld_extra -ldvdread"
5474 _inputmodules="dvdread(external) $_inputmodules"
5475 _res_comment="external"
5476 else
5477 _def_dvdread_internal="#undef CONFIG_DVDREAD_INTERNAL"
5478 _def_dvdread='#undef CONFIG_DVDREAD'
5479 _noinputmodules="dvdread $_noinputmodules"
5481 echores "$_dvdread"
5484 echocheck "internal libdvdcss"
5485 if test "$_libdvdcss_internal" = auto ; then
5486 _libdvdcss_internal=no
5487 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5488 hpux && test "$_hpux_scsi_h" = no && _libdvdcss_internal=no
5490 if test "$_libdvdcss_internal" = yes ; then
5491 if linux || netbsd || openbsd || bsdos ; then
5492 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5493 openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5494 elif freebsd || dragonfly ; then
5495 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5496 elif darwin ; then
5497 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5498 _ld_extra="$_ld_extra -framework IOKit"
5499 elif cygwin ; then
5500 cflags_libdvdcss="-DSYS_CYGWIN"
5501 elif beos ; then
5502 cflags_libdvdcss="-DSYS_BEOS"
5503 elif os2 ; then
5504 cflags_libdvdcss="-DSYS_OS2"
5506 cflags_libdvdcss_dvdread="-Ilibdvdcss -DHAVE_DVDCSS_DVDCSS_H"
5507 _inputmodules="libdvdcss(internal) $_inputmodules"
5508 _largefiles=yes
5509 else
5510 _noinputmodules="libdvdcss(internal) $_noinputmodules"
5512 echores "$_libdvdcss_internal"
5515 echocheck "cdparanoia"
5516 if test "$_cdparanoia" = auto ; then
5517 cat > $TMPC <<EOF
5518 #include <cdda_interface.h>
5519 #include <cdda_paranoia.h>
5520 // This need a better test. How ?
5521 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5523 _cdparanoia=no
5524 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5525 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5526 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5527 done
5529 if test "$_cdparanoia" = yes ; then
5530 _cdda='yes'
5531 _ld_extra="$_ld_extra -lcdda_interface -lcdda_paranoia"
5532 openbsd && _ld_extra="$_ld_extra -lutil"
5534 echores "$_cdparanoia"
5537 echocheck "libcdio"
5538 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5539 cat > $TMPC << EOF
5540 #include <stdio.h>
5541 #include <cdio/version.h>
5542 #include <cdio/cdda.h>
5543 #include <cdio/paranoia.h>
5544 int main(void) {
5545 void *test = cdda_verbose_set;
5546 printf("%s\n", CDIO_VERSION);
5547 return test == (void *)1;
5550 _libcdio=no
5551 for _ld_tmp in "" "-lwinmm" ; do
5552 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5553 cc_check $_ld_tmp $_ld_lm \
5554 && _libcdio=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5555 done
5556 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5557 _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
5558 _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
5559 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5560 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5563 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5564 _cdda='yes'
5565 _def_libcdio='#define CONFIG_LIBCDIO'
5566 _def_havelibcdio='yes'
5567 else
5568 if test "$_cdparanoia" = yes ; then
5569 _res_comment="using cdparanoia"
5571 _def_libcdio='#undef CONFIG_LIBCDIO'
5572 _def_havelibcdio='no'
5574 echores "$_libcdio"
5576 if test "$_cdda" = yes ; then
5577 test $_cddb = auto && test $_network = yes && _cddb=yes
5578 _def_cdparanoia='#define CONFIG_CDDA'
5579 _inputmodules="cdda $_inputmodules"
5580 else
5581 _def_cdparanoia='#undef CONFIG_CDDA'
5582 _noinputmodules="cdda $_noinputmodules"
5585 if test "$_cddb" = yes ; then
5586 _def_cddb='#define CONFIG_CDDB'
5587 _inputmodules="cddb $_inputmodules"
5588 else
5589 _cddb=no
5590 _def_cddb='#undef CONFIG_CDDB'
5591 _noinputmodules="cddb $_noinputmodules"
5594 echocheck "bitmap font support"
5595 if test "$_bitmap_font" = yes ; then
5596 _def_bitmap_font="#define CONFIG_BITMAP_FONT 1"
5597 else
5598 _def_bitmap_font="#undef CONFIG_BITMAP_FONT"
5600 echores "$_bitmap_font"
5603 echocheck "freetype >= 2.0.9"
5605 # freetype depends on iconv
5606 if test "$_iconv" = no ; then
5607 _freetype=no
5608 _res_comment="iconv support needed"
5611 if test "$_freetype" = auto ; then
5612 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5613 cat > $TMPC << EOF
5614 #include <stdio.h>
5615 #include <ft2build.h>
5616 #include FT_FREETYPE_H
5617 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5618 #error "Need FreeType 2.0.9 or newer"
5619 #endif
5620 int main(void) {
5621 FT_Library library;
5622 FT_Int major=-1,minor=-1,patch=-1;
5623 int err=FT_Init_FreeType(&library);
5624 if(err){
5625 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5626 exit(err);
5628 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5629 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5630 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5631 (int)major,(int)minor,(int)patch );
5632 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5633 printf("Library and header version mismatch! Fix it in your distribution!\n");
5634 exit(1);
5636 return 0;
5639 _freetype=no
5640 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5641 else
5642 _freetype=no
5645 if test "$_freetype" = yes ; then
5646 _def_freetype='#define CONFIG_FREETYPE'
5647 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5648 _ld_extra="$_ld_extra `$_freetypeconfig --libs`"
5649 else
5650 _def_freetype='#undef CONFIG_FREETYPE'
5652 echores "$_freetype"
5654 if test "$_freetype" = no ; then
5655 _fontconfig=no
5656 _res_comment="freetype support needed"
5658 echocheck "fontconfig"
5659 if test "$_fontconfig" = auto ; then
5660 cat > $TMPC << EOF
5661 #include <stdio.h>
5662 #include <stdlib.h>
5663 #include <fontconfig/fontconfig.h>
5664 int main(void) {
5665 int err = FcInit();
5666 if(err == FcFalse){
5667 printf("Couldn't initialize fontconfig lib\n");
5668 exit(err);
5670 return 0;
5673 _fontconfig=no
5674 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5675 _ld_tmp="-lfontconfig $_ld_tmp"
5676 cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5677 done
5678 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
5679 _inc_tmp=`$_pkg_config --cflags fontconfig`
5680 _ld_tmp=`$_pkg_config --libs fontconfig`
5681 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
5682 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5685 if test "$_fontconfig" = yes ; then
5686 _def_fontconfig='#define CONFIG_FONTCONFIG'
5687 else
5688 _def_fontconfig='#undef CONFIG_FONTCONFIG'
5690 echores "$_fontconfig"
5693 echocheck "SSA/ASS support"
5694 # libass depends on FreeType
5695 if test "$_freetype" = no ; then
5696 _ass=no
5697 _res_comment="FreeType support needed"
5700 if test "$_ass" = auto ; then
5701 cat > $TMPC << EOF
5702 #include <ft2build.h>
5703 #include FT_FREETYPE_H
5704 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5705 #error "Need FreeType 2.1.8 or newer"
5706 #endif
5707 int main(void) { return 0; }
5709 _ass=no
5710 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5711 if test "$_ass" = no ; then
5712 _res_comment="FreeType >= 2.1.8 needed"
5715 if test "$_ass" = yes ; then
5716 _def_ass='#define CONFIG_ASS'
5717 else
5718 _def_ass='#undef CONFIG_ASS'
5720 echores "$_ass"
5723 echocheck "fribidi with charsets"
5724 if test "$_fribidi" = auto ; then
5725 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5726 cat > $TMPC << EOF
5727 #include <stdio.h>
5728 /* workaround for fribidi 0.10.4 and below */
5729 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5730 #include <fribidi/fribidi.h>
5731 int main(void) {
5732 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5733 printf("Fribidi headers are not consistents with the library!\n");
5734 exit(1);
5736 return 0;
5739 _fribidi=no
5740 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5741 else
5742 _fribidi=no
5745 if test "$_fribidi" = yes ; then
5746 _def_fribidi='#define CONFIG_FRIBIDI'
5747 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5748 _ld_extra="$_ld_extra `$_fribidiconfig --libs`"
5749 else
5750 _def_fribidi='#undef CONFIG_FRIBIDI'
5752 echores "$_fribidi"
5755 echocheck "ENCA"
5756 if test "$_enca" = auto ; then
5757 cat > $TMPC << EOF
5758 #include <sys/types.h>
5759 #include <enca.h>
5760 int main(void) {
5761 const char **langs;
5762 size_t langcnt;
5763 langs = enca_get_languages(&langcnt);
5764 return 0;
5767 _enca=no
5768 cc_check -lenca $_ld_lm && _enca=yes
5770 if test "$_enca" = yes ; then
5771 _def_enca='#define CONFIG_ENCA 1'
5772 _ld_extra="$_ld_extra -lenca"
5773 else
5774 _def_enca='#undef CONFIG_ENCA'
5776 echores "$_enca"
5779 echocheck "zlib"
5780 cat > $TMPC << EOF
5781 #include <zlib.h>
5782 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5784 _zlib=no
5785 cc_check -lz && _zlib=yes
5786 if test "$_zlib" = yes ; then
5787 _def_zlib='#define CONFIG_ZLIB 1'
5788 _ld_extra="$_ld_extra -lz"
5789 else
5790 _def_zlib='#undef CONFIG_ZLIB'
5791 _libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `
5792 _libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
5794 echores "$_zlib"
5797 echocheck "RTC"
5798 if test "$_rtc" = auto ; then
5799 cat > $TMPC << EOF
5800 #include <sys/ioctl.h>
5801 #ifdef __linux__
5802 #include <linux/rtc.h>
5803 #else
5804 #include <rtc.h>
5805 #define RTC_PIE_ON RTCIO_PIE_ON
5806 #endif
5807 int main(void) { return RTC_PIE_ON; }
5809 _rtc=no
5810 cc_check && _rtc=yes
5811 ppc && _rtc=no
5813 if test "$_rtc" = yes ; then
5814 _def_rtc='#define HAVE_RTC 1'
5815 else
5816 _def_rtc='#undef HAVE_RTC'
5818 echores "$_rtc"
5821 echocheck "liblzo2 support"
5822 if test "$_liblzo" = auto ; then
5823 _liblzo=no
5824 cat > $TMPC << EOF
5825 #include <lzo/lzo1x.h>
5826 int main(void) { lzo_init();return 0; }
5828 cc_check -llzo2 && _liblzo=yes
5830 if test "$_liblzo" = yes ; then
5831 _def_liblzo='#define CONFIG_LIBLZO 1'
5832 _ld_extra="$_ld_extra -llzo2"
5833 _codecmodules="liblzo $_codecmodules"
5834 else
5835 _def_liblzo='#undef CONFIG_LIBLZO'
5836 _nocodecmodules="liblzo $_nocodecmodules"
5838 echores "$_liblzo"
5841 echocheck "mad support"
5842 if test "$_mad" = auto ; then
5843 _mad=no
5844 cat > $TMPC << EOF
5845 #include <mad.h>
5846 int main(void) { return 0; }
5848 cc_check -lmad && _mad=yes
5850 if test "$_mad" = yes ; then
5851 _def_mad='#define CONFIG_LIBMAD 1'
5852 _ld_extra="$_ld_extra -lmad"
5853 _codecmodules="libmad $_codecmodules"
5854 else
5855 _def_mad='#undef CONFIG_LIBMAD'
5856 _nocodecmodules="libmad $_nocodecmodules"
5858 echores "$_mad"
5860 echocheck "Twolame"
5861 if test "$_twolame" = auto ; then
5862 cat > $TMPC <<EOF
5863 #include <twolame.h>
5864 int main(void) { twolame_init(); return 0; }
5866 _twolame=no
5867 cc_check -ltwolame $_ld_lm && _twolame=yes
5869 if test "$_twolame" = yes ; then
5870 _def_twolame='#define CONFIG_TWOLAME 1'
5871 _libs_mencoder="$_libs_mencoder -ltwolame"
5872 _codecmodules="twolame $_codecmodules"
5873 else
5874 _def_twolame='#undef CONFIG_TWOLAME'
5875 _nocodecmodules="twolame $_nocodecmodules"
5877 echores "$_twolame"
5879 echocheck "Toolame"
5880 if test "$_toolame" = auto ; then
5881 _toolame=no
5882 if test "$_twolame" = yes ; then
5883 _res_comment="disabled by twolame"
5884 else
5885 cat > $TMPC <<EOF
5886 #include <toolame.h>
5887 int main(void) { toolame_init(); return 0; }
5889 cc_check -ltoolame $_ld_lm && _toolame=yes
5892 if test "$_toolame" = yes ; then
5893 _def_toolame='#define CONFIG_TOOLAME 1'
5894 _libs_mencoder="$_libs_mencoder -ltoolame"
5895 _codecmodules="toolame $_codecmodules"
5896 else
5897 _def_toolame='#undef CONFIG_TOOLAME'
5898 _nocodecmodules="toolame $_nocodecmodules"
5900 if test "$_toolamedir" ; then
5901 _res_comment="using $_toolamedir"
5903 echores "$_toolame"
5905 echocheck "OggVorbis support"
5906 if test "$_tremor_internal" = yes; then
5907 _libvorbis=no
5908 elif test "$_tremor_external" = auto; then
5909 _tremor_external=no
5910 cat > $TMPC << EOF
5911 #include <tremor/ivorbiscodec.h>
5912 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5914 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5916 if test "$_libvorbis" = auto; then
5917 _libvorbis=no
5918 cat > $TMPC << EOF
5919 #include <vorbis/codec.h>
5920 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5922 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5924 if test "$_tremor_internal" = yes ; then
5925 _vorbis=yes
5926 _def_vorbis='#define CONFIG_OGGVORBIS 1'
5927 _def_tremor='#define CONFIG_TREMOR 1'
5928 _codecmodules="tremor(internal) $_codecmodules"
5929 _res_comment="internal Tremor"
5930 if test "$_tremor_low" = yes ; then
5931 cflags_tremor_low="-D_LOW_ACCURACY_"
5932 _res_comment="internal low accuracy Tremor"
5934 elif test "$_tremor_external" = yes ; then
5935 _vorbis=yes
5936 _def_vorbis='#define CONFIG_OGGVORBIS 1'
5937 _def_tremor='#define CONFIG_TREMOR 1'
5938 _codecmodules="tremor(external) $_codecmodules"
5939 _res_comment="external Tremor"
5940 _ld_extra="$_ld_extra -logg -lvorbisidec"
5941 elif test "$_libvorbis" = yes ; then
5942 _vorbis=yes
5943 _def_vorbis='#define CONFIG_OGGVORBIS 1'
5944 _codecmodules="libvorbis $_codecmodules"
5945 _res_comment="libvorbis"
5946 _ld_extra="$_ld_extra -lvorbis -logg"
5947 else
5948 _vorbis=no
5949 _nocodecmodules="libvorbis $_nocodecmodules"
5951 echores "$_vorbis"
5953 echocheck "libspeex (version >= 1.1 required)"
5954 if test "$_speex" = auto ; then
5955 _speex=no
5956 cat > $TMPC << EOF
5957 #include <speex/speex.h>
5958 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
5960 cc_check -lspeex $_ld_lm && _speex=yes
5962 if test "$_speex" = yes ; then
5963 _def_speex='#define CONFIG_SPEEX 1'
5964 _ld_extra="$_ld_extra -lspeex"
5965 _codecmodules="speex $_codecmodules"
5966 else
5967 _def_speex='#undef CONFIG_SPEEX'
5968 _nocodecmodules="speex $_nocodecmodules"
5970 echores "$_speex"
5972 echocheck "OggTheora support"
5973 if test "$_theora" = auto ; then
5974 _theora=no
5975 cat > $TMPC << EOF
5976 #include <theora/theora.h>
5977 #include <string.h>
5978 int main(void) {
5979 /* theora is in flux, make sure that all interface routines and
5980 * datatypes exist and work the way we expect it, so we don't break
5981 * mplayer */
5982 ogg_packet op;
5983 theora_comment tc;
5984 theora_info inf;
5985 theora_state st;
5986 yuv_buffer yuv;
5987 int r;
5988 double t;
5990 theora_info_init (&inf);
5991 theora_comment_init (&tc);
5993 return 0;
5995 /* we don't want to execute this kind of nonsense; just for making sure
5996 * that compilation works... */
5997 memset(&op, 0, sizeof(op));
5998 r = theora_decode_header (&inf, &tc, &op);
5999 r = theora_decode_init (&st, &inf);
6000 t = theora_granule_time (&st, op.granulepos);
6001 r = theora_decode_packetin (&st, &op);
6002 r = theora_decode_YUVout (&st, &yuv);
6003 theora_clear (&st);
6005 return 0;
6008 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
6009 cc_check $_ld_theora && _ld_extra="$_ld_extra $_ld_theora" \
6010 && _theora=yes && break
6011 done
6012 if test "$_theora" = no && test "$_tremor_internal" = yes; then
6013 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
6014 cc_check -I. tremor/bitwise.c $_ld_theora \
6015 && _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
6016 done
6019 if test "$_theora" = yes ; then
6020 _def_theora='#define CONFIG_OGGTHEORA 1'
6021 _codecmodules="libtheora $_codecmodules"
6022 # when --enable-theora is forced, we'd better provide a probably sane
6023 # $_ld_theora than nothing
6024 test -z "$_ld_theora" && _ld_extra="$_ld_extra -ltheora -logg"
6025 else
6026 _def_theora='#undef CONFIG_OGGTHEORA'
6027 _nocodecmodules="libtheora $_nocodecmodules"
6029 echores "$_theora"
6031 echocheck "internal mp3lib support"
6032 if test "$_mp3lib" = yes ; then
6033 _def_mp3lib='#define CONFIG_MP3LIB 1'
6034 _codecmodules="mp3lib $_codecmodules"
6035 else
6036 _def_mp3lib='#undef CONFIG_MP3LIB'
6037 _nocodecmodules="mp3lib $_nocodecmodules"
6039 echores "$_mp3lib"
6041 echocheck "internal liba52 support"
6042 if test "$_liba52" = yes ; then
6043 _def_liba52='#define CONFIG_LIBA52 1'
6044 _codecmodules="liba52 $_codecmodules"
6045 else
6046 _def_liba52='#undef CONFIG_LIBA52'
6047 _nocodecmodules="liba52 $_nocodecmodules"
6049 echores "$_liba52"
6051 echocheck "internal libmpeg2 support"
6052 if test "$_libmpeg2" = auto ; then
6053 _libmpeg2=yes
6054 if alpha && test cc_vendor=gnu; then
6055 case $cc_version in
6056 2*|3.0*|3.1*) # cannot compile MVI instructions
6057 _libmpeg2=no
6058 _res_comment="broken gcc"
6060 esac
6063 if test "$_libmpeg2" = yes ; then
6064 _def_libmpeg2='#define CONFIG_LIBMPEG2 1'
6065 _codecmodules="libmpeg2 $_codecmodules"
6066 else
6067 _def_libmpeg2='#undef CONFIG_LIBMPEG2'
6068 _nocodecmodules="libmpeg2 $_nocodecmodules"
6070 echores "$_libmpeg2"
6072 echocheck "libdca support"
6073 if test "$_libdca" = auto ; then
6074 _libdca=no
6075 cat > $TMPC << EOF
6076 #include <inttypes.h>
6077 #include <dts.h>
6078 int main(void) { dts_init (0); return 0; }
6080 for _ld_dca in -ldts -ldca ; do
6081 cc_check $_ld_dca $_ld_lm && _ld_extra="$_ld_extra $_ld_dca" \
6082 && _libdca=yes && break
6083 done
6085 if test "$_libdca" = yes ; then
6086 _def_libdca='#define CONFIG_LIBDCA 1'
6087 _codecmodules="libdca $_codecmodules"
6088 else
6089 _def_libdca='#undef CONFIG_LIBDCA'
6090 _nocodecmodules="libdca $_nocodecmodules"
6092 echores "$_libdca"
6094 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
6095 if test "$_musepack" = auto ; then
6096 _musepack=no
6097 cat > $TMPC << EOF
6098 #include <stddef.h>
6099 #include <mpcdec/mpcdec.h>
6100 int main(void) {
6101 mpc_streaminfo info;
6102 mpc_decoder decoder;
6103 mpc_decoder_set_streaminfo(&decoder, &info);
6104 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6105 return 0;
6108 cc_check -lmpcdec $_ld_lm && _musepack=yes
6110 if test "$_musepack" = yes ; then
6111 _def_musepack='#define CONFIG_MUSEPACK 1'
6112 _ld_extra="$_ld_extra -lmpcdec"
6113 _codecmodules="musepack $_codecmodules"
6114 else
6115 _def_musepack='#undef CONFIG_MUSEPACK'
6116 _nocodecmodules="musepack $_nocodecmodules"
6118 echores "$_musepack"
6121 echocheck "FAAC (AAC encoder) support"
6122 if test "$_faac" = auto ; then
6123 cat > $TMPC <<EOF
6124 #include <inttypes.h>
6125 #include <faac.h>
6126 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6128 _faac=no
6129 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6130 cc_check -O4 $_ld_faac $_ld_lm && _libs_mencoder="$_libs_mencoder $_ld_faac" && _faac=yes && break
6131 done
6133 if test "$_faac" = yes ; then
6134 _def_faac="#define CONFIG_FAAC 1"
6135 test "$_faac_lavc" = auto && _faac_lavc=yes
6136 if test "$_faac_lavc" = yes ; then
6137 _def_faac_lavc="#define CONFIG_LIBFAAC 1"
6138 _libs_mplayer="$_libs_mplayer $_ld_faac"
6139 _libavencoders="$_libavencoders LIBFAAC_ENCODER"
6141 _codecmodules="faac $_codecmodules"
6142 else
6143 _faac_lavc=no
6144 _def_faac="#undef CONFIG_FAAC"
6145 _def_faac_lavc="#undef CONFIG_LIBFAAC"
6146 _nocodecmodules="faac $_nocodecmodules"
6148 _res_comment="in libavcodec: $_faac_lavc"
6149 echores "$_faac"
6152 echocheck "FAAD2 (AAC) support"
6153 if test "$_faad_internal" = auto ; then
6154 if x86_32 && test cc_vendor=gnu; then
6155 case $cc_version in
6156 3.1*|3.2) # ICE/insn with these versions
6157 _faad_internal=no
6158 _res_comment="broken gcc"
6161 _faad_internal=yes
6163 esac
6164 else
6165 _faad_internal=yes
6167 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
6168 _faad_external=no
6169 cat > $TMPC << EOF
6170 #include <faad.h>
6171 #ifndef FAAD_MIN_STREAMSIZE
6172 #error Too old version
6173 #endif
6174 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6175 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6177 cc_check -lfaad $_ld_lm && _faad_external=yes
6180 if test "$_faad_internal" = yes ; then
6181 _def_faad_internal="#define CONFIG_FAAD_INTERNAL 1"
6182 _faad=yes
6183 _res_comment="internal floating-point"
6184 if test "$_faad_fixed" = yes ; then
6185 # The FIXED_POINT implementation of FAAD2 improves performance
6186 # on some platforms, especially for SBR files.
6187 cflags_faad_fixed="-DFIXED_POINT"
6188 _res_comment="internal fixed-point"
6190 elif test "$_faad_external" = yes ; then
6191 _faad=yes
6192 _ld_extra="$_ld_extra -lfaad"
6193 else
6194 _def_faad_internal="#undef CONFIG_FAAD_INTERNAL"
6195 _faad=no
6198 if test "$_faad" = yes ; then
6199 _def_faad='#define CONFIG_FAAD 1'
6200 _codecmodules="faad2 $_codecmodules"
6201 else
6202 _def_faad='#undef CONFIG_FAAD'
6203 _nocodecmodules="faad2 $_nocodecmodules"
6205 echores "$_faad"
6208 echocheck "LADSPA plugin support"
6209 if test "$_ladspa" = auto ; then
6210 cat > $TMPC <<EOF
6211 #include <stdio.h>
6212 #include <ladspa.h>
6213 int main(void) {
6214 const LADSPA_Descriptor *ld = NULL;
6215 return 0;
6218 _ladspa=no
6219 cc_check && _ladspa=yes
6221 if test "$_ladspa" = yes; then
6222 _def_ladspa="#define CONFIG_LADSPA"
6223 else
6224 _def_ladspa="#undef CONFIG_LADSPA"
6226 echores "$_ladspa"
6229 if test -z "$_codecsdir" ; then
6230 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
6231 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
6232 if test -d "$dir" ; then
6233 _codecsdir="$dir"
6234 break;
6236 done
6238 # Fall back on default directory.
6239 if test -z "$_codecsdir" ; then
6240 _codecsdir="$_libdir/codecs"
6241 mingw32 && _codecsdir="codecs"
6242 os2 && _codecsdir="codecs"
6246 echocheck "Win32 codecs"
6247 if test "$_win32dll" = auto ; then
6248 _win32dll=no
6249 if x86_32 && ! qnx; then
6250 _win32dll=yes
6253 if test "$_win32dll" = yes ; then
6254 _def_win32dll='#define CONFIG_WIN32DLL 1'
6255 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
6256 _res_comment="using $_win32codecsdir"
6257 if ! win32 ; then
6258 _def_win32_loader='#define WIN32_LOADER 1'
6259 _win32_emulation=yes
6260 else
6261 _ld_extra="$_ld_extra -ladvapi32 -lole32"
6262 _res_comment="using native windows"
6264 _codecmodules="win32 $_codecmodules"
6265 else
6266 _def_win32dll='#undef CONFIG_WIN32DLL'
6267 _def_win32_loader='#undef WIN32_LOADER'
6268 _nocodecmodules="win32 $_nocodecmodules"
6270 echores "$_win32dll"
6273 echocheck "XAnim codecs"
6274 if test "$_xanim" = auto ; then
6275 _xanim=no
6276 _res_comment="dynamic loader support needed"
6277 if test "$_dl" = yes ; then
6278 _xanim=yes
6281 if test "$_xanim" = yes ; then
6282 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6283 _def_xanim='#define CONFIG_XANIM 1'
6284 _def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6285 _codecmodules="xanim $_codecmodules"
6286 _res_comment="using $_xanimcodecsdir"
6287 else
6288 _def_xanim='#undef CONFIG_XANIM'
6289 _def_xanim_path='#undef XACODEC_PATH'
6290 _nocodecmodules="xanim $_nocodecmodules"
6292 echores "$_xanim"
6295 echocheck "RealPlayer codecs"
6296 if test "$_real" = auto ; then
6297 _real=no
6298 _res_comment="dynamic loader support needed"
6299 if test "$_dl" = yes || test "$_win32dll" = yes &&
6300 (linux || freebsd || netbsd || dragonfly || darwin || win32) ; then
6301 _real=yes
6304 if test "$_real" = yes ; then
6305 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6306 _def_real='#define CONFIG_REALCODECS 1'
6307 _def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6308 _codecmodules="real $_codecmodules"
6309 _res_comment="using $_realcodecsdir"
6310 else
6311 _def_real='#undef CONFIG_REALCODECS'
6312 _def_real_path="#undef REALCODEC_PATH"
6313 _nocodecmodules="real $_nocodecmodules"
6315 echores "$_real"
6318 echocheck "QuickTime codecs"
6319 _qtx_emulation=no
6320 _def_qtx_win32='#undef CONFIG_QTX_CODECS_WIN32'
6321 if test "$_qtx" = auto ; then
6322 test "$_win32dll" = yes || darwin && _qtx=yes
6324 if test "$_qtx" = yes ; then
6325 _def_qtx='#define CONFIG_QTX_CODECS 1'
6326 win32 && _qtx_codecs_win32=yes && _def_qtx_win32='#define CONFIG_QTX_CODECS_WIN32 1'
6327 _codecmodules="qtx $_codecmodules"
6328 darwin || win32 || _qtx_emulation=yes
6329 else
6330 _def_qtx='#undef CONFIG_QTX_CODECS'
6331 _nocodecmodules="qtx $_nocodecmodules"
6333 echores "$_qtx"
6335 echocheck "Nemesi Streaming Media libraries"
6336 if test "$_nemesi" = auto && test "$_network" = yes ; then
6337 _nemesi=no
6338 if $_pkg_config libnemesi --atleast-version=0.6.3 ; then
6339 _inc_extra="$_inc_extra `$_pkg_config --cflags libnemesi`"
6340 _ld_extra="$_ld_extra `$_pkg_config --libs libnemesi`"
6341 _nemesi=yes
6344 if test "$_nemesi" = yes; then
6345 _native_rtsp=no
6346 _def_nemesi='#define CONFIG_LIBNEMESI 1'
6347 _inputmodules="nemesi $_inputmodules"
6348 else
6349 _native_rtsp="$_network"
6350 _nemesi=no
6351 _def_nemesi='#undef CONFIG_LIBNEMESI'
6352 _noinputmodules="nemesi $_noinputmodules"
6354 echores "$_nemesi"
6356 echocheck "LIVE555 Streaming Media libraries"
6357 if test "$_live" = auto && test "$_network" = yes ; then
6358 cat > $TMPCPP << EOF
6359 #include <liveMedia.hh>
6360 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6361 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6362 #endif
6363 int main(void) { return 0; }
6366 _live=no
6367 for I in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6368 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6369 $I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
6370 _ld_extra="$_livelibdir/liveMedia/libliveMedia.a \
6371 $_livelibdir/groupsock/libgroupsock.a \
6372 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6373 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6374 $_ld_extra -lstdc++" \
6375 _inc_extraxx="-I$_livelibdir/liveMedia/include \
6376 -I$_livelibdir/UsageEnvironment/include \
6377 -I$_livelibdir/BasicUsageEnvironment/include \
6378 -I$_livelibdir/groupsock/include" && \
6379 _live=yes && break
6380 done
6381 if test "$_live" != yes ; then
6382 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6383 _live_dist=yes
6387 if test "$_live" = yes && test "$_network" = yes; then
6388 _res_comment="using $_livelibdir"
6389 _def_live='#define CONFIG_LIVE555 1'
6390 _inputmodules="live555 $_inputmodules"
6391 elif test "$_live_dist" = yes && test "$_network" = yes; then
6392 _res_comment="using distribution version"
6393 _live="yes"
6394 _def_live='#define CONFIG_LIVE555 1'
6395 _ld_extra="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6396 _inc_extraxx="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6397 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6398 _inputmodules="live555 $_inputmodules"
6399 else
6400 _live=no
6401 _def_live='#undef CONFIG_LIVE555'
6402 _noinputmodules="live555 $_noinputmodules"
6404 echores "$_live"
6407 echocheck "FFmpeg libavutil"
6408 if test "$_libavutil_a" = auto ; then
6409 if test -d ffmpeg/libavutil ; then
6410 _libavutil_a=yes
6411 _res_comment="static"
6412 else
6413 die "MPlayer will not compile without libavutil in the source tree."
6415 elif test "$_libavutil_so" = auto ; then
6416 _libavutil_so=no
6417 cat > $TMPC << EOF
6418 #include <libavutil/common.h>
6419 int main(void) { ff_gcd(1,1); return 0; }
6421 if $_pkg_config --exists libavutil ; then
6422 _inc_libavutil=`$_pkg_config --cflags libavutil`
6423 _ld_tmp=`$_pkg_config --libs libavutil`
6424 cc_check $_inc_libavutil $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6425 && _libavutil_so=yes
6426 elif cc_check -lavutil $_ld_lm ; then
6427 _ld_extra="$_ld_extra -lavutil"
6428 _libavutil_so=yes
6429 _res_comment="using libavutil.so, but static libavutil is recommended"
6432 _libavutil=no
6433 _def_libavutil='#undef CONFIG_LIBAVUTIL'
6434 _def_libavutil_a='#undef CONFIG_LIBAVUTIL_A'
6435 _def_libavutil_so='#undef CONFIG_LIBAVUTIL_SO'
6436 test "$_libavutil_a" = yes || test "$_libavutil_so" = yes && _libavutil=yes
6437 test "$_libavutil" = yes && _def_libavutil='#define CONFIG_LIBAVUTIL 1'
6438 test "$_libavutil_a" = yes && _def_libavutil_a='#define CONFIG_LIBAVUTIL_A 1'
6439 test "$_libavutil_so" = yes && _def_libavutil_so='#define CONFIG_LIBAVUTIL_SO 1'
6440 # neither static nor shared libavutil is available, but it is mandatory ...
6441 if test "$_libavutil" = no ; then
6442 die "You need static or shared libavutil, MPlayer will not compile without!"
6444 echores "$_libavutil"
6446 echocheck "FFmpeg libavcodec"
6447 if test "$_libavcodec_a" = auto ; then
6448 _libavcodec_a=no
6449 if test -d ffmpeg/libavcodec && test -f ffmpeg/libavcodec/utils.c ; then
6450 _libavcodec_a="yes"
6451 _res_comment="static"
6453 elif test "$_libavcodec_so" = auto ; then
6454 _libavcodec_so=no
6455 _res_comment="libavcodec.so is discouraged over static libavcodec"
6456 cat > $TMPC << EOF
6457 #include <libavcodec/avcodec.h>
6458 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6460 if $_pkg_config --exists libavcodec ; then
6461 _inc_libavcodec=`$_pkg_config --cflags libavcodec`
6462 _ld_tmp=`$_pkg_config --libs libavcodec`
6463 cc_check $_inc_libavcodec $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6464 && _libavcodec_so=yes
6465 elif cc_check -lavcodec $_ld_lm ; then
6466 _ld_extra="$_ld_extra -lavcodec"
6467 _libavcodec_so=yes
6468 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6471 _libavcodec=no
6472 _def_libavcodec='#undef CONFIG_LIBAVCODEC'
6473 _def_libavcodec_a='#undef CONFIG_LIBAVCODEC_A'
6474 _def_libavcodec_so='#undef CONFIG_LIBAVCODEC_SO'
6475 test "$_libavcodec_a" = yes || test "$_libavcodec_so" = yes && _libavcodec=yes
6476 test "$_libavcodec" = yes && _def_libavcodec='#define CONFIG_LIBAVCODEC 1'
6477 test "$_libavcodec_a" = yes && _def_libavcodec_a='#define CONFIG_LIBAVCODEC_A 1'
6478 test "$_libavcodec_so" = yes && _def_libavcodec_so='#define CONFIG_LIBAVCODEC_SO 1'
6479 test "$_libavcodec_mpegaudio_hp" = yes \
6480 && _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6481 if test "$_libavcodec_a" = yes ; then
6482 _codecmodules="libavcodec $_codecmodules"
6483 elif test "$_libavcodec_so" = yes ; then
6484 _codecmodules="libavcodec.so $_codecmodules"
6485 else
6486 _nocodecmodules="libavcodec $_nocodecmodules"
6488 echores "$_libavcodec"
6490 echocheck "FFmpeg libavformat"
6491 if test "$_libavformat_a" = auto ; then
6492 _libavformat_a=no
6493 if test -d ffmpeg/libavformat && test -f ffmpeg/libavformat/utils.c ; then
6494 _libavformat_a=yes
6495 _res_comment="static"
6497 elif test "$_libavformat_so" = auto ; then
6498 _libavformat_so=no
6499 cat > $TMPC <<EOF
6500 #include <libavformat/avformat.h>
6501 #include <libavcodec/opt.h>
6502 int main(void) { av_alloc_format_context(); return 0; }
6504 if $_pkg_config --exists libavformat ; then
6505 _inc_libavformat=`$_pkg_config --cflags libavformat`
6506 _ld_tmp=`$_pkg_config --libs libavformat`
6507 cc_check $_inc_libavformat $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6508 && _libavformat_so=yes
6509 elif cc_check $_ld_lm -lavformat ; then
6510 _ld_extra="$_ld_extra -lavformat"
6511 _libavformat_so=yes
6512 _res_comment="using libavformat.so, but static libavformat is recommended"
6515 _libavformat=no
6516 _def_libavformat='#undef CONFIG_LIBAVFORMAT'
6517 _def_libavformat_a='#undef CONFIG_LIBAVFORMAT_A'
6518 _def_libavformat_so='#undef CONFIG_LIBAVFORMAT_SO'
6519 test "$_libavformat_a" = yes || test "$_libavformat_so" = yes && _libavformat=yes
6520 test "$_libavformat" = yes && _def_libavformat='#define CONFIG_LIBAVFORMAT 1'
6521 test "$_libavformat_a" = yes && _def_libavformat_a='#define CONFIG_LIBAVFORMAT_A 1'
6522 test "$_libavformat_so" = yes \
6523 && _def_libavformat_so='#define CONFIG_LIBAVFORMAT_SO 1'
6524 echores "$_libavformat"
6526 echocheck "FFmpeg libpostproc"
6527 if test "$_libpostproc_a" = auto ; then
6528 _libpostproc_a=no
6529 if test -d ffmpeg/libpostproc && test -f ffmpeg/libpostproc/postprocess.h ; then
6530 _libpostproc_a='yes'
6531 _res_comment="static"
6533 elif test "$_libpostproc_so" = auto ; then
6534 _libpostproc_so=no
6535 cat > $TMPC << EOF
6536 #define CONFIG_LIBPOSTPROC 1
6537 #include <inttypes.h>
6538 #include <libpostproc/postprocess.h>
6539 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6541 if cc_check -lpostproc $_ld_lm ; then
6542 _ld_extra="$_ld_extra -lpostproc"
6543 _libpostproc_so=yes
6544 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6547 _libpostproc=no
6548 _def_libpostproc='#undef CONFIG_LIBPOSTPROC'
6549 _def_libpostproc_a='#undef CONFIG_LIBPOSTPROC_A'
6550 _def_libpostproc_so='#undef CONFIG_LIBPOSTPROC_SO'
6551 test "$_libpostproc_a" = yes || test "$_libpostproc_so" = yes && _libpostproc=yes
6552 test "$_libpostproc" = yes && _def_libpostproc='#define CONFIG_LIBPOSTPROC 1'
6553 test "$_libpostproc_a" = yes && _def_libpostproc_a='#define CONFIG_LIBPOSTPROC_A 1'
6554 test "$_libpostproc_so" = yes \
6555 && _def_libpostproc_so='#define CONFIG_LIBPOSTPROC_SO 1'
6556 echores "$_libpostproc"
6559 echocheck "libamr narrowband"
6560 if test "$_libamr_nb" = auto ; then
6561 _libamr_nb=no
6562 cat > $TMPC << EOF
6563 #include <amrnb/sp_dec.h>
6564 int main(void) { Speech_Decode_Frame_init(); return 0; }
6566 cc_check -lamrnb && _libamr_nb=yes
6567 if test "$_libavcodec_a" != yes ; then
6568 _libamr_nb=no
6569 _res_comment="libavcodec (static) is required by libamr_nb, sorry"
6572 if test "$_libamr_nb" = yes ; then
6573 _libamr=yes
6574 _ld_extra="$_ld_extra -lamrnb"
6575 _def_libamr='#define CONFIG_LIBAMR 1'
6576 _def_libamr_nb='#define CONFIG_LIBAMR_NB 1'
6577 _libavdecoders="$_libavdecoders LIBAMR_NB_DECODER"
6578 _libavencoders="$_libavencoders LIBAMR_NB_ENCODER"
6579 _codecmodules="libamr_nb $_codecmodules"
6580 else
6581 _def_libamr_nb='#undef CONFIG_LIBAMR_NB'
6582 _nocodecmodules="libamr_nb $_nocodecmodules"
6584 echores "$_libamr_nb"
6587 echocheck "libamr wideband"
6588 if test "$_libamr_wb" = auto ; then
6589 _libamr_wb=no
6590 cat > $TMPC << EOF
6591 #include <amrwb/dec_if.h>
6592 int main(void) { D_IF_init(); return 0; }
6594 cc_check -lamrwb && _libamr_wb=yes
6595 if test "$_libavcodec_a" != yes ; then
6596 _libamr_wb=no
6597 _res_comment="libavcodec (static) is required by libamr_wb, sorry"
6600 if test "$_libamr_wb" = yes ; then
6601 _libamr=yes
6602 _ld_extra="$_ld_extra -lamrwb"
6603 _def_libamr='#define CONFIG_LIBAMR 1'
6604 _def_libamr_wb='#define CONFIG_LIBAMR_WB 1'
6605 _libavdecoders="$_libavdecoders LIBAMR_WB_DECODER"
6606 _libavencoders="$_libavencoders LIBAMR_WB_ENCODER"
6607 _codecmodules="libamr_wb $_codecmodules"
6608 else
6609 _def_libamr_wb='#undef CONFIG_LIBAMR_WB'
6610 _nocodecmodules="libamr_wb $_nocodecmodules"
6612 echores "$_libamr_wb"
6614 echocheck "libdv-0.9.5+"
6615 if test "$_libdv" = auto ; then
6616 _libdv=no
6617 cat > $TMPC <<EOF
6618 #include <libdv/dv.h>
6619 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6621 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6623 if test "$_libdv" = yes ; then
6624 _def_libdv='#define CONFIG_LIBDV095 1'
6625 _ld_extra="$_ld_extra -ldv"
6626 _codecmodules="libdv $_codecmodules"
6627 else
6628 _def_libdv='#undef CONFIG_LIBDV095'
6629 _nocodecmodules="libdv $_nocodecmodules"
6631 echores "$_libdv"
6634 echocheck "Xvid"
6635 if test "$_xvid" = auto ; then
6636 _xvid=no
6637 cat > $TMPC << EOF
6638 #include <xvid.h>
6639 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6641 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6642 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && _xvid=yes && break
6643 done
6646 if test "$_xvid" = yes ; then
6647 _def_xvid='#define CONFIG_XVID4 1'
6648 _codecmodules="xvid $_codecmodules"
6649 else
6650 _def_xvid='#undef CONFIG_XVID4'
6651 _nocodecmodules="xvid $_nocodecmodules"
6653 echores "$_xvid"
6655 echocheck "Xvid two pass plugin"
6656 if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
6657 cat > $TMPC << EOF
6658 #include <xvid.h>
6659 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6661 cc_check && _xvid_lavc=yes
6663 if test "$_xvid_lavc" = yes ; then
6664 _def_xvid_lavc='#define CONFIG_LIBXVID 1'
6665 _libavencoders="$_libavencoders LIBXVID_ENCODER"
6666 else
6667 _xvid_lavc=no
6668 _def_xvid_lavc='#undef CONFIG_LIBXVID'
6670 echores "$_xvid_lavc"
6673 echocheck "x264"
6674 if test "$_x264" = auto ; then
6675 cat > $TMPC << EOF
6676 #include <inttypes.h>
6677 #include <x264.h>
6678 #if X264_BUILD < 59
6679 #error We do not support old versions of x264. Get the latest from SVN.
6680 #endif
6681 int main(void) { x264_encoder_open((void*)0); return 0; }
6683 _x264=no
6684 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6685 cc_check $_ld_x264 && _libs_mencoder="$_libs_mencoder $_ld_x264" && _x264=yes && break
6686 done
6689 if test "$_x264" = yes ; then
6690 _def_x264='#define CONFIG_X264 1'
6691 _codecmodules="x264 $_codecmodules"
6692 test "$_x264_lavc" = auto && _x264_lavc=yes
6693 if test "$_x264_lavc" = yes ; then
6694 _def_x264_lavc='#define CONFIG_LIBX264 1'
6695 _libs_mplayer="$_libs_mplayer $_ld_x264"
6696 _libavencoders="$_libavencoders LIBX264_ENCODER"
6698 else
6699 _x264_lavc=no
6700 _def_x264='#undef CONFIG_X264'
6701 _def_x264_lavc='#undef CONFIG_LIBX264'
6702 _nocodecmodules="x264 $_nocodecmodules"
6704 _res_comment="in libavcodec: $_x264_lavc"
6705 echores "$_x264"
6708 echocheck "libdirac"
6709 if test "$_libdirac_lavc" = auto; then
6710 _libdirac_lavc=no
6711 if test "$_libavcodec_a" != yes; then
6712 _res_comment="libavcodec (static) is required by libdirac, sorry"
6713 else
6714 cat > $TMPC << EOF
6715 #include <libdirac_encoder/dirac_encoder.h>
6716 #include <libdirac_decoder/dirac_parser.h>
6717 int main(void)
6719 dirac_encoder_context_t enc_ctx;
6720 dirac_decoder_t *dec_handle;
6721 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
6722 dec_handle = dirac_decoder_init(0);
6723 if (dec_handle)
6724 dirac_decoder_close(dec_handle);
6725 return 0;
6728 if $_pkg_config --exists dirac ; then
6729 _inc_dirac=`$_pkg_config --silence-errors --cflags dirac`
6730 _ld_dirac=`$_pkg_config --silence-errors --libs dirac`
6731 cc_check $_inc_dirac $_ld_dirac &&
6732 _libdirac_lavc=yes &&
6733 _inc_extra="$_inc_extra $_inc_dirac" &&
6734 _ld_extra="$_ld_extra $_ld_dirac"
6738 if test "$_libdirac_lavc" = yes ; then
6739 _def_libdirac_lavc='#define CONFIG_LIBDIRAC 1'
6740 _libavencoders="$_libavencoders LIBDIRAC_ENCODER"
6741 _libavdecoders="$_libavdecoders LIBDIRAC_DECODER"
6742 _codecmodules="libdirac $_codecmodules"
6743 else
6744 _def_libdirac_lavc='#undef CONFIG_LIBDIRAC'
6745 _nocodecmodules="libdirac $_nocodecmodules"
6747 echores "$_libdirac_lavc"
6750 echocheck "libschroedinger"
6751 if test "$_libschroedinger_lavc" = auto ; then
6752 _libschroedinger_lavc=no
6753 if test "$_libavcodec_a" != yes; then
6754 _res_comment="libavcodec (static) is required by libschroedinger, sorry"
6755 else
6756 cat > $TMPC << EOF
6757 #include <schroedinger/schro.h>
6758 int main(void) { schro_init(); return 0; }
6760 if $_pkg_config --exists schroedinger-1.0 ; then
6761 _inc_schroedinger=`$_pkg_config --silence-errors --cflags schroedinger-1.0`
6762 _ld_schroedinger=`$_pkg_config --silence-errors --libs schroedinger-1.0`
6763 cc_check $_inc_schroedinger $_ld_schroedinger &&
6764 _libschroedinger_lavc=yes &&
6765 _inc_extra="$_inc_extra $_inc_schroedinger" &&
6766 _ld_extra="$_ld_extra $_ld_schroedinger"
6770 if test "$_libschroedinger_lavc" = yes ; then
6771 _def_libschroedinger_lavc='#define CONFIG_LIBSCHROEDINGER 1'
6772 _libavencoders="$_libavencoders LIBSCHROEDINGER_ENCODER"
6773 _libavdecoders="$_libavdecoders LIBSCHROEDINGER_DECODER"
6774 _codecmodules="libschroedinger $_codecmodules"
6775 else
6776 _def_libschroedinger_lavc='#undef CONFIG_LIBSCHROEDINGER'
6777 _nocodecmodules="libschroedinger $_nocodecmodules"
6779 echores "$_libschroedinger_lavc"
6781 echocheck "libnut"
6782 if test "$_libnut" = auto ; then
6783 cat > $TMPC << EOF
6784 #include <stdio.h>
6785 #include <stdlib.h>
6786 #include <inttypes.h>
6787 #include <libnut.h>
6788 int main(void) { (void)nut_error(0); return 0; }
6790 _libnut=no
6791 cc_check -lnut && _libnut=yes
6794 if test "$_libnut" = yes ; then
6795 _def_libnut='#define CONFIG_LIBNUT 1'
6796 _ld_extra="$_ld_extra -lnut"
6797 else
6798 _def_libnut='#undef CONFIG_LIBNUT'
6800 echores "$_libnut"
6802 #check must be done after libavcodec one
6803 echocheck "zr"
6804 if test "$_zr" = auto ; then
6805 #36067's seem to identify themselves as 36057PQC's, so the line
6806 #below should work for 36067's and 36057's.
6807 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci ; then
6808 _zr=yes
6809 else
6810 _zr=no
6813 if test "$_zr" = yes ; then
6814 if test "$_libavcodec_a" = yes ; then
6815 _def_zr='#define CONFIG_ZR 1'
6816 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6817 _vomodules="zr zr2 $_vomodules"
6818 else
6819 _res_comment="libavcodec (static) is required by zr, sorry"
6820 _novomodules="zr $_novomodules"
6821 _def_zr='#undef CONFIG_ZR'
6823 else
6824 _def_zr='#undef CONFIG_ZR'
6825 _novomodules="zr zr2 $_novomodules"
6827 echores "$_zr"
6829 # mencoder requires (optional) those libs: libmp3lame
6830 if test "$_mencoder" != no ; then
6832 echocheck "libmp3lame (for mencoder)"
6833 _def_mp3lame_preset='#undef CONFIG_MP3LAME_PRESET'
6834 _def_mp3lame_preset_medium='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
6835 if test "$_mp3lame" = auto ; then
6836 _mp3lame=no
6837 cat > $TMPC <<EOF
6838 #include <lame/lame.h>
6839 int main(void) { lame_version_t lv; (void) lame_init();
6840 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
6841 return 0; }
6843 cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
6845 if test "$_mp3lame" = yes ; then
6846 _def_mp3lame="#define CONFIG_MP3LAME"
6847 _ld_mp3lame=-lmp3lame
6848 _libs_mencoder="$_libs_mencoder $_ld_mp3lame"
6849 cat > $TMPC << EOF
6850 #include <lame/lame.h>
6851 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6853 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define CONFIG_MP3LAME_PRESET"
6854 cat > $TMPC << EOF
6855 #include <lame/lame.h>
6856 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6858 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define CONFIG_MP3LAME_PRESET_MEDIUM"
6859 test "$_mp3lame_lavc" = auto && _mp3lame_lavc=yes
6860 if test "$_mp3lame_lavc" = yes ; then
6861 _def_mp3lame_lavc="#define CONFIG_LIBMP3LAME 1"
6862 _libavencoders="$_libavencoders LIBMP3LAME_ENCODER"
6863 _libs_mplayer="$_libs_mplayer $_ld_mp3lame"
6865 else
6866 _mp3lame_lavc=no
6867 _def_mp3lame='#undef CONFIG_MP3LAME'
6868 _def_mp3lame_lavc="#undef CONFIG_LIBMP3LAME"
6870 _res_comment="in libavcodec: $_mp3lame_lavc"
6871 echores "$_mp3lame"
6875 echocheck "mencoder"
6876 if test "$_mencoder" = yes ; then
6877 _def_muxers='#define CONFIG_MUXERS 1'
6878 else
6879 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint, png for vf_screenshot
6880 _libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
6881 test "$_zlib" = yes && _libavencoders="$_libavencoders PNG_ENCODER"
6882 _libavmuxers=""
6884 echores "$_mencoder"
6886 echocheck "fastmemcpy"
6887 # fastmemcpy check is done earlier with tests of CPU & binutils features
6888 if test "$_fastmemcpy" = yes ; then
6889 _def_fastmemcpy='#define CONFIG_FASTMEMCPY 1'
6890 else
6891 _def_fastmemcpy='#undef CONFIG_FASTMEMCPY'
6893 echores "$_fastmemcpy"
6896 echocheck "UnRAR executable"
6897 if test "$_unrar_exec" = auto ; then
6898 _unrar_exec="yes"
6899 mingw32 && _unrar_exec="no"
6901 if test "$_unrar_exec" = yes ; then
6902 _def_unrar_exec='#define CONFIG_UNRAR_EXEC 1'
6903 else
6904 _def_unrar_exec='#undef CONFIG_UNRAR_EXEC'
6906 echores "$_unrar_exec"
6908 echocheck "TV interface"
6909 if test "$_tv" = yes ; then
6910 _def_tv='#define CONFIG_TV 1'
6911 _inputmodules="tv $_inputmodules"
6912 else
6913 _noinputmodules="tv $_noinputmodules"
6914 _def_tv='#undef CONFIG_TV'
6916 echores "$_tv"
6919 if freebsd || netbsd || openbsd || dragonfly || bsdos ; then
6920 echocheck "*BSD BT848 bt8xx header"
6921 _ioctl_bt848_h=no
6922 for file in "machine/ioctl_bt848.h" \
6923 "dev/bktr/ioctl_bt848.h" \
6924 "dev/video/bktr/ioctl_bt848.h" \
6925 "dev/ic/bt8xx.h" ; do
6926 cat > $TMPC <<EOF
6927 #include <sys/types.h>
6928 #include <sys/ioctl.h>
6929 #include <$file>
6930 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
6932 if cc_check ; then
6933 _ioctl_bt848_h=yes
6934 _ioctl_bt848_h_name="$file"
6935 break;
6937 done
6938 if test "$_ioctl_bt848_h" = yes ; then
6939 _def_ioctl_bt848_h_name="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
6940 _res_comment="using $_ioctl_bt848_h_name"
6941 else
6942 _def_ioctl_bt848_h_name="#undef IOCTL_BT848_H_NAME"
6944 echores "$_ioctl_bt848_h"
6946 echocheck "*BSD ioctl_meteor.h"
6947 _ioctl_meteor_h=no
6948 for file in "machine/ioctl_meteor.h" \
6949 "dev/bktr/ioctl_meteor.h" \
6950 "dev/video/bktr/ioctl_meteor.h" ; do
6951 cat > $TMPC <<EOF
6952 #include <sys/types.h>
6953 #include <$file>
6954 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
6956 if cc_check ; then
6957 _ioctl_meteor_h=yes
6958 _ioctl_meteor_h_name="$file"
6959 break;
6961 done
6962 if test "$_ioctl_meteor_h" = yes ; then
6963 _def_ioctl_meteor_h_name="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
6964 _res_comment="using $_ioctl_meteor_h_name"
6965 else
6966 _def_ioctl_meteor_h_name="#undef IOCTL_METEOR_H_NAME"
6968 echores "$_ioctl_meteor_h"
6970 echocheck "*BSD BrookTree 848 TV interface"
6971 if test "$_tv_bsdbt848" = auto ; then
6972 _tv_bsdbt848=no
6973 if test "$_tv" = yes ; then
6974 cat > $TMPC <<EOF
6975 #include <sys/types.h>
6976 $_def_ioctl_meteor_h_name
6977 $_def_ioctl_bt848_h_name
6978 #ifdef IOCTL_METEOR_H_NAME
6979 #include IOCTL_METEOR_H_NAME
6980 #endif
6981 #ifdef IOCTL_BT848_H_NAME
6982 #include IOCTL_BT848_H_NAME
6983 #endif
6984 int main(void) {
6985 ioctl(0, METEORSINPUT, 0);
6986 ioctl(0, TVTUNER_GETFREQ, 0);
6987 return 0;
6990 cc_check && _tv_bsdbt848=yes
6993 if test "$_tv_bsdbt848" = yes ; then
6994 _def_tv_bsdbt848='#define CONFIG_TV_BSDBT848 1'
6995 _inputmodules="tv-bsdbt848 $_inputmodules"
6996 else
6997 _def_tv_bsdbt848='#undef CONFIG_TV_BSDBT848'
6998 _noinputmodules="tv-bsdbt848 $_noinputmodules"
7000 echores "$_tv_bsdbt848"
7001 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7004 echocheck "DirectShow TV interface"
7005 if test "$_tv_dshow" = auto ; then
7006 _tv_dshow=no
7007 if test "$_tv" = yes && win32 ; then
7008 cat > $TMPC <<EOF
7009 #include <ole2.h>
7010 int main(void) {
7011 void* p;
7012 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7013 return 0;
7016 cc_check -lole32 -luuid && _tv_dshow=yes
7019 if test "$_tv_dshow" = yes ; then
7020 _inputmodules="tv-dshow $_inputmodules"
7021 _def_tv_dshow='#define CONFIG_TV_DSHOW 1'
7022 _ld_extra="$_ld_extra -lole32 -luuid"
7023 else
7024 _noinputmodules="tv-dshow $_noinputmodules"
7025 _def_tv_dshow='#undef CONFIG_TV_DSHOW'
7027 echores "$_tv_dshow"
7030 echocheck "Video 4 Linux TV interface"
7031 if test "$_tv_v4l1" = auto ; then
7032 _tv_v4l1=no
7033 if test "$_tv" = yes && linux ; then
7034 cat > $TMPC <<EOF
7035 #include <stdlib.h>
7036 #include <linux/videodev.h>
7037 int main(void) { return 0; }
7039 cc_check && _tv_v4l1=yes
7042 if test "$_tv_v4l1" = yes ; then
7043 _audio_input=yes
7044 _tv_v4l=yes
7045 _def_tv_v4l='#define CONFIG_TV_V4L 1'
7046 _def_tv_v4l1='#define CONFIG_TV_V4L1 1'
7047 _inputmodules="tv-v4l $_inputmodules"
7048 else
7049 _noinputmodules="tv-v4l1 $_noinputmodules"
7050 _def_tv_v4l='#undef CONFIG_TV_V4L'
7052 echores "$_tv_v4l1"
7055 echocheck "Video 4 Linux 2 TV interface"
7056 if test "$_tv_v4l2" = auto ; then
7057 _tv_v4l2=no
7058 if test "$_tv" = yes && linux ; then
7059 cat > $TMPC <<EOF
7060 #include <stdlib.h>
7061 #include <linux/types.h>
7062 #include <linux/videodev2.h>
7063 int main(void) { return 0; }
7065 cc_check && _tv_v4l2=yes
7068 if test "$_tv_v4l2" = yes ; then
7069 _audio_input=yes
7070 _tv_v4l=yes
7071 _def_tv_v4l='#define CONFIG_TV_V4L 1'
7072 _def_tv_v4l2='#define CONFIG_TV_V4L2 1'
7073 _inputmodules="tv-v4l2 $_inputmodules"
7074 else
7075 _noinputmodules="tv-v4l2 $_noinputmodules"
7076 _def_tv_v4l2='#undef CONFIG_TV_V4L2'
7078 echores "$_tv_v4l2"
7081 echocheck "TV teletext interface"
7082 if test "$_tv_teletext" = auto ; then
7083 _tv_teletext=no
7084 if test "$_freetype" = yes && test "$_pthreads" = yes; then
7085 if test "$_tv_v4l2" = yes || test "$_v4l" = yes || test "$_tv_dshow" = yes; then
7086 _tv_teletext=yes
7090 if test "$_tv_teletext" = yes ; then
7091 _def_tv_teletext='#define CONFIG_TV_TELETEXT 1'
7092 _inputmodules="tv-teletext $_inputmodules"
7093 else
7094 _noinputmodules="tv-teletext $_noinputmodules"
7095 _def_tv_teletext='#undef CONFIG_TV_TELETEXT'
7097 echores "$_tv_teletext"
7100 echocheck "Radio interface"
7101 if test "$_radio" = yes ; then
7102 _def_radio='#define CONFIG_RADIO 1'
7103 _inputmodules="radio $_inputmodules"
7104 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7105 _radio_capture=no
7107 if test "$_radio_capture" = yes ; then
7108 _audio_input=yes
7109 _def_radio_capture="#define CONFIG_RADIO_CAPTURE 1"
7110 else
7111 _def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7113 else
7114 _noinputmodules="radio $_noinputmodules"
7115 _def_radio='#undef CONFIG_RADIO'
7116 _def_radio_capture="#undef CONFIG_RADIO_CAPTURE"
7117 _radio_capture=no
7119 echores "$_radio"
7120 echocheck "Capture for Radio interface"
7121 echores "$_radio_capture"
7123 echocheck "Video 4 Linux 2 Radio interface"
7124 if test "$_radio_v4l2" = auto ; then
7125 _radio_v4l2=no
7126 if test "$_radio" = yes && linux ; then
7127 cat > $TMPC <<EOF
7128 #include <stdlib.h>
7129 #include <linux/types.h>
7130 #include <linux/videodev2.h>
7131 int main(void) { return 0; }
7133 cc_check && _radio_v4l2=yes
7136 if test "$_radio_v4l2" = yes ; then
7137 _def_radio_v4l2='#define CONFIG_RADIO_V4L2 1'
7138 else
7139 _def_radio_v4l2='#undef CONFIG_RADIO_V4L2'
7141 echores "$_radio_v4l2"
7143 echocheck "Video 4 Linux Radio interface"
7144 if test "$_radio_v4l" = auto ; then
7145 _radio_v4l=no
7146 if test "$_radio" = yes && linux ; then
7147 cat > $TMPC <<EOF
7148 #include <stdlib.h>
7149 #include <linux/videodev.h>
7150 int main(void) { return 0; }
7152 cc_check && _radio_v4l=yes
7155 if test "$_radio_v4l" = yes ; then
7156 _def_radio_v4l='#define CONFIG_RADIO_V4L 1'
7157 else
7158 _def_radio_v4l='#undef CONFIG_RADIO_V4L'
7160 echores "$_radio_v4l"
7162 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7163 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
7164 echocheck "*BSD BrookTree 848 Radio interface"
7165 _radio_bsdbt848=no
7166 cat > $TMPC <<EOF
7167 #include <sys/types.h>
7168 $_def_ioctl_bt848_h_name
7169 #ifdef IOCTL_BT848_H_NAME
7170 #include IOCTL_BT848_H_NAME
7171 #endif
7172 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7174 cc_check && _radio_bsdbt848=yes
7175 echores "$_radio_bsdbt848"
7176 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7178 if test "$_radio_bsdbt848" = yes ; then
7179 _def_radio_bsdbt848='#define CONFIG_RADIO_BSDBT848 1'
7180 else
7181 _def_radio_bsdbt848='#undef CONFIG_RADIO_BSDBT848'
7184 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
7185 test "$_radio_bsdbt848" = no && test "$_radio" = yes ; then
7186 die "Radio driver requires BSD BT848, V4L or V4L2!"
7189 echocheck "Video 4 Linux 2 MPEG PVR interface"
7190 if test "$_pvr" = auto ; then
7191 _pvr=no
7192 if test "$_tv_v4l2" = yes && linux ; then
7193 cat > $TMPC <<EOF
7194 #include <stdlib.h>
7195 #include <inttypes.h>
7196 #include <linux/types.h>
7197 #include <linux/videodev2.h>
7198 int main(void) { struct v4l2_ext_controls ext; return 0; }
7200 cc_check && _pvr=yes
7203 if test "$_pvr" = yes ; then
7204 _def_pvr='#define CONFIG_PVR 1'
7205 _inputmodules="pvr $_inputmodules"
7206 else
7207 _noinputmodules="pvr $_noinputmodules"
7208 _def_pvr='#undef CONFIG_PVR'
7210 echores "$_pvr"
7213 echocheck "audio select()"
7214 if test "$_select" = no ; then
7215 _def_select='#undef HAVE_AUDIO_SELECT'
7216 elif test "$_select" = yes ; then
7217 _def_select='#define HAVE_AUDIO_SELECT 1'
7219 echores "$_select"
7222 echocheck "ftp"
7223 if ! beos && test "$_ftp" = yes ; then
7224 _def_ftp='#define CONFIG_FTP 1'
7225 _inputmodules="ftp $_inputmodules"
7226 else
7227 _noinputmodules="ftp $_noinputmodules"
7228 _def_ftp='#undef CONFIG_FTP'
7230 echores "$_ftp"
7232 echocheck "vstream client"
7233 if test "$_vstream" = auto ; then
7234 _vstream=no
7235 cat > $TMPC <<EOF
7236 #include <vstream-client.h>
7237 void vstream_error(const char *format, ... ) {}
7238 int main(void) { vstream_start(); return 0; }
7240 cc_check -lvstream-client && _vstream=yes
7242 if test "$_vstream" = yes ; then
7243 _def_vstream='#define CONFIG_VSTREAM 1'
7244 _inputmodules="vstream $_inputmodules"
7245 _ld_extra="$_ld_extra -lvstream-client"
7246 else
7247 _noinputmodules="vstream $_noinputmodules"
7248 _def_vstream='#undef CONFIG_VSTREAM'
7250 echores "$_vstream"
7252 # endian testing
7253 echocheck "byte order"
7254 if test "$_big_endian" = auto ; then
7255 cat > $TMPC <<EOF
7256 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
7257 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
7258 int main(void) { return (int)ascii_name; }
7260 if cc_check ; then
7261 if strings $TMPEXE | grep -q -l MPlayerBigEndian ; then
7262 _big_endian=yes
7263 else
7264 _big_endian=no
7266 else
7267 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
7270 if test "$_big_endian" = yes ; then
7271 _byte_order='big-endian'
7272 _def_words_endian='#define WORDS_BIGENDIAN 1'
7273 else
7274 _byte_order='little-endian'
7275 _def_words_endian='#undef WORDS_BIGENDIAN'
7277 echores "$_byte_order"
7279 echocheck "OSD menu"
7280 if test "$_menu" = yes ; then
7281 _def_menu='#define CONFIG_MENU 1'
7282 test $_dvbin = "yes" && _menu_dvbin=yes
7283 else
7284 _def_menu='#undef CONFIG_MENU'
7285 _menu_dvbin=no
7287 echores "$_menu"
7290 echocheck "Subtitles sorting"
7291 if test "$_sortsub" = yes ; then
7292 _def_sortsub='#define CONFIG_SORTSUB 1'
7293 else
7294 _def_sortsub='#undef CONFIG_SORTSUB'
7296 echores "$_sortsub"
7299 echocheck "XMMS inputplugin support"
7300 if test "$_xmms" = yes ; then
7301 if ( xmms-config --version ) >/dev/null 2>&1 ; then
7302 _xmmsplugindir=`xmms-config --input-plugin-dir`
7303 _xmmslibdir=`xmms-config --exec-prefix`/lib
7304 else
7305 _xmmsplugindir=/usr/lib/xmms/Input
7306 _xmmslibdir=/usr/lib
7309 _def_xmms='#define CONFIG_XMMS 1'
7310 if darwin ; then
7311 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
7312 else
7313 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7315 else
7316 _def_xmms='#undef CONFIG_XMMS'
7318 echores "$_xmms"
7320 echocheck "inet6"
7321 if test "$_inet6" = auto ; then
7322 cat > $TMPC << EOF
7323 #include <sys/types.h>
7324 #if !defined(_WIN32) || defined(__CYGWIN__)
7325 #include <sys/socket.h>
7326 #include <netinet/in.h>
7327 #else
7328 #include <ws2tcpip.h>
7329 #endif
7330 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
7332 _inet6=no
7333 if cc_check $_ld_sock ; then
7334 _inet6=yes
7337 if test "$_inet6" = yes ; then
7338 _def_inet6='#define HAVE_AF_INET6 1'
7339 else
7340 _def_inet6='#undef HAVE_AF_INET6'
7342 echores "$_inet6"
7345 echocheck "gethostbyname2"
7346 if test "$_gethostbyname2" = auto ; then
7347 cat > $TMPC << EOF
7348 #include <sys/types.h>
7349 #include <sys/socket.h>
7350 #include <netdb.h>
7351 int main(void) { gethostbyname2("", AF_INET); return 0; }
7353 _gethostbyname2=no
7354 if cc_check ; then
7355 _gethostbyname2=yes
7359 if test "$_gethostbyname2" = yes ; then
7360 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
7361 else
7362 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
7364 echores "$_gethostbyname2"
7367 # --------------- GUI specific tests begin -------------------
7368 echocheck "GUI"
7369 echo "$_gui"
7370 if test "$_gui" = yes ; then
7372 # Required libraries
7373 if test "$_libavcodec" != yes ||
7374 ! echo $_libavdecoders | grep -q PNG_DECODER ; then
7375 die "The GUI requires libavcodec with PNG support (needs zlib)."
7377 test "$_freetype" = no && test "$_bitmap_font" = no && \
7378 die "The GUI requires either FreeType or bitmap font support."
7379 if ! win32 ; then
7380 _gui_gtk=yes
7381 test "$_x11" != yes && die "X11 support required for GUI compilation."
7383 echocheck "XShape extension"
7384 if test "$_xshape" = auto ; then
7385 _xshape=no
7386 cat > $TMPC << EOF
7387 #include <X11/Xlib.h>
7388 #include <X11/Xproto.h>
7389 #include <X11/Xutil.h>
7390 #include <X11/extensions/shape.h>
7391 #include <stdlib.h>
7392 int main(void) {
7393 char *name = ":0.0";
7394 Display *wsDisplay;
7395 int exitvar = 0;
7396 int eventbase, errorbase;
7397 if (getenv("DISPLAY"))
7398 name=getenv("DISPLAY");
7399 wsDisplay=XOpenDisplay(name);
7400 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7401 exitvar=1;
7402 XCloseDisplay(wsDisplay);
7403 return exitvar;
7406 cc_check -lXext && _xshape=yes
7408 if test "$_xshape" = yes ; then
7409 _def_xshape='#define CONFIG_XSHAPE 1'
7410 else
7411 die "The GUI requires the X11 extension XShape (which was not found)."
7413 echores "$_xshape"
7415 #Check for GTK
7416 if test "$_gtk1" = no ; then
7417 #Check for GTK2 :
7418 echocheck "GTK+ version"
7420 if $_pkg_config gtk+-2.0 --exists ; then
7421 _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7422 _inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7423 _libs_mplayer="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7424 echores "$_gtk"
7426 # Check for GLIB2
7427 if $_pkg_config glib-2.0 --exists ; then
7428 echocheck "glib version"
7429 _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7430 _libs_mplayer="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7431 echores "$_glib"
7433 _def_gui='#define CONFIG_GUI 1'
7434 _def_gtk2='#define CONFIG_GTK2 1'
7435 else
7436 _gtk1=yes
7437 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7439 else
7440 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7441 _gtk1=yes
7445 if test "$_gtk1" = yes ; then
7446 # Check for old GTK (1.2.x)
7447 echocheck "GTK version"
7448 if test -z "$_gtkconfig" ; then
7449 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7450 _gtkconfig="gtk-config"
7451 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7452 _gtkconfig="gtk12-config"
7453 else
7454 die "The GUI requires GTK devel packages (which were not found)."
7457 _gtk=`$_gtkconfig --version 2>&1`
7458 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7459 _libs_mplayer="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7460 echores "$_gtk (using $_gtkconfig)"
7462 # Check for GLIB
7463 echocheck "glib version"
7464 if test -z "$_glibconfig" ; then
7465 if ( glib-config --version ) >/dev/null 2>&1 ; then
7466 _glibconfig="glib-config"
7467 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7468 _glibconfig="glib12-config"
7469 else
7470 die "The GUI requires GLIB devel packages (which were not found)"
7473 _glib=`$_glibconfig --version 2>&1`
7474 _libs_mplayer="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7475 echores "$_glib (using $_glibconfig)"
7477 _def_gui='#define CONFIG_GUI 1'
7478 _def_gtk2='#undef CONFIG_GTK2'
7481 else #if ! win32
7482 _gui_win32=yes
7483 _libs_mplayer="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7484 _def_gui='#define CONFIG_GUI 1'
7485 _def_gtk2='#undef CONFIG_GTK2'
7486 fi #if ! win32
7488 else #if test "$_gui"
7489 _def_gui='#undef CONFIG_GUI'
7490 _def_gtk2='#undef CONFIG_GTK2'
7491 fi #if test "$_gui"
7492 # --------------- GUI specific tests end -------------------
7495 if test "$_charset" = "noconv" ; then
7496 _charset=""
7498 if test "$_charset" ; then
7499 _def_charset="#define MSG_CHARSET \"$_charset\""
7500 else
7501 _def_charset="#undef MSG_CHARSET"
7504 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
7505 echocheck "iconv program"
7506 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7507 if test "$?" -ne 0 ; then
7508 echores "no"
7509 echo "No working iconv program found, use "
7510 echo "--charset=UTF-8 to continue anyway."
7511 echo "If you also have problems with iconv library functions use --charset=noconv."
7512 echo "Messages in the GTK-2 interface will be broken then."
7513 exit 1
7514 else
7515 echores "yes"
7519 #############################################################################
7521 echocheck "automatic gdb attach"
7522 if test "$_crash_debug" = yes ; then
7523 _def_crash_debug='#define CONFIG_CRASH_DEBUG 1'
7524 else
7525 _def_crash_debug='#undef CONFIG_CRASH_DEBUG'
7526 _crash_debug=no
7528 echores "$_crash_debug"
7530 echocheck "compiler support for noexecstack"
7531 cat > $TMPC <<EOF
7532 int main(void) { return 0; }
7534 if cc_check -Wl,-z,noexecstack ; then
7535 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7536 echores "yes"
7537 else
7538 echores "no"
7542 # Dynamic linking flags
7543 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7544 _ld_dl_dynamic=''
7545 freebsd || netbsd || openbsd || dragonfly || bsdos && _ld_dl_dynamic='-rdynamic'
7546 if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin && ! os2 ; then
7547 _ld_dl_dynamic='-rdynamic'
7550 _ld_extra="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7551 bsdos && _ld_extra="$_ld_extra -ldvd"
7552 netbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7553 openbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7555 _def_debug='#undef MP_DEBUG'
7556 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7559 echocheck "joystick"
7560 _def_joystick='#undef CONFIG_JOYSTICK'
7561 if test "$_joystick" = yes ; then
7562 if linux ; then
7563 # TODO add some check
7564 _def_joystick='#define CONFIG_JOYSTICK 1'
7565 else
7566 _joystick="no"
7567 _res_comment="unsupported under $system_name"
7570 echores "$_joystick"
7572 echocheck "lirc"
7573 if test "$_lirc" = auto ; then
7574 _lirc=no
7575 cat > $TMPC <<EOF
7576 #include <lirc/lirc_client.h>
7577 int main(void) { return 0; }
7579 cc_check -llirc_client && _lirc=yes
7581 if test "$_lirc" = yes ; then
7582 _def_lirc='#define CONFIG_LIRC 1'
7583 _ld_extra="$_ld_extra -llirc_client"
7584 else
7585 _def_lirc='#undef CONFIG_LIRC'
7587 echores "$_lirc"
7589 echocheck "lircc"
7590 if test "$_lircc" = auto ; then
7591 _lircc=no
7592 cat > $TMPC <<EOF
7593 #include <lirc/lircc.h>
7594 int main(void) { return 0; }
7596 cc_check -llircc && _lircc=yes
7598 if test "$_lircc" = yes ; then
7599 _def_lircc='#define CONFIG_LIRCC 1'
7600 _ld_extra="$_ld_extra -llircc"
7601 else
7602 _def_lircc='#undef CONFIG_LIRCC'
7604 echores "$_lircc"
7606 if arm; then
7607 # Detect maemo development platform libraries availability (http://www.maemo.org),
7608 # they are used when run on Nokia 770|8x0
7609 echocheck "maemo (Nokia 770|8x0)"
7610 if test "$_maemo" = auto ; then
7611 _maemo=no
7612 cat > $TMPC << EOF
7613 #include <libosso.h>
7614 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7616 cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
7618 if test "$_maemo" = yes ; then
7619 _def_maemo='#define CONFIG_MAEMO 1'
7620 _inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
7621 _ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7622 else
7623 _def_maemo='#undef CONFIG_MAEMO'
7625 echores "$_maemo"
7628 #this must be the last test to be performed or the ones following it will likely fail
7629 #because libdvdnavmini is intentionally not linked against libdvdread (to permit mplayer
7630 # to use its own copy of the library)
7631 echocheck "DVD support (libdvdnav)"
7632 if test "$_dvdnav" = auto ; then
7633 if test "$_dvdread_internal" = yes ; then
7634 _dvdnav=no
7635 _res_comment="Disabled in favor of the internal copy of dvdread. Append --disable-dvdread-internal."
7636 else
7637 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
7640 if test "$_dvdnav" = auto ; then
7641 cat > $TMPC <<EOF
7642 #include <inttypes.h>
7643 #include <dvdnav/dvdnav.h>
7644 int main(void) { dvdnav_t *dvd=0; return 0; }
7646 _dvdnav=no
7647 _dvdnavdir=`$_dvdnavconfig --cflags`
7648 _dvdnavlibs=`$_dvdnavconfig --libs`
7649 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
7651 if test "$_dvdnav" = yes ; then
7652 _largefiles=yes
7653 _def_dvdnav='#define CONFIG_DVDNAV 1'
7654 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
7655 _ld_extra="$_ld_extra `$_dvdnavconfig --minilibs`"
7656 _inputmodules="dvdnav $_inputmodules"
7657 else
7658 _def_dvdnav='#undef CONFIG_DVDNAV'
7659 _noinputmodules="dvdnav $_noinputmodules"
7661 echores "$_dvdnav"
7664 #############################################################################
7666 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7667 # the OMF format needs to come after the 'extern symbol prefix' check, which
7668 # uses nm.
7669 if os2 ; then
7670 _ld_extra="$_ld_extra -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7673 # linker paths should be the same for mencoder and mplayer
7674 _ld_tmp=""
7675 for I in $_libs_mplayer ; do
7676 _tmp=`echo $I | sed -e 's/^-L.*$//'`
7677 if test -z "$_tmp" ; then
7678 _ld_extra="$I $_ld_extra"
7679 else
7680 _ld_tmp="$_ld_tmp $I"
7682 done
7683 _libs_mplayer=$_ld_tmp
7686 #############################################################################
7687 if darwin ; then
7688 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -shared-libgcc"
7689 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7690 CFLAGS="$CFLAGS -no-cpp-precomp"
7693 if amigaos ; then
7694 CFLAGS="$CFLAGS -DNEWLIB -D__USE_INLINE__"
7696 # Thread support
7697 if linux ; then
7698 CFLAGS="$CFLAGS -D_REENTRANT"
7699 elif freebsd || netbsd || openbsd || bsdos ; then
7700 # FIXME bsd needs this so maybe other OS'es
7701 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7703 # 64 bit file offsets?
7704 if test "$_largefiles" = yes || freebsd ; then
7705 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7706 if test "$_dvdread" = yes || test "$_libdvdcss_internal" = yes ; then
7707 # dvdread support requires this (for off64_t)
7708 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7712 cat > $TMPC << EOF
7713 int main(void) { return 0; }
7715 if test "$cc_vendor" = "gnu" ; then
7716 cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
7717 cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
7718 cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
7721 CFLAGS_FFMPEG="-I../.. $CFLAGS"
7722 CFLAGS="-I. -Iffmpeg $CFLAGS"
7723 CXXFLAGS=" $CFLAGS -D__STDC_LIMIT_MACROS"
7725 cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
7727 #############################################################################
7728 echo "Creating config.mak"
7729 cat > config.mak << EOF
7730 # -------- Generated by configure -----------
7732 # Ensure that locale settings do not interfere with shell commands.
7733 export LC_ALL = C
7735 DOC_LANG = $doc_lang
7736 DOC_LANGS = $doc_langs
7737 DOC_LANG_ALL = $doc_lang_all
7738 MAN_LANG = $man_lang
7739 MAN_LANGS = $man_langs
7740 MAN_LANG_ALL = $man_lang_all
7742 DESTDIR =
7743 prefix = \$(DESTDIR)$_prefix
7744 BINDIR = \$(DESTDIR)$_bindir
7745 DATADIR = \$(DESTDIR)$_datadir
7746 MANDIR = \$(DESTDIR)$_mandir
7747 CONFDIR = \$(DESTDIR)$_confdir
7748 LIBDIR = \$(DESTDIR)$_libdir
7750 AR = $_ar
7751 CC = $_cc
7752 CXX = $_cc
7753 HOST_CC = $_host_cc
7754 RANLIB = $_ranlib
7755 WINDRES = $_windres
7756 INSTALL = $_install
7757 INSTALLSTRIP = $_install_strip
7759 EXTRA_INC = $_inc_extra
7760 EXTRAXX_INC = $_inc_extra $_inc_extraxx
7761 CFLAGS = $CFLAGS \$(EXTRA_INC)
7762 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7763 FFMPEG_OFLAGS = $CFLAGS_FFMPEG \$(EXTRA_INC)
7764 CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
7765 CFLAGS_DHAHELPER = $cflags_dhahelper
7766 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
7767 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
7768 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
7769 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
7770 CFLAGS_STACKREALIGN = $cflags_stackrealign
7771 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
7772 CFLAGS_TREMOR_LOW = $cflags_tremor_low
7774 EXTRALIBS = $_extra_libs
7775 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7776 EXTRALIBS_MPLAYER = $_libs_mplayer
7777 EXTRALIBS_MENCODER = $_libs_mencoder
7779 CHARSET = $_charset
7780 HELP_FILE = $_mp_help
7782 EXESUF = $_exesuf
7784 $_target_arch
7785 $_target_arch_x86
7786 `echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
7788 GETCH = $_getch
7789 TIMER = $_timer
7791 AO_SRCS = $_aosrc
7792 VO_SRCS = $_vosrc
7794 MENCODER = $_mencoder
7795 MPLAYER = $_mplayer
7797 #internal libraries
7798 LIBA52 = $_liba52
7799 LIBMPEG2 = $_libmpeg2
7800 MP3LIB = $_mp3lib
7801 TREMOR_INTERNAL = $_tremor_internal
7803 HAVE_SYS_MMAN_H = $_mman
7804 HAVE_POSIX_SELECT = $_posix_select
7806 NEED_GETTIMEOFDAY = $_need_gettimeofday
7807 NEED_GLOB = $_need_glob
7808 NEED_MMAP = $_need_mmap
7809 NEED_SETENV = $_need_setenv
7810 NEED_SHMEM = $_need_shmem
7811 NEED_STRSEP = $_need_strsep
7812 NEED_SWAB = $_need_swab
7813 NEED_VSSCANF = $_need_vsscanf
7815 # audio output
7816 OSS = $_ossaudio
7817 ALSA9 = $_alsa9
7818 ALSA1X = $_alsa1x
7820 # features
7821 APPLE_IR = $_apple_ir
7822 APPLE_REMOTE = $_apple_remote
7823 AUDIO_INPUT = $_audio_input
7824 BITMAP_FONT = $_bitmap_font
7825 CDDA = $_cdda
7826 CDDB = $_cddb
7827 COREAUDIO = $_coreaudio
7828 COREVIDEO = $_corevideo
7829 DVBIN = $_dvbin
7830 DVDNAV = $_dvdnav
7831 DVDREAD = $_dvdread
7832 DVDREAD_INTERNAL = $_dvdread_internal
7833 FAAC=$_faac
7834 FAAD = $_faad
7835 FAAD_INTERNAL = $_faad_internal
7836 FREETYPE = $_freetype
7837 FTP = $_ftp
7838 GIF = $_gif
7839 GUI = $_gui
7840 GUI_GTK = $_gui_gtk
7841 GUI_WIN32 = $_gui_win32
7842 JOYSTICK = $_joystick
7843 JPEG = $_jpeg
7844 LADSPA = $_ladspa
7845 LIBASS = $_ass
7846 LIBDCA = $_libdca
7847 LIBDV = $_libdv
7848 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7849 LIBLZO = $_liblzo
7850 LIBMAD = $_mad
7851 LIBMENU = $_menu
7852 LIBMENU_DVBIN = $_menu_dvbin
7853 LIBNEMESI = $_nemesi
7854 LIBNUT = $_libnut
7855 LIBSMBCLIENT = $_smb
7856 LIBTHEORA = $_theora
7857 LIBVORBIS = $_vorbis
7858 LIRC = $_lirc
7859 LIVE555 = $_live
7860 MACOSX_BUNDLE = $_macosx_bundle
7861 MACOSX_FINDER = $_macosx_finder
7862 MP3LAME = $_mp3lame
7863 MUSEPACK = $_musepack
7864 NATIVE_RTSP = $_native_rtsp
7865 NETWORK = $_network
7866 PE_EXECUTABLE = $_pe_executable
7867 PNG = $_png
7868 PVR = $_pvr
7869 QTX_CODECS = $_qtx
7870 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7871 QTX_EMULATION = $_qtx_emulation
7872 QUARTZ = $_quartz
7873 RADIO=$_radio
7874 RADIO_CAPTURE=$_radio_capture
7875 REAL_CODECS = $_real
7876 SPEEX = $_speex
7877 STREAM_CACHE = $_stream_cache
7878 TOOLAME=$_toolame
7879 TV = $_tv
7880 TV_BSDBT848 = $_tv_bsdbt848
7881 TV_DSHOW = $_tv_dshow
7882 TV_TELETEXT = $_tv_teletext
7883 TV_V4L = $_tv_v4l
7884 TV_V4L1 = $_tv_v4l1
7885 TV_V4L2 = $_tv_v4l2
7886 TWOLAME=$_twolame
7887 UNRAR_EXEC = $_unrar_exec
7888 VCD = $_vcd
7889 VIDIX = $_vidix
7890 VIDIX_PCIDB = $_vidix_pcidb_val
7891 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7892 VIDIX_IVTV=$_vidix_drv_ivtv
7893 VIDIX_MACH64=$_vidix_drv_mach64
7894 VIDIX_MGA=$_vidix_drv_mga
7895 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7896 VIDIX_NVIDIA=$_vidix_drv_nvidia
7897 VIDIX_PM2=$_vidix_drv_pm2
7898 VIDIX_PM3=$_vidix_drv_pm3
7899 VIDIX_RADEON=$_vidix_drv_radeon
7900 VIDIX_RAGE128=$_vidix_drv_rage128
7901 VIDIX_S3=$_vidix_drv_s3
7902 VIDIX_SH_VEU=$_vidix_drv_sh_veu
7903 VIDIX_SIS=$_vidix_drv_sis
7904 VIDIX_UNICHROME=$_vidix_drv_unichrome
7905 VSTREAM = $_vstream
7906 WIN32DLL = $_win32dll
7907 WIN32_EMULATION = $_win32_emulation
7908 X264 = $_x264
7909 XANIM_CODECS = $_xanim
7910 XMMS_PLUGINS = $_xmms
7911 XVID4 = $_xvid
7912 ZORAN = $_zr
7914 # FFmpeg
7915 LIBAVUTIL = $_libavutil
7916 LIBAVUTIL_A = $_libavutil_a
7917 LIBAVUTIL_SO = $_libavutil_so
7918 LIBAVCODEC = $_libavcodec
7919 LIBAVCODEC_A = $_libavcodec_a
7920 LIBAVCODEC_SO = $_libavcodec_so
7921 LIBAVFORMAT = $_libavformat
7922 LIBAVFORMAT_A = $_libavformat_a
7923 LIBAVFORMAT_SO = $_libavformat_so
7924 LIBPOSTPROC = $_libpostproc
7925 LIBPOSTPROC_A = $_libpostproc_a
7926 LIBPOSTPROC_SO = $_libpostproc_so
7928 BUILD_STATIC=yes
7929 SRC_PATH=..
7930 BUILD_ROOT=..
7931 LIBPREF=lib
7932 LIBSUF=.a
7933 LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7935 CONFIG_ENCODERS=yes
7936 CONFIG_GPL=yes
7937 CONFIG_MUXERS=$_mencoder
7938 CONFIG_LIBAMR=$_libamr
7939 CONFIG_LIBAMR_NB=$_libamr_nb
7940 CONFIG_LIBAMR_WB=$_libamr_wb
7941 CONFIG_LIBDIRAC=$_libdirac_lavc
7942 CONFIG_LIBFAAC=$_faac_lavc
7943 CONFIG_LIBMP3LAME=$_mp3lame_lavc
7944 CONFIG_LIBSCHROEDINGER=$_libschroedinger_lavc
7945 CONFIG_LIBVORBIS=$_libvorbis
7946 CONFIG_LIBX264=$_x264_lavc
7947 CONFIG_LIBXVID=$_xvid_lavc
7948 CONFIG_MLIB = $_mlib
7949 CONFIG_POSTPROC = yes
7950 # Prevent building libavcodec/imgresample.c with conflicting symbols
7951 CONFIG_SWSCALE=yes
7952 CONFIG_ZLIB=$_zlib
7954 HAVE_PTHREADS = $_pthreads
7955 HAVE_W32THREADS = $_w32threads
7956 HAVE_XVMC = $_xvmc
7958 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7959 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7960 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7961 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7962 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7963 `echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7965 DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
7967 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7968 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7972 #############################################################################
7974 ff_config_enable () {
7975 _nprefix=$3;
7976 test -z "$_nprefix" && _nprefix='CONFIG'
7977 for part in $1; do
7978 if ` echo $2 | grep -q -E "(^| )$part($| )" `; then
7979 echo "#define ${_nprefix}_$part 1"
7980 echo "#define ENABLE_$part 1"
7981 else
7982 echo "#define ENABLE_$part 0"
7984 done
7987 echo "Creating config.h"
7988 cat > $TMPH << EOF
7989 /* -------- This file has been automatically generated by configure ---------
7990 Note: Any changes in it will be lost when you run configure again. */
7992 /* Protect against multiple inclusion */
7993 #ifndef MPLAYER_CONFIG_H
7994 #define MPLAYER_CONFIG_H
7996 #define CONFIGURATION "$_configuration"
7998 /* make sure we never get lavformat's poll() emulation, the results are
7999 horrible if the X libs try to actually use it, see MPlayer-users
8000 Message-ID: <45D49541.8060101@infernix.net>
8001 Date: Thu, 15 Feb 2007 18:15:45 +0100
8002 Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
8004 #define HAVE_SYS_POLL_H 1
8006 /* yes, we have inttypes.h */
8007 #define HAVE_INTTYPES_H 1
8009 /* int_fastXY_t emulation */
8010 $_def_fast_inttypes
8012 /* libdvdcss */
8013 #define HAVE_ERRNO_H 1
8015 /* libdvdcss + libdvdread */
8016 #define HAVE_LIMITS_H 1
8018 /* libdvdcss + libfaad2 */
8019 #define HAVE_UNISTD_H 1
8021 /* libfaad2 + libdvdread */
8022 #define STDC_HEADERS 1
8024 /* libfaad2 */
8025 #define HAVE_MEMCPY 1
8026 #define HAVE_STRCHR 1
8028 /* libdvdread */
8029 #define HAVE_UINTPTR_T 1
8031 /* name of messages charset */
8032 $_def_charset
8034 /* Runtime CPU detection */
8035 $_def_runtime_cpudetection
8037 /* Dynamic a/v plugins */
8038 $_def_dynamic_plugins
8040 /* "restrict" keyword */
8041 $_def_restrict_keyword
8043 /* __builtin_expect branch prediction hint */
8044 $_def_builtin_expect
8045 #ifdef HAVE_BUILTIN_EXPECT
8046 #define likely(x) __builtin_expect ((x) != 0, 1)
8047 #define unlikely(x) __builtin_expect ((x) != 0, 0)
8048 #else
8049 #define likely(x) (x)
8050 #define unlikely(x) (x)
8051 #endif
8053 /* attribute(used) as needed by some compilers */
8054 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
8055 # define attribute_used __attribute__((used))
8056 #else
8057 # define attribute_used
8058 #endif
8060 /* extern symbol prefix */
8061 $_def_extern_prefix
8063 /* compiler support for named assembler arguments */
8064 $_def_named_asm_args
8066 /* enable/disable SIGHANDLER */
8067 $_def_sighandler
8069 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
8070 $_def_crash_debug
8072 /* Toggles debugging informations */
8073 $_def_debug
8075 /* Indicates that libcdio is available for VCD and CD-DA playback */
8076 $_def_libcdio
8078 /* Indicates that Ogle's libdvdread is available for DVD playback */
8079 $_def_dvdread
8081 /* Indicates that dvdread is internal */
8082 $_def_dvdread_internal
8084 /* Additional options for libdvdread/libdvdcss */
8085 $_def_dvd
8086 $_def_cdrom
8087 $_def_cdio
8088 $_def_dvdio
8089 $_def_bsdi_dvd
8090 $_def_dvd_bsd
8091 $_def_dvd_linux
8092 $_dev_dvd_openbsd
8093 $_def_dvd_darwin
8094 $_def_sol_scsi_h
8095 $_def_hpux_scsi_h
8097 /* Common data directory (for fonts, etc) */
8098 #define MPLAYER_DATADIR "$_datadir"
8099 #define MPLAYER_CONFDIR "$_confdir"
8100 #define MPLAYER_LIBDIR "$_libdir"
8102 /* Define this to compile stream-caching support, it can be enabled via
8103 -cache <kilobytes> */
8104 $_def_stream_cache
8106 /* Define if you are using Xvid library */
8107 $_def_xvid
8109 /* Define if you are using the X.264 library */
8110 $_def_x264
8112 /* Define if you are using libnut */
8113 $_def_libnut
8115 /* Define to include support for libdv-0.9.5 */
8116 $_def_libdv
8118 /* Indicates if libmp3lame is available
8119 Note: for mencoder */
8120 $_def_mp3lame
8121 $_def_mp3lame_preset
8122 $_def_mp3lame_preset_medium
8124 /* Undefine this if you do not want to select mono audio (left or right)
8125 with a stereo MPEG layer 2/3 audio stream. The command line option
8126 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8127 right-only), with 0 being the default.
8129 #define CONFIG_FAKE_MONO 1
8131 /* Undefine this if your sound card driver has no working select().
8132 If you have kernel Oops, player hangups, or just no audio, you should
8133 try to recompile MPlayer with this option disabled! */
8134 $_def_select
8136 /* define this to use iconv(3) function to codepage conversions */
8137 $_def_iconv
8139 /* define this to use nl_langinfo function */
8140 $_def_langinfo
8142 /* define this to use RTC (/dev/rtc) for video timers */
8143 $_def_rtc
8145 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8146 #define MAX_OUTBURST 65536
8148 /* set up audio OUTBURST. Do not change this! */
8149 #define OUTBURST 512
8151 /* Define this if your system has the header file for the OSS sound interface */
8152 $_def_sys_soundcard
8154 /* Define this if your system has the header file for the OSS sound interface
8155 * in /usr/include */
8156 $_def_soundcard
8158 /* Define this if your system has the sysinfo header */
8159 $_def_sys_sysinfo
8161 /* Define this if your system has the "malloc.h" header file */
8162 $_def_malloc
8164 /* memalign is mapped to malloc if unsupported */
8165 $_def_memalign
8166 $_def_map_memalign
8167 $_def_memalign_hack
8169 /* assembler handling of .align */
8170 $_def_asmalign_pot
8172 /* Define this if your system has the "alloca.h" header file */
8173 $_def_alloca
8175 /* Define this if your system has the "byteswap.h" header file */
8176 $_def_byteswap_h
8178 /* Define this if your system has the "sys/mman.h" header file */
8179 $_def_mman
8180 $_def_mman_has_map_failed
8182 /* Define this if you have the elf dynamic linker -ldl library */
8183 $_def_dl
8185 /* Define this if you have the kstat kernel statistics library */
8186 $_def_kstat
8188 /* Define this if you have zlib */
8189 $_def_zlib
8191 /* Define this if you have shm support */
8192 $_def_shm
8194 /* Define this if your system has strsep */
8195 $_def_strsep
8197 /* Define this if your system has vsscanf */
8198 $_def_vsscanf
8200 /* Define this if your system has swab */
8201 $_def_swab
8203 /* Define this if your system has posix select */
8204 $_def_posix_select
8206 /* Define this if your system has gettimeofday */
8207 $_def_gettimeofday
8209 /* Define this if your system has glob */
8210 $_def_glob
8212 /* Define this if your system has setenv */
8213 $_def_setenv
8214 #ifndef HAVE_SETENV
8215 int setenv(const char *name, const char *val, int overwrite);
8216 #endif
8218 /* Define this if your system has sysi86 */
8219 $_def_sysi86
8220 $_def_sysi86_iv
8222 /* Define this if your system has pthreads */
8223 $_def_pthreads
8225 /* LIRC (remote control, see www.lirc.org) support: */
8226 $_def_lirc
8228 /* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */
8229 $_def_apple_remote
8231 /* Apple IR Remote (Linux remote control driver) */
8232 $_def_apple_ir
8234 /* Support for maemo (http://www.maemo.org) */
8235 $_def_maemo
8238 * LIRCCD (LIRC client daemon)
8239 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
8241 $_def_lircc
8243 /* DVD navigation support using libdvdnav */
8244 $_def_dvdnav
8246 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
8247 #define MPEG12_POSTPROC 1
8249 /* maximum alignment used by libmpeg2 */
8250 #define ATTRIBUTE_ALIGNED_MAX 16
8252 /* Win32 DLL support */
8253 $_def_win32dll
8254 #define WIN32_PATH "$_win32codecsdir"
8256 /* Mac OS X specific features */
8257 $_def_macosx_finder
8258 $_def_macosx_bundle
8259 $_def_coreaudio
8260 $_def_corevideo
8261 $_def_quartz
8262 $_def_quicktime
8264 /* Build our Win32-loader */
8265 $_def_win32_loader
8267 /* FFmpeg */
8268 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
8269 $_def_libpostproc
8270 $_def_libpostproc_a
8271 $_def_libpostproc_so
8273 /* Define this if you enabled thread support for libavcodec */
8274 $_def_threads
8275 #ifdef HAVE_THREADS
8276 #define ENABLE_THREADS 1
8277 #else
8278 #define ENABLE_THREADS 0
8279 #endif
8281 /* ffmpeg's libavcodec support (requires libavcodec source) */
8282 $_def_libavcodec
8283 $_def_libavcodec_a
8284 $_def_libavcodec_so
8285 $_def_libavcodec_mpegaudio_hp
8287 /* ffmpeg's libavformat support (requires libavformat source) */
8288 $_def_libavformat
8289 $_def_libavformat_a
8290 $_def_libavformat_so
8292 $_def_libavutil
8293 $_def_libavutil_a
8294 $_def_libavutil_so
8296 /* Use libavcodec's decoders */
8297 #define CONFIG_DECODERS 1
8298 #define ENABLE_DECODERS 1
8299 /* Use libavcodec's encoders */
8300 #define CONFIG_ENCODERS 1
8301 #define ENABLE_ENCODERS 1
8303 /* Use libavformat's demuxers */
8304 #define CONFIG_DEMUXERS 1
8305 #define ENABLE_DEMUXERS 1
8306 /* Use libavformat's muxers */
8307 $_def_muxers
8309 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8310 #define HAVE_EBX_AVAILABLE 1
8311 #ifndef MP_DEBUG
8312 #define HAVE_EBP_AVAILABLE 1
8313 #endif
8315 #define CONFIG_GPL 1
8316 #define ENABLE_SMALL 0
8317 #define ENABLE_GRAY 0
8319 /* Use AMR codecs from libavcodec. */
8320 $_def_libamr
8321 $_def_libamr_nb
8322 $_def_libamr_wb
8324 /* Use specific parts from FFmpeg. */
8325 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
8326 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
8327 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
8328 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
8329 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
8330 `ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
8331 `ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
8333 $_def_libdirac_lavc
8334 $_def_faac_lavc
8335 $_def_mp3lame_lavc
8336 $_def_libschroedinger_lavc
8337 $_def_x264_lavc
8338 $_def_xvid_lavc
8340 /* Use codec libs included in mplayer CVS / source dist: */
8341 $_def_mp3lib
8342 $_def_liba52
8343 $_def_libmpeg2
8345 /* XAnim DLL support */
8346 $_def_xanim
8347 /* Default search path */
8348 $_def_xanim_path
8350 /* RealPlayer DLL support */
8351 $_def_real
8352 /* Default search path */
8353 $_def_real_path
8355 /* LIVE555 Streaming Media library support */
8356 $_def_live
8358 /* libnemesi Streaming Media library support */
8359 $_def_nemesi
8361 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8362 $_def_fastmemcpy
8364 /* Use UnRAR executable for Vobsubs */
8365 $_def_unrar_exec
8367 /* gui support, please do not edit this option */
8368 $_def_gui
8369 $_def_gtk2
8371 /* Audio output drivers */
8372 $_def_ossaudio
8373 $_def_ossaudio_devdsp
8374 $_def_ossaudio_devmixer
8375 $_def_alsa
8376 $_def_alsa5
8377 $_def_alsa9
8378 $_def_alsa1x
8379 $_def_arts
8380 $_def_esd
8381 $_def_esd_latency
8382 $_def_pulse
8383 $_def_jack
8384 $_def_openal
8385 $_def_openal_h
8386 $_def_sys_asoundlib_h
8387 $_def_alsa_asoundlib_h
8388 $_def_sunaudio
8389 $_def_sgiaudio
8390 $_def_win32waveout
8391 $_def_nas
8393 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8394 #undef FAST_OSD
8395 #undef FAST_OSD_TABLE
8397 /* Enable TV Interface support */
8398 $_def_tv
8400 /* Enable Video 4 Linux TV interface support */
8401 $_def_tv_v4l
8403 /* Enable Video 4 Linux 1 TV interface support */
8404 $_def_tv_v4l1
8406 /* Enable Video 4 Linux 2 TV interface support */
8407 $_def_tv_v4l2
8409 /* Enable DirectShow TV interface support */
8410 $_def_tv_dshow
8412 /* *BSD BrookTree headers */
8413 $_def_ioctl_meteor_h_name
8414 $_def_ioctl_bt848_h_name
8416 /* Enable *BSD BrookTree TV interface support */
8417 $_def_tv_bsdbt848
8419 /* Enable TV Teletext Interface support */
8420 $_def_tv_teletext
8422 /* Enable Radio Interface support */
8423 $_def_radio
8425 /* Enable Capture for Radio Interface support */
8426 $_def_radio_capture
8428 /* Enable Video 4 Linux Radio interface support */
8429 $_def_radio_v4l
8431 /* Enable Video 4 Linux 2 Radio interface support */
8432 $_def_radio_v4l2
8434 /* Enable *BSD BrookTree Radio interface support */
8435 $_def_radio_bsdbt848
8437 /* Enable Video 4 Linux 2 MPEG PVR support */
8438 $_def_pvr
8440 /* Define if your processor stores words with the most significant
8441 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8442 $_def_words_endian
8444 /* Define if your processor can access unaligned data in a fast way */
8445 $_def_fast_unaligned
8447 `ff_config_enable "$_arch_all" "$_arch" "ARCH"`
8449 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8450 have the instruction. */
8451 $_def_dcbzl
8453 /* Define this for Cygwin build for win32 */
8454 $_def_confwin32
8456 /* Define this to any prefered value from 386 up to infinity with step 100 */
8457 #define __CPU__ $iproc
8459 $_mp_wordsize
8461 $_def_vcd
8463 #ifdef sun
8464 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8465 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8466 #elif defined(WIN32) || defined(__OS2__)
8467 #define DEFAULT_CDROM_DEVICE "D:"
8468 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8469 #elif defined(__APPLE__) || defined(__DARWIN__)
8470 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8471 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8472 #elif defined(__OpenBSD__)
8473 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8474 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8475 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8476 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8477 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8478 #elif defined(__DragonFly__)
8479 #define DEFAULT_CDROM_DEVICE "/dev/cd0"
8480 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8481 #elif defined(__AMIGAOS4__)
8482 #define DEFAULT_CDROM_DEVICE "a1ide.device:2"
8483 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8484 #else
8485 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8486 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8487 #endif
8490 /*----------------------------------------------------------------------------
8492 ** NOTE: Instead of modifying these definitions here, use the
8493 ** --enable/--disable options of the ./configure script!
8494 ** See ./configure --help for details.
8496 *---------------------------------------------------------------------------*/
8498 /* C99 *lrint* and round* functions available */
8499 $_def_llrint
8500 $_def_lrint
8501 $_def_lrintf
8502 $_def_round
8503 $_def_roundf
8505 /* mkstemp support */
8506 $_def_mkstemp
8508 /* nanosleep support */
8509 $_def_nanosleep
8511 /* SMB support */
8512 $_def_smb
8514 /* termcap flag for getch2.c */
8515 $_def_termcap
8517 /* termios flag for getch2.c */
8518 $_def_termios
8519 $_def_termios_h
8520 $_def_termios_sys_h
8522 /* enable PNG support */
8523 $_def_png
8525 /* enable JPEG support */
8526 $_def_jpeg
8528 /* enable PNM support */
8529 $_def_pnm
8531 /* enable md5sum support */
8532 $_def_md5sum
8534 /* enable yuv4mpeg support */
8535 $_def_yuv4mpeg
8537 /* enable GIF support */
8538 $_def_gif
8539 $_def_gif_4
8540 $_def_gif_tvt_hack
8542 /* enable bitmap font support */
8543 $_def_bitmap_font
8545 /* enable FreeType support */
8546 $_def_freetype
8548 /* enable Fontconfig support */
8549 $_def_fontconfig
8551 /* enable SSA/ASS support */
8552 $_def_ass
8554 /* enable FriBiDi usage */
8555 $_def_fribidi
8557 /* enable ENCA usage */
8558 $_def_enca
8560 /* liblzo support */
8561 $_def_liblzo
8563 /* libmad support */
8564 $_def_mad
8566 /* enable OggVorbis support */
8567 $_def_vorbis
8568 $_def_tremor
8570 /* enable Speex support */
8571 $_def_speex
8573 /* enable musepack support */
8574 $_def_musepack
8576 /* enable OggTheora support */
8577 $_def_theora
8579 /* enable FAAD (AAC) support */
8580 $_def_faad
8581 $_def_faad_internal
8583 /* enable FAAC (AAC encoder) support */
8584 $_def_faac
8586 /* enable libdca support */
8587 $_def_libdca
8589 /* enable LADSPA plugin support */
8590 $_def_ladspa
8592 /* enable network */
8593 $_def_network
8595 /* enable ftp support */
8596 $_def_ftp
8598 /* enable vstream support */
8599 $_def_vstream
8601 /* enable winsock2 instead of Unix functions*/
8602 $_def_winsock2
8604 /* define this to use inet_aton() instead of inet_pton() */
8605 $_def_use_aton
8607 /* socklen_t support */
8608 $_def_socklen_t
8609 #ifndef HAVE_SOCKLEN_T
8610 #define HAVE_SOCKLEN_T 1
8611 typedef int socklen_t;
8612 #endif
8614 /* enables / disables cdparanoia support */
8615 $_def_cdparanoia
8616 $_def_cddb
8618 /* enables / disables VIDIX usage */
8619 $_def_vidix
8620 $_def_vidix_drv_cyberblade
8621 $_def_vidix_drv_ivtv
8622 $_def_vidix_drv_mach64
8623 $_def_vidix_drv_mga
8624 $_def_vidix_drv_mga_crtc2
8625 $_def_vidix_drv_nvidia
8626 $_def_vidix_drv_pm3
8627 $_def_vidix_drv_radeon
8628 $_def_vidix_drv_rage128
8629 $_def_vidix_drv_s3
8630 $_def_vidix_drv_sh_veu
8631 $_def_vidix_drv_sis
8632 $_def_vidix_drv_unichrome
8633 $_def_vidix_pfx
8635 /* enables / disables new input joystick support */
8636 $_def_joystick
8638 /* enables / disables QTX codecs */
8639 $_def_qtx
8640 $_def_qtx_win32
8642 /* enables / disables osd menu */
8643 $_def_menu
8645 /* enables / disables subtitles sorting */
8646 $_def_sortsub
8648 /* XMMS input plugin support */
8649 $_def_xmms
8650 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8652 /* enables inet6 support */
8653 $_def_inet6
8655 /* do we have gethostbyname2? */
8656 $_def_gethostbyname2
8658 /* Extension defines */
8659 `ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
8661 $_def_altivec_h // enables usage of altivec.h
8663 /* libvo options */
8664 #define SCREEN_SIZE_X 1
8665 #define SCREEN_SIZE_Y 1
8666 $_def_x11
8667 $_def_xv
8668 $_def_xvmc
8669 $_def_vm
8670 $_def_xf86keysym
8671 $_def_xinerama
8672 $_def_gl
8673 $_def_gl_win32
8674 $_def_dga
8675 $_def_dga1
8676 $_def_dga2
8677 $_def_sdl
8678 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8679 $_def_sdlbuggy
8680 $_def_directx
8681 $_def_ggi
8682 $_def_ggiwmh
8683 $_def_3dfx
8684 $_def_s3fb
8685 $_def_wii
8686 $_def_tdfxfb
8687 $_def_tdfxvid
8688 $_def_xvr100
8689 $_def_directfb
8690 $_def_directfb_version
8691 $_def_dfbmga
8692 $_def_zr
8693 $_def_bl
8694 $_def_mga
8695 $_def_xmga
8696 $_def_fbdev
8697 $_def_dxr2
8698 $_def_dxr3
8699 $_def_ivtv
8700 $_def_v4l2
8701 $_def_dvb
8702 $_def_dvb_head
8703 $_def_dvbin
8704 $_def_svga
8705 $_def_vesa
8706 $_def_xss
8707 $_def_xdpms
8708 $_def_aa
8709 $_def_caca
8710 $_def_tga
8711 $_def_toolame
8712 $_def_twolame
8714 /* used by GUI: */
8715 $_def_xshape
8717 #if defined(CONFIG_GL) || defined(CONFIG_X11) || defined(CONFIG_XV)
8718 #define X11_FULLSCREEN 1
8719 #endif
8721 #endif /* MPLAYER_CONFIG_H */
8724 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8725 cmp -s "$TMPH" config.h || mv -f "$TMPH" config.h
8727 cp -p config.h ffmpeg/config.h
8728 sed -e 's/OPTFLAGS/MPLAYER_OPTFLAGS/' -e 's/FFMPEG_OFLAGS/OPTFLAGS/' config.mak >ffmpeg/config.mak
8730 #############################################################################
8732 cat << EOF
8734 Config files successfully generated by ./configure $_configuration !
8736 Install prefix: $_prefix
8737 Data directory: $_datadir
8738 Config direct.: $_confdir
8740 Byte order: $_byte_order
8741 Optimizing for: $_optimizing
8743 Languages:
8744 Messages/GUI: $msg_lang
8745 Manual pages: $man_langs
8747 Enabled optional drivers:
8748 Input: $_inputmodules
8749 Codecs: $_codecmodules
8750 Audio output: $_aomodules
8751 Video output: $_vomodules
8753 Disabled optional drivers:
8754 Input: $_noinputmodules
8755 Codecs: $_nocodecmodules
8756 Audio output: $_noaomodules
8757 Video output: $_novomodules
8759 'config.h' and 'config.mak' contain your configuration options.
8760 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8761 compile *** DO NOT REPORT BUGS if you tweak these files ***
8763 'make' will now compile MPlayer and 'make install' will install it.
8764 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8769 if test "$_mtrr" = yes ; then
8770 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
8771 echo
8774 if ! x86_32; then
8775 cat <<EOF
8776 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8777 operating system ($system_name). You may encounter a few files that cannot
8778 be played due to missing open source video/audio codec support.
8784 cat <<EOF
8785 Check $TMPLOG if you wonder why an autodetection failed (make sure
8786 development headers/packages are installed).
8788 NOTE: The --enable-* parameters unconditionally force options on, completely
8789 skipping autodetection. This behavior is unlike what you may be used to from
8790 autoconf-based configure scripts that can decide to override you. This greater
8791 level of control comes at a price. You may have to provide the correct compiler
8792 and linker flags yourself.
8793 If you used one of these options (except --enable-gui and similar ones that
8794 turn on internal features) and experience a compilation or linking failure,
8795 make sure you have passed the necessary compiler/linker flags to configure.
8797 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
8801 if test "$_warn_CFLAGS" = yes; then
8802 cat <<EOF
8804 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8806 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8808 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8809 To do so, execute 'CFLAGS= ./configure <options>'
8814 # Last move:
8815 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"