When changing playback speed write the current speed to OSD only after
[mplayer.git] / configure
blobc50f45c810cbf66eb37c6faf0c22a4f14898896d
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 HAVE_FEATURE 1'
34 # else
35 # _def_feature='#undef HAVE_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 # Prefer these macros to full length text !
57 # These macros only return an error code - NO display is done
58 compile_check() {
59 echo >> "$TMPLOG"
60 cat "$1" >> "$TMPLOG"
61 echo >> "$TMPLOG"
62 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o $TMPO $@" >> "$TMPLOG"
63 rm -f "$TMPO"
64 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
65 TMP="$?"
66 echo >> "$TMPLOG"
67 echo "ldd $TMPO" >> "$TMPLOG"
68 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
69 echo >> "$TMPLOG"
70 return "$TMP"
73 cc_check() {
74 compile_check $TMPC $@
77 cxx_check() {
78 compile_check $TMPCPP $@ -lstdc++
81 tmp_run() {
82 "$TMPO" >> "$TMPLOG" 2>&1
85 # Display error message, flushes tempfile, exit
86 die () {
87 echo
88 echo "Error: $@" >&2
89 echo >&2
90 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
91 echo "Check \"$TMPLOG\" if you do not understand why it failed."
92 exit 1
95 # OS test booleans functions
96 issystem() {
97 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
99 linux() { issystem "Linux" ; return "$?" ; }
100 sunos() { issystem "SunOS" ; return "$?" ; }
101 hpux() { issystem "HP-UX" ; return "$?" ; }
102 irix() { issystem "IRIX" ; return "$?" ; }
103 aix() { issystem "AIX" ; return "$?" ; }
104 cygwin() { issystem "CYGWIN" ; return "$?" ; }
105 freebsd() { issystem "FreeBSD" ; return "$?" ; }
106 netbsd() { issystem "NetBSD" ; return "$?" ; }
107 bsdos() { issystem "BSD/OS" ; return "$?" ; }
108 openbsd() { issystem "OpenBSD" ; return "$?" ; }
109 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
110 qnx() { issystem "QNX" ; return "$?" ; }
111 darwin() { issystem "Darwin" ; return "$?" ; }
112 gnu() { issystem "GNU" ; return "$?" ; }
113 mingw32() { issystem "MINGW32" ; return "$?" ; }
114 morphos() { issystem "MorphOS" ; return "$?" ; }
115 win32() { cygwin || mingw32 ; return "$?" ; }
116 beos() { issystem "BEOS" ; return "$?" ; }
118 # arch test boolean functions
119 # x86/x86pc is used by QNX
120 x86() {
121 case "$host_arch" in
122 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
123 *) return 1 ;;
124 esac
127 x86_64() {
128 case "$host_arch" in
129 x86_64|amd64) return 0 ;;
130 *) return 1 ;;
131 esac
134 ppc() {
135 case "$host_arch" in
136 ppc) return 0;;
137 *) return 1;;
138 esac
141 alpha() {
142 case "$host_arch" in
143 alpha) return 0;;
144 *) return 1;;
145 esac
148 arm() {
149 case "$host_arch" in
150 arm) return 0;;
151 *) return 1;;
152 esac
155 # not boolean test: implement the posix shell "!" operator for a
156 # non-posix /bin/sh.
157 # usage: not {command}
158 # returns exit status "success" when the execution of "command"
159 # fails.
160 not() {
161 eval "$@"
162 test $? -ne 0
165 # Use this before starting a check
166 echocheck() {
167 echo "============ Checking for $@ ============" >> "$TMPLOG"
168 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
171 # Use this to echo the results of a check
172 echores() {
173 if test "$_res_comment" ; then
174 _res_comment="($_res_comment)"
176 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
177 echo "##########################################" >> "$TMPLOG"
178 echo "" >> "$TMPLOG"
179 echo "$@ $_res_comment"
180 _res_comment=""
182 #############################################################################
184 # Check how echo works in this /bin/sh
185 case `echo -n` in
186 -n) _echo_n= _echo_c='\c' ;; # SysV echo
187 *) _echo_n='-n ' _echo_c= ;; # BSD echo
188 esac
190 LANGUAGES=`echo help/help_mp-??.h help/help_mp-??_??.h | sed "s:help/help_mp-\(..\).h:\1:g" | sed "s:help/help_mp-\(.....\).h:\1:g"`
192 show_help(){
193 cat << EOF
194 Usage: $0 [OPTIONS]...
196 Configuration:
197 -h, --help display this help and exit
199 Installation directories:
200 --prefix=DIR prefix directory for installation [/usr/local]
201 --bindir=DIR directory for installing binaries [PREFIX/bin]
202 --datadir=DIR directory for installing machine independent
203 data files (skins, etc) [PREFIX/share/mplayer]
204 --mandir=DIR directory for installing man pages [PREFIX/man]
205 --confdir=DIR directory for installing configuration files
206 [PREFIX/etc/mplayer]
207 --libdir=DIR directory for object code libraries [PREFIX/lib]
208 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
209 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
210 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
211 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
213 Optional features:
214 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
215 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
216 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
217 --enable-largefiles enable support for files > 2GB [disable]
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 --disable-vm disable X video mode extensions [autodetect]
227 --disable-xf86keysym disable support for multimedia keys [autodetect]
228 --enable-radio enable radio interface [disable]
229 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
230 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
231 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
232 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
233 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
234 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
235 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
236 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
237 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
238 --disable-network disable networking [enable]
239 --enable-winsock2 enable winsock2 [autodetect]
240 --enable-smb enable Samba (SMB) input [autodetect]
241 --enable-live enable LIVE555 Streaming Media [autodetect]
242 --disable-dvdnav disable libdvdnav [autodetect]
243 --disable-dvdread disable libdvdread [autodetect]
244 --disable-dvdread-internal disable internal libdvdread [autodetect]
245 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
246 --disable-cdparanoia disable cdparanoia [autodetect]
247 --disable-bitmap-font disable bitmap font support [enable]
248 --disable-freetype disable FreeType 2 font rendering [autodetect]
249 --disable-fontconfig disable fontconfig font lookup [autodetect]
250 --disable-unrarlib disable Unique RAR File Library [enabled]
251 --enable-menu enable OSD menu (not DVD menu) [disabled]
252 --disable-sortsub disable subtitle sorting [enabled]
253 --enable-fribidi enable the FriBiDi libs [autodetect]
254 --disable-enca disable ENCA charset oracle library [autodetect]
255 --disable-macosx disable Mac OS X specific features [autodetect]
256 --disable-maemo disable maemo specific features [autodetect]
257 --enable-macosx-finder-support enable Mac OS X Finder invocation
258 parameter parsing [disabled]
259 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
260 --disable-inet6 disable IPv6 support [autodetect]
261 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
262 --disable-ftp disable FTP support [enabled]
263 --disable-vstream disable TiVo vstream client support [autodetect]
264 --disable-pthreads disable Posix threads support [autodetect]
265 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
266 --enable-rpath enable runtime linker path for extra libs [disabled]
268 Codecs:
269 --enable-gif enable GIF support [autodetect]
270 --enable-png enable PNG input/output support [autodetect]
271 --enable-jpeg enable JPEG input/output support [autodetect]
272 --enable-libcdio enable external libcdio [autodetect]
273 --enable-liblzo enable external liblzo [autodetect]
274 --disable-win32 disable Win32 DLL support [enabled]
275 --disable-qtx disable QuickTime codecs support [enabled]
276 --disable-xanim disable XAnim codecs support [enabled]
277 --disable-real disable RealPlayer codecs support [enabled]
278 --disable-xvid disable XviD [autodetect]
279 --disable-x264 disable x264 [autodetect]
280 --disable-nut disable libnut [autodetect]
281 --disable-libavutil disable libavutil [autodetect]
282 --disable-libavcodec disable libavcodec [autodetect]
283 --disable-libavformat disable libavformat [autodetect]
284 --disable-libpostproc disable libpostproc [autodetect]
285 --disable-libavutil_so disable shared libavutil [autodetect]
286 --disable-libavcodec_so disable shared libavcodec [autodetect]
287 --disable-libavformat_so disable shared libavformat [autodetect]
288 --disable-libpostproc_so disable shared libpostproc [autodetect]
289 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
290 in libavcodec [enabled]
291 --disable-tremor-internal disable internal Tremor [enabled]
292 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
293 --enable-tremor-external enable external Tremor [autodetect]
294 --disable-libvorbis disable libvorbis support [autodetect]
295 --disable-speex disable Speex support [autodetect]
296 --enable-theora enable OggTheora libraries [autodetect]
297 --enable-faad-external enable external FAAD2 (AAC) [autodetect]
298 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
299 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
300 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
301 --disable-ladspa disable LADSPA plugin support [autodetect]
302 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
303 --disable-mad disable libmad (MPEG audio) support [autodetect]
304 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
305 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
306 --enable-xmms enable XMMS input plugin support [disabled]
307 --enable-libdts enable libdts support [autodetect]
308 --disable-mp3lib disable builtin mp3lib [enabled]
309 --disable-liba52 disable builtin liba52 [enabled]
310 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
311 --disable-musepack disable musepack support [autodetect]
312 --disable-amr_nb disable AMR narrowband, floating-point [autodetect]
313 --disable-amr_nb-fixed disable AMR narrowband, fixed-point [autodetect]
314 --disable-amr_wb disable AMR wideband, floating-point [autodetect]
315 --disable-decoder=DECODER disable specified FFmpeg decoder
316 --enable-decoder=DECODER enable specified FFmpeg decoder
317 --disable-encoder=ENCODER disable specified FFmpeg encoder
318 --enable-encoder=ENCODER enable specified FFmpeg encoder
319 --disable-parser=PARSER disable specified FFmpeg parser
320 --enable-parser=PARSER enable specified FFmpeg parser
321 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
322 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
323 --disable-muxer=MUXER disable specified FFmpeg muxer
324 --enable-muxer=MUXER enable specified FFmpeg muxer
326 Video output:
327 --disable-vidix-internal disable internal VIDIX [for x86 *nix]
328 --disable-vidix-external disable external VIDIX [for x86 *nix]
329 --enable-gl enable OpenGL video output [autodetect]
330 --enable-dga[=n] enable DGA [n in {1, 2} ] support [autodetect]
331 --enable-vesa enable VESA video output [autodetect]
332 --enable-svga enable SVGAlib video output [autodetect]
333 --enable-sdl enable SDL video output [autodetect]
334 --enable-aa enable AAlib video output [autodetect]
335 --enable-caca enable CACA video output [autodetect]
336 --enable-ggi enable GGI video output [autodetect]
337 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
338 --enable-directx enable DirectX video output [autodetect]
339 --enable-dxr2 enable DXR2 video output [autodetect]
340 --enable-dxr3 enable DXR3/H+ video output [autodetect]
341 --enable-ivtv enable IVTV TV-Out video output [autodetect]
342 --enable-dvb enable DVB video output [autodetect]
343 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
344 --enable-mga enable mga_vid video output [autodetect]
345 --enable-xmga enable mga_vid X11 video output [autodetect]
346 --enable-xv enable Xv video output [autodetect]
347 --enable-xvmc enable XvMC acceleration [disable]
348 --enable-vm enable XF86VidMode support [autodetect]
349 --enable-xinerama enable Xinerama support [autodetect]
350 --enable-x11 enable X11 video output [autodetect]
351 --enable-xshape enable XShape support [autodetect]
352 --enable-fbdev enable FBDev video output [autodetect]
353 --enable-mlib enable mediaLib video output (Solaris) [disable]
354 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
355 --enable-tdfxfb enable tdfxfb video output [disable]
356 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
357 --enable-directfb enable DirectFB video output [autodetect]
358 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
359 --enable-bl enable Blinkenlights video output [disable]
360 --enable-tdfxvid enable tdfx_vid video output [disable]
361 --disable-tga disable Targa video output [enable]
362 --disable-pnm disable PNM video output [enable]
363 --disable-md5sum disable md5sum video output [enable]
365 Audio output:
366 --disable-alsa disable ALSA audio output [autodetect]
367 --disable-ossaudio disable OSS audio output [autodetect]
368 --disable-arts disable aRts audio output [autodetect]
369 --disable-esd disable esd audio output [autodetect]
370 --disable-polyp disable Polypaudio audio output [autodetect]
371 --disable-jack disable JACK audio output [autodetect]
372 --disable-openal disable OpenAL audio output [autodetect]
373 --disable-nas disable NAS audio output [autodetect]
374 --disable-sgiaudio disable SGI audio output [autodetect]
375 --disable-sunaudio disable Sun audio output [autodetect]
376 --disable-win32waveout disable Windows waveout audio output [autodetect]
377 --disable-select disable using select() on the audio device [enable]
379 Miscellaneous options:
380 --enable-runtime-cpudetection enable runtime CPU detection [disable]
381 --enable-cross-compile enable cross-compilation [autodetect]
382 --cc=COMPILER C compiler to build MPlayer [gcc]
383 --host-cc=COMPILER C compiler for tools needed while building [gcc]
384 --as=ASSEMBLER assembler to build MPlayer [as]
385 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
386 --enable-static build a statically linked binary
387 --charset=charset convert the console messages to this character set
388 --language=list a white space or comma separated list of languages for
389 translated man pages, the first language is used for
390 messages and the GUI (the environment variable
391 \$LINGUAS is also honored) [en]
392 (Available: $LANGUAGES all)
393 --with-install=PATH path to a custom install program
394 --enable-color-console enable color console output [disable]
396 Advanced options:
397 --enable-mmx enable MMX [autodetect]
398 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
399 --enable-3dnow enable 3DNow! [autodetect]
400 --enable-3dnowext enable extended 3DNow! [autodetect]
401 --enable-sse enable SSE [autodetect]
402 --enable-sse2 enable SSE2 [autodetect]
403 --enable-shm enable shm [autodetect]
404 --enable-altivec enable AltiVec (PowerPC) [autodetect]
405 --enable-armv5te enable DSP extensions (ARM) [autodetect]
406 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
407 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
408 --enable-big-endian force byte order to big-endian [autodetect]
409 --enable-debug[=1-3] compile-in debugging information [disable]
410 --enable-profile compile-in profiling information [disable]
411 --disable-sighandler disable sighandler for crashes [enable]
412 --enable-crash-debug enable automatic gdb attach on crash [disable]
413 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
415 Hazardous options AKA "DO NOT REPORT ANY BUGS!"
416 --disable-gcc-check disable gcc version checking [enable]
418 Use these options if autodetection fails (Options marked with (*) accept
419 multiple paths separated by ':'):
420 --extra-libs=FLAGS extra linker flags
421 --with-extraincdir=DIR extra header search paths in DIR (*)
422 --with-extralibdir=DIR extra linker search paths in DIR (*)
423 --with-x11libdir=DIR X library files in DIR (*)
424 --with-mliblibdir=DIR libmlib (mediaLib) in DIR (Solaris only)
425 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
426 --with-x264libdir=DIR libx264 in DIR
427 --with-libdtslibdir=DIR libdts in DIR (*)
428 --with-livelibdir=DIR LIVE555 Streaming Media in DIR
429 --with-toolamelibdir=DIR Toolame in DIR
430 --with-xmmsplugindir=DIR XMMS plugins in DIR
431 --with-xmmslibdir=DIR libxmms.so.1 in DIR
432 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
433 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
435 --with-freetype-config=PATH path to freetype-config
436 --with-fribidi-config=PATH path to fribidi-config
437 --with-glib-config=PATH path to glib*-config
438 --with-gtk-config=PATH path to gtk*-config
439 --with-sdl-config=PATH path to sdl*-config
440 --with-dvdnav-config=PATH path to dvdnav-config
442 This configure script is NOT autoconf-based, even though its output is similar.
443 It will try to autodetect all configuration options. If you --enable an option
444 it will be forcefully turned on, skipping autodetection. This can break
445 compilation, so you need to know what you are doing.
447 exit 0
448 } #show_help()
450 for parm in "$@" ; do
451 case $parm in
452 --help|-help|-h)
453 show_help
454 esac
455 done
457 # 1st pass checking for vital options
458 _mmx=auto
459 _3dnow=auto
460 _3dnowext=auto
461 _mmxext=auto
462 _sse=auto
463 _sse2=auto
464 _cmov=auto
465 _armv5te=auto
466 _iwmmxt=auto
467 _mtrr=auto
468 _install=install
469 _ranlib=ranlib
470 _cc=cc
471 test "$CC" && _cc="$CC"
472 _gcc_check=yes
473 _as=auto
474 _runtime_cpudetection=no
475 _cross_compile=auto
476 for ac_option do
477 case "$ac_option" in
478 --target=*)
479 _target=`echo $ac_option | cut -d '=' -f 2`
481 --cc=*)
482 _cc=`echo $ac_option | cut -d '=' -f 2`
484 --host-cc=*)
485 _host_cc=`echo $ac_option | cut -d '=' -f 2`
487 --as=*)
488 _as=`echo $ac_option | cut -d '=' -f 2`
490 --enable-gcc-check)
491 _gcc_check=yes
493 --disable-gcc-check)
494 _gcc_check=no
496 --enable-static)
497 _ld_static='-static'
499 --disable-static)
500 _ld_static=''
502 --with-extraincdir=*)
503 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
505 --with-extralibdir=*)
506 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
508 --extra-libs=*)
509 _extra_libs=`echo $ac_option | cut -d '=' -f 2`
511 --enable-runtime-cpudetection)
512 _runtime_cpudetection=yes
514 --disable-runtime-cpudetection)
515 _runtime_cpudetection=no
517 --enable-cross-compile)
518 _cross_compile=yes
520 --disable-cross-compile)
521 _cross_compile=no
523 --with-install=*)
524 _install=`echo $ac_option | cut -d '=' -f 2 `
526 --enable-profile)
527 _profile='-p'
529 --disable-profile)
530 _profile=
532 --enable-debug)
533 _debug='-g'
535 --enable-debug=*)
536 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
538 --disable-debug)
539 _debug=
541 esac
542 done
544 # Determine our OS name and CPU architecture
545 if test -z "$_target" ; then
546 # OS name
547 system_name=`uname -s 2>&1`
548 case "$system_name" in
549 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX)
551 IRIX*)
552 system_name=IRIX
554 HP-UX*)
555 system_name=HP-UX
557 [cC][yY][gG][wW][iI][nN]*)
558 system_name=CYGWIN
560 MINGW32*)
561 system_name=MINGW32
564 system_name="$system_name-UNKNOWN"
566 esac
569 # host's CPU/instruction set
570 host_arch=`uname -p 2>&1`
571 case "$host_arch" in
572 i386|sparc|ppc|alpha|arm|mips|vax)
574 powerpc) # Darwin returns 'powerpc'
575 host_arch=ppc
577 *) # uname -p on Linux returns 'unknown' for the processor type,
578 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
580 # Maybe uname -m (machine hardware name) returns something we
581 # recognize.
583 # x86/x86pc is used by QNX
584 case "`uname -m 2>&1`" in
585 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 ;;
586 ia64) host_arch=ia64 ;;
587 x86_64|amd64)
588 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
589 -z "`echo $CFLAGS | grep -- -m32`" ]; then
590 host_arch=x86_64
591 else
592 host_arch=i386
595 macppc|ppc|ppc64) host_arch=ppc ;;
596 alpha) host_arch=alpha ;;
597 sparc) host_arch=sparc ;;
598 sparc64) host_arch=sparc64 ;;
599 parisc*|hppa*|9000*) host_arch=hppa ;;
600 arm*|zaurus|cats) host_arch=arm ;;
601 s390) host_arch=s390 ;;
602 s390x) host_arch=s390x ;;
603 mips*) host_arch=mips ;;
604 vax) host_arch=vax ;;
605 *) host_arch=UNKNOWN ;;
606 esac
608 esac
609 else # if test -z "$_target"
610 system_name=`echo $_target | cut -d '-' -f 2`
611 case "`echo $system_name | tr A-Z a-z`" in
612 linux) system_name=Linux ;;
613 freebsd) system_name=FreeBSD ;;
614 netbsd) system_name=NetBSD ;;
615 bsd/os) system_name=BSD/OS ;;
616 openbsd) system_name=OpenBSD ;;
617 sunos) system_name=SunOS ;;
618 qnx) system_name=QNX ;;
619 morphos) system_name=MorphOS ;;
620 mingw32msvc) system_name=MINGW32 ;;
621 esac
622 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
623 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
626 echo "Detected operating system: $system_name"
627 echo "Detected host architecture: $host_arch"
629 # LGB: temporary files
630 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
631 test "$I" && break
632 done
634 TMPLOG="configure.log"
635 rm -f "$TMPLOG"
636 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
637 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
638 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
639 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
641 # config files
643 # FIXME: A lot of stuff is installed under /usr/local
644 # NK: But we should never use this stuff implicitly since we call compiler
645 # from /usr we should be sure that there no effects from other compilers
646 # (libraries) which might be installed into /usr/local. Let users use this
647 # stuff explicitly as command line argument. In other words: It would be
648 # resonable to have only /usr/include or only /usr/local/include.
650 if freebsd ; then
651 _ld_extra="$_ld_extra -L/usr/local/lib"
652 _inc_extra="$_inc_extra -I/usr/local/include"
655 _ldd=ldd
656 if darwin; then
657 _ldd="otool -L"
660 if aix ; then
661 _ld_libC="-lC"
662 else
663 _ld_libC=""
666 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
667 # if used as 'head -1' instead of 'head -n 1', but older versions don't
668 # know about '-n'.
669 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
670 _head() { head -$1 2>/dev/null ; }
671 else
672 _head() { head -n $1 2>/dev/null ; }
674 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
675 _tail() { tail -$1 2>/dev/null ; }
676 else
677 _tail() { tail -n $1 2>/dev/null ; }
680 # Checking CC version...
681 if test "$_gcc_check" = yes ; then
682 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
683 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
684 echocheck "$_cc version"
685 cc_vendor=intel
686 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
687 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
688 _cc_major=`echo $cc_version | cut -d '.' -f 1`
689 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
690 # TODO verify older icc/ecc compatibility
691 case $cc_version in
693 cc_version="v. ?.??, bad"
694 cc_verc_fail=yes
696 8.0)
697 cc_version="$cc_version, ok"
698 cc_verc_fail=no
701 cc_version="$cc_version, bad"
702 cc_verc_fail=yes
704 esac
705 echores "$cc_version"
706 else
707 for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
708 echocheck "$_cc version"
709 cc_vendor=gnu
710 cc_name=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
711 cc_version=`$_cc -dumpversion 2>&1`
712 if test "$?" -gt 0; then
713 cc_version="not found"
715 case $cc_version in
717 cc_version="v. ?.??, bad"
718 cc_verc_fail=yes
720 2.95.[2-9]|2.95.[2-9][-.]*|[3-4].*)
721 _cc_major=`echo $cc_version | cut -d '.' -f 1`
722 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
723 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
724 cc_version="$cc_version, ok"
725 cc_verc_fail=no
727 'not found')
728 cc_verc_fail=yes
731 cc_version="$cc_version, bad"
732 cc_verc_fail=yes
734 esac
735 echores "$cc_version"
736 test "$cc_verc_fail" = "no" && break
737 done
738 fi # icc
739 if test "$cc_verc_fail" = yes ; then
740 cat <<EOF
742 *** Please downgrade/upgrade C compiler to version gcc-2.95, 3.x or 4.x! ***
744 You are not using a supported compiler. We do not have the time to make sure
745 everything works with compilers other than the ones we use. Use either the
746 same compiler as we do, or use --disable-gcc-check but DO *NOT* REPORT BUGS
747 unless you can reproduce them after recompiling with a 2.95.x or 3/4.x version!
749 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
750 mplayer and lame (which is used for mencoder). If you get compile errors,
751 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
752 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
753 bugs!
755 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
757 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
760 die "Bad gcc version"
762 else
763 cat <<EOF
765 ******************************************************************************
767 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
768 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
770 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
771 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
772 Lame which is used by mencoder produces weird errors, too.
774 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
775 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
777 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
779 ******************************************************************************
783 read _answer
786 echocheck "host cc"
787 test "$_host_cc" || _host_cc=$_cc
788 echores $_host_cc
790 echocheck "cross compilation"
791 if test $_cross_compile = auto ; then
792 cat > $TMPC << EOF
793 int main() { return 0; }
795 _cross_compile=yes
796 cc_check && "$TMPO" && _cross_compile=no
798 echores $_cross_compile
800 if test $_cross_compile = yes; then
801 tmp_run() {
802 return 0
806 # ---
808 # now that we know what compiler should be used for compilation, try to find
809 # out which assembler is used by the $_cc compiler
810 if test "$_as" = auto ; then
811 _as=`$_cc -print-prog-name=as`
812 test -z "$_as" && _as=as
815 # XXX: this should be ok..
816 _cpuinfo="echo"
817 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
818 # FIXME: Remove the cygwin check once AMD CPUs are supported
819 if test -r /proc/cpuinfo && not cygwin; then
820 # Linux with /proc mounted, extract CPU information from it
821 _cpuinfo="cat /proc/cpuinfo"
822 elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
823 # FreeBSD with Linux emulation /proc mounted,
824 # extract CPU information from it
825 _cpuinfo="cat /compat/linux/proc/cpuinfo"
826 elif darwin && not x86 ; then
827 # use hostinfo on Darwin
828 _cpuinfo="hostinfo"
829 elif aix; then
830 # use 'lsattr' on AIX
831 _cpuinfo="lsattr -E -l proc0 -a type"
832 elif x86 || x86_64; then
833 # all other OSes try to extract CPU information from a small helper
834 # program TOOLS/cpuinfo instead
835 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
836 _cpuinfo="TOOLS/cpuinfo"
839 if x86 || x86_64 ; then
840 # gather more CPU information
841 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
842 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
843 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
844 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
845 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
847 exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
849 pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
850 -e s/xmm/sse/ -e s/kni/sse/`
852 for ext in $pparam ; do
853 eval _$ext=auto && eval _$ext=yes
854 done
856 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
857 test $_sse = yes && _mmxext=yes
859 echocheck "CPU vendor"
860 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
862 echocheck "CPU type"
863 echores "$pname"
866 case "$host_arch" in
867 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
868 _def_arch_x86="#define ARCH_X86 1"
869 _target_arch_x86="TARGET_ARCH_X86 = yes"
870 _def_arch="#define ARCH_X86_32 1"
871 _target_arch="TARGET_ARCH_X86_32 = yes"
874 case "$pvendor" in
875 AuthenticAMD)
876 case "$pfamily" in
877 3) proc=i386 iproc=386 ;;
878 4) proc=i486 iproc=486 ;;
879 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
880 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
881 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
882 proc=k6-3
883 elif test "$pmodel" -ge 8; then
884 proc=k6-2
885 elif test "$pmodel" -ge 6; then
886 proc=k6
887 else
888 proc=i586
891 6) iproc=686
892 # It's a bit difficult to determine the correct type of Family 6
893 # AMD CPUs just from their signature. Instead, we check directly
894 # whether it supports SSE.
895 if test "$_sse" = yes; then
896 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
897 proc=athlon-xp
898 else
899 # Again, gcc treats athlon and athlon-tbird similarly.
900 proc=athlon
903 15) iproc=686
904 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
905 # caught and remedied in the optimization tests below.
906 proc=k8
909 *) proc=k8 iproc=686 ;;
910 esac
912 GenuineIntel)
913 case "$pfamily" in
914 3) proc=i386 iproc=386 ;;
915 4) proc=i486 iproc=486 ;;
916 5) iproc=586
917 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
918 proc=pentium-mmx # 4 is desktop, 8 is mobile
919 else
920 proc=i586
923 6) iproc=686
924 if test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
925 proc=pentium-m
926 elif test "$pmodel" -ge 7; then
927 proc=pentium3
928 elif test "$pmodel" -ge 3; then
929 proc=pentium2
930 else
931 proc=i686
934 15) iproc=686
935 # A nocona in 32-bit mode has no more capabilities than a prescott.
936 if test "$pmodel" -ge 3; then
937 proc=prescott
938 else
939 proc=pentium4
942 *) proc=prescott iproc=686 ;;
943 esac
945 CentaurHauls)
946 case "$pfamily" in
947 5) iproc=586
948 if test "$pmodel" -ge 8; then
949 proc=winchip2
950 elif test "$pmodel" -ge 4; then
951 proc=winchip-c6
952 else
953 proc=i586
956 6) iproc=686
957 if test "$pmodel" -ge 9; then
958 proc=c3-2
959 else
960 proc=c3
961 iproc=586
964 *) proc=i686 iproc=i686 ;;
965 esac
967 unknown)
968 case "$pfamily" in
969 3) proc=i386 iproc=386 ;;
970 4) proc=i486 iproc=486 ;;
971 *) proc=i586 iproc=586 ;;
972 esac
975 proc=i586 iproc=586 ;;
976 esac
978 # check that gcc supports our CPU, if not, fall back to earlier ones
979 # LGB: check -mcpu and -march swithing step by step with enabling
980 # to fall back till 386.
982 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
984 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
985 cpuopt=-mtune
986 else
987 cpuopt=-mcpu
990 echocheck "GCC & CPU optimization abilities"
991 cat > $TMPC << EOF
992 int main(void) { return 0; }
994 if test "$_runtime_cpudetection" = no ; then
995 if test "$proc" = "k8"; then
996 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
998 if test "$proc" = "athlon-xp"; then
999 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1001 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1002 cc_check -march=$proc $cpuopt=$proc || proc=k6
1004 if test "$proc" = "k6" || test "$proc" = "c3"; then
1005 if not cc_check -march=$proc $cpuopt=$proc; then
1006 if cc_check -march=i586 $cpuopt=i686; then
1007 proc=i586-i686
1008 else
1009 proc=i586
1013 if test "$proc" = "prescott" ; then
1014 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1016 if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2"; then
1017 cc_check -march=$proc $cpuopt=$proc || proc=i686
1019 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1020 cc_check -march=$proc $cpuopt=$proc || proc=i586
1022 if test "$proc" = "i586"; then
1023 cc_check -march=$proc $cpuopt=$proc || proc=i486
1025 if test "$proc" = "i486" ; then
1026 cc_check -march=$proc $cpuopt=$proc || proc=i386
1028 if test "$proc" = "i386" ; then
1029 cc_check -march=$proc $cpuopt=$proc || proc=error
1031 if test "$proc" = "error" ; then
1032 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1033 _mcpu=""
1034 _march=""
1035 _optimizing=""
1036 elif test "$proc" = "i586-i686"; then
1037 _march="-march=i586"
1038 _mcpu="$cpuopt=i686"
1039 _optimizing="$proc"
1040 else
1041 _march="-march=$proc"
1042 _mcpu="$cpuopt=$proc"
1043 _optimizing="$proc"
1045 else # if test "$_runtime_cpudetection" = no
1046 # i686 is probably the most common CPU - optimize for it
1047 _mcpu="$cpuopt=i686"
1048 # at least i486 required, for bswap instruction
1049 _march="-march=i486"
1050 cc_check $_mcpu || _mcpu=""
1051 cc_check $_march $_mcpu || _march=""
1054 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1055 ## autodetected mcpu/march parameters
1056 if test "$_target" ; then
1057 # TODO: it may be a good idea to check GCC and fall back in all cases
1058 if test "$host_arch" = "i586-i686"; then
1059 _march="-march=i586"
1060 _mcpu="$cpuopt=i686"
1061 else
1062 _march="-march=$host_arch"
1063 _mcpu="$cpuopt=$host_arch"
1066 proc="$host_arch"
1068 case "$proc" in
1069 i386) iproc=386 ;;
1070 i486) iproc=486 ;;
1071 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1072 i686|athlon*|pentium*) iproc=686 ;;
1073 *) iproc=586 ;;
1074 esac
1077 echores "$proc"
1080 ia64)
1081 _def_arch='#define ARCH_IA64 1'
1082 _target_arch='TARGET_ARCH_IA64 = yes'
1083 iproc='ia64'
1084 proc=''
1085 _march=''
1086 _mcpu=''
1087 _optimizing=''
1090 x86_64|amd64)
1091 _def_arch='#define ARCH_X86_64 1'
1092 _target_arch='TARGET_ARCH_X86_64 = yes'
1093 _def_arch_x86="#define ARCH_X86 1"
1094 _target_arch_x86="TARGET_ARCH_X86 = yes"
1095 iproc='x86_64'
1097 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1098 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1099 cpuopt=-mtune
1100 else
1101 cpuopt=-mcpu
1103 case "$pvendor" in
1104 AuthenticAMD)
1105 proc=k8;;
1106 GenuineIntel)
1107 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1108 # same capabilities as a nocona.
1109 proc=nocona;;
1111 proc=error;;
1112 esac
1114 echocheck "GCC & CPU optimization abilities"
1115 cat > $TMPC << EOF
1116 int main(void) { return 0; }
1118 # This is a stripped-down version of the i386 fallback.
1119 if test "$_runtime_cpudetection" = no ; then
1120 # --- AMD processors ---
1121 if test "$proc" = "k8"; then
1122 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1124 # This will fail if gcc version < 3.3, which is ok because earlier
1125 # versions don't really support 64-bit on amd64.
1126 # Is this a valid assumption? -Corey
1127 if test "$proc" = "athlon-xp"; then
1128 cc_check -march=$proc $cpuopt=$proc || proc=error
1130 # --- Intel processors ---
1131 if test "$proc" = "nocona"; then
1132 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1134 if test "$proc" = "pentium4"; then
1135 cc_check -march=$proc $cpuopt=$proc || proc=error
1138 _march="-march=$proc"
1139 _mcpu="$cpuopt=$proc"
1140 if test "$proc" = "error" ; then
1141 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1142 _mcpu=""
1143 _march=""
1145 else # if test "$_runtime_cpudetection" = no
1146 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1147 _march="-march=x86-64"
1148 _mcpu="$cpuopt=x86-64"
1149 cc_check $_mcpu || _mcpu=""
1150 cc_check $_march $_mcpu || _march=""
1153 _optimizing=""
1155 echores "$proc"
1158 sparc)
1159 _def_arch='#define ARCH_SPARC 1'
1160 _target_arch='TARGET_ARCH_SPARC = yes'
1161 iproc='sparc'
1162 if sunos ; then
1163 echocheck "CPU type"
1164 karch=`uname -m`
1165 case "`echo $karch`" in
1166 sun4) proc=v7 ;;
1167 sun4c) proc=v7 ;;
1168 sun4d) proc=v8 ;;
1169 sun4m) proc=v8 ;;
1170 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1171 sun4v) proc=v9 ;;
1172 *) proc=v8 ;;
1173 esac
1174 echores "$proc"
1175 else
1176 proc=v8
1178 _march=''
1179 _mcpu="-mcpu=$proc"
1180 _optimizing="$proc"
1183 sparc64)
1184 _def_arch='#define ARCH_SPARC 1'
1185 _target_arch='TARGET_ARCH_SPARC = yes'
1186 _vis='yes'
1187 _def_vis='#define HAVE_VIS = yes'
1188 iproc='sparc'
1189 proc='v9'
1190 _march=''
1191 _mcpu="-mcpu=$proc"
1192 _optimizing="$proc"
1195 arm|armv4l|armv5tel)
1196 _def_arch='#define ARCH_ARMV4L 1'
1197 _target_arch='TARGET_ARCH_ARMV4L = yes'
1198 iproc='arm'
1199 proc=''
1200 _march=''
1201 _mcpu=''
1202 _optimizing=''
1205 ppc)
1206 _def_arch='#define ARCH_POWERPC 1'
1207 _def_dcbzl='#define NO_DCBZL 1'
1208 _target_arch='TARGET_ARCH_POWERPC = yes'
1209 iproc='ppc'
1210 proc=''
1211 _march=''
1212 _mcpu=''
1213 _optimizing=''
1214 _altivec=no
1216 echocheck "CPU type"
1217 case $system_name in
1218 Linux)
1219 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1220 if test -n "`$_cpuinfo | grep altivec`"; then
1221 _altivec=yes
1224 Darwin)
1225 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1226 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1227 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
1228 _altivec=yes
1231 NetBSD)
1232 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1233 case $cc_version in
1234 2*|3.0*|3.1*|3.2*|3.3*)
1237 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1238 _altivec=yes
1241 esac
1243 AIX)
1244 proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
1246 esac
1247 if test "$_altivec" = yes; then
1248 echores "$proc altivec"
1249 else
1250 echores "$proc"
1253 echocheck "GCC & CPU optimization abilities"
1255 if test -n "$proc"; then
1256 case "$proc" in
1257 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1258 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1259 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1260 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1261 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1262 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1263 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
1264 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
1265 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
1266 *) ;;
1267 esac
1268 # gcc 3.1(.1) and up supports 7400 and 7450
1269 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
1270 case "$proc" in
1271 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1272 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1273 *) ;;
1274 esac
1276 # gcc 3.2 and up supports 970
1277 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1278 case "$proc" in
1279 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
1280 _def_dcbzl='#undef NO_DCBZL' ;;
1281 *) ;;
1282 esac
1284 # gcc 3.3 and up supports POWER4
1285 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1286 case "$proc" in
1287 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
1288 *) ;;
1289 esac
1291 # gcc 4.0 and up supports POWER5
1292 if test "$_cc_major" -ge "4"; then
1293 case "$proc" in
1294 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
1295 *) ;;
1296 esac
1300 if test -n "$_mcpu"; then
1301 _optimizing=`echo $_mcpu | cut -c 8-`
1302 echores "$_optimizing"
1303 else
1304 echores "none"
1309 alpha)
1310 _def_arch='#define ARCH_ALPHA 1'
1311 _target_arch='TARGET_ARCH_ALPHA = yes'
1312 iproc='alpha'
1313 _march=''
1315 echocheck "CPU type"
1316 cat > $TMPC << EOF
1317 int main() {
1318 unsigned long ver, mask;
1319 asm ("implver %0" : "=r" (ver));
1320 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1321 printf("%ld-%x\n", ver, ~mask);
1322 return 0;
1325 $_cc -o "$TMPO" "$TMPC"
1326 case `"$TMPO"` in
1328 0-0) proc="ev4"; cpu_understands_mvi="0";;
1329 1-0) proc="ev5"; cpu_understands_mvi="0";;
1330 1-1) proc="ev56"; cpu_understands_mvi="0";;
1331 1-101) proc="pca56"; cpu_understands_mvi="1";;
1332 2-303) proc="ev6"; cpu_understands_mvi="1";;
1333 2-307) proc="ev67"; cpu_understands_mvi="1";;
1334 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1335 esac
1336 echores "$proc"
1338 echocheck "GCC & CPU optimization abilities"
1339 if test "$proc" = "ev68" ; then
1340 cc_check -mcpu=$proc || proc=ev67
1342 if test "$proc" = "ev67" ; then
1343 cc_check -mcpu=$proc || proc=ev6
1345 _mcpu="-mcpu=$proc"
1346 echores "$proc"
1348 _optimizing="$proc"
1350 echocheck "MVI instruction support in GCC"
1351 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1352 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
1353 echores "yes"
1354 else
1355 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
1356 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1360 mips)
1361 _def_arch='#define ARCH_SGI_MIPS 1'
1362 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1363 iproc='sgi-mips'
1364 proc=''
1365 _march=''
1366 _mcpu=''
1367 _optimizing=''
1369 if irix ; then
1370 echocheck "CPU type"
1371 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
1372 case "`echo $proc`" in
1373 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
1374 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
1375 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
1376 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
1377 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
1378 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
1379 esac
1380 # gcc < 3.x does not support -mtune.
1381 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
1382 _mcpu=''
1384 echores "$proc"
1389 hppa)
1390 _def_arch='#define ARCH_PA_RISC 1'
1391 _target_arch='TARGET_ARCH_PA_RISC = yes'
1392 iproc='PA-RISC'
1393 proc=''
1394 _march=''
1395 _mcpu=''
1396 _optimizing=''
1399 s390)
1400 _def_arch='#define ARCH_S390 1'
1401 _target_arch='TARGET_ARCH_S390 = yes'
1402 iproc='390'
1403 proc=''
1404 _march=''
1405 _mcpu=''
1406 _optimizing=''
1409 s390x)
1410 _def_arch='#define ARCH_S390X 1'
1411 _target_arch='TARGET_ARCH_S390X = yes'
1412 iproc='390x'
1413 proc=''
1414 _march=''
1415 _mcpu=''
1416 _optimizing=''
1419 vax)
1420 _def_arch='#define ARCH_VAX 1'
1421 _target_arch='TARGET_ARCH_VAX = yes'
1422 iproc='vax'
1423 proc=''
1424 _march=''
1425 _mcpu=''
1426 _optimizing=''
1430 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1431 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1432 die "unsupported architecture $host_arch"
1434 esac # case "$host_arch" in
1436 if test "$_runtime_cpudetection" = yes ; then
1437 if x86; then
1438 _cmov=no
1439 _mmx=yes
1440 _3dnow=yes
1441 _3dnowext=yes
1442 _mmxext=yes
1443 _sse=yes
1444 _sse2=yes
1445 _mtrr=yes
1447 if ppc; then
1448 _altivec=yes
1452 if x86 && test "$_runtime_cpudetection" = no ; then
1453 extcheck() {
1454 if test "$1" = yes ; then
1455 echocheck "kernel support of $2"
1456 cat > $TMPC <<EOF
1457 #include <signal.h>
1458 void catch() { exit(1); }
1459 int main(void){
1460 signal(SIGILL, catch);
1461 __asm__ __volatile__ ("$3":::"memory");return(0);
1465 if cc_check && tmp_run ; then
1466 echores "yes"
1467 _optimizing="$_optimizing $2"
1468 return 0
1469 else
1470 echores "failed"
1471 echo "It seems that your kernel does not correctly support $2."
1472 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1473 return 1
1476 return 0
1479 extcheck $_mmx "mmx" "emms" || _mmx=no
1480 extcheck $_mmxext "mmxext" "sfence" || _mmxext=no
1481 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1482 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0" || _3dnowext=no
1483 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1484 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1485 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx" || _cmov=no
1486 echocheck "mtrr support"
1487 echores "$_mtrr"
1489 if test "$_mtrr" = yes ; then
1490 _optimizing="$_optimizing mtrr"
1493 if test "$_gcc3_ext" != ""; then
1494 # if we had to disable sse/sse2 because the active kernel does not
1495 # support this instruction set extension, we also have to tell
1496 # gcc3 to not generate sse/sse2 instructions for normal C code
1497 cat > $TMPC << EOF
1498 int main(void) { return 0; }
1500 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1506 echocheck "assembler support of -pipe option"
1507 cat > $TMPC << EOF
1508 int main(void) { return 0; }
1510 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1513 echocheck "compiler support of named assembler arguments"
1514 _named_asm_args=yes
1515 _def_named_asm_args="#define NAMED_ASM_ARGS 1"
1516 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
1517 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
1518 _named_asm_args=no
1519 _def_named_asm_args="#undef NAMED_ASM_ARGS"
1521 echores $_named_asm_args
1524 # Checking for CFLAGS
1525 _stripbinaries=yes
1526 if test "$_profile" != "" || test "$_debug" != "" ; then
1527 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
1528 if test "$_cc_major" -ge "3" ; then
1529 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
1531 _stripbinaries=no
1532 elif test -z "$CFLAGS" ; then
1533 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
1534 else
1535 _warn_CFLAGS=yes
1537 if test -n "$LDFLAGS" ; then
1538 _ld_extra="$_ld_extra $LDFLAGS"
1539 _warn_CFLAGS=yes
1541 if test -n "$CPPFLAGS" ; then
1542 _inc_extra="$_inc_extra $CPPFLAGS"
1543 _warn_CFLAGS=yes
1546 _prefix="/usr/local"
1548 # GOTCHA: the variables below defines the default behavior for autodetection
1549 # and have - unless stated otherwise - at least 2 states : yes no
1550 # If autodetection is available then the third state is: auto
1551 _libavutil=auto
1552 _libavutil_so=auto
1553 _libavcodec=auto
1554 _amr_nb=auto
1555 _amr_nb_fixed=auto
1556 _amr_wb=auto
1557 _libavdecoders=`grep 'register_avcodec(&[a-z0-9_]*_decoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1558 _libavencoders=`grep 'register_avcodec(&[a-z0-9_]*_encoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1559 _libavparsers=`grep 'av_register_codec_parser(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1560 _libavdemuxers=`grep 'av_register_input_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1561 _libavmuxers=`grep 'av_register_output_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1562 _libavcodec_so=auto
1563 _libavformat=auto
1564 _libavformat_so=auto
1565 _libpostproc=auto
1566 _libpostproc_so=auto
1567 _libavcodec_mpegaudio_hp=yes
1568 _mencoder=yes
1569 _x11=auto
1570 _xshape=auto
1571 _dga=auto # 1 2 no auto
1572 _xv=auto
1573 _xvmc=no #auto when complete
1574 _sdl=auto
1575 _directx=auto
1576 _win32waveout=auto
1577 _nas=auto
1578 _png=auto
1579 _jpeg=auto
1580 _pnm=yes
1581 _md5sum=yes
1582 _gif=auto
1583 _gl=auto
1584 _ggi=auto
1585 _ggiwmh=auto
1586 _aa=auto
1587 _caca=auto
1588 _svga=auto
1589 _vesa=auto
1590 _fbdev=auto
1591 _dvb=auto
1592 _dvbhead=auto
1593 _dxr2=auto
1594 _dxr3=auto
1595 _ivtv=auto
1596 _iconv=auto
1597 _langinfo=auto
1598 _rtc=auto
1599 _ossaudio=auto
1600 _arts=auto
1601 _esd=auto
1602 _polyp=auto
1603 _jack=auto
1604 _openal=auto
1605 _libcdio=auto
1606 _liblzo=auto
1607 _mad=auto
1608 _toolame=auto
1609 _twolame=auto
1610 _tremor_internal=yes
1611 _tremor_low=no
1612 _tremor_external=auto
1613 _libvorbis=auto
1614 _speex=auto
1615 _theora=auto
1616 _mp3lib=yes
1617 _liba52=yes
1618 _libdts=auto
1619 _libmpeg2=yes
1620 _faad_internal=auto
1621 _faad_external=auto
1622 _faad_fixed=no
1623 _faac=auto
1624 _ladspa=auto
1625 _xmms=no
1626 _dvdnav=auto
1627 _dvdnavconfig=dvdnav-config
1628 _dvdread=auto
1629 _dvdread_internal=auto
1630 _libdvdcss_internal=auto
1631 _xanim=auto
1632 _real=auto
1633 _live=auto
1634 _xinerama=auto
1635 _mga=auto
1636 _xmga=auto
1637 _vm=auto
1638 _xf86keysym=auto
1639 _mlib=no #broken, thus disabled
1640 _sgiaudio=auto
1641 _sunaudio=auto
1642 _alsa=auto
1643 _fastmemcpy=yes
1644 _unrarlib=yes
1645 _win32=auto
1646 _select=yes
1647 _radio=no
1648 _radio_capture=no
1649 _radio_v4l=auto
1650 _radio_v4l2=auto
1651 _radio_bsdbt848=auto
1652 _tv=yes
1653 _tv_v4l1=auto
1654 _tv_v4l2=auto
1655 _tv_bsdbt848=auto
1656 _pvr=auto
1657 _network=yes
1658 _winsock2=auto
1659 _smbsupport=auto
1660 _vidix_internal=auto
1661 _vidix_external=auto
1662 _joystick=no
1663 _xvid=auto
1664 _x264=auto
1665 _nut=auto
1666 _lirc=auto
1667 _lircc=auto
1668 _gui=no
1669 _gtk1=no
1670 _termcap=auto
1671 _termios=auto
1672 _3dfx=no
1673 _s3fb=no
1674 _tdfxfb=no
1675 _tdfxvid=no
1676 _tga=yes
1677 _directfb=auto
1678 _zr=auto
1679 _bl=no
1680 _largefiles=no
1681 #_language=en
1682 _shm=auto
1683 _linux_devfs=no
1684 _charset="UTF-8"
1685 _dynamic_plugins=no
1686 _crash_debug=no
1687 _sighandler=yes
1688 _libdv=auto
1689 _cdparanoia=auto
1690 _big_endian=auto
1691 _bitmap_font=yes
1692 _freetype=auto
1693 _fontconfig=auto
1694 _menu=no
1695 _qtx=auto
1696 _macosx=auto
1697 _maemo=auto
1698 _macosx_finder_support=no
1699 _macosx_bundle=auto
1700 _sortsub=yes
1701 _freetypeconfig='freetype-config'
1702 _fribidi=auto
1703 _fribidiconfig='fribidi-config'
1704 _enca=auto
1705 _inet6=auto
1706 _gethostbyname2=auto
1707 _ftp=yes
1708 _musepack=auto
1709 _vstream=auto
1710 _pthreads=auto
1711 _ass=auto
1712 _rpath=no
1713 _asmalign_pot=auto
1714 _color_console=no
1715 for ac_option do
1716 case "$ac_option" in
1717 # Skip 1st pass
1718 --target=*) ;;
1719 --cc=*) ;;
1720 --host-cc=*) ;;
1721 --as=*) ;;
1722 --enable-gcc-check) ;;
1723 --disable-gcc-check) ;;
1724 --enable-static*) ;;
1725 --disable-static*) ;;
1726 --with-extraincdir=*) ;;
1727 --with-extralibdir=*) ;;
1728 --extra-libs=*) ;;
1729 --enable-runtime-cpudetection) ;;
1730 --disable-runtime-cpudetection) ;;
1731 --enable-cross-compile) ;;
1732 --disable-cross-compile) ;;
1733 --with-install=*) ;;
1734 --enable-profile) ;;
1735 --disable-profile) ;;
1736 --enable-debug) ;;
1737 --enable-debug=*) ;;
1738 --disable-debug) ;;
1740 # Real 2nd pass
1741 --enable-mencoder) _mencoder=yes ;;
1742 --disable-mencoder) _mencoder=no ;;
1743 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1744 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1745 --enable-x11) _x11=yes ;;
1746 --disable-x11) _x11=no ;;
1747 --enable-xshape) _xshape=yes ;;
1748 --disable-xshape) _xshape=no ;;
1749 --enable-xv) _xv=yes ;;
1750 --disable-xv) _xv=no ;;
1751 --enable-xvmc) _xvmc=yes ;;
1752 --disable-xvmc) _xvmc=no ;;
1753 --enable-sdl) _sdl=yes ;;
1754 --disable-sdl) _sdl=no ;;
1755 --enable-directx) _directx=yes ;;
1756 --disable-directx) _directx=no ;;
1757 --enable-win32waveout) _win32waveout=yes ;;
1758 --disable-win32waveout) _win32waveout=no ;;
1759 --enable-nas) _nas=yes ;;
1760 --disable-nas) _nas=no ;;
1761 --enable-png) _png=yes ;;
1762 --disable-png) _png=no ;;
1763 --enable-jpeg) _jpeg=yes ;;
1764 --disable-jpeg) _jpeg=no ;;
1765 --enable-pnm) _pnm=yes ;;
1766 --disable-pnm) _pnm=no ;;
1767 --enable-md5sum) _md5sum=yes ;;
1768 --disable-md5sum) _md5sum=no ;;
1769 --enable-gif) _gif=yes ;;
1770 --disable-gif) _gif=no ;;
1771 --enable-gl) _gl=yes ;;
1772 --disable-gl) _gl=no ;;
1773 --enable-ggi) _ggi=yes ;;
1774 --disable-ggi) _ggi=no ;;
1775 --enable-ggiwmh) _ggiwmh=yes ;;
1776 --disable-ggiwmh) _ggiwmh=no ;;
1777 --enable-aa) _aa=yes ;;
1778 --disable-aa) _aa=no ;;
1779 --enable-caca) _caca=yes ;;
1780 --disable-caca) _caca=no ;;
1781 --enable-svga) _svga=yes ;;
1782 --disable-svga) _svga=no ;;
1783 --enable-vesa) _vesa=yes ;;
1784 --disable-vesa) _vesa=no ;;
1785 --enable-fbdev) _fbdev=yes ;;
1786 --disable-fbdev) _fbdev=no ;;
1787 --enable-dvb) _dvb=yes ;;
1788 --disable-dvb) _dvb=no ;;
1789 --enable-dvbhead) _dvbhead=yes ;;
1790 --disable-dvbhead) _dvbhead=no ;;
1791 --enable-dxr2) _dxr2=yes ;;
1792 --disable-dxr2) _dxr2=no ;;
1793 --enable-dxr3) _dxr3=yes ;;
1794 --disable-dxr3) _dxr3=no ;;
1795 --enable-ivtv) _ivtv=yes ;;
1796 --disable-ivtv) _ivtv=no ;;
1797 --enable-iconv) _iconv=yes ;;
1798 --disable-iconv) _iconv=no ;;
1799 --enable-langinfo) _langinfo=yes ;;
1800 --disable-langinfo) _langinfo=no ;;
1801 --enable-rtc) _rtc=yes ;;
1802 --disable-rtc) _rtc=no ;;
1803 --enable-libdv) _libdv=yes ;;
1804 --disable-libdv) _libdv=no ;;
1805 --enable-ossaudio) _ossaudio=yes ;;
1806 --disable-ossaudio) _ossaudio=no ;;
1807 --enable-arts) _arts=yes ;;
1808 --disable-arts) _arts=no ;;
1809 --enable-esd) _esd=yes ;;
1810 --disable-esd) _esd=no ;;
1811 --enable-polyp) _polyp=yes ;;
1812 --disable-polyp) _polyp=no ;;
1813 --enable-jack) _jack=yes ;;
1814 --disable-jack) _jack=no ;;
1815 --enable-openal) _openal=yes ;;
1816 --disable-openal) _openal=no ;;
1817 --enable-mad) _mad=yes ;;
1818 --disable-mad) _mad=no ;;
1819 --enable-toolame) _toolame=yes ;;
1820 --disable-toolame) _toolame=no ;;
1821 --enable-twolame) _twolame=yes ;;
1822 --disable-twolame) _twolame=no ;;
1823 --enable-libcdio) _libcdio=yes ;;
1824 --disable-libcdio) _libcdio=no ;;
1825 --enable-liblzo) _liblzo=yes ;;
1826 --disable-liblzo) _liblzo=no ;;
1827 --enable-libvorbis) _libvorbis=yes ;;
1828 --disable-libvorbis) _libvorbis=no ;;
1829 --enable-speex) _speex=yes ;;
1830 --disable-speex) _speex=no ;;
1831 --enable-tremor-internal) _tremor_internal=yes ;;
1832 --disable-tremor-internal) _tremor_internal=no ;;
1833 --enable-tremor-low) _tremor_low=yes ;;
1834 --disable-tremor-low) _tremor_low=no ;;
1835 --enable-tremor-external) _tremor_external=yes ;;
1836 --disable-tremor-external) _tremor_external=no ;;
1837 --enable-theora) _theora=yes ;;
1838 --disable-theora) _theora=no ;;
1839 --enable-mp3lib) _mp3lib=yes ;;
1840 --disable-mp3lib) _mp3lib=no ;;
1841 --enable-liba52) _liba52=yes ;;
1842 --disable-liba52) _liba52=no ;;
1843 --enable-libdts) _libdts=yes ;;
1844 --disable-libdts) _libdts=no ;;
1845 --enable-libmpeg2) _libmpeg2=yes ;;
1846 --disable-libmpeg2) _libmpeg2=no ;;
1847 --enable-musepack) _musepack=yes ;;
1848 --disable-musepack) _musepack=no ;;
1849 --enable-faad-internal) _faad_internal=yes ;;
1850 --disable-faad-internal) _faad_internal=no ;;
1851 --enable-faad-external) _faad_external=yes ;;
1852 --disable-faad-external) _faad_external=no ;;
1853 --enable-faad-fixed) _faad_fixed=yes ;;
1854 --disable-faad-fixed) _faad_fixed=no ;;
1855 --enable-faac) _faac=yes ;;
1856 --disable-faac) _faac=no ;;
1857 --enable-ladspa) _ladspa=yes ;;
1858 --disable-ladspa) _ladspa=no ;;
1859 --enable-xmms) _xmms=yes ;;
1860 --disable-xmms) _xmms=no ;;
1861 --enable-dvdread) _dvdread=yes ;;
1862 --disable-dvdread) _dvdread=no ;;
1863 --enable-dvdread-internal) _dvdread_internal=yes ;;
1864 --disable-dvdread-internal) _dvdread_internal=no ;;
1865 --enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
1866 --disable-libdvdcss-internal) _libdvdcss_internal=no ;;
1867 --enable-dvdnav) _dvdnav=yes ;;
1868 --disable-dvdnav) _dvdnav=no ;;
1869 --enable-xanim) _xanim=yes ;;
1870 --disable-xanim) _xanim=no ;;
1871 --enable-real) _real=yes ;;
1872 --disable-real) _real=no ;;
1873 --enable-live) _live=yes ;;
1874 --disable-live) _live=no ;;
1875 --enable-xinerama) _xinerama=yes ;;
1876 --disable-xinerama) _xinerama=no ;;
1877 --enable-mga) _mga=yes ;;
1878 --disable-mga) _mga=no ;;
1879 --enable-xmga) _xmga=yes ;;
1880 --disable-xmga) _xmga=no ;;
1881 --enable-vm) _vm=yes ;;
1882 --disable-vm) _vm=no ;;
1883 --enable-xf86keysym) _xf86keysym=yes ;;
1884 --disable-xf86keysym) _xf86keysym=no ;;
1885 --enable-mlib) _mlib=yes ;;
1886 --disable-mlib) _mlib=no ;;
1887 --enable-sunaudio) _sunaudio=yes ;;
1888 --disable-sunaudio) _sunaudio=no ;;
1889 --enable-sgiaudio) _sgiaudio=yes ;;
1890 --disable-sgiaudio) _sgiaudio=no ;;
1891 --enable-alsa) _alsa=yes ;;
1892 --disable-alsa) _alsa=no ;;
1893 --enable-tv) _tv=yes ;;
1894 --disable-tv) _tv=no ;;
1895 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1896 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1897 --enable-tv-v4l1) _tv_v4l1=yes ;;
1898 --disable-tv-v4l1) _tv_v4l1=no ;;
1899 --enable-tv-v4l2) _tv_v4l2=yes ;;
1900 --disable-tv-v4l2) _tv_v4l2=no ;;
1901 --enable-radio) _radio=yes ;;
1902 --enable-radio-capture) _radio_capture=yes ;;
1903 --disable-radio-capture) _radio_capture=no ;;
1904 --disable-radio) _radio=no ;;
1905 --enable-radio-v4l) _radio_v4l=yes ;;
1906 --disable-radio-v4l) _radio_v4l=no ;;
1907 --enable-radio-v4l2) _radio_v4l2=yes ;;
1908 --disable-radio-v4l2) _radio_v4l2=no ;;
1909 --enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
1910 --disable-radio-bsdbt848) _radio_bsdbt848=no ;;
1911 --enable-pvr) _pvr=yes ;;
1912 --disable-pvr) _pvr=no ;;
1913 --enable-fastmemcpy) _fastmemcpy=yes ;;
1914 --disable-fastmemcpy) _fastmemcpy=no ;;
1915 --enable-network) _network=yes ;;
1916 --disable-network) _network=no ;;
1917 --enable-winsock2) _winsock2=yes ;;
1918 --disable-winsock2) _winsock2=no ;;
1919 --enable-smb) _smbsupport=yes ;;
1920 --disable-smb) _smbsupport=no ;;
1921 --enable-vidix-internal) _vidix_internal=yes ;;
1922 --disable-vidix-internal) _vidix_internal=no ;;
1923 --enable-vidix-external) _vidix_external=yes ;;
1924 --disable-vidix-external) _vidix_external=no ;;
1925 --enable-joystick) _joystick=yes ;;
1926 --disable-joystick) _joystick=no ;;
1927 --enable-xvid) _xvid=yes ;;
1928 --disable-xvid) _xvid=no ;;
1929 --enable-x264) _x264=yes ;;
1930 --disable-x264) _x264=no ;;
1931 --enable-nut) _nut=yes ;;
1932 --disable-nut) _nut=no ;;
1933 --enable-libavutil) _libavutil=yes ;;
1934 --disable-libavutil) _libavutil=no ;;
1935 --enable-libavutil_so) _libavutil_so=yes ;;
1936 --disable-libavutil_so) _libavutil_so=no ;;
1937 --enable-libavcodec) _libavcodec=yes ;;
1938 --disable-libavcodec) _libavcodec=no ;;
1939 --enable-libavcodec_so) _libavcodec_so=yes ;;
1940 --disable-libavcodec_so) _libavcodec_so=no ;;
1941 --enable-amr_nb) _amr_nb=yes ;;
1942 --disable-amr_nb) _amr_nb=no ;;
1943 --enable-amr_nb-fixed) _amr_nb_fixed=yes ;;
1944 --disable-amr_nb-fixed) _amr_nb_fixed=no ;;
1945 --enable-amr_wb) _amr_wb=yes ;;
1946 --disable-amr_wb) _amr_wb=no ;;
1947 --enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1948 --disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1949 --enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1950 --disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1951 --enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1952 --disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1953 --enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1954 --disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1955 --enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1956 --disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1957 --enable-libavformat) _libavformat=yes;;
1958 --disable-libavformat) _libavformat=no ;;
1959 --enable-libavformat_so) _libavformat_so=yes ;;
1960 --disable-libavformat_so) _libavformat_so=no ;;
1961 --enable-libpostproc) _libpostproc=yes ;;
1962 --disable-libpostproc) _libpostproc=no ;;
1963 --enable-libpostproc_so) _libpostproc_so=yes ;;
1964 --disable-libpostproc_so) _libpostproc_so=no ;;
1965 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
1966 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
1968 --enable-lirc) _lirc=yes ;;
1969 --disable-lirc) _lirc=no ;;
1970 --enable-lircc) _lircc=yes ;;
1971 --disable-lircc) _lircc=no ;;
1972 --enable-gui) _gui=yes ;;
1973 --disable-gui) _gui=no ;;
1974 --enable-gtk1) _gtk1=yes ;;
1975 --disable-gtk1) _gtk1=no ;;
1976 --enable-termcap) _termcap=yes ;;
1977 --disable-termcap) _termcap=no ;;
1978 --enable-termios) _termios=yes ;;
1979 --disable-termios) _termios=no ;;
1980 --enable-3dfx) _3dfx=yes ;;
1981 --disable-3dfx) _3dfx=no ;;
1982 --enable-s3fb) _s3fb=yes ;;
1983 --disable-s3fb) _s3fb=no ;;
1984 --enable-tdfxfb) _tdfxfb=yes ;;
1985 --disable-tdfxfb) _tdfxfb=no ;;
1986 --disable-tdfxvid) _tdfxvid=no ;;
1987 --enable-tdfxvid) _tdfxvid=yes ;;
1988 --disable-tga) _tga=no ;;
1989 --enable-tga) _tga=yes ;;
1990 --enable-directfb) _directfb=yes ;;
1991 --disable-directfb) _directfb=no ;;
1992 --enable-zr) _zr=yes ;;
1993 --disable-zr) _zr=no ;;
1994 --enable-bl) _bl=yes ;;
1995 --disable-bl) _bl=no ;;
1996 --enable-mtrr) _mtrr=yes ;;
1997 --disable-mtrr) _mtrr=no ;;
1998 --enable-largefiles) _largefiles=yes ;;
1999 --disable-largefiles) _largefiles=no ;;
2000 --enable-shm) _shm=yes ;;
2001 --disable-shm) _shm=no ;;
2002 --enable-select) _select=yes ;;
2003 --disable-select) _select=no ;;
2004 --enable-linux-devfs) _linux_devfs=yes ;;
2005 --disable-linux-devfs) _linux_devfs=no ;;
2006 --enable-cdparanoia) _cdparanoia=yes ;;
2007 --disable-cdparanoia) _cdparanoia=no ;;
2008 --enable-big-endian) _big_endian=yes ;;
2009 --disable-big-endian) _big_endian=no ;;
2010 --enable-bitmap-font) _bitmap_font=yes ;;
2011 --disable-bitmap-font) _bitmap_font=no ;;
2012 --enable-freetype) _freetype=yes ;;
2013 --disable-freetype) _freetype=no ;;
2014 --enable-fontconfig) _fontconfig=yes ;;
2015 --disable-fontconfig) _fontconfig=no ;;
2016 --enable-unrarlib) _unrarlib=yes ;;
2017 --disable-unrarlib) _unrarlib=no ;;
2018 --enable-ftp) _ftp=yes ;;
2019 --disable-ftp) _ftp=no ;;
2020 --enable-vstream) _vstream=yes ;;
2021 --disable-vstream) _vstream=no ;;
2022 --enable-pthreads) _pthreads=yes ;;
2023 --disable-pthreads) _pthreads=no ;;
2024 --enable-ass) _ass=yes ;;
2025 --disable-ass) _ass=no ;;
2026 --enable-rpath) _rpath=yes ;;
2027 --disable-rpath) _rpath=no ;;
2028 --enable-color-console) _color_console=yes ;;
2029 --disable-color-console) _color_console=no ;;
2031 --enable-fribidi) _fribidi=yes ;;
2032 --disable-fribidi) _fribidi=no ;;
2034 --enable-enca) _enca=yes ;;
2035 --disable-enca) _enca=no ;;
2037 --enable-inet6) _inet6=yes ;;
2038 --disable-inet6) _inet6=no ;;
2040 --enable-gethostbyname2) _gethostbyname2=yes ;;
2041 --disable-gethostbyname2) _gethostbyname2=no ;;
2043 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
2044 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
2045 --disable-dga) _dga=no ;;
2047 --enable-menu) _menu=yes ;;
2048 --disable-menu) _menu=no ;;
2050 --enable-qtx) _qtx=yes ;;
2051 --disable-qtx) _qtx=no ;;
2053 --enable-macosx) _macosx=yes ;;
2054 --disable-macosx) _macosx=no ;;
2055 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
2056 --disable-macosx-finder-support) _macosx_finder_support=no ;;
2057 --enable-macosx-bundle) _macosx_bundle=yes;;
2058 --disable-macosx-bundle) _macosx_bundle=no;;
2060 --enable-maemo) _maemo=yes ;;
2061 --disable-maemo) _maemo=no ;;
2063 --enable-sortsub) _sortsub=yes ;;
2064 --disable-sortsub) _sortsub=no ;;
2066 --charset=*)
2067 _charset=`echo $ac_option | cut -d '=' -f 2`
2069 --language=*)
2070 _language=`echo $ac_option | cut -d '=' -f 2`
2073 --codecsdir=*)
2074 _codecsdir=`echo $ac_option | cut -d '=' -f 2`
2076 --win32codecsdir=*)
2077 _win32codecsdir=`echo $ac_option | cut -d '=' -f 2`
2079 --xanimcodecsdir=*)
2080 _xanimcodecsdir=`echo $ac_option | cut -d '=' -f 2`
2082 --realcodecsdir=*)
2083 _realcodecsdir=`echo $ac_option | cut -d '=' -f 2`
2085 --with-livelibdir=*)
2086 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
2089 --with-xmmslibdir=*)
2090 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
2093 --with-xmmsplugindir=*)
2094 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
2097 --enable-crash-debug)
2098 _crash_debug=yes
2100 --disable-crash-debug)
2101 _crash_debug=no
2103 --enable-sighandler)
2104 _sighandler=yes
2106 --disable-sighandler)
2107 _sighandler=no
2110 --enable-sse) _sse=yes ;;
2111 --disable-sse) _sse=no ;;
2112 --enable-sse2) _sse2=yes ;;
2113 --disable-sse2) _sse2=no ;;
2114 --enable-mmxext) _mmxext=yes ;;
2115 --disable-mmxext) _mmxext=no ;;
2116 --enable-3dnow) _3dnow=yes ;;
2117 --disable-3dnow) _3dnow=no _3dnowext=no ;;
2118 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
2119 --disable-3dnowext) _3dnowext=no ;;
2120 --enable-cmov) _cmov=yes ;;
2121 --disable-cmov) _cmov=no ;;
2122 --enable-altivec) _altivec=yes ;;
2123 --disable-altivec) _altivec=no ;;
2124 --enable-armv5te) _armv5te=yes ;;
2125 --disable-armv5te) _armv5te=no ;;
2126 --enable-iwmmxt) _iwmmxt=yes ;;
2127 --disable-iwmmxt) _iwmmxt=no ;;
2128 --enable-mmx) _mmx=yes ;;
2129 --disable-mmx) # 3Dnow! and MMX2 require MMX
2130 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
2132 --enable-win32) _win32=yes ;;
2133 --disable-win32) _win32=no ;;
2135 --with-x11libdir=*)
2136 _ld_x11=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2138 --with-xvmclib=*)
2139 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
2141 --with-xvidlibdir=*)
2142 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2144 --with-libdtslibdir=*)
2145 _ld_libdts=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2147 --with-x264libdir=*)
2148 _ld_x264=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2150 --with-mliblibdir=*)
2151 _ld_mlib=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2153 --with-sdl-config=*)
2154 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
2156 --with-freetype-config=*)
2157 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
2159 --with-fribidi-config=*)
2160 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
2162 --with-gtk-config=*)
2163 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
2165 --with-glib-config=*)
2166 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
2168 --with-dvdnav-config=*)
2169 _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
2171 --with-cdparanoialibdir=*)
2172 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2174 --with-toolamelibdir=*)
2175 _ld_toolame=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2177 --prefix=*)
2178 _prefix=`echo $ac_option | cut -d '=' -f 2`
2180 --bindir=*)
2181 _bindir=`echo $ac_option | cut -d '=' -f 2`
2183 --datadir=*)
2184 _datadir=`echo $ac_option | cut -d '=' -f 2`
2186 --mandir=*)
2187 _mandir=`echo $ac_option | cut -d '=' -f 2`
2189 --confdir=*)
2190 _confdir=`echo $ac_option | cut -d '=' -f 2`
2192 --libdir=*)
2193 _libdir=`echo $ac_option | cut -d '=' -f 2`
2197 echo "Unknown parameter: $ac_option"
2198 exit 1
2201 esac
2202 done
2204 # Atmos: moved this here, to be correct, if --prefix is specified
2205 test -z "$_bindir" && _bindir="$_prefix/bin"
2206 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
2207 test -z "$_mandir" && _mandir="$_prefix/man"
2208 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
2209 test -z "$_libdir" && _libdir="$_prefix/lib"
2211 # For lack of a better place to put platform-specific stuff ..
2212 win32 && _exesuf=".exe"
2215 if x86 ; then
2216 # Checking assembler (_as) compatibility...
2217 # Added workaround for older as that reads from stdin by default - atmos
2218 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2219 echocheck "assembler ($_as $as_version)"
2221 _pref_as_version='2.9.1'
2222 echo 'nop' > $TMPS
2223 if test "$_mmx" = yes ; then
2224 echo 'emms' >> $TMPS
2226 if test "$_3dnow" = yes ; then
2227 _pref_as_version='2.10.1'
2228 echo 'femms' >> $TMPS
2230 if test "$_3dnowext" = yes ; then
2231 _pref_as_version='2.10.1'
2232 echo 'pswapd %mm0, %mm0' >> $TMPS
2234 if test "$_mmxext" = yes ; then
2235 _pref_as_version='2.10.1'
2236 echo 'movntq %mm0, (%eax)' >> $TMPS
2238 if test "$_sse" = yes ; then
2239 _pref_as_version='2.10.1'
2240 echo 'xorps %xmm0, %xmm0' >> $TMPS
2242 #if test "$_sse2" = yes ; then
2243 # _pref_as_version='2.11'
2244 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2246 if test "$_cmov" = yes ; then
2247 _pref_as_version='2.10.1'
2248 echo 'cmovb %eax, %ebx' >> $TMPS
2250 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2252 if test "$as_verc_fail" != yes ; then
2253 echores "ok"
2254 else
2255 _res_comment="Upgrade binutils to ${_pref_as_version} ..."
2256 echores "failed"
2257 die "obsolete binutils version"
2260 fi #if x86
2262 echocheck ".align is a power of two"
2263 if test "$_asmalign_pot" = auto ; then
2264 _asmalign_pot=no
2265 cat > $TMPC << EOF
2266 main() { asm (".align 3"); }
2268 cc_check && _asmalign_pot=yes
2270 if test "$_asmalign_pot" = "yes" ; then
2271 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2272 else
2273 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2275 echores $_asmalign_pot
2278 #FIXME: This should happen before the check for CFLAGS..
2279 if ppc ; then
2281 # check if altivec is supported by the compiler, and how to enable it
2283 _altivec_gcc_flags=''
2285 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2286 echocheck "GCC altivec support"
2288 p=''
2289 cat > $TMPC << EOF
2290 int main() {
2291 return 0;
2294 FSF_flags='-maltivec -mabi=altivec'
2295 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2297 # check for Darwin-style flags first, since
2298 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2299 # accepts but ignores FSF-style flags...
2301 if test -z "$p"; then
2302 cc_check $Darwin_flags && p='Darwin'
2304 if test -z "$p"; then
2305 cc_check $FSF_flags && p='FSF'
2308 case $p in
2309 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2310 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2311 *) _altivec=no ;;
2312 esac
2314 if test -z "$p"; then
2315 p=none
2316 else
2317 p="$p-style ($_altivec_gcc_flags)"
2320 echores "$p"
2323 # check if <altivec.h> should be included
2325 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2327 if test "$_altivec" = yes ; then
2328 echocheck "altivec.h"
2329 cat > $TMPC << EOF
2330 #include <altivec.h>
2331 int main(void) { return 0; }
2333 _have_altivec_h=no
2334 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2335 if test "$_have_altivec_h" = yes ; then
2336 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2338 echores "$_have_altivec_h"
2341 # disable runtime cpudetection if
2342 # - we cannot generate altivec code
2343 # - altivec is disabled by the user
2345 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2346 _runtime_cpudetection=no
2349 # show that we are optimizing for altivec (if enabled and supported)
2351 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2352 _optimizing="$_optimizing altivec"
2355 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2357 if test "$_altivec" = yes ; then
2358 #FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
2359 #_mcpu="$_mcpu $_altivec_gcc_flags"
2360 CFLAGS="$CFLAGS $_altivec_gcc_flags"
2363 # setup _def_altivec correctly
2365 if test "$_altivec" = yes ; then
2366 _def_altivec='#define HAVE_ALTIVEC 1'
2367 else
2368 _def_altivec='#undef HAVE_ALTIVEC'
2372 if arm ; then
2373 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2374 if test $_armv5te = "auto" ; then
2375 cat > $TMPC << EOF
2376 int main(void) {
2377 __asm__ __volatile__ ("qadd r0, r0, r0");
2380 _armv5te=no
2381 cc_check && _armv5te=yes
2383 echores "$_armv5te"
2385 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2386 if test $_iwmmxt = "auto" ; then
2387 cat > $TMPC << EOF
2388 int main(void) {
2389 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2392 _iwmmxt=no
2393 cc_check && _iwmmxt=yes
2395 echores "$_iwmmxt"
2398 _def_mmx='#undef HAVE_MMX'
2399 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2400 _def_mmxext='#undef HAVE_MMX2'
2401 test "$_mmxext" = yes && _def_mmxext='#define HAVE_MMX2 1'
2402 _def_3dnow='#undef HAVE_3DNOW'
2403 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2404 _def_3dnowext='#undef HAVE_3DNOWEX'
2405 test "$_3dnowext" = yes && _def_3dnowext='#define HAVE_3DNOWEX 1'
2406 _def_sse='#undef HAVE_SSE'
2407 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2408 _def_sse2='#undef HAVE_SSE2'
2409 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2410 _def_cmov='#undef HAVE_CMOV'
2411 test "$_cmov" = yes && _def_cmov='#define HAVE_CMOV 1'
2412 _def_armv5te='#undef HAVE_ARMV5TE'
2413 test "$_armv5te" = yes && _def_armv5te='#define HAVE_ARMV5TE 1'
2414 _def_iwmmxt='#undef HAVE_IWMMXT'
2415 test "$_iwmmxt" = yes && _def_iwmmxt='#define HAVE_IWMMXT 1'
2417 # Checking kernel version...
2418 if x86 && linux ; then
2419 _k_verc_problem=no
2420 kernel_version=`uname -r 2>&1`
2421 echocheck "$system_name kernel version"
2422 case "$kernel_version" in
2423 '') kernel_version="?.??"; _k_verc_fail=yes;;
2424 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2425 _k_verc_problem=yes;;
2426 esac
2427 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2428 _k_verc_fail=yes
2430 if test "$_k_verc_fail" ; then
2431 echores "$kernel_version, fail"
2432 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2433 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2434 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2435 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2436 echo "2.2.x you must upgrade it to get SSE support!"
2437 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2438 else
2439 echores "$kernel_version, ok"
2443 if test "$_vidix_internal" = auto ; then
2444 _vidix_internal=no
2445 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2446 x86 && _vidix_internal=yes
2447 x86_64 && _vidix_internal=yes
2448 ppc && linux && _vidix_internal=yes
2449 alpha && linux && _vidix_internal=yes
2450 qnx && _vidix_internal=no
2451 sunos && _vidix_internal=no
2452 beos && _vidix_internal=no
2453 darwin && _vidix_internal=no
2457 # On QNX we must link to libph - Gabucino
2458 if qnx ; then
2459 _ld_arch="$_ld_arch -lph"
2462 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2463 _awk=
2464 if test "$_vidix_internal" = yes ; then
2465 _awk_verc_fail=yes
2466 echocheck "awk"
2467 for _awk in mawk gawk nawk awk; do
2468 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2469 _awk_verc_fail=no
2470 break
2472 done
2473 test "$_awk_verc_fail" = yes && _awk=no
2474 echores "$_awk"
2475 if test "$_awk_verc_fail" = yes; then
2476 echo "VIDIX needs awk, but no working implementation was found!"
2477 echo "Try the GNU version, which can be downloaded from:"
2478 echo "ftp://ftp.gnu.org/gnu/gawk/"
2479 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2480 die "no awk"
2484 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2485 if irix ; then
2486 _ranlib='ar -r'
2487 elif linux ; then
2488 _ranlib='true'
2491 ######################
2492 # MAIN TESTS GO HERE #
2493 ######################
2496 echocheck "extra headers"
2497 if test "$_inc_extra" ; then
2498 echores "$_inc_extra"
2499 else
2500 echores "none"
2504 echocheck "extra libs"
2505 if test "$_ld_extra" ; then
2506 echores "$_ld_extra"
2507 else
2508 echores "none"
2511 echocheck "-lposix"
2512 cat > $TMPC <<EOF
2513 int main(void) { return 0; }
2515 if cc_check -lposix ; then
2516 _ld_arch="$_ld_arch -lposix"
2517 echores "yes"
2518 else
2519 echores "no"
2522 echocheck "-lm"
2523 cat > $TMPC <<EOF
2524 int main(void) { return 0; }
2526 if cc_check -lm ; then
2527 _ld_lm="-lm"
2528 echores "yes"
2529 else
2530 _ld_lm=""
2531 echores "no"
2535 echocheck "langinfo"
2536 if test "$_langinfo" = auto ; then
2537 cat > $TMPC <<EOF
2538 #include <langinfo.h>
2539 int main(void) { nl_langinfo(CODESET); return 0; }
2541 _langinfo=no
2542 cc_check && _langinfo=yes
2544 if test "$_langinfo" = yes ; then
2545 _def_langinfo='#define USE_LANGINFO 1'
2546 else
2547 _def_langinfo='#undef USE_LANGINFO'
2549 echores "$_langinfo"
2552 echocheck "language"
2553 test -z "$_language" && _language=$LINGUAS
2554 _language=`echo $_language | sed 's/,/ /g'`
2555 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2556 for lang in $_language ; do
2557 test "$lang" = all && lang=en
2558 if test -f "help/help_mp-${lang}.h" ; then
2559 _language=$lang
2560 break
2561 else
2562 echo ${_echo_n} "$lang not found, ${_echo_c}"
2563 _language=`echo $_language | sed "s/$lang *//"`
2565 done
2566 test -z "$_language" && _language=en
2567 _mp_help="help/help_mp-${_language}.h"
2568 test -f $_mp_help || die "$_mp_help not found"
2569 for lang in $LANGUAGES ; do
2570 if test -f "DOCS/man/$lang/mplayer.1" ; then
2571 MAN_LANG="$lang $MAN_LANG"
2573 done
2574 _doc_lang=$_language
2575 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2576 echores "using $_language (man pages: $MAN_LANG)"
2579 echocheck "enable sighandler"
2580 if test "$_sighandler" = yes ; then
2581 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2582 else
2583 _def_sighandler='#undef ENABLE_SIGHANDLER'
2585 echores "$_sighandler"
2587 echocheck "runtime cpudetection"
2588 if test "$_runtime_cpudetection" = yes ; then
2589 _optimizing="Runtime CPU-Detection enabled"
2590 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2591 else
2592 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2594 echores "$_runtime_cpudetection"
2597 echocheck "restrict keyword"
2598 for restrict_keyword in restrict __restrict __restrict__ ; do
2599 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2600 if cc_check; then
2601 _def_restrict_keyword=$restrict_keyword
2602 break;
2604 done
2605 if [ -n "$_def_restrict_keyword" ]; then
2606 echores "$_def_restrict_keyword"
2607 else
2608 echores "none"
2610 # Avoid infinite recursion loop ("#define restrict restrict")
2611 if [ "$_def_restrict_keyword" != "restrict" ]; then
2612 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2613 else
2614 _def_restrict_keyword=""
2618 echocheck "__builtin_expect"
2619 # GCC branch prediction hint
2620 cat > $TMPC << EOF
2621 int foo (int a) {
2622 a = __builtin_expect (a, 10);
2623 return a == 10 ? 0 : 1;
2625 int main() { return foo(10) && foo(0); }
2627 _builtin_expect=no
2628 cc_check && _builtin_expect=yes
2629 if test "$_builtin_expect" = yes ; then
2630 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2631 else
2632 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2634 echores "$_builtin_expect"
2637 echocheck "kstat"
2638 cat > $TMPC << EOF
2639 #include <kstat.h>
2640 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2642 _kstat=no
2643 cc_check -lkstat && _kstat=yes
2644 if test "$_kstat" = yes ; then
2645 _def_kstat="#define HAVE_LIBKSTAT 1"
2646 _ld_arch="-lkstat $_ld_arch"
2647 else
2648 _def_kstat="#undef HAVE_LIBKSTAT"
2650 echores "$_kstat"
2653 echocheck "posix4"
2654 # required for nanosleep on some systems
2655 cat > $TMPC << EOF
2656 #include <time.h>
2657 int main(void) { (void) nanosleep(0, 0); return 0; }
2659 _posix4=no
2660 cc_check -lposix4 && _posix4=yes
2661 if test "$_posix4" = yes ; then
2662 _ld_arch="-lposix4 $_ld_arch"
2664 echores "$_posix4"
2666 echocheck "lrintf"
2667 cat > $TMPC << EOF
2668 #include <math.h>
2669 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2671 _lrintf=no
2672 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2673 if test "$_lrintf" = yes ; then
2674 _def_lrintf="#define HAVE_LRINTF 1"
2675 else
2676 _def_lrintf="#undef HAVE_LRINTF"
2678 echores "$_lrintf"
2680 echocheck "round"
2681 cat > $TMPC << EOF
2682 #include <math.h>
2683 int main(void) { (void) round(0.0); return 0; }
2685 _round=no
2686 cc_check $_ld_lm && _round=yes
2687 if test "$_round" = yes ; then
2688 _def_round="#define HAVE_ROUND 1"
2689 else
2690 _def_round="#undef HAVE_ROUND"
2692 echores "$_round"
2694 echocheck "nanosleep"
2695 # also check for nanosleep
2696 cat > $TMPC << EOF
2697 #include <time.h>
2698 int main(void) { (void) nanosleep(0, 0); return 0; }
2700 _nanosleep=no
2701 cc_check $_ld_arch && _nanosleep=yes
2702 if test "$_nanosleep" = yes ; then
2703 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2704 else
2705 _def_nanosleep='#undef HAVE_NANOSLEEP'
2707 echores "$_nanosleep"
2710 echocheck "socklib"
2711 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2712 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2713 cat > $TMPC << EOF
2714 #include <netdb.h>
2715 #include <sys/socket.h>
2716 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2718 _socklib=no
2719 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2720 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2721 done
2722 if test $_winsock2 = auto && not cygwin ; then
2723 _winsock2=no
2724 cat > $TMPC << EOF
2725 #include <winsock2.h>
2726 int main(void) { (void) gethostbyname(0); return 0; }
2728 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2730 test "$_ld_sock" && _res_comment="using $_ld_sock"
2731 echores "$_socklib"
2734 if test $_winsock2 = yes ; then
2735 _ld_sock="-lws2_32"
2736 _def_winsock2='#define HAVE_WINSOCK2 1'
2737 else
2738 _def_winsock2='#undef HAVE_WINSOCK2'
2742 _use_aton=no
2743 echocheck "inet_pton()"
2744 cat > $TMPC << EOF
2745 #include <sys/types.h>
2746 #include <sys/socket.h>
2747 #include <arpa/inet.h>
2748 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2750 if test "$_winsock2" = yes ; then
2751 _res_comment="using winsock2 functions instead"
2752 echores "no"
2753 elif cc_check $_ld_sock ; then
2754 # NOTE: Linux has libresolv but does not need it
2756 _res_comment="using $_ld_sock"
2757 echores "yes"
2758 elif cc_check $_ld_sock -lresolv ; then
2759 # NOTE: needed for SunOS at least
2760 _ld_sock="$_ld_sock -lresolv"
2761 _res_comment="using $_ld_sock"
2762 echores "yes"
2763 else
2764 _res_comment="trying inet_aton next"
2765 echores "no"
2767 echocheck "inet_aton()"
2768 cat > $TMPC << EOF
2769 #include <sys/types.h>
2770 #include <sys/socket.h>
2771 #include <arpa/inet.h>
2772 int main(void) { (void) inet_aton(0, 0); return 0; }
2774 _use_aton=yes
2775 if cc_check $_ld_sock ; then
2776 # NOTE: Linux has libresolv but does not need it
2778 _res_comment="using $_ld_sock"
2779 elif cc_check $_ld_sock -lresolv ; then
2780 # NOTE: needed for SunOS at least
2781 _ld_sock="$_ld_sock -lresolv"
2782 _res_comment="using $_ld_sock"
2783 else
2784 _use_aton=no
2785 _network=no
2786 _res_comment="network support disabled"
2788 echores "$_use_aton"
2791 _def_use_aton='#undef USE_ATON'
2792 if test "$_use_aton" = yes; then
2793 _def_use_aton='#define USE_ATON 1'
2797 echocheck "inttypes.h (required)"
2798 cat > $TMPC << EOF
2799 #include <inttypes.h>
2800 int main(void) { return 0; }
2802 _inttypes=no
2803 cc_check && _inttypes=yes
2804 echores "$_inttypes"
2806 if test "$_inttypes" = no ; then
2807 echocheck "bitypes.h (inttypes.h predecessor)"
2808 cat > $TMPC << EOF
2809 #include <sys/bitypes.h>
2810 int main(void) { return 0; }
2812 cc_check && _inttypes=yes
2813 if test "$_inttypes" = yes ; then
2814 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."
2815 else
2816 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2821 echocheck "int_fastXY_t in inttypes.h"
2822 cat > $TMPC << EOF
2823 #include <inttypes.h>
2824 int main(void) {
2825 volatile int_fast16_t v= 0;
2826 return v; }
2828 _fast_inttypes=no
2829 cc_check && _fast_inttypes=yes
2830 if test "$_fast_inttypes" = yes ; then
2831 # nothing to do
2833 else
2834 _def_fast_inttypes='
2835 typedef signed char int_fast8_t;
2836 typedef signed int int_fast16_t;
2837 typedef signed int int_fast32_t;
2838 typedef signed long long int_fast64_t;
2839 typedef unsigned char uint_fast8_t;
2840 typedef unsigned int uint_fast16_t;
2841 typedef unsigned int uint_fast32_t;
2842 typedef unsigned long long uint_fast64_t;'
2844 echores "$_fast_inttypes"
2847 echocheck "word size"
2848 _mp_wordsize="#undef MP_WORDSIZE"
2849 cat > $TMPC << EOF
2850 #include <stdio.h>
2851 #include <sys/types.h>
2852 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2854 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2855 echores "$_wordsize"
2858 echocheck "stddef.h"
2859 cat > $TMPC << EOF
2860 #include <stddef.h>
2861 int main(void) { return 0; }
2863 _stddef=no
2864 cc_check && _stddef=yes
2865 if test "$_stddef" = yes ; then
2866 _def_stddef='#define HAVE_STDDEF_H 1'
2867 else
2868 _def_stddef='#undef HAVE_STDDEF_H'
2870 echores "$_stddef"
2873 echocheck "malloc.h"
2874 cat > $TMPC << EOF
2875 #include <malloc.h>
2876 int main(void) { (void) malloc(0); return 0; }
2878 _malloc=no
2879 cc_check && _malloc=yes
2880 if test "$_malloc" = yes ; then
2881 _def_malloc='#define HAVE_MALLOC_H 1'
2882 else
2883 _def_malloc='#undef HAVE_MALLOC_H'
2885 # malloc.h emits a warning in FreeBSD and OpenBSD
2886 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2887 echores "$_malloc"
2890 echocheck "memalign()"
2891 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2892 cat > $TMPC << EOF
2893 #include <malloc.h>
2894 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2896 _memalign=no
2897 cc_check && _memalign=yes
2898 if test "$_memalign" = yes ; then
2899 _def_memalign='#define HAVE_MEMALIGN 1'
2900 else
2901 _def_memalign='#undef HAVE_MEMALIGN'
2902 _def_map_memalign='#define memalign(a,b) malloc(b)'
2903 not darwin && _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
2905 echores "$_memalign"
2908 echocheck "alloca.h"
2909 cat > $TMPC << EOF
2910 #include <alloca.h>
2911 int main(void) { (void) alloca(0); return 0; }
2913 _alloca=no
2914 cc_check && _alloca=yes
2915 if cc_check ; then
2916 _def_alloca='#define HAVE_ALLOCA_H 1'
2917 else
2918 _def_alloca='#undef HAVE_ALLOCA_H'
2920 echores "$_alloca"
2923 echocheck "mman.h"
2924 cat > $TMPC << EOF
2925 #include <sys/types.h>
2926 #include <sys/mman.h>
2927 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2929 _mman=no
2930 cc_check && _mman=yes
2931 if test "$_mman" = yes ; then
2932 _def_mman='#define HAVE_SYS_MMAN_H 1'
2933 else
2934 _def_mman='#undef HAVE_SYS_MMAN_H'
2936 echores "$_mman"
2938 cat > $TMPC << EOF
2939 #include <sys/types.h>
2940 #include <sys/mman.h>
2941 int main(void) { void *p = MAP_FAILED; return 0; }
2943 _mman_has_map_failed=no
2944 cc_check && _mman_has_map_failed=yes
2945 if test "$_mman_has_map_failed" = yes ; then
2946 _def_mman_has_map_failed=''
2947 else
2948 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2951 echocheck "dynamic loader"
2952 cat > $TMPC << EOF
2953 #include <dlfcn.h>
2954 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2956 _dl=no
2957 for _ld_tmp in "" "-ldl" ; do
2958 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
2959 done
2960 if test "$_dl" = yes ; then
2961 _def_dl='#define HAVE_LIBDL 1'
2962 else
2963 _def_dl='#undef HAVE_LIBDL'
2965 echores "$_dl"
2968 echocheck "dynamic a/v plugins support"
2969 if test "$_dl" = no ; then
2970 _dynamic_plugins=no
2972 if test "$_dynamic_plugins" = yes ; then
2973 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2974 else
2975 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2977 echores "$_dynamic_plugins"
2980 #echocheck "dynamic linking"
2981 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2982 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2983 #cat > $TMPC << EOF
2984 #int main(void) { return 0; }
2985 #EOF
2986 #if cc_check -rdynamic ; then
2987 # _ld_dl_dynamic='-rdynamic'
2988 #elif cc_check -Bdynamic ; then
2989 # _ld_dl_dynamic='-Bdynamic'
2990 #elif cc_check ; then
2991 # _ld_dl_dynamic=''
2993 #echores "using $_ld_dl_dynamic"
2995 _def_threads='#undef HAVE_THREADS'
2997 echocheck "pthread"
2998 if test "$_pthreads" = auto ; then
2999 cat > $TMPC << EOF
3000 #include <pthread.h>
3001 void* func(void *arg) { return arg; }
3002 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3004 _pthreads=no
3005 if not hpux ; then
3006 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3007 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3008 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3009 done
3012 if test "$_pthreads" = yes ; then
3013 _res_comment="using $_ld_pthread"
3014 _def_pthreads='#define HAVE_PTHREADS 1'
3015 _def_threads='#define HAVE_THREADS 1'
3016 else
3017 _res_comment="v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled"
3018 _def_pthreads='#undef HAVE_PTHREADS'
3019 _nas=no ; _tv_v4l1=no ; _macosx=no
3020 if not mingw32 ; then
3021 _win32=no
3024 echores "$_pthreads"
3026 echocheck "rpath"
3027 netbsd &&_rpath=yes
3028 if test "$_rpath" = yes ; then
3029 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
3030 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3031 done
3032 _ld_extra=$tmp
3034 echores "$_rpath"
3036 echocheck "iconv"
3037 if test "$_iconv" = auto ; then
3038 _iconv_tmp='#include <iconv.h>'
3040 cat > $TMPC << EOF
3041 #include <stdio.h>
3042 #include <unistd.h>
3043 $_iconv_tmp
3044 #define INBUFSIZE 1024
3045 #define OUTBUFSIZE 4096
3047 char inbuffer[INBUFSIZE];
3048 char outbuffer[OUTBUFSIZE];
3050 int main(void) {
3051 size_t numread;
3052 iconv_t icdsc;
3053 char *tocode="UTF-8";
3054 char *fromcode="cp1250";
3055 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3056 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3057 char *iptr=inbuffer;
3058 char *optr=outbuffer;
3059 size_t inleft=numread;
3060 size_t outleft=OUTBUFSIZE;
3061 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3062 != (size_t)(-1)) {
3063 write (1, outbuffer, OUTBUFSIZE - outleft);
3066 if (iconv_close(icdsc) == -1)
3071 _iconv=no
3072 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3073 cc_check $_ld_lm $_ld_tmp && _ld_iconv="$_ld_tmp" && _iconv=yes && break
3074 done
3076 if test "$_iconv" = yes ; then
3077 _def_iconv='#define USE_ICONV 1'
3078 else
3079 _def_iconv='#undef USE_ICONV'
3081 echores "$_iconv"
3084 echocheck "sys/soundcard.h"
3085 cat > $TMPC << EOF
3086 #include <sys/soundcard.h>
3087 int main(void) { return 0; }
3089 _sys_soundcard=no
3090 cc_check && _sys_soundcard=yes
3091 if test "$_sys_soundcard" = yes ; then
3092 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
3093 _include_soundcard='#include <sys/soundcard.h>'
3094 else
3095 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3097 echores "$_sys_soundcard"
3099 if test "$_sys_soundcard" != yes ; then
3100 echocheck "soundcard.h"
3101 cat > $TMPC << EOF
3102 #include <soundcard.h>
3103 int main(void) { return 0; }
3105 _soundcard=no
3106 cc_check && _soundcard=yes
3107 if linux || test "$_ossaudio" != no ; then
3108 # use soundcard.h on Linux, or when OSS support is enabled
3109 echores "$_soundcard"
3110 else
3111 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
3112 _res_comment= "but ignored!"
3113 echores "$_soundcard"
3114 _soundcard=no
3116 if test "$_soundcard" = yes ; then
3117 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3118 _include_soundcard='#include <soundcard.h>'
3119 else
3120 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3122 else
3123 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3127 echocheck "sys/dvdio.h"
3128 cat > $TMPC << EOF
3129 #include <unistd.h>
3130 #include <sys/dvdio.h>
3131 int main(void) { return 0; }
3133 _dvdio=no
3134 cc_check && _dvdio=yes
3135 if test "$_dvdio" = yes ; then
3136 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3137 else
3138 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3140 echores "$_dvdio"
3143 echocheck "sys/cdio.h"
3144 cat > $TMPC << EOF
3145 #include <unistd.h>
3146 #include <sys/cdio.h>
3147 int main(void) { return 0; }
3149 _cdio=no
3150 cc_check && _cdio=yes
3151 if test "$_cdio" = yes ; then
3152 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3153 else
3154 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3156 echores "$_cdio"
3159 echocheck "linux/cdrom.h"
3160 cat > $TMPC << EOF
3161 #include <sys/types.h>
3162 #include <linux/cdrom.h>
3163 int main(void) { return 0; }
3165 _cdrom=no
3166 cc_check && _cdrom=yes
3167 if test "$_cdrom" = yes ; then
3168 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3169 else
3170 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3172 echores "$_cdrom"
3175 echocheck "dvd.h"
3176 cat > $TMPC << EOF
3177 #include <dvd.h>
3178 int main(void) { return 0; }
3180 _dvd=no
3181 cc_check && _dvd=yes
3182 if test "$_dvd" = yes ; then
3183 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3184 else
3185 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3187 echores "$_dvd"
3190 if bsdos; then
3191 echocheck "BSDI dvd.h"
3192 cat > $TMPC << EOF
3193 #include <dvd.h>
3194 int main(void) { return 0; }
3196 _bsdi_dvd=no
3197 cc_check && _bsdi_dvd=yes
3198 if test "$_bsdi_dvd" = yes ; then
3199 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3200 else
3201 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3203 echores "$_bsdi_dvd"
3204 fi #if bsdos
3207 if hpux; then
3208 # also used by AIX, but AIX does not support VCD and/or libdvdread
3209 echocheck "HP-UX SCSI header"
3210 cat > $TMPC << EOF
3211 #include <sys/scsi.h>
3212 int main(void) { return 0; }
3214 _hpux_scsi_h=no
3215 cc_check && _hpux_scsi_h=yes
3216 if test "$_hpux_scsi_h" = yes ; then
3217 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3218 else
3219 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3221 echores "$_hpux_scsi_h"
3222 fi #if hpux
3225 if sunos; then
3226 echocheck "userspace SCSI headers (Solaris)"
3227 cat > $TMPC << EOF
3228 # include <unistd.h>
3229 # include <stropts.h>
3230 # include <sys/scsi/scsi_types.h>
3231 # include <sys/scsi/impl/uscsi.h>
3232 int main(void) { return 0; }
3234 _sol_scsi_h=no
3235 cc_check && _sol_scsi_h=yes
3236 if test "$_sol_scsi_h" = yes ; then
3237 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3238 else
3239 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3241 echores "$_sol_scsi_h"
3242 fi #if sunos
3245 echocheck "termcap"
3246 if test "$_termcap" = auto ; then
3247 cat > $TMPC <<EOF
3248 int main(void) { tgetent(); return 0; }
3250 _termcap=no
3251 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3252 cc_check $_ld_tmp && _ld_termcap="$_ld_tmp" && _termcap=yes && break
3253 done
3255 if test "$_termcap" = yes ; then
3256 _def_termcap='#define USE_TERMCAP 1'
3257 _res_comment="using $_ld_termcap"
3258 else
3259 _def_termcap='#undef USE_TERMCAP'
3261 echores "$_termcap"
3264 echocheck "termios"
3265 if test "$_termios" = auto ; then
3266 cat > $TMPC <<EOF
3267 #include <sys/termios.h>
3268 int main(void) { return 0; }
3270 _termios=auto
3271 cc_check && _termios=yes
3272 _def_termios_h_name='sys/termios.h'
3274 # second test:
3275 if test "$_termios" = auto ; then
3276 cat > $TMPC <<EOF
3277 #include <termios.h>
3278 int main(void) { return 0; }
3280 _termios=no
3281 cc_check && _termios=yes
3282 _def_termios_h_name='termios.h'
3285 if test "$_termios" = yes ; then
3286 _def_termios='#define HAVE_TERMIOS 1'
3287 _def_termios_h='#undef HAVE_TERMIOS_H'
3288 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3290 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3291 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3292 elif test "$_def_termios_h_name" = 'termios.h' ; then
3293 _def_termios_h='#define HAVE_TERMIOS_H 1'
3295 _res_comment="using $_def_termios_h_name"
3296 else
3297 _def_termios='#undef HAVE_TERMIOS'
3298 _def_termios_h_name=''
3299 _termios=no
3301 echores "$_termios"
3304 echocheck "shm"
3305 if test "$_shm" = auto ; then
3306 cat > $TMPC << EOF
3307 #include <sys/types.h>
3308 #include <sys/shm.h>
3309 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3311 _shm=no
3312 cc_check && _shm=yes
3314 if test "$_shm" = yes ; then
3315 _def_shm='#define HAVE_SHM 1'
3316 else
3317 _def_shm='#undef HAVE_SHM'
3319 echores "$_shm"
3322 # XXX: FIXME, add runtime checking
3323 echocheck "linux devfs"
3324 echores "$_linux_devfs"
3327 echocheck "scandir()"
3328 cat > $TMPC << EOF
3329 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3331 _scandir=no
3332 cc_check && _scandir=yes
3333 if test "$_scandir" = yes ; then
3334 _def_scandir='#define HAVE_SCANDIR 1'
3335 else
3336 _def_scandir='#undef HAVE_SCANDIR'
3338 echores "$_scandir"
3341 echocheck "strsep()"
3342 cat > $TMPC << EOF
3343 #include <string.h>
3344 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3346 _strsep=no
3347 cc_check && _strsep=yes
3348 if test "$_strsep" = yes ; then
3349 _def_strsep='#define HAVE_STRSEP 1'
3350 else
3351 _def_strsep='#undef HAVE_STRSEP'
3353 echores "$_strsep"
3355 echocheck "strlcpy()"
3356 cat > $TMPC << EOF
3357 #include <string.h>
3358 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3360 _strlcpy=no
3361 cc_check && _strlcpy=yes
3362 if test "$_strlcpy" = yes ; then
3363 _def_strlcpy='#define HAVE_STRLCPY 1'
3364 else
3365 _def_strlcpy='#undef HAVE_STRLCPY'
3367 echores "$_strlcpy"
3369 echocheck "strlcat()"
3370 cat > $TMPC << EOF
3371 #include <string.h>
3372 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3374 _strlcat=no
3375 cc_check && _strlcat=yes
3376 if test "$_strlcat" = yes ; then
3377 _def_strlcat='#define HAVE_STRLCAT 1'
3378 else
3379 _def_strlcat='#undef HAVE_STRLCAT'
3381 echores "$_strlcat"
3383 echocheck "fseeko()"
3384 cat > $TMPC << EOF
3385 #include <stdio.h>
3386 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3388 _fseeko=no
3389 cc_check && _fseeko=yes
3390 if test "$_fseeko" = yes ; then
3391 _def_fseeko='#define HAVE_FSEEKO 1'
3392 else
3393 _def_fseeko='#undef HAVE_FSEEKO'
3395 echores "$_fseeko"
3397 echocheck "localtime_r()"
3398 cat > $TMPC << EOF
3399 #include <time.h>
3400 int main( void ) { localtime_r(NULL, NULL); }
3402 _localtime_r=no
3403 cc_check && _localtime_r=yes
3404 if test "$_localtime_r" = yes ; then
3405 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3406 else
3407 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3409 echores "$_localtime_r"
3411 echocheck "vsscanf()"
3412 cat > $TMPC << EOF
3413 #include <stdarg.h>
3414 int main(void) { vsscanf(0, 0, 0); return 0; }
3416 _vsscanf=no
3417 cc_check && _vsscanf=yes
3418 if test "$_vsscanf" = yes ; then
3419 _def_vsscanf='#define HAVE_VSSCANF 1'
3420 else
3421 _def_vsscanf='#undef HAVE_VSSCANF'
3423 echores "$_vsscanf"
3426 echocheck "swab()"
3427 cat > $TMPC << EOF
3428 #include <unistd.h>
3429 int main(void) { swab(0, 0, 0); return 0; }
3431 _swab=no
3432 cc_check && _swab=yes
3433 if test "$_swab" = yes ; then
3434 _def_swab='#define HAVE_SWAB 1'
3435 else
3436 _def_swab='#undef HAVE_SWAB'
3438 echores "$_swab"
3440 echocheck "POSIX select()"
3441 cat > $TMPC << EOF
3442 #include <stdio.h>
3443 #include <stdlib.h>
3444 #include <sys/types.h>
3445 #include <string.h>
3446 #include <sys/time.h>
3447 #include <unistd.h>
3448 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3450 _posix_select=no
3451 cc_check && _posix_select=yes
3452 if test "$_posix_select" = no ; then
3453 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3454 else
3455 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3457 echores "$_posix_select"
3460 echocheck "gettimeofday()"
3461 cat > $TMPC << EOF
3462 #include <stdio.h>
3463 #include <sys/time.h>
3464 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3466 _gettimeofday=no
3467 cc_check && _gettimeofday=yes
3468 if test "$_gettimeofday" = yes ; then
3469 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3470 else
3471 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3473 echores "$_gettimeofday"
3476 echocheck "glob()"
3477 cat > $TMPC << EOF
3478 #include <stdio.h>
3479 #include <glob.h>
3480 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3482 _glob=no
3483 cc_check && _glob=yes
3484 if test "$_glob" = yes ; then
3485 _def_glob='#define HAVE_GLOB 1'
3486 else
3487 _def_glob='#undef HAVE_GLOB'
3489 echores "$_glob"
3492 echocheck "setenv()"
3493 cat > $TMPC << EOF
3494 #include <stdlib.h>
3495 int main (void){ setenv("","",0); return 0; }
3497 _setenv=no
3498 cc_check && _setenv=yes
3499 if test "$_setenv" = yes ; then
3500 _def_setenv='#define HAVE_SETENV 1'
3501 else
3502 _def_setenv='#undef HAVE_SETENV'
3504 echores "$_setenv"
3507 if sunos; then
3508 echocheck "sysi86()"
3509 cat > $TMPC << EOF
3510 #include <sys/sysi86.h>
3511 int main (void) { sysi86(0); return 0; }
3513 _sysi86=no
3514 cc_check && _sysi86=yes
3515 if test "$_sysi86" = yes ; then
3516 _def_sysi86='#define HAVE_SYSI86 1'
3517 else
3518 _def_sysi86='#undef HAVE_SYSI86'
3520 echores "$_sysi86"
3521 fi #if sunos
3524 echocheck "sys/sysinfo.h"
3525 cat > $TMPC << EOF
3526 #include <sys/sysinfo.h>
3527 int main(void) {
3528 struct sysinfo s_info;
3529 sysinfo(&s_info);
3530 return 0;
3533 _sys_sysinfo=no
3534 cc_check && _sys_sysinfo=yes
3535 if test "$_sys_sysinfo" = yes ; then
3536 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3537 else
3538 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3540 echores "$_sys_sysinfo"
3543 if darwin; then
3545 echocheck "Mac OS X APIs"
3546 if test "$_macosx" = auto ; then
3547 productName=`/usr/bin/sw_vers -productName`
3548 if test "$productName" = "Mac OS X" ||
3549 test "$productName" = "Mac OS X Server" ; then
3550 _macosx=yes
3551 else
3552 _macosx=no
3553 _def_macosx='#undef MACOSX'
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);
3569 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3570 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3571 _def_macosx='#define MACOSX 1'
3572 _aosrc="$_aosrc ao_macosx.c"
3573 _aomodules="macosx $_aomodules"
3574 _vosrc="$_vosrc vo_quartz.c"
3575 _vomodules="quartz $_vomodules"
3576 else
3577 _macosx=no
3578 _def_macosx='#undef MACOSX'
3579 _noaomodules="macosx $_noaomodules"
3580 _novomodules="quartz $_novomodules"
3582 cat > $TMPC <<EOF
3583 #include <Carbon/Carbon.h>
3584 #include <QuartzCore/CoreVideo.h>
3585 int main(void) {}
3587 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3588 _vosrc="$_vosrc vo_macosx.m"
3589 _vomodules="macosx $_vomodules"
3590 _macosx_frameworks="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3591 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3592 _macosx_corevideo=yes
3593 else
3594 _novomodules="macosx $_novomodules"
3595 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3596 _macosx_corevideo=no
3599 echores "$_macosx"
3601 echocheck "Mac OS X Finder Support"
3602 if test "$_macosx_finder_support" = auto ; then
3603 _macosx_finder_support=$_macosx
3605 if test "$_macosx_finder_support" = yes; then
3606 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3607 _macosx_finder_support=yes
3608 else
3609 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3610 _macosx_finder_support=no
3612 echores "$_macosx_finder_support"
3614 echocheck "Mac OS X Bundle file locations"
3615 if test "$_macosx_bundle" = auto ; then
3616 _macosx_bundle=$_macosx_finder_support
3618 if test "$_macosx_bundle" = yes; then
3619 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3620 else
3621 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3622 _macosx_bundle=no
3624 echores "$_macosx_bundle"
3626 fi #if darwin
3629 echocheck "pkg-config"
3630 _pkg_config=pkg-config
3631 if `$_pkg_config --version > /dev/null 2>&1`; then
3632 echores "yes"
3633 else
3634 _pkg_config=false
3635 echores "no"
3639 echocheck "Samba support (libsmbclient)"
3640 if test "$_smbsupport" = yes; then
3641 _ld_smb="-lsmbclient"
3643 if test "$_smbsupport" = auto; then
3644 _smbsupport=no
3645 cat > $TMPC << EOF
3646 #include <libsmbclient.h>
3647 int main(void) { smbc_opendir("smb://"); return 0; }
3649 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3650 cc_check $_ld_tmp && _ld_smb="$_ld_tmp" && _smbsupport=yes && break
3651 done
3654 if test "$_smbsupport" = yes; then
3655 _def_smbsupport="#define LIBSMBCLIENT"
3656 _inputmodules="smb $_inputmodules"
3657 else
3658 _def_smbsupport="#undef LIBSMBCLIENT"
3659 _noinputmodules="smb $_noinputmodules"
3661 echores "$_smbsupport"
3664 #########
3665 # VIDEO #
3666 #########
3669 echocheck "3dfx"
3670 if test "$_3dfx" = yes ; then
3671 _def_3dfx='#define HAVE_3DFX 1'
3672 _vosrc="$_vosrc vo_3dfx.c"
3673 _vomodules="3dfx $_vomodules"
3674 else
3675 _def_3dfx='#undef HAVE_3DFX'
3676 _novomodules="3dfx $_novomodules"
3678 echores "$_3dfx"
3681 echocheck "tdfxfb"
3682 if test "$_tdfxfb" = yes ; then
3683 _def_tdfxfb='#define HAVE_TDFXFB 1'
3684 _vosrc="$_vosrc vo_tdfxfb.c"
3685 _vomodules="tdfxfb $_vomodules"
3686 else
3687 _def_tdfxfb='#undef HAVE_TDFXFB'
3688 _novomodules="tdfxfb $_novomodules"
3690 echores "$_tdfxfb"
3692 echocheck "s3fb"
3693 if test "$_s3fb" = yes ; then
3694 _def_s3fb='#define HAVE_S3FB 1'
3695 _vosrc="$_vosrc vo_s3fb.c"
3696 _vomodules="s3fb $_vomodules"
3697 else
3698 _def_s3fb='#undef HAVE_S3FB'
3699 _novomodules="s3fb $_novomodules"
3701 echores "$_s3fb"
3703 echocheck "tdfxvid"
3704 if test "$_tdfxvid" = yes ; then
3705 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3706 _vosrc="$_vosrc vo_tdfx_vid.c"
3707 _vomodules="tdfx_vid $_vomodules"
3708 else
3709 _def_tdfxvid='#undef HAVE_TDFX_VID'
3710 _novomodules="tdfx_vid $_novomodules"
3712 echores "$_tdfxvid"
3714 echocheck "tga"
3715 if test "$_tga" = yes ; then
3716 _def_tga='#define HAVE_TGA 1'
3717 _vosrc="$_vosrc vo_tga.c"
3718 _vomodules="tga $_vomodules"
3719 else
3720 _def_tga='#undef HAVE_TGA'
3721 _novomodules="tga $_novomodules"
3723 echores "$_tga"
3726 echocheck "DirectFB"
3727 if test "$_directfb" = auto ; then
3728 _directfb=no
3729 cat > $TMPC <<EOF
3730 #include <directfb.h>
3731 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3733 for _inc_tmp in "" -I/usr/local/include/directfb \
3734 -I/usr/include/directfb -I/usr/local/include -I/usr/include; do
3735 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
3736 _inc_extra="$_inc_extra $_inc_tmp" && break
3737 done
3740 dfb_version() {
3741 expr $1 \* 65536 + $2 \* 256 + $3
3744 if test "$_directfb" = yes; then
3745 cat > $TMPC << EOF
3746 #include <directfb_version.h>
3748 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3751 if $_cc -E $TMPC $_inc_extra > "$TMPO"; then
3752 _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPO" | tr -d '()'`
3753 _dfb_major=`echo $_directfb_version | cut -d . -f 1`
3754 _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
3755 _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
3756 _dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3757 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3758 _def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
3759 _res_comment="$_directfb_version"
3760 else
3761 _def_directfb_version='#undef DIRECTFBVERSION'
3762 _directfb=no
3763 _res_comment="version >=0.9.13 required"
3765 else
3766 _directfb=no
3767 _res_comment="failed to get version"
3770 echores "$_directfb"
3772 if test "$_directfb" = yes ; then
3773 _def_directfb='#define HAVE_DIRECTFB 1'
3774 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3775 _vosrc="$_vosrc vo_directfb2.c"
3776 _vomodules="directfb $_vomodules"
3777 _ld_directfb='-ldirectfb'
3778 else
3779 _novomodules="directfb $_novomodules"
3782 if test "$_dfb_version" -ge `dfb_version 0 9 15`; then
3783 _vosrc="$_vosrc vo_dfbmga.c"
3784 _vomodules="dfbmga $_vomodules"
3785 _def_dfbmga='#define HAVE_DFBMGA 1'
3786 else
3787 _novomodules="dfbmga $_novomodules"
3788 _def_dfbmga='#undef HAVE_DFBMGA'
3790 else
3791 _def_directfb='#undef HAVE_DIRECTFB'
3792 _novomodules="dfbmga directfb $_novomodules"
3796 echocheck "X11 headers presence"
3797 for I in `echo $_inc_extra | sed s/-I//g` /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
3798 if test -f "$I/X11/Xlib.h" ; then
3799 _inc_x11="-I$I"
3800 _x11_headers="yes"
3801 _res_comment="using $I"
3802 break
3804 done
3805 #FIXME: This is ugly as it can duplicate a -I parameter..
3806 _inc_extra="$_inc_extra $_inc_x11"
3807 if test -z "$_inc_x11" ; then
3808 _x11=no
3809 _x11_headers="no"
3810 _res_comment="check if the dev(el) packages are installed"
3812 echores "$_x11_headers"
3815 echocheck "X11"
3816 if test "$_x11" != no ; then
3817 cat > $TMPC <<EOF
3818 #include <X11/Xlib.h>
3819 #include <X11/Xutil.h>
3820 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3822 for I in $_ld_x11 "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3823 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3824 _ld_x11="$I -lXext -lX11 $_ld_sock $_ld_pthread"
3825 if netbsd; then
3826 _ld_x11="$_ld_x11 -Wl,-R`echo $I | sed s/^-L//`"
3828 cc_check $_ld_x11 && _x11=yes && break
3829 done
3831 if test "$_x11" = yes ; then
3832 _def_x11='#define HAVE_X11 1'
3833 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3834 _vomodules="x11 xover $_vomodules"
3835 else
3836 _x11=no
3837 _def_x11='#undef HAVE_X11'
3838 _ld_x11=''
3839 _novomodules="x11 $_novomodules"
3840 _res_comment="check if the dev(el) packages are installed"
3841 # disable stuff that depends on X
3842 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no ; _dga=no
3844 echores "$_x11"
3847 echocheck "DPMS"
3848 _xdpms3=no
3849 _xdpms4=no
3850 if test "$_x11" = yes ; then
3851 cat > $TMPC <<EOF
3852 #include <X11/Xmd.h>
3853 #include <X11/Xlib.h>
3854 #include <X11/Xutil.h>
3855 #include <X11/Xatom.h>
3856 #include <X11/extensions/dpms.h>
3857 int main(void) {
3858 (void) DPMSQueryExtension(0, 0, 0);
3861 cc_check -lXdpms $_ld_x11 && _xdpms3=yes
3862 cat > $TMPC <<EOF
3863 #include <X11/Xlib.h>
3864 #include <X11/extensions/dpms.h>
3865 int main(void) {
3866 (void) DPMSQueryExtension(0, 0, 0);
3869 cc_check $_ld_x11 && _xdpms4=yes
3871 if test "$_xdpms4" = yes ; then
3872 _def_xdpms='#define HAVE_XDPMS 1'
3873 _res_comment="using Xdpms 4"
3874 echores "yes"
3875 elif test "$_xdpms3" = yes ; then
3876 _def_xdpms='#define HAVE_XDPMS 1'
3877 _ld_x11="-lXdpms $_ld_x11"
3878 _res_comment="using Xdpms 3"
3879 echores "yes"
3880 else
3881 _def_xdpms='#undef HAVE_XDPMS'
3882 echores "no"
3886 echocheck "Xv"
3887 if test "$_xv" = auto ; then
3888 cat > $TMPC <<EOF
3889 #include <X11/Xlib.h>
3890 #include <X11/extensions/Xvlib.h>
3891 int main(void) {
3892 (void) XvGetPortAttribute(0, 0, 0, 0);
3893 (void) XvQueryPortAttributes(0, 0, 0);
3894 return 0; }
3896 _xv=no
3897 cc_check -lXv $_ld_x11 && _xv=yes
3900 if test "$_xv" = yes ; then
3901 _def_xv='#define HAVE_XV 1'
3902 _ld_xv='-lXv'
3903 _vosrc="$_vosrc vo_xv.c"
3904 _vomodules="xv $_vomodules"
3905 else
3906 _def_xv='#undef HAVE_XV'
3907 _novomodules="xv $_novomodules"
3909 echores "$_xv"
3912 echocheck "XvMC"
3913 if test "$_xv" = yes && test "$_xvmc" != no ; then
3914 _xvmc=no
3915 cat > $TMPC <<EOF
3916 #include <X11/Xlib.h>
3917 #include <X11/extensions/Xvlib.h>
3918 #include <X11/extensions/XvMClib.h>
3919 int main(void) {
3920 (void) XvMCQueryExtension(0,0,0);
3921 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3922 return 0; }
3924 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
3925 cc_check -lXvMC -l$_ld_tmp $_ld_xv $_ld_x11 && _xvmc=yes && _xvmclib="$_ld_tmp" && break
3926 done
3928 if test "$_xvmc" = yes ; then
3929 _def_xvmc='#define HAVE_XVMC 1'
3930 _ld_xvmc="-lXvMC -l$_xvmclib"
3931 _vosrc="$_vosrc vo_xvmc.c"
3932 _vomodules="xvmc $_vomodules"
3933 _res_comment="using $_xvmclib"
3934 else
3935 _def_xvmc='#undef HAVE_XVMC'
3936 _novomodules="xvmc $_novomodules"
3938 echores "$_xvmc"
3941 echocheck "Xinerama"
3942 if test "$_xinerama" = auto ; then
3943 cat > $TMPC <<EOF
3944 #include <X11/Xlib.h>
3945 #include <X11/extensions/Xinerama.h>
3946 int main(void) { (void) XineramaIsActive(0); return 0; }
3948 _xinerama=no
3949 cc_check -lXinerama $_ld_x11 && _xinerama=yes
3952 if test "$_xinerama" = yes ; then
3953 _def_xinerama='#define HAVE_XINERAMA 1'
3954 _ld_xinerama='-lXinerama'
3955 else
3956 _def_xinerama='#undef HAVE_XINERAMA'
3958 echores "$_xinerama"
3961 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3962 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3963 # named 'X extensions' or something similar.
3964 # This check may be useful for future mplayer versions (to change resolution)
3965 # If you run into problems, remove '-lXxf86vm'.
3966 echocheck "Xxf86vm"
3967 if test "$_vm" = auto ; then
3968 cat > $TMPC <<EOF
3969 #include <X11/Xlib.h>
3970 #include <X11/extensions/xf86vmode.h>
3971 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3973 _vm=no
3974 cc_check -lXxf86vm $_ld_x11 && _vm=yes
3976 if test "$_vm" = yes ; then
3977 _def_vm='#define HAVE_XF86VM 1'
3978 _ld_vm='-lXxf86vm'
3979 else
3980 _def_vm='#undef HAVE_XF86VM'
3982 echores "$_vm"
3984 # Check for the presence of special keycodes, like audio control buttons
3985 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3986 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3987 # have these new keycodes.
3988 echocheck "XF86keysym"
3989 if test "$_xf86keysym" = auto; then
3990 _xf86keysym=no
3991 cat > $TMPC <<EOF
3992 #include <X11/Xlib.h>
3993 #include <X11/XF86keysym.h>
3994 int main(void) { return XF86XK_AudioPause; }
3996 cc_check $_ld_x11 && _xf86keysym=yes
3998 if test "$_xf86keysym" = yes ; then
3999 _def_xf86keysym='#define HAVE_XF86XK 1'
4000 else
4001 _def_xf86keysym='#undef HAVE_XF86XK'
4003 echores "$_xf86keysym"
4005 echocheck "DGA"
4006 # Version 2 is preferred to version 1 if available
4007 if test "$_dga" = auto ; then
4008 cat > $TMPC << EOF
4009 #include <X11/Xlib.h>
4010 #include <X11/extensions/xf86dga.h>
4011 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4013 _dga=no
4014 cc_check -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
4016 cat > $TMPC << EOF
4017 #include <X11/Xlib.h>
4018 #include <X11/extensions/xf86dga.h>
4019 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4021 cc_check -lXxf86dga $_ld_x11 && _dga=2
4024 _def_dga='#undef HAVE_DGA'
4025 _def_dga2='#undef HAVE_DGA2'
4026 if test "$_dga" = 1 ; then
4027 _def_dga='#define HAVE_DGA 1'
4028 _ld_dga='-lXxf86dga'
4029 _vosrc="$_vosrc vo_dga.c"
4030 _vomodules="dga $_vomodules"
4031 _res_comment="using DGA 1.0"
4032 elif test "$_dga" = 2 ; then
4033 _def_dga='#define HAVE_DGA 1'
4034 _def_dga2='#define HAVE_DGA2 1'
4035 _ld_dga='-lXxf86dga'
4036 _vosrc="$_vosrc vo_dga.c"
4037 _vomodules="dga $_vomodules"
4038 _res_comment="using DGA 2.0"
4039 elif test "$_dga" = no ; then
4040 _novomodules="dga $_novomodules"
4041 else
4042 die "DGA version must be 1 or 2"
4044 echores "$_dga"
4047 echocheck "OpenGL"
4048 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
4049 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
4050 cat > $TMPC << EOF
4051 #include <GL/gl.h>
4052 int main(void) { return 0; }
4054 _gl=no
4055 if cc_check $_ld_x11 -lGL $_ld_lm ; then
4056 _gl=yes
4057 _ld_gl="-lGL $_ld_dl"
4058 elif cc_check $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
4059 _gl=yes
4060 _ld_gl="-lGL $_ld_pthread $_ld_dl"
4061 elif cc_check -lopengl32 ; then
4062 _gl=yes
4063 _gl_win32=yes
4064 _ld_gl="-lopengl32 -lgdi32"
4066 else
4067 _gl=no
4069 if test "$_gl" = yes ; then
4070 _def_gl='#define HAVE_GL 1'
4071 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4072 if test "$_gl_win32" = yes ; then
4073 _def_gl_win32='#define GL_WIN32 1'
4074 _vosrc="$_vosrc w32_common.c"
4075 _res_comment="win32 version"
4077 _vomodules="opengl $_vomodules"
4078 else
4079 _def_gl='#undef HAVE_GL'
4080 _def_gl_win32='#undef GL_WIN32'
4081 _novomodules="opengl $_novomodules"
4083 echores "$_gl"
4086 echocheck "/dev/mga_vid"
4087 if test "$_mga" = auto ; then
4088 _mga=no
4089 test -c /dev/mga_vid && _mga=yes
4091 if test "$_mga" = yes ; then
4092 _def_mga='#define HAVE_MGA 1'
4093 _vosrc="$_vosrc vo_mga.c"
4094 _vomodules="mga $_vomodules"
4095 else
4096 _def_mga='#undef HAVE_MGA'
4097 _novomodules="mga $_novomodules"
4099 echores "$_mga"
4102 # echocheck "syncfb"
4103 # _syncfb=no
4104 # test "$_mga" = yes && _syncfb=yes
4105 # if test "$_syncfb" = yes ; then
4106 # _def_syncfb='#define HAVE_SYNCFB 1'
4107 # _vosrc="$_vosrc vo_syncfb.c"
4108 # else
4109 # _def_syncfb='#undef HAVE_SYNCFB'
4110 # fi
4111 # echores "$_syncfb"
4114 echocheck "xmga"
4115 if test "$_xmga" = auto ; then
4116 _xmga=no
4117 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4119 if test "$_xmga" = yes ; then
4120 _def_xmga='#define HAVE_XMGA 1'
4121 _vosrc="$_vosrc vo_xmga.c"
4122 _vomodules="xmga $_vomodules"
4123 else
4124 _def_xmga='#undef HAVE_XMGA'
4125 _novomodules="xmga $_novomodules"
4127 echores "$_xmga"
4130 echocheck "GGI"
4131 if test "$_ggi" = auto ; then
4132 cat > $TMPC << EOF
4133 #include <ggi/ggi.h>
4134 int main(void) { return 0; }
4136 _ggi=no
4137 cc_check -lggi && _ggi=yes
4139 if test "$_ggi" = yes ; then
4140 _def_ggi='#define HAVE_GGI 1'
4141 _ld_ggi='-lggi'
4142 _vosrc="$_vosrc vo_ggi.c"
4143 _vomodules="ggi $_vomodules"
4144 else
4145 _def_ggi='#undef HAVE_GGI'
4146 _novomodules="ggi $_novomodules"
4148 echores "$_ggi"
4150 echocheck "GGI extension: libggiwmh"
4151 if test "$_ggiwmh" = auto ; then
4152 _ggiwmh=no
4153 cat > $TMPC << EOF
4154 #include <ggi/ggi.h>
4155 #include <ggi/wmh.h>
4156 int main(void) { return 0; }
4158 cc_check -lggi -lggiwmh && _ggiwmh=yes
4160 # needed to get right output on obscure combination
4161 # like --disable-ggi --enable-ggiwmh
4162 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4163 _def_ggiwmh='#define HAVE_GGIWMH 1'
4164 _ld_ggi="$_ld_ggi -lggiwmh"
4165 else
4166 _ggiwmh=no
4167 _def_ggiwmh='#undef HAVE_GGIWMH'
4169 echores "$_ggiwmh"
4172 echocheck "AA"
4173 if test "$_aa" = auto ; then
4174 cat > $TMPC << EOF
4175 #include <aalib.h>
4176 extern struct aa_hardware_params aa_defparams;
4177 extern struct aa_renderparams aa_defrenderparams;
4178 int main(void) {
4179 aa_context *c;
4180 aa_renderparams *p;
4181 (void) aa_init(0, 0, 0);
4182 c = aa_autoinit(&aa_defparams);
4183 p = aa_getrenderparams();
4184 aa_autoinitkbd(c,0);
4185 return 0; }
4187 _aa=no
4188 for _ld_tmp in "-laa" "$_ld_x11 -laa" ; do
4189 cc_check $_ld_tmp && _ld_aa=$_ld_tmp && _aa=yes && break
4190 done
4192 if test "$_aa" = yes ; then
4193 _def_aa='#define HAVE_AA 1'
4194 if cygwin ; then
4195 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
4197 _vosrc="$_vosrc vo_aa.c"
4198 _vomodules="aa $_vomodules"
4199 else
4200 _def_aa='#undef HAVE_AA'
4201 _novomodules="aa $_novomodules"
4203 echores "$_aa"
4206 echocheck "CACA"
4207 if test "$_caca" = auto ; then
4208 _caca=no
4209 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4210 cat > $TMPC << EOF
4211 #include <caca.h>
4212 #ifdef CACA_API_VERSION_1
4213 #include <caca0.h>
4214 #endif
4215 int main(void) { (void) caca_init(); return 0; }
4217 cc_check `caca-config --libs` && _caca=yes
4220 if test "$_caca" = yes ; then
4221 _def_caca='#define HAVE_CACA 1'
4222 _inc_extra="$_inc_extra `caca-config --cflags`"
4223 _ld_caca=`caca-config --libs`
4224 _vosrc="$_vosrc vo_caca.c"
4225 _vomodules="caca $_vomodules"
4226 else
4227 _def_caca='#undef HAVE_CACA'
4228 _novomodules="caca $_novomodules"
4230 echores "$_caca"
4233 echocheck "SVGAlib"
4234 if test "$_svga" = auto ; then
4235 cat > $TMPC << EOF
4236 #include <vga.h>
4237 int main(void) { return 0; }
4239 _svga=no
4240 cc_check -lvga $_ld_lm && _svga=yes
4242 if test "$_svga" = yes ; then
4243 _def_svga='#define HAVE_SVGALIB 1'
4244 _ld_svga="-lvga"
4245 _vosrc="$_vosrc vo_svga.c"
4246 _vomodules="svga $_vomodules"
4247 else
4248 _def_svga='#undef HAVE_SVGALIB'
4249 _novomodules="svga $_novomodules"
4251 echores "$_svga"
4254 echocheck "FBDev"
4255 if test "$_fbdev" = auto ; then
4256 _fbdev=no
4257 linux && test -c /dev/fb0 && _fbdev=yes
4259 if test "$_fbdev" = yes ; then
4260 _def_fbdev='#define HAVE_FBDEV 1'
4261 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4262 _vomodules="fbdev $_vomodules"
4263 else
4264 _def_fbdev='#undef HAVE_FBDEV'
4265 _novomodules="fbdev $_novomodules"
4267 echores "$_fbdev"
4271 echocheck "DVB"
4272 if test "$_dvb" = auto ; then
4273 _dvb=no
4274 cat >$TMPC << EOF
4275 #include <sys/poll.h>
4276 #include <sys/ioctl.h>
4277 #include <stdio.h>
4278 #include <time.h>
4279 #include <unistd.h>
4281 #include <ost/dmx.h>
4282 #include <ost/frontend.h>
4283 #include <ost/sec.h>
4284 #include <ost/video.h>
4285 #include <ost/audio.h>
4286 int main(void) {return 0;}
4288 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4289 cc_check $_inc_tmp && _dvb=yes && \
4290 _inc_extra="$_inc_extra $_inc_tmp" && break
4291 done
4293 echores "$_dvb"
4294 if test "$_dvb" = yes ; then
4295 _def_dvb='#define HAVE_DVB 1'
4296 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4297 _aomodules="mpegpes(dvb) $_aomodules"
4298 _vomodules="mpegpes(dvb) $_vomodules"
4301 echocheck "DVB HEAD"
4302 if test "$_dvbhead" = auto ; then
4303 _dvbhead=no
4305 cat >$TMPC << EOF
4306 #include <sys/poll.h>
4307 #include <sys/ioctl.h>
4308 #include <stdio.h>
4309 #include <time.h>
4310 #include <unistd.h>
4312 #include <linux/dvb/dmx.h>
4313 #include <linux/dvb/frontend.h>
4314 #include <linux/dvb/video.h>
4315 #include <linux/dvb/audio.h>
4316 int main(void) {return 0;}
4318 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4319 cc_check $_inc_tmp && _dvbhead=yes && \
4320 _inc_extra="$_inc_extra $_inc_tmp" && break
4321 done
4323 echores "$_dvbhead"
4324 if test "$_dvbhead" = yes ; then
4325 _def_dvb='#define HAVE_DVB_HEAD 1'
4326 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4327 _aomodules="mpegpes(dvb) $_aomodules"
4328 _vomodules="mpegpes(dvb) $_vomodules"
4331 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4332 _def_dvb='#undef HAVE_DVB'
4333 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4334 _aomodules="mpegpes(file) $_aomodules"
4335 _vomodules="mpegpes(file) $_vomodules"
4338 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4339 _dvbin=yes
4340 _inputmodules="dvb $_inputmodules"
4341 else
4342 _dvbin=no
4343 _noinputmodules="dvb $_noinputmodules"
4346 echocheck "PNG support"
4347 if test "$_png" = auto ; then
4348 _png=no
4349 if irix ; then
4350 # Don't check for -lpng on irix since it has its own libpng
4351 # incompatible with the GNU libpng
4352 _res_comment="disabled on irix (not GNU libpng)"
4353 else
4354 cat > $TMPC << EOF
4355 #include <png.h>
4356 #include <string.h>
4357 int main(void) {
4358 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4359 printf("libpng: %s\n", png_libpng_ver);
4360 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4363 if cc_check -lpng -lz $_ld_lm ; then
4364 if tmp_run ; then
4365 _png=yes
4366 else
4367 _res_comment="mismatch of library and header versions"
4372 echores "$_png"
4373 if test "$_png" = yes ; then
4374 _def_png='#define HAVE_PNG 1'
4375 _ld_png='-lpng -lz'
4376 _vosrc="$_vosrc vo_png.c"
4377 _vomodules="png $_vomodules"
4378 else
4379 _def_png='#undef HAVE_PNG'
4380 _novomodules="png $_novomodules"
4383 echocheck "JPEG support"
4384 if test "$_jpeg" = auto ; then
4385 _jpeg=no
4386 cat > $TMPC << EOF
4387 #include <stdio.h>
4388 #include <stdlib.h>
4389 #include <setjmp.h>
4390 #include <string.h>
4391 #include <jpeglib.h>
4392 int main(void) {
4393 return 0;
4396 if cc_check -ljpeg $_ld_lm ; then
4397 if tmp_run ; then
4398 _jpeg=yes
4402 echores "$_jpeg"
4404 if test "$_jpeg" = yes ; then
4405 _def_jpeg='#define HAVE_JPEG 1'
4406 _vosrc="$_vosrc vo_jpeg.c"
4407 _vomodules="jpeg $_vomodules"
4408 _ld_jpeg="-ljpeg"
4409 else
4410 _def_jpeg='#undef HAVE_JPEG'
4411 _novomodules="jpeg $_novomodules"
4416 echocheck "PNM support"
4417 if test "$_pnm" = yes; then
4418 _def_pnm="#define HAVE_PNM"
4419 _vosrc="$_vosrc vo_pnm.c"
4420 _vomodules="pnm $_vomodules"
4421 else
4422 _def_pnm="#undef HAVE_PNM"
4423 _novomodules="pnm $_novomodules"
4425 echores "$_pnm"
4429 echocheck "GIF support"
4430 # This is to appease people who want to force gif support.
4431 # If it is forced to yes, then we still do checks to determine
4432 # which gif library to use.
4433 if test "$_gif" = yes ; then
4434 _force_gif=yes
4435 _gif=auto
4438 if test "$_gif" = auto ; then
4439 _gif=no
4440 cat > $TMPC << EOF
4441 #include <gif_lib.h>
4442 int main(void) {
4443 return 0;
4446 for _ld_tmp in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4447 cc_check $_ld_tmp && tmp_run && _ld_gif="$_ld_tmp" && _gif=yes && break
4448 done
4451 # If no library was found, and the user wants support forced,
4452 # then we force it on with libgif, as this is the safest
4453 # assumption IMHO. (libungif & libregif both create symbolic
4454 # links to libgif. We also assume that no x11 support is needed,
4455 # because if you are forcing this, then you _should_ know what
4456 # you are doing. [ Besides, package maintainers should never
4457 # have compiled x11 deps into libungif in the first place. ] )
4458 # </rant>
4459 # --Joey
4460 if test "$_force_gif" = yes && test "$_gif" = no ; then
4461 _gif=yes
4462 _ld_gif="-lgif"
4465 if test "$_gif" = yes ; then
4466 _def_gif='#define HAVE_GIF 1'
4467 _vosrc="$_vosrc vo_gif89a.c"
4468 _codecmodules="gif $_codecmodules"
4469 _vomodules="gif89a $_vomodules"
4470 _res_comment="old version, some encoding functions disabled"
4471 _def_gif_4='#undef HAVE_GIF_4'
4473 cat > $TMPC << EOF
4474 #include <signal.h>
4475 #include <gif_lib.h>
4476 void catch() { exit(1); }
4477 int main(void) {
4478 signal(SIGSEGV, catch); // catch segfault
4479 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4480 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4481 return 0;
4484 if cc_check "$_ld_gif" && tmp_run ; then
4485 _def_gif_4='#define HAVE_GIF_4 1'
4486 _res_comment=""
4488 else
4489 _def_gif='#undef HAVE_GIF'
4490 _def_gif_4='#undef HAVE_GIF_4'
4491 _novomodules="gif89a $_novomodules"
4492 _nocodecmodules="gif $_nocodecmodules"
4494 echores "$_gif"
4497 case "$_gif" in yes*)
4498 echocheck "broken giflib workaround"
4499 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4501 cat > $TMPC << EOF
4502 #include <gif_lib.h>
4503 int main(void) {
4504 GifFileType gif;
4505 printf("UserData is at address %p\n", gif.UserData);
4506 return 0;
4509 if cc_check "$_ld_gif" && tmp_run ; then
4510 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4511 echores "disabled"
4512 else
4513 echores "enabled"
4516 esac
4519 echocheck "VESA support"
4520 if test "$_vesa" = auto ; then
4521 cat > $TMPC << EOF
4522 #include <vbe.h>
4523 int main(void) { vbeVersion(); return 0; }
4525 _vesa=no
4526 cc_check -lvbe -llrmi && _vesa=yes
4528 if test "$_vesa" = yes ; then
4529 _def_vesa='#define HAVE_VESA 1'
4530 _ld_vesa="-lvbe -llrmi"
4531 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4532 _vomodules="vesa $_vomodules"
4533 else
4534 _def_vesa='#undef HAVE_VESA'
4535 _novomodules="vesa $_novomodules"
4537 echores "$_vesa"
4539 #################
4540 # VIDEO + AUDIO #
4541 #################
4544 echocheck "SDL"
4545 if test -z "$_sdlconfig" ; then
4546 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4547 _sdlconfig="sdl-config"
4548 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4549 _sdlconfig="sdl11-config"
4550 else
4551 _sdlconfig=false
4554 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4555 cat > $TMPC << EOF
4556 #include <SDL.h>
4557 int main(int argc, char *argv[]) { return 0; }
4559 _sdl=no
4560 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4561 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4562 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4563 if test "$_sdlversion" -gt 116 ; then
4564 if test "$_sdlversion" -lt 121 ; then
4565 _def_sdlbuggy='#define BUGGY_SDL'
4566 else
4567 _def_sdlbuggy='#undef BUGGY_SDL'
4569 _sdl=yes
4574 if test "$_sdl" = yes ; then
4575 _def_sdl='#define HAVE_SDL 1'
4576 if cygwin ; then
4577 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4578 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4579 elif mingw32 ; then
4580 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
4581 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4582 else
4583 _ld_sdl=`$_sdlconfig --libs`
4584 _inc_extra="$_inc_extra `$_sdlconfig --cflags`"
4586 _vosrc="$_vosrc vo_sdl.c"
4587 _vomodules="sdl $_vomodules"
4588 _aosrc="$_aosrc ao_sdl.c"
4589 _aomodules="sdl $_aomodules"
4590 _res_comment="using $_sdlconfig"
4591 else
4592 _def_sdl='#undef HAVE_SDL'
4593 _novomodules="sdl $_novomodules"
4594 _noaomodules="sdl $_noaomodules"
4596 echores "$_sdl"
4599 if win32; then
4601 echocheck "Windows waveout"
4602 if test "$_win32waveout" = auto ; then
4603 cat > $TMPC << EOF
4604 #include <windows.h>
4605 #include <mmsystem.h>
4606 int main(void) { return 0; }
4608 _win32waveout=no
4609 cc_check -lwinmm && _win32waveout=yes
4611 if test "$_win32waveout" = yes ; then
4612 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4613 _ld_win32libs="-lwinmm $_ld_win32libs"
4614 _aosrc="$_aosrc ao_win32.c"
4615 _aomodules="win32 $_aomodules"
4616 else
4617 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4618 _noaomodules="win32 $_noaomodules"
4620 echores "$_win32waveout"
4622 echocheck "Directx"
4623 if test "$_directx" = auto ; then
4624 cat > $TMPC << EOF
4625 #include <windows.h>
4626 #include <ddraw.h>
4627 #include <dsound.h>
4628 int main(void) { return 0; }
4630 _directx=no
4631 cc_check -lgdi32 && _directx=yes
4633 if test "$_directx" = yes ; then
4634 _def_directx='#define HAVE_DIRECTX 1'
4635 _ld_win32libs="-lgdi32 $_ld_win32libs"
4636 _vosrc="$_vosrc vo_directx.c"
4637 _vomodules="directx $_vomodules"
4638 _aosrc="$_aosrc ao_dsound.c"
4639 _aomodules="dsound $_aomodules"
4640 else
4641 _def_directx='#undef HAVE_DIRECTX'
4642 _novomodules="directx $_novomodules"
4643 _noaomodules="dsound $_noaomodules"
4645 echores "$_directx"
4647 fi #if win32; then
4650 echocheck "NAS"
4651 if test "$_nas" = auto ; then
4652 cat > $TMPC << EOF
4653 #include <audio/audiolib.h>
4654 int main(void) { return 0; }
4656 _nas=no
4657 cc_check $_ld_lm -laudio -lXt $_ld_x11 && _nas=yes
4659 if test "$_nas" = yes ; then
4660 _def_nas='#define HAVE_NAS 1'
4661 _ld_nas="-laudio -lXt $_ld_x11"
4662 _aosrc="$_aosrc ao_nas.c"
4663 _aomodules="nas $_aomodules"
4664 else
4665 _noaomodules="nas $_noaomodules"
4666 _def_nas='#undef HAVE_NAS'
4668 echores "$_nas"
4670 echocheck "DXR2"
4671 if test "$_dxr2" = auto; then
4672 _dxr2=no
4673 cat > $TMPC << EOF
4674 #include <dxr2ioctl.h>
4675 int main(void) { return 0; }
4677 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4678 cc_check $_inc_tmp && _dxr2=yes && \
4679 _inc_extra="$_inc_extra $_inc_tmp" && break
4680 done
4682 if test "$_dxr2" = yes; then
4683 _def_dxr2='#define HAVE_DXR2 1'
4684 _vosrc="$_vosrc vo_dxr2.c"
4685 _aosrc="$_aosrc ao_dxr2.c"
4686 _aomodules="dxr2 $_aomodules"
4687 _vomodules="dxr2 $_vomodules"
4688 else
4689 _def_dxr2='#undef HAVE_DXR2'
4690 _noaomodules="dxr2 $_noaomodules"
4691 _novomodules="dxr2 $_novomodules"
4693 echores "$_dxr2"
4695 echocheck "DXR3/H+"
4696 if test "$_dxr3" = auto ; then
4697 cat > $TMPC << EOF
4698 #include <linux/em8300.h>
4699 int main(void) { return 0; }
4701 _dxr3=no
4702 cc_check && _dxr3=yes
4704 if test "$_dxr3" = yes ; then
4705 _def_dxr3='#define HAVE_DXR3 1'
4706 _vosrc="$_vosrc vo_dxr3.c"
4707 _vomodules="dxr3 $_vomodules"
4708 else
4709 _def_dxr3='#undef HAVE_DXR3'
4710 _novomodules="dxr3 $_novomodules"
4712 echores "$_dxr3"
4715 echocheck "IVTV TV-Out"
4716 if test "$_ivtv" = auto ; then
4717 cat > $TMPC << EOF
4718 #include <stdlib.h>
4719 #include <inttypes.h>
4720 #include <linux/types.h>
4721 #include <linux/videodev2.h>
4722 #include <linux/ivtv.h>
4723 int main(void) { return 0; }
4725 _ivtv=no
4726 cc_check && _ivtv=yes
4728 if test "$_ivtv" = yes ; then
4729 _def_ivtv='#define HAVE_IVTV 1'
4730 _vosrc="$_vosrc vo_ivtv.c"
4731 _vomodules="ivtv $_vomodules"
4732 _aosrc="$_aosrc ao_ivtv.c"
4733 _aomodules="ivtv $_aomodules"
4734 else
4735 _def_ivtv='#undef HAVE_IVTV'
4736 _novomodules="ivtv $_novomodules"
4737 _noaomodules="ivtv $_noaomodules"
4739 echores "$_ivtv"
4743 #########
4744 # AUDIO #
4745 #########
4748 echocheck "OSS Audio"
4749 if test "$_ossaudio" = auto ; then
4750 cat > $TMPC << EOF
4751 #include <sys/ioctl.h>
4752 $_include_soundcard
4753 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4755 _ossaudio=no
4756 cc_check && _ossaudio=yes
4758 if test "$_ossaudio" = yes ; then
4759 _def_ossaudio='#define USE_OSS_AUDIO 1'
4760 _aosrc="$_aosrc ao_oss.c"
4761 _aomodules="oss $_aomodules"
4762 if test "$_linux_devfs" = yes; then
4763 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4764 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4765 else
4766 cat > $TMPC << EOF
4767 #include <sys/ioctl.h>
4768 $_include_soundcard
4769 #ifdef OPEN_SOUND_SYSTEM
4770 int main(void) { return 0; }
4771 #else
4772 #error Not the real thing
4773 #endif
4775 _real_ossaudio=no
4776 cc_check && _real_ossaudio=yes
4777 if test "$_real_ossaudio" = yes; then
4778 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4779 elif netbsd || openbsd ; then
4780 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4781 _ld_arch="$_ld_arch -lossaudio"
4782 else
4783 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4785 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4787 else
4788 _def_ossaudio='#undef USE_OSS_AUDIO'
4789 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4790 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4791 _noaomodules="oss $_noaomodules"
4793 echores "$_ossaudio"
4796 echocheck "aRts"
4797 if test "$_arts" = auto ; then
4798 _arts=no
4799 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4801 cat > $TMPC << EOF
4802 #include <artsc.h>
4803 int main(void) { return 0; }
4805 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
4810 if test "$_arts" = yes ; then
4811 _def_arts='#define USE_ARTS 1'
4812 _aosrc="$_aosrc ao_arts.c"
4813 _aomodules="arts $_aomodules"
4814 _ld_arts=`artsc-config --libs`
4815 _inc_extra="$_inc_extra `artsc-config --cflags`"
4816 else
4817 _noaomodules="arts $_noaomodules"
4819 echores "$_arts"
4822 echocheck "EsounD"
4823 if test "$_esd" = auto ; then
4824 _esd=no
4825 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4827 cat > $TMPC << EOF
4828 #include <esd.h>
4829 int main(void) { return 0; }
4831 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4835 echores "$_esd"
4837 if test "$_esd" = yes ; then
4838 _def_esd='#define USE_ESD 1'
4839 _aosrc="$_aosrc ao_esd.c"
4840 _aomodules="esd $_aomodules"
4841 _ld_esd=`esd-config --libs`
4842 _inc_extra="$_inc_extra `esd-config --cflags`"
4844 echocheck "esd_get_latency()"
4845 cat > $TMPC << EOF
4846 #include <esd.h>
4847 int main(void) { return esd_get_latency(0); }
4849 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4850 echores "$_esd_latency"
4851 else
4852 _def_esd='#undef USE_ESD'
4853 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4854 _noaomodules="esd $_noaomodules"
4857 echocheck "Polyp"
4858 if test "$_polyp" = auto ; then
4859 _polyp=no
4860 if $_pkg_config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4862 cat > $TMPC << EOF
4863 #include <polyp/polyplib.h>
4864 #include <polyp/mainloop.h>
4865 #include <polyp/polyplib-error.h>
4866 int main(void) { return 0; }
4868 cc_check `$_pkg_config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run && _polyp=yes
4872 echores "$_polyp"
4874 if test "$_polyp" = yes ; then
4875 _def_polyp='#define USE_POLYP 1'
4876 _aosrc="$_aosrc ao_polyp.c"
4877 _aomodules="polyp $_aomodules"
4878 _ld_polyp=`$_pkg_config --libs polyplib polyplib-error polyplib-mainloop`
4879 _inc_extra="$_inc_extra `$_pkg_config --cflags polyplib polyplib-error polyplib-mainloop`"
4880 else
4881 _def_polyp='#undef USE_POLYP'
4882 _noaomodules="polyp $_noaomodules"
4886 echocheck "JACK"
4887 if test "$_jack" = auto ; then
4888 _jack=yes
4890 cat > $TMPC << EOF
4891 #include <jack/jack.h>
4892 int main(void) { jack_client_new("test"); return 0; }
4894 if cc_check -ljack ; then
4895 _ld_jack="-ljack"
4896 elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
4897 _ld_jack="`$_pkg_config --libs jack`"
4898 _inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
4899 else
4900 _jack=no
4904 if test "$_jack" = yes ; then
4905 _def_jack='#define USE_JACK 1'
4906 _aosrc="$_aosrc ao_jack.c"
4907 _aomodules="jack $_aomodules"
4908 else
4909 _noaomodules="jack $_noaomodules"
4911 echores "$_jack"
4913 echocheck "OpenAL"
4914 if test "$_openal" = auto ; then
4915 _openal=no
4916 cat > $TMPC << EOF
4917 #include <AL/al.h>
4918 int main(void) {
4919 alSourceQueueBuffers(0, 0, 0);
4920 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4921 return 0;
4924 if cc_check -lopenal ; then
4925 _ld_openal="-lopenal"
4926 _openal=yes
4929 if test "$_openal" = yes ; then
4930 _def_openal='#define USE_OPENAL 1'
4931 _aosrc="$_aosrc ao_openal.c"
4932 _aomodules="openal $_aomodules"
4933 else
4934 _noaomodules="openal $_noaomodules"
4936 echores "$_openal"
4938 echocheck "ALSA audio"
4939 if test "$_alsa" != no ; then
4940 _alsa=no
4941 cat > $TMPC << EOF
4942 #include <sys/asoundlib.h>
4943 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4944 #error "alsa version != 0.5.x"
4945 #endif
4946 int main(void) { return 0; }
4948 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
4950 cat > $TMPC << EOF
4951 #include <sys/asoundlib.h>
4952 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4953 #error "alsa version != 0.9.x"
4954 #endif
4955 int main(void) { return 0; }
4957 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
4958 cat > $TMPC << EOF
4959 #include <alsa/asoundlib.h>
4960 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4961 #error "alsa version != 0.9.x"
4962 #endif
4963 int main(void) { return 0; }
4965 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
4967 cat > $TMPC << EOF
4968 #include <sys/asoundlib.h>
4969 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4970 #error "alsa version != 1.0.x"
4971 #endif
4972 int main(void) { return 0; }
4974 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
4975 cat > $TMPC << EOF
4976 #include <alsa/asoundlib.h>
4977 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4978 #error "alsa version != 1.0.x"
4979 #endif
4980 int main(void) { return 0; }
4982 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
4984 _def_alsa5='#undef HAVE_ALSA5'
4985 _def_alsa9='#undef HAVE_ALSA9'
4986 _def_alsa1x='#undef HAVE_ALSA1X'
4987 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
4988 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
4989 if test "$_alsaver" ; then
4990 _alsa=yes
4991 if test "$_alsaver" = '0.5.x' ; then
4992 _alsa5=yes
4993 _aosrc="$_aosrc ao_alsa5.c"
4994 _aomodules="alsa5 $_aomodules"
4995 _def_alsa5='#define HAVE_ALSA5 1'
4996 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4997 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
4998 elif test "$_alsaver" = '0.9.x-sys' ; then
4999 _alsa9=yes
5000 _aosrc="$_aosrc ao_alsa.c"
5001 _aomodules="alsa $_aomodules"
5002 _def_alsa9='#define HAVE_ALSA9 1'
5003 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5004 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5005 elif test "$_alsaver" = '0.9.x-alsa' ; then
5006 _alsa9=yes
5007 _aosrc="$_aosrc ao_alsa.c"
5008 _aomodules="alsa $_aomodules"
5009 _def_alsa9='#define HAVE_ALSA9 1'
5010 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5011 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5012 elif test "$_alsaver" = '1.0.x-sys' ; then
5013 _alsa1x=yes
5014 _aosrc="$_aosrc ao_alsa.c"
5015 _aomodules="alsa $_aomodules"
5016 _def_alsa1x="#define HAVE_ALSA1X 1"
5017 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5018 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5019 elif test "$_alsaver" = '1.0.x-alsa' ; then
5020 _alsa1x=yes
5021 _aosrc="$_aosrc ao_alsa.c"
5022 _aomodules="alsa $_aomodules"
5023 _def_alsa1x="#define HAVE_ALSA1X 1"
5024 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5025 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5026 else
5027 _alsa=no
5028 _res_comment="unknown version"
5030 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
5031 else
5032 _noaomodules="alsa $_noaomodules"
5034 echores "$_alsa"
5037 echocheck "Sun audio"
5038 if test "$_sunaudio" = auto ; then
5039 cat > $TMPC << EOF
5040 #include <sys/types.h>
5041 #include <sys/audioio.h>
5042 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5044 _sunaudio=no
5045 cc_check && _sunaudio=yes
5047 if test "$_sunaudio" = yes ; then
5048 _def_sunaudio='#define USE_SUN_AUDIO 1'
5049 _aosrc="$_aosrc ao_sun.c"
5050 _aomodules="sun $_aomodules"
5051 else
5052 _def_sunaudio='#undef USE_SUN_AUDIO'
5053 _noaomodules="sun $_noaomodules"
5055 echores "$_sunaudio"
5058 if sunos; then
5059 echocheck "Sun mediaLib"
5060 if test "$_mlib" = auto ; then
5061 _mlib=no
5062 cat > $TMPC << EOF
5063 #include <mlib.h>
5064 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5066 cc_check $_ld_mlib -lmlib && _mlib=yes
5068 if test "$_mlib" = yes ; then
5069 _def_mlib='#define HAVE_MLIB 1'
5070 _ld_mlib="$_ld_mlib `echo $_ld_mlib | sed s/^-L/-R/` -lmlib"
5071 else
5072 _def_mlib='#undef HAVE_MLIB'
5074 echores "$_mlib"
5075 fi #if sunos
5078 if irix; then
5079 echocheck "SGI audio"
5080 if test "$_sgiaudio" = auto ; then
5081 # check for SGI audio
5082 cat > $TMPC << EOF
5083 #include <dmedia/audio.h>
5084 int main(void) { return 0; }
5086 _sgiaudio=no
5087 cc_check && _sgiaudio=yes
5089 if test "$_sgiaudio" = "yes" ; then
5090 _def_sgiaudio='#define USE_SGI_AUDIO 1'
5091 _ld_sgiaudio='-laudio'
5092 _aosrc="$_aosrc ao_sgi.c"
5093 _aomodules="sgi $_aomodules"
5094 else
5095 _def_sgiaudio='#undef USE_SGI_AUDIO'
5096 _noaomodules="sgi $_noaomodules"
5098 echores "$_sgiaudio"
5099 fi #if irix
5102 echocheck "VCD support"
5103 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
5104 _inputmodules="vcd $_inputmodules"
5105 _def_vcd='#define HAVE_VCD 1'
5106 _vcd="yes"
5107 else
5108 _def_vcd='#undef HAVE_VCD'
5109 _noinputmodules="vcd $_noinputmodules"
5110 _res_comment="not supported on this OS"
5111 _vcd="no"
5113 echores "$_vcd"
5115 echocheck "DVD support (libdvdnav)"
5116 if test "$_dvdnav" = auto ; then
5117 $_dvdnavconfig --version >> $TMPLOG 2>&1 || _dvdnav=no
5119 if test "$_dvdnav" = auto ; then
5120 cat > $TMPC <<EOF
5121 #include <dvdnav.h>
5122 int main(void) { dvdnav_t *dvd=0; return 0; }
5124 _dvdnav=no
5125 _dvdnavdir=`$_dvdnavconfig --cflags`
5126 _dvdnavlibs=`$_dvdnavconfig --libs`
5127 _dvdnavvsn=`$_dvdnavconfig --version | sed "s/\.//g"`
5128 _dvdnavmajor=`echo $_dvdnavvsn | cut -d. -f2`
5129 test "$_dvdnavmajor" -ge 2 -o "$_dvdnavvsn" -ge 0110 && \
5130 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
5132 if test "$_dvdnav" = yes ; then
5133 _largefiles=yes
5134 _def_dvdnav='#define USE_DVDNAV 1'
5135 _ld_dvdnav=`$_dvdnavconfig --libs`
5136 _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5137 _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5138 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
5139 _inputmodules="dvdnav $_inputmodules"
5141 #disable dvdread checks: dvdread will be enabled using dvdnav's version of dvdread
5142 _dvdread_internal=no
5143 _dvdread=yes
5144 else
5145 _def_dvdnav='#undef USE_DVDNAV'
5146 _noinputmodules="dvdnav $_noinputmodules"
5148 echores "$_dvdnav"
5151 echocheck "dvdread"
5152 if test "$_dvdread_internal" = auto ; then
5153 _dvdread_internal=no
5154 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux && \
5155 test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5156 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes || \
5157 test "$_hpux_scsi_h" = yes || darwin || win32 ; then
5158 _dvdread_internal=yes
5159 _dvdread=yes
5160 _res_comment="internal"
5162 elif test "$_dvdread" = auto ; then
5163 _dvdread=no
5164 if test "$_dl" = yes; then
5165 cat > $TMPC << EOF
5166 #include <inttypes.h>
5167 #include <dvdread/dvd_reader.h>
5168 #include <dvdread/ifo_types.h>
5169 #include <dvdread/ifo_read.h>
5170 #include <dvdread/nav_read.h>
5171 int main(void) { return 0; }
5173 cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5174 -ldvdread $_ld_dl && _dvdread=yes && _res_comment="external"
5178 if test "$_dvdread_internal" = yes; then
5179 _def_dvdread_internal="#define USE_DVDREAD_INTERNAL 1"
5180 _def_dvdread='#define USE_DVDREAD 1'
5181 _inputmodules="dvdread $_inputmodules"
5182 _largefiles=yes
5183 if linux || netbsd || openbsd || bsdos ; then
5184 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5185 openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5186 elif freebsd ; then
5187 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5188 elif darwin ; then
5189 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5190 _macosx_frameworks="$_macosx_frameworks -framework IOKit"
5192 elif test "$_dvdread" = yes; then
5193 _def_dvdread='#define USE_DVDREAD 1'
5194 _inputmodules="dvdread $_inputmodules"
5195 _largefiles=yes
5196 test "$_dvdnav" != yes && _ld_dvdread='-ldvdread'
5197 else
5198 _def_dvdread_internal="#undef USE_DVDREAD_INTERNAL"
5199 _def_dvdread='#undef USE_DVDREAD'
5200 _noinputmodules="dvdread $_noinputmodules"
5202 echores "$_dvdread"
5205 echocheck "internal libdvdcss"
5206 if test "$_libdvdcss_internal" = auto ; then
5207 _libdvdcss_internal=no
5208 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5210 if test "$_libdvdcss_internal" = yes ; then
5211 _inputmodules="libdvdcss $_inputmodules"
5212 else
5213 _noinputmodules="libdvdcss $_noinputmodules"
5215 echores "$_libdvdcss_internal"
5218 echocheck "cdparanoia"
5219 if test "$_cdparanoia" = auto ; then
5220 cat > $TMPC <<EOF
5221 #include <cdda_interface.h>
5222 #include <cdda_paranoia.h>
5223 // This need a better test. How ?
5224 int main(void) {
5225 void *test = cdda_verbose_set;
5226 return test == (void *)1;
5229 _cdparanoia=no
5230 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5231 cc_check $_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && \
5232 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5233 done
5235 if test "$_cdparanoia" = yes ; then
5236 _cdda='yes'
5237 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5238 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
5240 echores "$_cdparanoia"
5243 echocheck "libcdio"
5244 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5245 cat > $TMPC << EOF
5246 #include <stdio.h>
5247 #include <cdio/version.h>
5248 #include <cdio/cdda.h>
5249 #include <cdio/paranoia.h>
5250 int main()
5252 void *test = cdda_verbose_set;
5253 printf("%s\n", CDIO_VERSION);
5254 return test == (void *)1;
5258 _libcdio=no
5259 for _ld_tmp in "" "-lwinmm" ; do
5260 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5261 cc_check $_ld_tmp $_ld_lm \
5262 && _libcdio=yes && _ld_libcdio="$_ld_tmp" && break
5263 done
5264 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5265 _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
5266 _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
5267 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5268 && _ld_libcdio="$_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5271 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5272 _cdda='yes'
5273 _def_libcdio='#define HAVE_LIBCDIO'
5274 _def_havelibcdio='yes'
5275 else
5276 if test "$_cdparanoia" = yes ; then
5277 _res_comment="using cdparanoia"
5279 _def_libcdio='#undef HAVE_LIBCDIO'
5280 _def_havelibcdio='no'
5282 echores "$_libcdio"
5284 if test "$_cdda" = yes ; then
5285 _def_cdparanoia='#define HAVE_CDDA'
5286 _inputmodules="cdda $_inputmodules"
5287 else
5288 _def_cdparanoia='#undef HAVE_CDDA'
5289 _noinputmodules="cdda $_noinputmodules"
5292 echocheck "bitmap font support"
5293 if test "$_bitmap_font" = yes ; then
5294 _def_bitmap_font="#define HAVE_BITMAP_FONT 1"
5295 else
5296 _def_bitmap_font="#undef HAVE_BITMAP_FONT"
5298 echores "$_bitmap_font"
5301 echocheck "freetype >= 2.0.9"
5303 # freetype depends on iconv
5304 if test "$_iconv" = no ; then
5305 _freetype=no
5306 _res_comment="iconv support needed"
5309 if test "$_freetype" = auto ; then
5310 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5311 cat > $TMPC << EOF
5312 #include <stdio.h>
5313 #include <ft2build.h>
5314 #include FT_FREETYPE_H
5315 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5316 #error "Need FreeType 2.0.9 or newer"
5317 #endif
5318 int main()
5320 FT_Library library;
5321 FT_Int major=-1,minor=-1,patch=-1;
5322 int err=FT_Init_FreeType(&library);
5323 if(err){
5324 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5325 exit(err);
5327 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5328 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5329 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5330 (int)major,(int)minor,(int)patch );
5331 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5332 printf("Library and header version mismatch! Fix it in your distribution!\n");
5333 exit(1);
5335 return 0;
5338 _freetype=no
5339 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5340 else
5341 _freetype=no
5344 if test "$_freetype" = yes ; then
5345 _def_freetype='#define HAVE_FREETYPE'
5346 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5347 _ld_freetype=`$_freetypeconfig --libs`
5348 else
5349 _def_freetype='#undef HAVE_FREETYPE'
5351 echores "$_freetype"
5353 if test "$_freetype" = no ; then
5354 _fontconfig=no
5355 _res_comment="freetype support needed"
5357 echocheck "fontconfig"
5358 if test "$_fontconfig" = auto ; then
5359 cat > $TMPC << EOF
5360 #include <stdio.h>
5361 #include <fontconfig/fontconfig.h>
5362 int main()
5364 int err = FcInit();
5365 if(err == FcFalse){
5366 printf("Couldn't initialize fontconfig lib\n");
5367 exit(err);
5369 return 0;
5373 _fontconfig=no
5374 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5375 _ld_tmp="-lfontconfig $_ld_tmp"
5376 cc_check $_ld_tmp && _fontconfig=yes && _ld_fontconfig="$_ld_tmp" && break
5377 done
5378 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
5379 _inc_tmp=`$_pkg_config --cflags fontconfig`
5380 _ld_tmp=`$_pkg_config --libs fontconfig`
5381 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
5382 && _ld_fontconfig="$_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5385 if test "$_fontconfig" = yes ; then
5386 _def_fontconfig='#define HAVE_FONTCONFIG'
5387 else
5388 _def_fontconfig='#undef HAVE_FONTCONFIG'
5390 echores "$_fontconfig"
5393 echocheck "SSA/ASS support"
5394 # libass depends on FreeType
5395 if test "$_freetype" = no ; then
5396 _ass=no
5397 _res_comment="FreeType support needed"
5400 if test "$_ass" = auto ; then
5401 cat > $TMPC << EOF
5402 #include <ft2build.h>
5403 #include FT_FREETYPE_H
5404 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5405 #error "Need FreeType 2.1.8 or newer"
5406 #endif
5407 int main() { return 0; }
5409 _ass=no
5410 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5411 if test "$_ass" = no ; then
5412 _res_comment="FreeType >= 2.1.8 needed"
5415 if test "$_ass" = yes ; then
5416 _def_ass='#define USE_ASS'
5417 else
5418 _def_ass='#undef USE_ASS'
5420 echores "$_ass"
5423 echocheck "fribidi with charsets"
5424 if test "$_fribidi" = auto ; then
5425 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5426 cat > $TMPC << EOF
5427 #include <stdio.h>
5428 /* workaround for fribidi 0.10.4 and below */
5429 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5430 #include <fribidi/fribidi.h>
5431 int main()
5433 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5434 printf("Fribidi headers are not consistents with the library!\n");
5435 exit(1);
5437 return 0;
5440 _fribidi=no
5441 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5442 else
5443 _fribidi=no
5446 if test "$_fribidi" = yes ; then
5447 _def_fribidi='#define USE_FRIBIDI'
5448 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5449 _ld_fribidi=`$_fribidiconfig --libs`
5450 else
5451 _def_fribidi='#undef USE_FRIBIDI'
5453 echores "$_fribidi"
5456 echocheck "ENCA"
5457 if test "$_enca" = auto ; then
5458 cat > $TMPC << EOF
5459 #include <enca.h>
5460 int main()
5462 const char **langs;
5463 size_t langcnt;
5464 langs = enca_get_languages(&langcnt);
5465 return 0;
5468 _enca=no
5469 cc_check -lenca $_ld_lm && _enca=yes
5471 if test "$_enca" = yes ; then
5472 _def_enca='#define HAVE_ENCA 1'
5473 _ld_enca='-lenca'
5474 else
5475 _def_enca='#undef HAVE_ENCA'
5477 echores "$_enca"
5480 echocheck "zlib"
5481 cat > $TMPC << EOF
5482 #include <zlib.h>
5483 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5485 _zlib=no
5486 cc_check -lz && _zlib=yes
5487 if test "$_zlib" = yes ; then
5488 _def_zlib='#define HAVE_ZLIB 1'
5489 _ld_zlib='-lz'
5490 else
5491 _def_zlib='#undef HAVE_ZLIB'
5493 echores "$_zlib"
5496 echocheck "RTC"
5497 if test "$_rtc" = auto ; then
5498 cat > $TMPC << EOF
5499 #include <sys/ioctl.h>
5500 #ifdef __linux__
5501 #include <linux/rtc.h>
5502 #else
5503 #include <rtc.h>
5504 #define RTC_PIE_ON RTCIO_PIE_ON
5505 #endif
5506 int main(void) { return RTC_PIE_ON; }
5508 _rtc=no
5509 cc_check && _rtc=yes
5510 ppc && _rtc=no
5512 if test "$_rtc" = yes ; then
5513 _def_rtc='#define HAVE_RTC 1'
5514 else
5515 _def_rtc='#undef HAVE_RTC'
5517 echores "$_rtc"
5520 echocheck "external liblzo support"
5521 if test "$_liblzo" = auto ; then
5522 _liblzo=no
5523 cat > $TMPC << EOF
5524 #include <lzo1x.h>
5525 int main(void) { lzo_init();return 0; }
5527 cc_check -llzo && _liblzo=yes
5529 if test "$_liblzo" = yes ; then
5530 _def_liblzo='#define USE_LIBLZO 1'
5531 _ld_liblzo='-llzo'
5532 _codecmodules="liblzo $_codecmodules"
5533 else
5534 _def_liblzo='#undef USE_LIBLZO'
5535 _nocodecmodules="liblzo $_nocodecmodules"
5537 echores "$_liblzo"
5540 echocheck "mad support"
5541 if test "$_mad" = auto ; then
5542 _mad=no
5543 cat > $TMPC << EOF
5544 #include <mad.h>
5545 int main(void) { return 0; }
5547 cc_check -lmad && _mad=yes
5549 if test "$_mad" = yes ; then
5550 _def_mad='#define USE_LIBMAD 1'
5551 _ld_mad='-lmad'
5552 _codecmodules="libmad $_codecmodules"
5553 else
5554 _def_mad='#undef USE_LIBMAD'
5555 _nocodecmodules="libmad $_nocodecmodules"
5557 echores "$_mad"
5559 echocheck "Toolame"
5560 if test "$_toolame" = auto ; then
5561 cat > $TMPC <<EOF
5562 #include <toolame.h>
5563 int main(void) { toolame_init(); return 0; }
5565 _toolame=no
5566 cc_check $_ld_toolame -ltoolame $_ld_lm && _toolame=yes
5568 if test "$_toolame" = yes ; then
5569 _def_toolame='#define HAVE_TOOLAME 1'
5570 _toolame_lib="-ltoolame"
5571 _codecmodules="toolame $_codecmodules"
5572 else
5573 _def_toolame='#undef HAVE_TOOLAME'
5574 _nocodecmodules="toolame $_nocodecmodules"
5576 if test "$_toolamedir" ; then
5577 _res_comment="using $_toolamedir"
5579 echores "$_toolame"
5581 echocheck "Twolame"
5582 if test "$_twolame" = auto ; then
5583 cat > $TMPC <<EOF
5584 #include <twolame.h>
5585 int main(void) { twolame_init(); return 0; }
5587 _twolame=no
5588 _twolame_lib="-ltwolame"
5589 cc_check $_twolame_lib $_ld_lm && _twolame=yes
5591 if test "$_twolame" = yes ; then
5592 _def_twolame='#define HAVE_TWOLAME 1'
5593 _codecmodules="twolame $_codecmodules"
5594 else
5595 _def_twolame='#undef HAVE_TWOLAME'
5596 _twolame_lib=""
5597 _nocodecmodules="twolame $_nocodecmodules"
5599 echores "$_twolame"
5601 echocheck "OggVorbis support"
5602 if test "$_tremor_internal" = yes; then
5603 _libvorbis=no
5604 elif test "$_tremor_external" = auto; then
5605 _tremor_external=no
5606 cat > $TMPC << EOF
5607 #include <tremor/ivorbiscodec.h>
5608 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5610 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5612 if test "$_libvorbis" = auto; then
5613 _libvorbis=no
5614 cat > $TMPC << EOF
5615 #include <vorbis/codec.h>
5616 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5618 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5620 if test "$_tremor_internal" = yes ; then
5621 _vorbis=yes
5622 _def_vorbis='#define HAVE_OGGVORBIS 1'
5623 _def_tremor='#define TREMOR 1'
5624 _codecmodules="tremor(internal) $_codecmodules"
5625 _res_comment="internal Tremor"
5626 if test "$_tremor_low" = yes ; then
5627 _tremor_flags='-D_LOW_ACCURACY_'
5628 _res_comment="internal low accuracy Tremor"
5630 elif test "$_tremor_external" = yes ; then
5631 _vorbis=yes
5632 _def_vorbis='#define HAVE_OGGVORBIS 1'
5633 _def_tremor='#define TREMOR 1'
5634 _codecmodules="tremor(external) $_codecmodules"
5635 _res_comment="external Tremor"
5636 _ld_vorbis='-logg -lvorbisidec'
5637 elif test "$_libvorbis" = yes ; then
5638 _vorbis=yes
5639 _def_vorbis='#define HAVE_OGGVORBIS 1'
5640 _codecmodules="libvorbis $_codecmodules"
5641 _res_comment="libvorbis"
5642 _ld_vorbis='-lvorbis -logg'
5643 else
5644 _vorbis=no
5645 _nocodecmodules="libvorbis $_nocodecmodules"
5647 echores "$_vorbis"
5649 echocheck "libspeex (version >= 1.1 required)"
5650 if test "$_speex" = auto ; then
5651 _speex=no
5652 cat > $TMPC << EOF
5653 #include <speex/speex.h>
5654 int main(void) {
5655 SpeexBits bits;
5656 void *dec;
5657 speex_decode_int(dec, &bits, dec);
5660 cc_check -lspeex $_ld_lm && _speex=yes
5662 if test "$_speex" = yes ; then
5663 _def_speex='#define HAVE_SPEEX 1'
5664 _ld_speex='-lspeex'
5665 _codecmodules="speex $_codecmodules"
5666 else
5667 _def_speex='#undef HAVE_SPEEX'
5668 _nocodecmodules="speex $_nocodecmodules"
5670 echores "$_speex"
5672 echocheck "OggTheora support"
5673 if test "$_theora" = auto ; then
5674 _theora=no
5675 cat > $TMPC << EOF
5676 #include <theora/theora.h>
5677 #include <string.h>
5678 int main(void)
5680 /* theora is in flux, make sure that all interface routines and
5681 * datatypes exist and work the way we expect it, so we don't break
5682 * mplayer */
5683 ogg_packet op;
5684 theora_comment tc;
5685 theora_info inf;
5686 theora_state st;
5687 yuv_buffer yuv;
5688 int r;
5689 double t;
5691 theora_info_init (&inf);
5692 theora_comment_init (&tc);
5694 return 0;
5696 /* we don't want to execute this kind of nonsense; just for making sure
5697 * that compilation works... */
5698 memset(&op, 0, sizeof(op));
5699 r = theora_decode_header (&inf, &tc, &op);
5700 r = theora_decode_init (&st, &inf);
5701 t = theora_granule_time (&st, op.granulepos);
5702 r = theora_decode_packetin (&st, &op);
5703 r = theora_decode_YUVout (&st, &yuv);
5704 theora_clear (&st);
5706 return 0;
5709 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5710 cc_check $_ld_theora && _theora=yes && break
5711 done
5712 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5713 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5714 cc_check -I. tremor/bitwise.c $_ld_theora && _theora=yes && break
5715 done
5718 if test "$_theora" = yes ; then
5719 _def_theora='#define HAVE_OGGTHEORA 1'
5720 _codecmodules="libtheora $_codecmodules"
5721 # when --enable-theora is forced, we'd better provide a probably sane
5722 # $_ld_theora than nothing
5723 test -z "$_ld_theora" && _ld_theora="-ltheora -logg"
5724 else
5725 _def_theora='#undef HAVE_OGGTHEORA'
5726 _nocodecmodules="libtheora $_nocodecmodules"
5727 _ld_theora=""
5729 echores "$_theora"
5731 echocheck "mp3lib support"
5732 if test "$_mp3lib" = yes ; then
5733 _def_mp3lib='#define USE_MP3LIB 1'
5734 _codecmodules="mp3lib $_codecmodules"
5735 else
5736 _def_mp3lib='#undef USE_MP3LIB'
5737 _nocodecmodules="mp3lib $_nocodecmodules"
5739 echores "$_mp3lib"
5741 echocheck "liba52 support"
5742 if test "$_liba52" = yes ; then
5743 _def_liba52='#define USE_LIBA52 1'
5744 _codecmodules="liba52 $_codecmodules"
5745 else
5746 _def_liba52='#undef USE_LIBA52'
5747 _nocodecmodules="liba52 $_nocodecmodules"
5749 echores "$_liba52"
5751 echocheck "libdts support"
5752 if test "$_libdts" = auto ; then
5753 _libdts=no
5754 cat > $TMPC << EOF
5755 #include <inttypes.h>
5756 #include <dts.h>
5757 int main(void) { dts_init (0); return 0; }
5759 cc_check $_ld_libdts -ldts $_ld_lm && _libdts=yes
5761 if test "$_libdts" = yes ; then
5762 _def_libdts='#define CONFIG_DTS 1'
5763 _ld_libdts="$_ld_libdts -ldts"
5764 _codecmodules="libdts $_codecmodules"
5765 else
5766 _def_libdts='#undef CONFIG_DTS'
5767 _nocodecmodules="libdts $_nocodecmodules"
5769 echores "$_libdts"
5771 echocheck "libmpeg2 support"
5772 if test "$_libmpeg2" = yes ; then
5773 _def_libmpeg2='#define USE_LIBMPEG2 1'
5774 _codecmodules="libmpeg2 $_codecmodules"
5775 else
5776 _def_libmpeg2='#undef USE_LIBMPEG2'
5777 _nocodecmodules="libmpeg2 $_nocodecmodules"
5779 echores "$_libmpeg2"
5781 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5782 if test "$_musepack" = auto ; then
5783 _musepack=no
5784 cat > $TMPC << EOF
5785 #include <mpcdec/mpcdec.h>
5786 int main(void) {
5787 mpc_streaminfo info;
5788 mpc_decoder decoder;
5789 mpc_decoder_set_streaminfo(&decoder, &info);
5790 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5793 cc_check -lmpcdec $_ld_lm && _musepack=yes
5795 if test "$_musepack" = yes ; then
5796 _def_musepack='#define HAVE_MUSEPACK 1'
5797 _ld_musepack='-lmpcdec'
5798 _codecmodules="musepack $_codecmodules"
5799 else
5800 _def_musepack='#undef HAVE_MUSEPACK'
5801 _nocodecmodules="musepack $_nocodecmodules"
5803 echores "$_musepack"
5806 echocheck "FAAC (AAC encoder) support"
5807 if test "$_faac" = auto ; then
5808 cat > $TMPC <<EOF
5809 #include <inttypes.h>
5810 #include <faac.h>
5811 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5813 _faac=no
5814 for _ld_tmp in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5815 cc_check -c -O4 $_ld_tmp $_ld_lm && _ld_faac="$_ld_tmp" && _faac=yes && break
5816 done
5818 if test "$_faac" = yes ; then
5819 _def_faac="#define HAVE_FAAC 1"
5820 if echo $_libavencoders | grep -q faac ; then
5821 _lavc_faac=yes
5822 _def_lavc_faac="#define CONFIG_FAAC 1"
5823 else
5824 _lavc_faac=no
5825 _def_lavc_faac="#undef CONFIG_FAAC"
5827 _codecmodules="faac $_codecmodules"
5828 else
5829 _def_faac="#undef HAVE_FAAC"
5830 _nocodecmodules="faac $_nocodecmodules"
5832 echores "$_faac (in libavcodec: $_lavc_faac)"
5835 echocheck "FAAD2 (AAC) support"
5836 if test "$_faad_internal" = auto ; then
5837 if x86 && test cc_vendor=gnu; then
5838 case $cc_version in
5839 3.1*|3.2) # ICE/insn with these versions
5840 _faad_internal=no
5841 _res_comment="broken gcc"
5844 _faad_internal=yes
5846 esac
5847 else
5848 _faad_internal=yes
5850 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
5851 _ld_faad='-lfaad'
5852 _faad_external=no
5853 cat > $TMPC << EOF
5854 #include <faad.h>
5855 #ifndef FAAD_MIN_STREAMSIZE
5856 #error Too old version
5857 #endif
5858 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5860 cc_check $_ld_faad $_ld_lm && _faad_external=yes
5863 if test "$_faad_internal" = yes ; then
5864 _def_faad_internal="#define USE_FAAD_INTERNAL 1"
5865 _faad=yes
5866 _res_comment="internal floating-point"
5867 test "$_faad_fixed" = yes && _res_comment="internal fixed-point"
5868 elif test "$_faad_external" = yes ; then
5869 _faad=yes
5870 else
5871 _def_faad_internal="#undef USE_FAAD_INTERNAL"
5872 _faad=no
5875 if test "$_faad" = yes ; then
5876 _def_faad='#define HAVE_FAAD 1'
5877 _codecmodules="faad2 $_codecmodules"
5878 else
5879 _def_faad='#undef HAVE_FAAD'
5880 _nocodecmodules="faad2 $_nocodecmodules"
5881 _ld_faad=
5883 echores "$_faad"
5886 echocheck "LADSPA plugin support"
5887 if test "$_ladspa" = auto ; then
5888 cat > $TMPC <<EOF
5889 #include <stdio.h>
5890 #include <ladspa.h>
5891 int main(void) {
5892 const LADSPA_Descriptor *ld = NULL;
5893 return 0;
5896 _ladspa=no
5897 cc_check && _ladspa=yes
5899 if test "$_ladspa" = yes; then
5900 _def_ladspa="#define HAVE_LADSPA"
5901 _afsrc="$_afsrc af_ladspa.c"
5902 _afmodules="ladspa $_afmodules"
5903 else
5904 _def_ladspa="#undef HAVE_LADSPA"
5905 _noafmodules="ladspa $_noafmodules"
5907 echores "$_ladspa"
5910 if test -z "$_codecsdir" ; then
5911 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
5912 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
5913 if test -d "$dir" ; then
5914 _codecsdir="$dir"
5915 break;
5917 done
5919 # Fall back on default directory.
5920 if test -z "$_codecsdir" ; then
5921 _codecsdir="$_libdir/codecs"
5922 mingw32 && _codecsdir="codecs"
5926 echocheck "Win32 codecs"
5927 if test "$_win32" = auto ; then
5928 _win32=no
5929 if x86 && not qnx; then
5930 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
5931 _win32=yes
5934 if test "$_win32" = yes ; then
5935 _def_win32='#define USE_WIN32DLL 1'
5936 _res_comment="using $_win32codecsdir"
5937 _ld_win32='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5938 _dep_win32='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5939 openbsd && x86 && _ld_win32="$_ld_win32 -li386"
5940 if not win32 ; then
5941 _def_win32_loader='#define WIN32_LOADER 1'
5942 else
5943 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
5944 _res_comment="using native windows"
5946 _codecmodules="win32 $_codecmodules"
5947 else
5948 _def_win32='#undef USE_WIN32DLL'
5949 _def_win32_loader='#undef WIN32_LOADER'
5950 _nocodecmodules="win32 $_nocodecmodules"
5952 echores "$_win32"
5955 echocheck "XAnim codecs"
5956 if test "$_xanim" = auto ; then
5957 _xanim=no
5958 _res_comment="dynamic loader support needed"
5959 if test "$_dl" = yes ; then
5960 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
5961 _xanim=yes
5964 if test "$_xanim" = yes ; then
5965 _def_xanim='#define USE_XANIM 1'
5966 _def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
5967 _codecmodules="xanim $_codecmodules"
5968 _res_comment="using $_xanimcodecsdir"
5969 else
5970 _def_xanim='#undef USE_XANIM'
5971 _def_xanim_path='#undef XACODEC_PATH'
5972 _nocodecmodules="xanim $_nocodecmodules"
5974 echores "$_xanim"
5977 echocheck "RealPlayer codecs"
5978 if test "$_real" = auto ; then
5979 _real=no
5980 _res_comment="dynamic loader support needed"
5981 if test "$_dl" = yes || test "$_win32" = yes &&
5982 (linux || freebsd || netbsd || win32 || darwin) ; then
5983 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
5984 _real=yes
5987 if test "$_real" = yes ; then
5988 _def_real='#define USE_REALCODECS 1'
5989 _def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
5990 _codecmodules="real $_codecmodules"
5991 _res_comment="using $_realcodecsdir"
5992 else
5993 _def_real='#undef USE_REALCODECS'
5994 _def_real_path="#undef REALCODEC_PATH"
5995 _nocodecmodules="real $_nocodecmodules"
5997 echores "$_real"
6000 echocheck "LIVE555 Streaming Media libraries"
6001 if test "$_live" = auto && test "$_network" = yes ; then
6002 cat > $TMPCPP << EOF
6003 #include <liveMedia.hh>
6004 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
6005 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6006 #endif
6007 int main(void) {}
6010 _live=no
6011 for I in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
6012 cxx_check -I$I/liveMedia/include -I$I/UsageEnvironment/include -I$I/groupsock/include && _livelibdir=$I && _live=yes && break
6013 done
6014 if test "$_live" != yes ; then
6015 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6016 _live_dist=yes
6020 if test "$_live" = yes && test "$_network" = yes ; then
6021 _res_comment="using $_livelibdir"
6022 _def_live='#define STREAMING_LIVE555 1'
6023 _ld_live="$_livelibdir/liveMedia/libliveMedia.a \
6024 $_livelibdir/groupsock/libgroupsock.a \
6025 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6026 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6027 -lstdc++"
6028 _inc_extra="$_inc_extra -I$_livelibdir/liveMedia/include \
6029 -I$_livelibdir/UsageEnvironment/include \
6030 -I$_livelibdir/BasicUsageEnvironment/include \
6031 -I$_livelibdir/groupsock/include"
6032 _inputmodules="live555 $_inputmodules"
6033 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6034 _res_comment="using distribution version"
6035 _live="yes"
6036 _def_live='#define STREAMING_LIVE555 1'
6037 _ld_live="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6038 _inc_extra="$_inc_extra -I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6039 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6040 _inputmodules="live555 $_inputmodules"
6041 else
6042 _def_live='#undef STREAMING_LIVE555'
6043 _noinputmodules="live555 $_noinputmodules"
6045 echores "$_live"
6048 echocheck "FFmpeg libavutil (static)"
6049 if test "$_libavutil" = auto ; then
6050 if test -d libavutil ; then
6051 _libavutil=yes
6052 else
6053 _libavutil=no
6056 echores "$_libavutil"
6058 echocheck "FFmpeg libavcodec (static)"
6059 if test "$_libavcodec" = auto ; then
6060 # Note: static linking is preferred to dynamic linking
6061 _libavcodec=no
6062 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
6063 if test -d libavcodec && test -f libavcodec/utils.c ; then
6064 _res_comment="old ffmpeg version, use CVS !"
6065 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
6066 # check if libavutil is a required
6067 cat > $TMPC << EOF
6068 #include "libavcodec/avcodec.h"
6069 #if LIBAVCODEC_BUILD >= 3211265
6070 #error We need libavutil!
6071 #endif
6072 int main(void) { return 0; }
6075 if cc_check -I. -I./libavutil; then
6076 _libavutil_required="no"
6077 else
6078 _libavutil_required="yes"
6080 _res_comment="libavutil availability does not fit libavcodec version"
6081 if test "$_libavutil_required" = "$_libavutil"; then
6082 _libavcodec="yes"
6083 _res_comment=""
6088 echores "$_libavcodec"
6090 echocheck "FFmpeg libavformat (static)"
6091 if test "$_libavformat" = auto ; then
6092 # Note: static linking is preferred to dynamic linking
6093 _libavformat=no
6094 if test -d libavformat && test -f libavformat/utils.c ; then
6095 _libavformat=yes
6098 echores "$_libavformat"
6100 echocheck "FFmpeg libpostproc (static)"
6101 if test "$_libpostproc" = auto ; then
6102 _libpostproc=no
6103 if test -d libpostproc && test -f libpostproc/postprocess.h ; then
6104 _libpostproc='yes'
6107 echores "$_libpostproc"
6110 if test "$_libavutil" != yes ; then
6111 echocheck "FFmpeg libavutil (dynamic)"
6112 if test "$_libavutil_so" = auto ; then
6113 _libavutil_so=no
6114 cat > $TMPC << EOF
6115 #include <ffmpeg/common.h>
6116 int main(void) { ff_gcd(1,1); return 0; }
6118 if $_pkg_config --exists libavutil ; then
6119 _inc_libavutil=`$_pkg_config --cflags libavutil`
6120 _ld_libavutil=`$_pkg_config --libs libavutil`
6121 cc_check $_inc_libavutil $_ld_libavutil && _libavutil_so=yes
6122 elif cc_check -lavutil $_ld_lm ; then
6123 _libavutil_so=yes
6125 if test "$_libavutil_so" = yes ; then
6126 _res_comment="using libavutil.so, but static libavutil is recommended"
6129 # neither static nor shared libavutil is available, but it is mandatory ...
6130 if test "$_libavutil_so" = no ; then
6131 die "You need static or shared libavutil, MPlayer will not compile without!"
6133 echores "$_libavutil_so"
6134 fi #if test "$_libavutil" != yes ; then
6136 if test "$_libavcodec" != yes ; then
6137 echocheck "FFmpeg libavcodec (dynamic)"
6138 if test "$_libavcodec_so" = auto ; then
6139 _libavcodec_so=no
6140 _res_comment="libavcodec.so is broken/obsolete"
6141 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6142 cat > $TMPC << EOF
6143 #include <ffmpeg/avcodec.h>
6144 int main(void) {
6145 avcodec_find_encoder_by_name("");
6146 return 0;
6149 if $_pkg_config --exists libavcodec ; then
6150 _inc_libavcodec=`$_pkg_config --cflags libavcodec`
6151 _ld_libavcodec=`$_pkg_config --libs libavcodec`
6152 cc_check $_inc_libavcodec $_ld_libavcodec && _libavcodec_so=yes
6153 elif cc_check -lavcodec $_ld_lm ; then
6154 _libavcodec_so=yes
6156 if test "$_libavcodec_so" = yes ; then
6157 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6160 echores "$_libavcodec_so"
6161 fi #if test "$_libavcodec" != yes ; then
6163 if test "$_libavformat" != yes ; then
6164 echocheck "FFmpeg libavformat (dynamic)"
6165 if test "$_libavformat_so" = auto ; then
6166 _libavformat_so=no
6167 cat > $TMPC <<EOF
6168 #include <ffmpeg/avformat.h>
6169 #include <ffmpeg/opt.h>
6170 int main(void) { av_alloc_format_context(); return 0; }
6172 if $_pkg_config --exists libavformat ; then
6173 _inc_libavformat=`$_pkg_config --cflags libavformat`
6174 _ld_libavformat=`$_pkg_config --libs libavformat`
6175 cc_check $_inc_libavformat $_ld_libavformat && _libavformat_so=yes
6176 elif cc_check $_ld_lm -lavformat ; then
6177 _libavformat_so=yes
6179 if test "$_libavformat_so" = yes ; then
6180 _res_comment="using libavformat.so, but static libavformat is recommended"
6183 echores "$_libavformat_so"
6184 fi #if test "$_libavformat" != yes ; then
6186 if test "$_libpostproc" != yes ; then
6187 echocheck "FFmpeg libpostproc (dynamic)"
6188 if test "$_libpostproc_so" = auto ; then
6189 _libpostproc_so=no
6190 cat > $TMPC << EOF
6191 #define USE_LIBPOSTPROC 1
6192 #include <inttypes.h>
6193 #include <postproc/postprocess.h>
6194 int main(void) {
6195 pp_get_mode_by_name_and_quality("de", 0);
6196 return 0;}
6198 if cc_check -lpostproc $_ld_lm ; then
6199 _libpostproc_so=yes
6200 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6203 echores "$_libpostproc_so"
6204 fi #if test "$_libpostproc" != yes ; then
6206 _def_libavutil='#undef USE_LIBAVUTIL'
6207 _def_libavutil_so='#undef USE_LIBAVUTIL_SO'
6208 if test "$_libavutil" = yes ; then
6209 _def_libavutil='#define USE_LIBAVUTIL 1'
6210 elif test "$_libavutil_so" = yes ; then
6211 _def_libavutil_so='#define USE_LIBAVUTIL_SO 1'
6214 _def_libavcodec='#undef USE_LIBAVCODEC'
6215 _def_libavcodec_so='#undef USE_LIBAVCODEC_SO'
6216 _def_lavc_dsputil='#undef USE_LIBAVCODEC_DSPUTIL'
6217 if test "$_libavcodec_mpegaudio_hp" = yes ; then
6218 _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6220 if test "$_libavcodec" = yes ; then
6221 _def_libavcodec='#define USE_LIBAVCODEC 1'
6222 _def_lavc_dsputil='#define USE_LIBAVCODEC_DSPUTIL'
6223 _ld_libavcodec='libavcodec/libavcodec.a'
6224 _dep_libavcodec='libavcodec/libavcodec.a'
6225 _codecmodules="libavcodec $_codecmodules"
6226 if test "$_libavutil" = yes; then
6227 _ld_libavutil='libavutil/libavutil.a'
6228 _dep_libavutil='libavutil/libavutil.a'
6230 elif test "$_libavcodec_so" = yes ; then
6231 _def_libavcodec='#define USE_LIBAVCODEC 1'
6232 _def_libavcodec_so='#define USE_LIBAVCODEC_SO 1'
6233 test "$_ld_libavcodec" || _ld_libavcodec='-lavcodec'
6234 _codecmodules="libavcodec.so $_codecmodules"
6235 else
6236 _nocodecmodules="libavcodec $_nocodecmodules"
6239 _def_libavformat='#undef USE_LIBAVFORMAT'
6240 _def_libavformat_so='#undef USE_LIBAVFORMAT_SO'
6241 _def_libavformat_win32='#undef CONFIG_WIN32'
6242 if test "$_libavformat" = yes ; then
6243 _def_libavformat='#define USE_LIBAVFORMAT 1'
6244 _ld_libavformat='libavformat/libavformat.a'
6245 _dep_libavformat='libavformat/libavformat.a'
6246 if win32 ; then
6247 _def_libavformat_win32='#define CONFIG_WIN32 1'
6249 else
6250 if test "$_libavformat_so" = yes ; then
6251 _def_libavformat_so='#define USE_LIBAVFORMAT_SO 1'
6252 test "$_ld_libavformat" || _ld_libavformat='-lavformat'
6253 if win32 ; then
6254 _def_libavformat_win32='#define CONFIG_WIN32 1'
6259 _def_libpostproc='#undef USE_LIBPOSTPROC'
6260 _def_libpostproc_so='#undef USE_LIBPOSTPROC_SO'
6261 if test "$_libpostproc" = yes ; then
6262 _def_libpostproc='#define USE_LIBPOSTPROC 1'
6263 _ld_libpostproc='libpostproc/libpostproc.a'
6264 _dep_libpostproc='libpostproc/libpostproc.a'
6265 else
6266 if test "$_libpostproc_so" = yes ; then
6267 _def_libpostproc_so='#define USE_LIBPOSTPROC_SO 1'
6268 _ld_libpostproc='-lpostproc'
6272 echocheck "md5sum support"
6273 if test "$_md5sum" = yes; then
6274 _def_md5sum="#define HAVE_MD5SUM"
6275 _vosrc="$_vosrc vo_md5sum.c"
6276 _vomodules="md5sum $_vomodules"
6277 else
6278 _def_md5sum="#undef HAVE_MD5SUM"
6279 _novomodules="md5sum $_novomodules"
6281 echores "$_md5sum"
6283 echocheck "AMR narrowband"
6284 if test "$_amr_nb" = auto ; then
6285 _amr_nb=no
6286 if test -f libavcodec/amr_float/sp_dec.c ; then
6287 if test "$_libavcodec" = yes ; then
6288 _amr_nb=yes
6289 else
6290 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6294 if test "$_amr_nb" = yes ; then
6295 _amr=yes
6296 _def_amr='#define CONFIG_AMR 1'
6297 _def_amr_nb='#define CONFIG_AMR_NB 1'
6298 else
6299 _def_amr_nb='#undef CONFIG_AMR_NB'
6301 echores "$_amr_nb"
6303 echocheck "AMR narrowband, fixed point"
6304 if test "$_amr_nb_fixed" = auto ; then
6305 _amr_nb_fixed=no
6306 if test -f libavcodec/amr/dtx_dec.c ; then
6307 if test "$_libavcodec" = yes ; then
6308 if test "$_amr_nb" = no ; then
6309 _amr_nb_fixed=yes
6310 else
6311 _res_comment="disabled by amr_nb"
6313 else
6314 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6318 if test "$_amr_nb_fixed" = yes ; then
6319 _amr=yes
6320 _def_amr='#define CONFIG_AMR 1'
6321 _def_amr_nb_fixed='#define CONFIG_AMR_NB_FIXED 1'
6322 else
6323 _def_amr_nb_fixed='#undef CONFIG_AMR_NB_FIXED'
6325 echores "$_amr_nb_fixed"
6327 if test "$_amr_nb" = yes || test "$_amr_nb_fixed" = yes ; then
6328 _codecmodules="amr_nb $_codecmodules"
6329 else
6330 _nocodecmodules="amr_nb $_nocodecmodules"
6333 echocheck "AMR wideband"
6334 if test "$_amr_wb" = auto ; then
6335 _amr_wb=no
6336 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6337 if test "$_libavcodec" = yes ; then
6338 _amr_wb=yes
6339 else
6340 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6344 if test "$_amr_wb" = yes ; then
6345 _amr=yes
6346 _def_amr='#define CONFIG_AMR 1'
6347 _def_amr_wb='#define CONFIG_AMR_WB 1'
6348 _codecmodules="amr_wb $_codecmodules"
6349 else
6350 _def_amr_wb='#undef CONFIG_AMR_WB'
6351 _nocodecmodules="amr_wb $_nocodecmodules"
6353 echores "$_amr_wb"
6355 echocheck "libdv-0.9.5+"
6356 if test "$_libdv" = auto ; then
6357 _libdv=no
6358 cat > $TMPC <<EOF
6359 #include <libdv/dv.h>
6360 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6362 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6364 if test "$_libdv" = yes ; then
6365 _def_libdv='#define HAVE_LIBDV095 1'
6366 _ld_libdv="-ldv"
6367 _codecmodules="libdv $_codecmodules"
6368 else
6369 _def_libdv='#undef HAVE_LIBDV095'
6370 _nocodecmodules="libdv $_nocodecmodules"
6372 echores "$_libdv"
6374 echocheck "zr"
6375 if test "$_zr" = auto ; then
6376 #36067's seem to identify themselves as 36057PQC's, so the line
6377 #below should work for 36067's and 36057's.
6378 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
6379 _zr=yes
6380 else
6381 _zr=no
6384 if test "$_zr" = yes ; then
6385 if test "$_libavcodec" = yes ; then
6386 _def_zr='#define HAVE_ZR 1'
6387 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6388 _vomodules="zr zr2 $_vomodules"
6389 else
6390 _res_comment="libavcodec (static) is required by zr, sorry"
6391 _novomodules="zr $_novomodules"
6392 _def_zr='#undef HAVE_ZR'
6394 else
6395 _def_zr='#undef HAVE_ZR'
6396 _novomodules="zr zr2 $_novomodules"
6398 echores "$_zr"
6400 echocheck "bl"
6401 if test "$_bl" = yes ; then
6402 _def_bl='#define HAVE_BL 1'
6403 _vosrc="$_vosrc vo_bl.c"
6404 _vomodules="bl $_vomodules"
6405 else
6406 _def_bl='#undef HAVE_BL'
6407 _novomodules="bl $_novomodules"
6409 echores "$_bl"
6412 echocheck "XviD"
6413 if test "$_xvid" = auto ; then
6414 _xvid=no
6415 _ld_xvid="$_ld_xvid -lxvidcore $_ld_lm"
6416 cat > $TMPC << EOF
6417 #include <xvid.h>
6418 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6420 for _ld_tmp in "$_ld_xvid" "$_ld_xvid $_ld_pthread" ; do
6421 cc_check $_ld_tmp && _ld_xvid="$_ld_tmp" && _xvid=yes && break
6422 done
6425 if test "$_xvid" = yes ; then
6426 _def_xvid='#define HAVE_XVID4 1'
6427 _codecmodules="xvid $_codecmodules"
6428 else
6429 _def_xvid='#undef HAVE_XVID4'
6430 _nocodecmodules="xvid $_nocodecmodules"
6431 _ld_xvid=""
6433 echores "$_xvid"
6435 if test "$_xvid" = yes ; then
6436 echocheck "XviD two pass plugin"
6437 cat > $TMPC << EOF
6438 #include <xvid.h>
6439 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6441 if cc_check $_ld_xvid $_ld_lb ; then
6442 _lavc_xvid=yes
6443 _def_lavc_xvid='#define CONFIG_XVID 1'
6444 else
6445 _lavc_xvid=no
6446 _def_lavc_xvid='#undef CONFIG_XVID'
6448 echores "$_lavc_xvid"
6452 echocheck "x264"
6453 if test "$_x264" = auto ; then
6454 cat > $TMPC << EOF
6455 #include <inttypes.h>
6456 #include <x264.h>
6457 #if X264_BUILD < 53
6458 #error We do not support old versions of x264. Get the latest from SVN.
6459 #endif
6460 int main(void) { x264_encoder_open((void*)0); return 0; }
6462 _ld_x264="$_ld_x264 -lx264 $_ld_pthread"
6463 _x264=no
6464 if cc_check $_ld_x264 $_ld_lm ; then
6465 _x264=yes
6466 elif test "$_x11" = yes && cc_check $_ld_x264 $_ld_x11 $_ld_lm ; then
6467 _x264=yes
6468 _ld_x264="$_ld_x264 $_ld_x11"
6472 if test "$_x264" = yes ; then
6473 _x264=yes
6474 _def_x264='#define HAVE_X264 1'
6475 _codecmodules="x264 $_codecmodules"
6476 if echo $_libavencoders | grep -q x264 ; then
6477 _lavc_x264=yes
6478 _def_lavc_x264='#define CONFIG_X264 1'
6479 else
6480 _lavc_x264=no
6481 _def_lavc_x264='#undef CONFIG_X264'
6483 else
6484 _x264=no
6485 _ld_x264=''
6486 _lavc_x264=no
6487 _def_x264='#undef HAVE_X264'
6488 _def_lavc_x264='#undef CONFIG_X264'
6489 _nocodecmodules="x264 $_nocodecmodules"
6491 echores "$_x264 (in libavcodec: $_lavc_x264)"
6494 echocheck "nut"
6495 if test "$_nut" = auto ; then
6496 cat > $TMPC << EOF
6497 #include <stdio.h>
6498 #include <stdlib.h>
6499 #include <inttypes.h>
6500 #include <libnut.h>
6501 int main(void) { (void)nut_error(0); return 0; }
6503 _ld_nut="-lnut"
6504 _nut=no
6505 cc_check $_ld_nut && _nut=yes
6508 if test "$_nut" = yes ; then
6509 _def_nut='#define HAVE_LIBNUT 1'
6510 else
6511 _ld_nut=''
6512 _def_nut='#undef HAVE_LIBNUT'
6514 echores "$_nut"
6517 # mencoder requires (optional) those libs: libmp3lame
6518 if test "$_mencoder" != no ; then
6520 echocheck "libmp3lame (for mencoder)"
6521 _mp3lame=no
6522 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6523 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6524 cat > $TMPC <<EOF
6525 #include <lame/lame.h>
6526 int main(void) { lame_version_t lv; (void) lame_init(); get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor); return 0; }
6528 # Note: libmp3lame usually depends on vorbis
6529 cc_check -lmp3lame $_ld_vorbis $_ld_lm && tmp_run && _mp3lame=yes
6530 if test "$_mp3lame" = yes ; then
6531 _def_mp3lame="#define HAVE_MP3LAME"
6532 _def_lavc_mp3lame="#define CONFIG_MP3LAME 1"
6533 _ld_mp3lame="-lmp3lame $_ld_vorbis"
6534 cat > $TMPC << EOF
6535 #include <lame/lame.h>
6536 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6538 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6539 cat > $TMPC << EOF
6540 #include <lame/lame.h>
6541 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6543 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6544 echo $_libavencoders | grep -q mp3lame && _lavc_mp3lame=yes || _lavc_mp3lame=no
6545 else
6546 _def_mp3lame='#undef HAVE_MP3LAME'
6548 echores "$_mp3lame"
6552 echocheck "mencoder"
6553 _mencoder_flag='#undef HAVE_MENCODER'
6554 if test "$_mencoder" = yes ; then
6555 _mencoder_flag='#define HAVE_MENCODER'
6556 _def_muxers='#define CONFIG_MUXERS 1'
6557 else
6558 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6559 _libavencoders="mpeg1video_encoder snow_encoder"
6560 _libavmuxers=""
6562 echores "$_mencoder"
6564 echocheck "fastmemcpy"
6565 # fastmemcpy check is done earlier with tests of CPU & binutils features
6566 if test "$_fastmemcpy" = yes ; then
6567 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6568 else
6569 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6571 echores "$_fastmemcpy"
6573 echocheck "UniquE RAR File Library"
6574 if test "$_unrarlib" = yes ; then
6575 _def_unrarlib='#define USE_UNRARLIB 1'
6576 else
6577 _def_unrarlib='#undef USE_UNRARLIB'
6579 echores "$_unrarlib"
6581 echocheck "TV interface"
6582 if test "$_tv" = yes ; then
6583 _def_tv='#define USE_TV 1'
6584 _inputmodules="tv $_inputmodules"
6585 else
6586 _noinputmodules="tv $_noinputmodules"
6587 _def_tv='#undef USE_TV'
6589 echores "$_tv"
6592 if bsd; then
6593 echocheck "*BSD BrookTree 848 TV interface"
6594 if test "$_tv_bsdbt848" = auto ; then
6595 _tv_bsdbt848=no
6596 if test "$_tv" = yes ; then
6597 cat > $TMPC <<EOF
6598 #include <sys/types.h>
6599 #if defined(__NetBSD__)
6600 #include <dev/ic/bt8xx.h>
6601 #else
6602 #include <machine/ioctl_bt848.h>
6603 #endif
6604 int main(void) { return 0; }
6606 cc_check && _tv_bsdbt848=yes
6609 if test "$_tv_bsdbt848" = yes ; then
6610 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6611 _inputmodules="tv-bsdbt848 $_inputmodules"
6612 else
6613 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6614 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6616 echores "$_tv_bsdbt848"
6617 fi #if bsd
6620 echocheck "Video 4 Linux TV interface"
6621 if test "$_tv_v4l1" = auto ; then
6622 _tv_v4l1=no
6623 if test "$_tv" = yes && linux ; then
6624 cat > $TMPC <<EOF
6625 #include <stdlib.h>
6626 #include <linux/videodev.h>
6627 int main(void) { return 0; }
6629 cc_check && _tv_v4l1=yes
6632 if test "$_tv_v4l1" = yes ; then
6633 _tv_v4l=yes
6634 _def_tv_v4l='#define HAVE_TV_V4L 1'
6635 _def_tv_v4l1='#define HAVE_TV_V4L1 1'
6636 _inputmodules="tv-v4l $_inputmodules"
6637 else
6638 _noinputmodules="tv-v4l1 $_noinputmodules"
6639 _def_tv_v4l='#undef HAVE_TV_V4L'
6641 echores "$_tv_v4l1"
6644 echocheck "Video 4 Linux 2 TV interface"
6645 if test "$_tv_v4l2" = auto ; then
6646 _tv_v4l2=no
6647 if test "$_tv" = yes && linux ; then
6648 cat > $TMPC <<EOF
6649 #include <stdlib.h>
6650 #include <linux/types.h>
6651 #include <linux/videodev2.h>
6652 int main(void) { return 0; }
6654 cc_check && _tv_v4l2=yes
6657 if test "$_tv_v4l2" = yes ; then
6658 _tv_v4l=yes
6659 _def_tv_v4l='#define HAVE_TV_V4L 1'
6660 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6661 _inputmodules="tv-v4l2 $_inputmodules"
6662 else
6663 _noinputmodules="tv-v4l2 $_noinputmodules"
6664 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6666 echores "$_tv_v4l2"
6669 echocheck "Radio interface"
6670 if test "$_radio" = yes ; then
6671 _def_radio='#define USE_RADIO 1'
6672 _inputmodules="radio $_inputmodules"
6673 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6674 _radio_capture=no
6676 if test "$_radio_capture" = yes ; then
6677 _def_radio_capture="#define USE_RADIO_CAPTURE 1"
6678 else
6679 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6681 else
6682 _noinputmodules="radio $_noinputmodules"
6683 _def_radio='#undef USE_RADIO'
6684 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6685 _radio_capture=no
6687 echores "$_radio"
6688 echocheck "Capture for Radio interface"
6689 echores "$_radio_capture"
6691 echocheck "Video 4 Linux 2 Radio interface"
6692 if test "$_radio_v4l2" = auto ; then
6693 _radio_v4l2=no
6694 if test "$_radio" = yes && linux ; then
6695 cat > $TMPC <<EOF
6696 #include <stdlib.h>
6697 #include <linux/types.h>
6698 #include <linux/videodev2.h>
6699 int main(void) { return 0; }
6701 cc_check && _radio_v4l2=yes
6704 if test "$_radio_v4l2" = yes ; then
6705 _def_radio_v4l2='#define HAVE_RADIO_V4L2 1'
6706 else
6707 _def_radio_v4l2='#undef HAVE_RADIO_V4L2'
6709 echores "$_radio_v4l2"
6711 echocheck "Video 4 Linux Radio interface"
6712 if test "$_radio_v4l" = auto ; then
6713 _radio_v4l=no
6714 if test "$_radio" = yes && linux ; then
6715 cat > $TMPC <<EOF
6716 #include <stdlib.h>
6717 #include <linux/videodev.h>
6718 int main(void) { return 0; }
6720 cc_check && _radio_v4l=yes
6723 if test "$_radio_v4l" = yes ; then
6724 _def_radio_v4l='#define HAVE_RADIO_V4L 1'
6725 else
6726 _def_radio_v4l='#undef HAVE_RADIO_V4L'
6728 echores "$_radio_v4l"
6730 if bsd && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
6731 echocheck "*BSD BrookTree 848 Radio interface header"
6732 for file in "dev/ic/bt8xx.h" \
6733 "machine/ioctl_bt848.h" \
6734 "dev/bktr/ioctl_bt848.h" \
6735 "dev/video/bktr/ioctl_bt848.h" ; do
6736 cat > $TMPC <<EOF
6737 #include <sys/types.h>
6738 #include <$file>
6739 int main(void) { return 0; }
6741 cc_check && _radio_bsdbt848_hdr=$file
6742 done
6743 echores "$_radio_bsdbt848_hdr"
6744 fi #if bsd && radio && radio_bsdbt848
6746 if test -n "$_radio_bsdbt848_hdr" ; then
6747 _def_radio_bsdbt848="#define RADIO_BSDBT848_HDR <$_radio_bsdbt848_hdr>"
6748 else
6749 _def_radio_bsdbt848='#undef RADIO_BSDBT848_HDR '
6752 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
6753 test -z "$_radio_bsdbt848_hdr" && test "$_radio" = yes ; then
6754 die "Radio driver requires BSD BT848, V4L or V4L2!"
6757 echocheck "Video 4 Linux 2 MPEG PVR interface"
6758 if test "$_pvr" = auto ; then
6759 _pvr=no
6760 if test "$_tv_v4l2" = yes && linux ; then
6761 cat > $TMPC <<EOF
6762 #include <stdlib.h>
6763 #include <inttypes.h>
6764 #include <linux/types.h>
6765 #include <linux/videodev2.h>
6766 int main(void) { struct v4l2_ext_controls ext; return 0; }
6768 cc_check && _pvr=yes
6771 if test "$_pvr" = yes ; then
6772 _def_pvr='#define HAVE_PVR 1'
6773 _inputmodules="pvr $_inputmodules"
6774 else
6775 _noinputmodules="pvr $_noinputmodules"
6776 _def_pvr='#undef HAVE_PVR'
6778 echores "$_pvr"
6781 echocheck "audio select()"
6782 if test "$_select" = no ; then
6783 _def_select='#undef HAVE_AUDIO_SELECT'
6784 elif test "$_select" = yes ; then
6785 _def_select='#define HAVE_AUDIO_SELECT 1'
6787 echores "$_select"
6790 echocheck "network"
6791 # FIXME network check
6792 if test "$_network" = yes ; then
6793 _def_network='#define MPLAYER_NETWORK 1'
6794 _ld_network="$_ld_sock"
6795 _inputmodules="network $_inputmodules"
6796 else
6797 _noinputmodules="network $_noinputmodules"
6798 _def_network='#undef MPLAYER_NETWORK'
6799 _ftp=no
6801 echores "$_network"
6803 echocheck "ftp"
6804 if not beos && test "$_ftp" = yes ; then
6805 _def_ftp='#define HAVE_FTP 1'
6806 _inputmodules="ftp $_inputmodules"
6807 else
6808 _noinputmodules="ftp $_noinputmodules"
6809 _def_ftp='#undef HAVE_FTP'
6811 echores "$_ftp"
6813 echocheck "vstream client"
6814 if test "$_vstream" = auto ; then
6815 _vstream=no
6816 cat > $TMPC <<EOF
6817 #include <vstream-client.h>
6818 void vstream_error(const char *format, ... ) {}
6819 int main(void) { vstream_start(); return 0; }
6821 cc_check -lvstream-client && _vstream=yes
6823 if test "$_vstream" = yes ; then
6824 _def_vstream='#define HAVE_VSTREAM 1'
6825 _inputmodules="vstream $_inputmodules"
6826 _ld_vstream='-lvstream-client'
6827 else
6828 _noinputmodules="vstream $_noinputmodules"
6829 _def_vstream='#undef HAVE_VSTREAM'
6831 echores "$_vstream"
6833 # endian testing
6834 echocheck "byte order"
6835 if test "$_big_endian" = auto ; then
6836 cat > $TMPC <<EOF
6837 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6838 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6839 int main(){
6840 return (int)ascii_name;
6843 if cc_check ; then
6844 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6845 _big_endian=yes
6846 else
6847 _big_endian=no
6849 else
6850 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
6853 if test "$_big_endian" = yes ; then
6854 _byte_order='big-endian'
6855 _def_words_endian='#define WORDS_BIGENDIAN 1'
6856 else
6857 _byte_order='little-endian'
6858 _def_words_endian='#undef WORDS_BIGENDIAN'
6860 echores "$_byte_order"
6862 echocheck "OSD menu"
6863 if test "$_menu" = yes ; then
6864 _def_menu='#define HAVE_MENU 1'
6865 else
6866 _def_menu='#undef HAVE_MENU'
6868 echores "$_menu"
6871 echocheck "QuickTime codecs"
6872 if test "$_qtx" = auto ; then
6873 test "$_win32" = yes || darwin && _qtx=yes
6875 if test "$_qtx" = yes ; then
6876 _def_qtx='#define USE_QTX_CODECS 1'
6877 _codecmodules="qtx $_codecmodules"
6878 else
6879 _def_qtx='#undef USE_QTX_CODECS'
6880 _nocodecmodules="qtx $_nocodecmodules"
6882 echores "$_qtx"
6885 echocheck "Subtitles sorting"
6886 if test "$_sortsub" = yes ; then
6887 _def_sortsub='#define USE_SORTSUB 1'
6888 else
6889 _def_sortsub='#undef USE_SORTSUB'
6891 echores "$_sortsub"
6894 echocheck "XMMS inputplugin support"
6895 if test "$_xmms" = yes ; then
6897 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6898 if test -z "$_xmmsplugindir" ; then
6899 _xmmsplugindir=`xmms-config --input-plugin-dir`
6901 if test -z "$_xmmslibdir" ; then
6902 _xmmslibdir=`xmms-config --exec-prefix`/lib
6904 else
6905 if test -z "$_xmmsplugindir" ; then
6906 _xmmsplugindir=/usr/lib/xmms/Input
6908 if test -z "$_xmmslibdir" ; then
6909 _xmmslibdir=/usr/lib
6913 _def_xmms='#define HAVE_XMMS 1'
6914 if darwin ; then
6915 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
6916 else
6917 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6919 else
6920 _def_xmms='#undef HAVE_XMMS'
6922 echores "$_xmms"
6924 echocheck "inet6"
6925 if test "$_inet6" = auto ; then
6926 cat > $TMPC << EOF
6927 #include <sys/types.h>
6928 #include <sys/socket.h>
6929 #include <netinet/in.h>
6930 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6932 _inet6=no
6933 if cc_check ; then
6934 _inet6=yes
6937 if test "$_inet6" = yes ; then
6938 _def_inet6='#define HAVE_AF_INET6 1'
6939 else
6940 _def_inet6='#undef HAVE_AF_INET6'
6942 echores "$_inet6"
6945 echocheck "gethostbyname2"
6946 if test "$_gethostbyname2" = auto ; then
6947 cat > $TMPC << EOF
6948 #include <sys/types.h>
6949 #include <sys/socket.h>
6950 #include <netdb.h>
6951 int main(void) { gethostbyname2("", AF_INET); }
6953 _gethostbyname2=no
6954 if cc_check ; then
6955 _gethostbyname2=yes
6959 if test "$_gethostbyname2" = yes ; then
6960 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
6961 else
6962 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
6964 echores "$_gethostbyname2"
6967 # --------------- GUI specific tests begin -------------------
6968 echocheck "GUI"
6969 echo "$_gui"
6970 if test "$_gui" = yes ; then
6972 # Required libraries
6973 test "$_png" != yes && die "The GUI requires PNG support, please install libpng and libpng-dev packages."
6974 if not win32 ; then
6975 test "$_x11" != yes && die "X11 support required for GUI compilation."
6977 echocheck "XShape extension"
6978 if test "$_xshape" = auto ; then
6979 _xshape=no
6980 cat > $TMPC << EOF
6981 #include <X11/Xlib.h>
6982 #include <X11/Xproto.h>
6983 #include <X11/Xutil.h>
6984 #include <X11/extensions/shape.h>
6985 #include <stdlib.h>
6986 int main(void) {
6987 char *name = ":0.0";
6988 Display *wsDisplay;
6989 int exitvar = 0;
6990 int eventbase, errorbase;
6991 if (getenv("DISPLAY"))
6992 name=getenv("DISPLAY");
6993 wsDisplay=XOpenDisplay(name);
6994 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6995 exitvar=1;
6996 XCloseDisplay(wsDisplay);
6997 return exitvar;
7000 cc_check $_ld_x11 && _xshape=yes
7002 if test "$_xshape" = yes ; then
7003 _def_xshape='#define HAVE_XSHAPE 1'
7004 else
7005 die "The GUI requires the X11 extension XShape (which was not found)."
7007 echores "$_xshape"
7009 #Check for GTK
7010 if test "$_gtk1" = no ; then
7011 #Check for GTK2 :
7012 echocheck "GTK+ version"
7014 if $_pkg_config gtk+-2.0 --exists ; then
7015 _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7016 _inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7017 _ld_gtk=`$_pkg_config gtk+-2.0 --libs 2>/dev/null`
7018 echores "$_gtk"
7020 # Check for GLIB2
7021 if $_pkg_config glib-2.0 --exists ; then
7022 echocheck "glib version"
7023 _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7024 _ld_glib=`$_pkg_config glib-2.0 --libs 2>/dev/null`
7025 echores "$_glib"
7027 _def_gui='#define HAVE_NEW_GUI 1'
7028 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
7029 else
7030 _gtk1=yes
7031 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7033 else
7034 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7035 _gtk1=yes
7039 if test "$_gtk1" = yes ; then
7040 # Check for old GTK (1.2.x)
7041 echocheck "GTK version"
7042 if test -z "$_gtkconfig" ; then
7043 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7044 _gtkconfig="gtk-config"
7045 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7046 _gtkconfig="gtk12-config"
7047 else
7048 die "The GUI requires GTK devel packages (which were not found)."
7051 _gtk=`$_gtkconfig --version 2>&1`
7052 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7053 _ld_gtk=`$_gtkconfig --libs 2>&1`
7054 echores "$_gtk (using $_gtkconfig)"
7056 # Check for GLIB
7057 echocheck "glib version"
7058 if test -z "$_glibconfig" ; then
7059 if ( glib-config --version ) >/dev/null 2>&1 ; then
7060 _glibconfig="glib-config"
7061 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7062 _glibconfig="glib12-config"
7063 else
7064 die "The GUI requires GLIB devel packages (which were not found)"
7067 _glib=`$_glibconfig --version 2>&1`
7068 _ld_glib=`$_glibconfig --libs 2>&1`
7069 echores "$_glib (using $_glibconfig)"
7071 _def_gui='#define HAVE_NEW_GUI 1'
7072 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7075 else #if not win32
7076 _ld_win32libs="-lcomdlg32 -lcomctl32 -lshell32 -lkernel32 $_ld_win32libs"
7077 _def_gui='#define HAVE_NEW_GUI 1'
7078 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7079 fi #if not win32
7081 else #if test "$_gui"
7082 _def_gui='#undef HAVE_NEW_GUI'
7083 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7084 fi #if test "$_gui"
7085 # --------------- GUI specific tests end -------------------
7088 if test "$_charset" = "noconv" ; then
7089 _charset=""
7091 if test "$_charset" ; then
7092 _def_charset="#define MSG_CHARSET \"$_charset\""
7093 else
7094 _def_charset="#undef MSG_CHARSET"
7097 if test "$_charset" = "UTF-8" ; then
7098 # hack to disable conversion in the Makefile
7099 _charset=""
7102 if test "$_charset" ; then
7103 echocheck "iconv program"
7104 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7105 if test "$?" -ne 0 ; then
7106 echores "no"
7107 echo "No working iconv program found, use "
7108 echo "--charset=UTF-8 to continue anyway."
7109 echo "If you also have problems with iconv library functions use --charset=noconv."
7110 echo "Messages in the GTK-2 interface will be broken then."
7111 exit 1
7112 else
7113 echores "yes"
7117 #############################################################################
7119 echocheck "automatic gdb attach"
7120 if test "$_crash_debug" = yes ; then
7121 _def_crash_debug='#define CRASH_DEBUG 1'
7122 else
7123 _def_crash_debug='#undef CRASH_DEBUG'
7124 _crash_debug=no
7126 echores "$_crash_debug"
7128 if darwin ; then
7129 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7130 if x86 ; then
7131 CFLAGS="$CFLAGS -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
7133 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7134 CFLAGS="$CFLAGS -no-cpp-precomp"
7137 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7138 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
7140 if hpux ; then
7141 # use flag for HPUX missing setenv()
7142 CFLAGS="$CFLAGS -DHPUX"
7144 # Thread support
7145 if linux ; then
7146 CFLAGS="$CFLAGS -D_REENTRANT"
7147 elif bsd ; then
7148 # FIXME bsd needs this so maybe other OS'es
7149 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7151 # 64 bit file offsets?
7152 if test "$_largefiles" = yes || freebsd ; then
7153 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7154 if test "$_dvdread" = yes ; then
7155 # dvdread support requires this (for off64_t)
7156 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7160 echocheck "compiler support for noexecstack"
7161 cat > $TMPC <<EOF
7162 int main(void) { return 0; }
7164 if cc_check -Wl,-z,noexecstack ; then
7165 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7166 echores "yes"
7167 else
7168 echores "no"
7171 if cc_check -Wdeclaration-after-statement ; then
7172 CFLAGS="-Wdeclaration-after-statement $CFLAGS"
7175 echocheck "ftello()"
7176 # if we don't have ftello use the osdep/ compatibility module
7177 cat > $TMPC << EOF
7178 #include <stdio.h>
7179 #include <sys/types.h>
7180 int main (void) { ftello(stdin); return 0; }
7182 _ftello=no
7183 cc_check && _ftello=yes
7184 if test "$_ftello" = yes ; then
7185 _def_ftello='#define HAVE_FTELLO 1'
7186 else
7187 _def_ftello='#undef HAVE_FTELLO'
7189 echores "$_ftello"
7191 # Determine OS dependent libs
7192 if cygwin ; then
7193 _def_confwin32='#define WIN32'
7194 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7195 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7196 CFLAGS="$CFLAGS -D__CYGWIN__"
7199 if win32 ; then
7200 _confwin32='TARGET_WIN32 = yes'
7201 else
7202 _confwin32='TARGET_WIN32 = no'
7205 # Dynamic linking flags
7206 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7207 _ld_dl_dynamic=''
7208 bsd && _ld_dl_dynamic='-rdynamic'
7209 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx && not darwin ; then
7210 _ld_dl_dynamic='-rdynamic'
7213 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7214 bsdos && _ld_arch="$_ld_arch -ldvd"
7215 if netbsd ; then
7216 x86 && _ld_arch="$_ld_arch -li386"
7219 _def_debug='#undef MP_DEBUG'
7220 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7222 _def_linux='#undef TARGET_LINUX'
7223 linux && _def_linux='#define TARGET_LINUX 1'
7225 # TODO cleanup the VIDIX stuff here
7226 echocheck "VIDIX (internal)"
7227 echores "$_vidix_internal"
7229 echocheck "VIDIX (external)"
7230 if test "$_vidix_external" = auto; then
7231 _vidix_external=no
7232 cat > $TMPC <<EOF
7233 #include <vidix/vidix.h>
7234 int main(void) { return 0; }
7236 cc_check -lvidix && _vidix_external=yes
7238 echores "$_vidix_external"
7240 if test "$_vidix_internal" = yes || test "$_vidix_external" = yes ; then
7241 _vidix=yes
7242 _def_vidix='#define CONFIG_VIDIX 1'
7243 else
7244 _vidix=no
7245 _def_vidix='#undef CONFIG_VIDIX'
7248 if test "$_vidix_internal" = yes ; then
7249 _def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
7250 elif test "$_vidix_external" = yes ; then
7251 _ld_vidix_external="-lvidix"
7252 _def_vidix_pfx='#define MP_VIDIX_PFX "" '
7255 if test "$_vidix" = yes; then
7256 _vosrc="$_vosrc vo_cvidix.c"
7257 _vomodules="cvidix $_vomodules"
7258 else
7259 _novomodules="cvidix $_novomodules"
7261 if test "$_vidix" = yes && win32; then
7262 _vosrc="$_vosrc vo_winvidix.c"
7263 _vomodules="winvidix $_vomodules"
7264 _ld_win32libs="-lgdi32 $_ld_win32libs"
7265 else
7266 _novomodules="winvidix $_novomodules"
7268 if test "$_vidix" = yes && test "$_x11" = yes; then
7269 _vosrc="$_vosrc vo_xvidix.c"
7270 _vomodules="xvidix $_vomodules"
7271 else
7272 _novomodules="xvidix $_novomodules"
7275 echocheck "joystick"
7276 _def_joystick='#undef HAVE_JOYSTICK'
7277 if test "$_joystick" = yes ; then
7278 if linux ; then
7279 # TODO add some check
7280 _def_joystick='#define HAVE_JOYSTICK 1'
7281 else
7282 _joystick="no (unsupported under $system_name)"
7285 echores "$_joystick"
7287 echocheck "lirc"
7288 if test "$_lirc" = auto ; then
7289 _lirc=no
7290 cat > $TMPC <<EOF
7291 #include <lirc/lirc_client.h>
7292 int main(void) { return 0; }
7294 cc_check -llirc_client && _lirc=yes
7296 if test "$_lirc" = yes ; then
7297 _def_lirc='#define HAVE_LIRC 1'
7298 _ld_lirc='-llirc_client'
7299 else
7300 _def_lirc='#undef HAVE_LIRC'
7302 echores "$_lirc"
7304 echocheck "lircc"
7305 if test "$_lircc" = auto ; then
7306 _lircc=no
7307 cat > $TMPC <<EOF
7308 #include <lirc/lircc.h>
7309 int main(void) { return 0; }
7311 cc_check -llircc && _lircc=yes
7313 if test "$_lircc" = yes ; then
7314 _def_lircc='#define HAVE_LIRCC 1'
7315 _ld_lircc='-llircc'
7316 else
7317 _def_lircc='#undef HAVE_LIRCC'
7319 echores "$_lircc"
7321 if arm; then
7322 # Detect maemo development platform libraries availability (http://www.maemo.org),
7323 # they are used when run on Nokia 770
7324 echocheck "maemo (Nokia 770)"
7325 if test "$_maemo" = auto ; then
7326 _maemo=no
7327 cat > $TMPC << EOF
7328 #include <libosso.h>
7329 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7331 cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
7333 if test "$_maemo" = yes ; then
7334 _def_maemo='#define HAVE_MAEMO 1'
7335 _inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
7336 _ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7337 else
7338 _def_maemo='#undef HAVE_MAEMO'
7340 echores "$_maemo"
7343 echocheck "color console output"
7344 if test "$_color_console" = yes ; then
7345 _def_color_console='#define MSG_USE_COLORS 1'
7346 else
7347 _def_color_console='#undef MSG_USE_COLORS'
7349 echores "$_color_console"
7351 #############################################################################
7352 echo "Creating config.mak"
7353 cat > config.mak << EOF
7354 # -------- Generated by configure -----------
7356 LANG = C
7357 MAN_LANG = $MAN_LANG
7358 TARGET_OS = $system_name
7359 DESTDIR =
7360 prefix = \$(DESTDIR)$_prefix
7361 BINDIR = \$(DESTDIR)$_bindir
7362 DATADIR = \$(DESTDIR)$_datadir
7363 MANDIR = \$(DESTDIR)$_mandir
7364 CONFDIR = \$(DESTDIR)$_confdir
7365 LIBDIR = \$(DESTDIR)$_libdir
7366 # FFmpeg uses libdir instead of LIBDIR
7367 libdir = \$(LIBDIR)
7368 #AR = ar
7369 CC = $_cc
7370 HOST_CC = $_host_cc
7371 AWK = $_awk
7372 RANLIB = $_ranlib
7373 INSTALL = $_install
7374 # FIXME: Should only be _inc_extra eventually.
7375 EXTRA_INC = $_inc_extra
7376 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7377 STRIPBINARIES = $_stripbinaries
7378 CHARSET = $_charset
7379 HELP_FILE = $_mp_help
7381 EXESUF = $_exesuf
7383 MPLAYER_NETWORK = $_network
7384 FTP = $_ftp
7385 STREAMING_LIVE555 = $_live
7386 VSTREAM = $_vstream
7387 STREAM_CACHE = yes
7388 DVBIN = $_dvbin
7389 VIDIX = $_vidix_internal
7390 EXTERNAL_VIDIX = $_vidix_external
7391 CONFIG_PP = yes
7392 CONFIG_MP3LAME = $_mp3lame
7393 LIBMENU = $_menu
7395 MP3LIB = $_mp3lib
7396 LIBA52 = $_liba52
7397 LIBMPEG2 = $_libmpeg2
7398 TREMOR_INTERNAL = $_tremor_internal
7399 TREMOR_FLAGS = $_tremor_flags
7400 FAAD = $_faad
7402 SPEEX = $_speex
7403 MUSEPACK = $_musepack
7405 UNRARLIB = $_unrarlib
7406 PNG = $_png
7407 JPEG = $_jpeg
7408 GIF = $_gif
7410 EXTRALIBS = $_extra_libs
7411 EXTRA_LIB = $_ld_extra $_ld_live $_ld_vstream $_ld_network $_ld_enca \
7412 $_ld_static $_ld_zlib $_ld_termcap $_ld_lirc $_ld_lircc $_ld_win32 \
7413 $_ld_win32libs $_ld_lm $_ld_libC $_ld_fribidi $_ld_smb $_ld_gif \
7414 $_ld_libcdio $_ld_dvdread $_ld_dvdnav $_macosx_frameworks $_ld_cdparanoia \
7415 $_ld_xvid $_ld_libdts $_ld_mad \
7416 $_ld_vorbis $_ld_libdv $_ld_theora $_ld_faad $_ld_speex $_xmms_lib \
7417 $_ld_musepack $_ld_liblzo $_ld_png \
7418 $_ld_jpeg $_ld_alsa $_ld_nut $_ld_arch $_ld_iconv $_ld_mlib
7419 VO_LIBS = $_ld_aa $_ld_sdl $_ld_ggi $_ld_svga $_ld_directfb $_ld_caca \
7420 $_ld_vesa $_ld_vidix_external $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm \
7421 $_ld_xinerama $_ld_x11 $_ld_sock
7422 AO_LIBS = $_ld_arts $_ld_esd $_ld_jack $_ld_openal $_ld_nas $_ld_sgiaudio \
7423 $_ld_polyp
7424 EXTRA_LIB_MENCODER = $_ld_mp3lame $_ld_x264 $_toolame_lib $_twolame_lib $_ld_faac
7425 ifeq ($_lavc_faac,yes)
7426 EXTRA_LIB += $_ld_faac
7427 endif
7428 ifeq ($_lavc_mp3lame,yes)
7429 EXTRA_LIB += $_ld_mp3lame
7430 endif
7431 ifeq ($_lavc_x264,yes)
7432 EXTRA_LIB += $_ld_x264
7433 endif
7434 FREETYPE_LIB = $_ld_freetype
7435 FONTCONFIG_LIB = $_ld_fontconfig
7436 GTK_LIBS = $_ld_static $_ld_gtk $_ld_glib
7438 HAVE_MLIB = $_mlib
7439 HAVE_PTHREADS = $_pthreads
7441 HAVE_XVMC_ACCEL = $_xvmc
7443 # for FFmpeg
7444 SRC_PATH=..
7445 BUILD_ROOT=..
7446 LIBPREF=lib
7447 LIBSUF=.a
7448 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7450 # audio output
7451 OSS = $_ossaudio
7452 ALSA = $_alsa
7453 ALSA5 = $_alsa5
7454 ALSA9 = $_alsa9
7455 ALSA1X = $_alsa1x
7457 # input/demuxer/codecs
7458 JOYSTICK = $_joystick
7459 LIRC = $_lirc
7460 TV = $_tv
7461 TV_V4L = $_tv_v4l
7462 TV_V4L1 = $_tv_v4l1
7463 TV_V4L2 = $_tv_v4l2
7464 TV_BSDBT848 = $_tv_bsdbt848
7465 PVR = $_pvr
7466 VCD = $_vcd
7467 DVDREAD = $_dvdread
7468 DVDREAD_INTERNAL = $_dvdread_internal
7469 DVDCSS_INTERNAL = $_libdvdcss_internal
7470 DVDNAV = $_dvdnav
7471 WIN32DLL = $_win32
7472 W32_DEP = $_dep_win32
7473 QTX_CODECS = $_qtx
7474 REAL_CODECS = $_real
7475 XANIM_CODECS = $_xanim
7476 AV_DEP = $_dep_libavformat $_dep_libavcodec $_dep_libavutil $_dep_libpostproc
7477 AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil $_ld_libpostproc
7478 CONFIG_LIBAVUTIL = $_libavutil
7479 CONFIG_LIBAVUTIL_SO = $_libavutil_so
7480 CONFIG_LIBAVCODEC = $_libavcodec
7481 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7482 CONFIG_LIBAVFORMAT = $_libavformat
7483 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7484 CONFIG_LIBPOSTPROC = $_libpostproc
7485 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7486 ZORAN = $_zr
7487 LIBDV = $_libdv
7488 XVID4 = $_xvid
7489 X264 = $_x264
7490 LIBNUT = $_nut
7491 CONFIG_DTS = $_libdts
7492 MENCODER = $_mencoder
7493 CDDA = $_cdda
7494 BITMAP_FONT = $_bitmap_font
7495 FREETYPE = $_freetype
7496 CONFIG_ASS = $_ass
7497 LIBMAD = $_mad
7498 LIBVORBIS = $_vorbis
7499 LIBTHEORA = $_theora
7500 FAAD_INTERNAL = $_faad_internal
7501 FAAD_FIXED = $_faad_fixed
7502 LIBSMBCLIENT = $_smbsupport
7503 XMMS_PLUGINS = $_xmms
7504 MACOSX = $_macosx
7505 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7506 MACOSX_BUNDLE = $_macosx_bundle
7507 MACOSX_COREVIDEO = $_macosx_corevideo
7508 TOOLAME=$_toolame
7509 TWOLAME=$_twolame
7510 FAAC=$_faac
7511 CONFIG_AMR=$_amr
7512 CONFIG_AMR_NB=$_amr_nb
7513 CONFIG_AMR_NB_FIXED=$_amr_nb_fixed
7514 CONFIG_AMR_WB=$_amr_wb
7515 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7516 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7517 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7518 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7519 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7520 CONFIG_FAAC=$_faac
7521 CONFIG_XVID=$_lavc_xvid
7522 CONFIG_X264=$_x264
7523 CONFIG_GPL=yes
7524 CONFIG_ENCODERS=$_mencoder
7525 CONFIG_MUXERS=$_mencoder
7526 RADIO=$_radio
7527 RADIO_CAPTURE=$_radio_capture
7529 # --- Some stuff for autoconfigure ----
7530 $_target_arch
7531 $_target_arch_x86
7532 $_confwin32
7533 TARGET_CPU=$iproc
7534 TARGET_MMX = $_mmx
7535 TARGET_MMX2 = $_mmxext
7536 TARGET_3DNOW = $_3dnow
7537 TARGET_3DNOWEX = $_3dnowext
7538 TARGET_SSE = $_sse
7539 TARGET_CMOV = $_cmov
7540 TARGET_ALTIVEC = $_altivec
7541 TARGET_ARMV5TE = $_armv5te
7542 TARGET_IWMMXT = $_iwmmxt
7543 TARGET_VIS = $_vis
7544 TARGET_BUILTIN_VECTOR = $_builtin_vector
7545 TARGET_BUILTIN_3DNOW = $_mm3dnow
7547 # --- GUI stuff ---
7548 GUI = $_gui
7550 # --- libvo stuff ---
7551 VO_SRCS = $_vosrc
7553 # --- libao2 stuff ---
7554 AO_SRCS = $_aosrc
7556 # --- libaf stuff ---
7557 AF_SRCS = $_afsrc
7561 #############################################################################
7562 echo "Creating config.h"
7563 cat > config.h << EOF
7564 /* -------- This file has been automatically generated by configure ---------
7565 Note: Any changes in it will be lost when you run configure again. */
7567 /* Protect against multiple inclusion */
7568 #ifndef MPLAYER_CONFIG_H
7569 #define MPLAYER_CONFIG_H 1
7571 /* use GNU internationalization */
7572 $_def_i18n
7574 /* name of messages charset */
7575 $_def_charset
7577 /* Runtime CPU detection */
7578 $_def_runtime_cpudetection
7580 /* Dynamic a/v plugins */
7581 $_def_dynamic_plugins
7583 /* "restrict" keyword */
7584 $_def_restrict_keyword
7586 /* __builtin_expect branch prediction hint */
7587 $_def_builtin_expect
7588 #ifdef HAVE_BUILTIN_EXPECT
7589 #define likely(x) __builtin_expect ((x) != 0, 1)
7590 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7591 #else
7592 #define likely(x) (x)
7593 #define unlikely(x) (x)
7594 #endif
7596 /* attribute(used) as needed by some compilers */
7597 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7598 # define attribute_used __attribute__((used))
7599 #else
7600 # define attribute_used
7601 #endif
7603 /* compiler support for named assembler arguments */
7604 $_def_named_asm_args
7606 #define PREFIX "$_prefix"
7608 #define USE_OSD 1
7609 #define USE_SUB 1
7611 /* enable/disable SIGHANDLER */
7612 $_def_sighandler
7614 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7615 $_def_crash_debug
7617 /* Toggles debugging informations */
7618 $_def_debug
7620 /* Toggles color console output */
7621 $_def_color_console
7623 /* Indicates that libcdio is available for VCD and CD-DA playback */
7624 $_def_libcdio
7626 /* Indicates that Ogle's libdvdread is available for DVD playback */
7627 $_def_dvdread
7629 /* Indicates that dvdread is internal */
7630 $_def_dvdread_internal
7632 /* Additional options for libdvdread/libdvdcss */
7633 $_def_dvd
7634 $_def_cdrom
7635 $_def_cdio
7636 $_def_dvdio
7637 $_def_bsdi_dvd
7638 $_def_dvd_bsd
7639 $_def_dvd_linux
7640 $_dev_dvd_openbsd
7641 $_def_dvd_darwin
7642 $_def_sol_scsi_h
7643 $_def_hpux_scsi_h
7644 $_def_stddef
7646 /* Common data directory (for fonts, etc) */
7647 #define MPLAYER_DATADIR "$_datadir"
7648 #define MPLAYER_CONFDIR "$_confdir"
7649 #define MPLAYER_LIBDIR "$_libdir"
7651 /* Define this to compile stream-caching support, it can be enabled via
7652 -cache <kilobytes> */
7653 #define USE_STREAM_CACHE 1
7655 /* Define if you are using XviD library */
7656 $_def_xvid
7658 /* Define if you are using the X.264 library */
7659 $_def_x264
7661 /* Define if you are using libnut */
7662 $_def_nut
7664 /* Define to include support for libdv-0.9.5 */
7665 $_def_libdv
7667 /* If build mencoder */
7668 $_mencoder_flag
7670 /* Indicates if libmp3lame is available
7671 Note: for mencoder */
7672 $_def_mp3lame
7673 $_def_mp3lame_preset
7674 $_def_mp3lame_preset_medium
7676 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7677 (use -bps or -nobps commandline option for run-time method selection)
7678 -bps gives better sync for vbr mp3 audio, it is now default */
7679 #define AVI_SYNC_BPS 1
7681 /* Undefine this if you do not want to select mono audio (left or right)
7682 with a stereo MPEG layer 2/3 audio stream. The command line option
7683 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7684 right-only), with 0 being the default.
7686 #define USE_FAKE_MONO 1
7688 /* Undefine this if your sound card driver has no working select().
7689 If you have kernel Oops, player hangups, or just no audio, you should
7690 try to recompile MPlayer with this option disabled! */
7691 $_def_select
7693 /* define this to use iconv(3) function to codepage conversions */
7694 $_def_iconv
7696 /* define this to use nl_langinfo function */
7697 $_def_langinfo
7699 /* define this to use RTC (/dev/rtc) for video timers */
7700 $_def_rtc
7702 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7703 #define MAX_OUTBURST 65536
7705 /* set up audio OUTBURST. Do not change this! */
7706 #define OUTBURST 512
7708 /* Define this if your system has the header file for the OSS sound interface */
7709 $_def_sys_soundcard
7711 /* Define this if your system has the header file for the OSS sound interface
7712 * in /usr/include */
7713 $_def_soundcard
7715 /* Define this if your system has the sysinfo header */
7716 $_def_sys_sysinfo
7718 /* Define this if your system has ftello() */
7720 $_def_ftello
7721 #ifndef HAVE_FTELLO
7722 /* Need these for FILE and off_t an config.h is usually before other includes*/
7723 #include <stdio.h>
7724 #include <sys/types.h>
7725 off_t ftello(FILE *);
7726 #endif
7728 /* Define this if your system has the "malloc.h" header file */
7729 $_def_malloc
7731 /* memalign is mapped to malloc if unsupported */
7732 $_def_memalign
7733 $_def_map_memalign
7734 $_def_memalign_hack
7736 /* assembler handling of .align */
7737 $_def_asmalign_pot
7739 /* Define this if your system has the "alloca.h" header file */
7740 $_def_alloca
7742 /* Define this if your system has the "sys/mman.h" header file */
7743 $_def_mman
7744 $_def_mman_has_map_failed
7746 /* Define this if you have the elf dynamic linker -ldl library */
7747 $_def_dl
7749 /* Define this if you have the kstat kernel statistics library */
7750 $_def_kstat
7752 /* Define this if you have zlib */
7753 $_def_zlib
7754 #ifdef HAVE_ZLIB
7755 #define CONFIG_ZLIB 1
7756 #endif
7758 /* Define this if you have shm support */
7759 $_def_shm
7761 /* Define this if your system has scandir & alphasort */
7762 $_def_scandir
7764 /* Define this if your system has strsep */
7765 $_def_strsep
7767 /* Define this if your system has strlcpy */
7768 $_def_strlcpy
7769 #ifndef HAVE_STRLCPY
7770 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7771 #endif
7773 /* Define this if your system has strlcat */
7774 $_def_strlcat
7775 #ifndef HAVE_STRLCAT
7776 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7777 #endif
7779 /* Define this if your system has fseeko */
7780 $_def_fseeko
7781 #ifndef HAVE_FSEEKO
7782 /* Need these for FILE and off_t an config.h is usually before other includes*/
7783 #include <stdio.h>
7784 #include <sys/types.h>
7785 int fseeko(FILE *, off_t, int);
7786 #endif
7788 $_def_localtime_r
7790 /* Define this if your system has vsscanf */
7791 $_def_vsscanf
7793 /* Define this if your system has swab */
7794 $_def_swab
7796 /* Define this if your system has no posix select */
7797 $_def_no_posix_select
7799 /* Define this if your system has gettimeofday */
7800 $_def_gettimeofday
7802 /* Define this if your system has glob */
7803 $_def_glob
7805 /* Define this if your system has setenv */
7806 $_def_setenv
7807 #ifndef HAVE_SETENV
7808 int setenv(const char *name, const char *val, int overwrite);
7809 #endif
7811 /* Define this if your system has sysi86 */
7812 $_def_sysi86
7814 /* Define this if your system has pthreads */
7815 $_def_pthreads
7817 /* Define this if you enabled thread support for libavcodec */
7818 $_def_threads
7820 /* LIRC (remote control, see www.lirc.org) support: */
7821 $_def_lirc
7823 /* Support for maemo (http://www.maemo.org) */
7824 $_def_maemo
7827 * LIRCCD (LIRC client daemon)
7828 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7830 $_def_lircc
7832 /* DVD navigation support using libdvdnav */
7833 $_def_dvdnav
7834 $_def_dvdnav_version
7836 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7837 #define MPEG12_POSTPROC 1
7839 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7840 $_def_libpostproc
7841 $_def_libpostproc_so
7843 /* Win32 DLL support */
7844 $_def_win32
7845 #define WIN32_PATH "$_win32codecsdir"
7847 /* Mac OS X specific features */
7848 $_def_macosx
7849 $_def_macosx_finder_support
7850 $_def_macosx_bundle
7851 $_def_macosx_corevideo
7853 /* Build our Win32-loader */
7854 $_def_win32_loader
7856 /* ffmpeg's libavcodec support (requires libavcodec source) */
7857 $_def_libavcodec
7858 $_def_libavcodec_so
7859 $_def_lavc_dsputil
7860 $_def_libavcodec_mpegaudio_hp
7862 /* ffmpeg's libavformat support (requires libavformat source) */
7863 $_def_libavformat
7864 $_def_libavformat_so
7865 $_def_libavformat_win32
7867 $_def_libavutil
7868 $_def_libavutil_so
7870 /* Use libavcodec's decoders */
7871 #define CONFIG_DECODERS 1
7872 /* Use libavcodec's encoders */
7873 #define CONFIG_ENCODERS 1
7875 /* Use libavformat's demuxers */
7876 #define CONFIG_DEMUXERS 1
7877 /* Use libavformat's muxers */
7878 $_def_muxers
7880 #define CONFIG_GPL 1
7882 /* Use amr codecs from libavcodec (requires amr sources) */
7883 $_def_amr
7884 $_def_amr_nb
7885 $_def_amr_nb_fixed
7886 $_def_amr_wb
7888 /* Use specific parts from FFmpeg. */
7889 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7890 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define ENABLE_/;s/$/ 1/'`
7891 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7892 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define ENABLE_/;s/$/ 1/'`
7893 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7894 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define ENABLE_/;s/$/ 1/'`
7895 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7896 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define ENABLE_/;s/$/ 1/'`
7897 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7898 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define ENABLE_/;s/$/ 1/'`
7899 $_def_lavc_faac
7900 $_def_lavc_xvid
7901 $_def_lavc_mp3lame
7902 $_def_lavc_x264
7904 /* Use codec libs included in mplayer CVS / source dist: */
7905 $_def_mp3lib
7906 $_def_liba52
7907 $_def_libdts
7908 $_def_libmpeg2
7910 /* XAnim DLL support */
7911 $_def_xanim
7912 /* Default search path */
7913 $_def_xanim_path
7915 /* RealPlayer DLL support */
7916 $_def_real
7917 /* Default search path */
7918 $_def_real_path
7920 /* LIVE555 Streaming Media library support */
7921 $_def_live
7923 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7924 $_def_fastmemcpy
7926 /* Use unrarlib for Vobsubs */
7927 $_def_unrarlib
7929 /* gui support, please do not edit this option */
7930 $_def_gui
7931 $_def_gtk2_gui
7933 /* Audio output drivers */
7934 $_def_ossaudio
7935 $_def_ossaudio_devdsp
7936 $_def_ossaudio_devmixer
7937 $_def_alsa5
7938 $_def_alsa9
7939 $_def_alsa1x
7940 $_def_arts
7941 $_def_esd
7942 $_def_esd_latency
7943 $_def_polyp
7944 $_def_jack
7945 $_def_openal
7946 $_def_sys_asoundlib_h
7947 $_def_alsa_asoundlib_h
7948 $_def_sunaudio
7949 $_def_sgiaudio
7950 $_def_win32waveout
7951 $_def_nas
7953 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7954 #undef FAST_OSD
7955 #undef FAST_OSD_TABLE
7957 /* Enable TV Interface support */
7958 $_def_tv
7960 /* Enable Video 4 Linux TV interface support */
7961 $_def_tv_v4l
7963 /* Enable Video 4 Linux 1 TV interface support */
7964 $_def_tv_v4l1
7966 /* Enable Video 4 Linux 2 TV interface support */
7967 $_def_tv_v4l2
7969 /* Enable *BSD BrookTree TV interface support */
7970 $_def_tv_bsdbt848
7972 /* Enable Radio Interface support */
7973 $_def_radio
7975 /* Enable Capture for Radio Interface support */
7976 $_def_radio_capture
7978 /* Enable Video 4 Linux Radio interface support */
7979 $_def_radio_v4l
7981 /* Enable Video 4 Linux 2 Radio interface support */
7982 $_def_radio_v4l2
7984 /* Enable *BSD BrookTree Radio interface support */
7985 $_def_radio_bsdbt848
7987 /* Enable Video 4 Linux 2 MPEG PVR support */
7988 $_def_pvr
7990 /* Define if your processor stores words with the most significant
7991 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7992 $_def_words_endian
7994 $_def_arch
7995 $_def_arch_x86
7997 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
7998 have the instruction. */
7999 $_def_dcbzl
8001 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
8002 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
8004 #ifdef ARCH_POWERPC
8005 #define ARCH_PPC 1
8006 #endif
8008 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8009 #ifdef ARCH_ARMV4L
8010 #define ARCH_ARM 1
8011 #endif
8013 /* only gcc3 can compile mvi instructions */
8014 $_def_gcc_mvi_support
8016 /* Define this for Cygwin build for win32 */
8017 $_def_confwin32
8019 /* Define this to any prefered value from 386 up to infinity with step 100 */
8020 #define __CPU__ $iproc
8022 $_mp_wordsize
8024 $_def_linux
8026 $_def_vcd
8028 #ifdef sun
8029 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8030 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8031 #elif defined(HPUX)
8032 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8033 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8034 #elif defined(WIN32)
8035 #define DEFAULT_CDROM_DEVICE "D:"
8036 #define DEFAULT_DVD_DEVICE "D:"
8037 #elif defined(SYS_DARWIN)
8038 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8039 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8040 #elif defined(__OpenBSD__)
8041 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8042 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8043 #elif defined(__FreeBSD__)
8044 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8045 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8046 #else
8047 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8048 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8049 #endif
8052 /*----------------------------------------------------------------------------
8054 ** NOTE: Instead of modifying these definitions here, use the
8055 ** --enable/--disable options of the ./configure script!
8056 ** See ./configure --help for details.
8058 *---------------------------------------------------------------------------*/
8060 /* C99 lrintf function available */
8061 $_def_lrintf
8063 /* round function is available */
8064 $_def_round
8066 /* yes, we have inttypes.h */
8067 #define HAVE_INTTYPES_H 1
8069 /* int_fastXY_t emulation */
8070 $_def_fast_inttypes
8072 /* nanosleep support */
8073 $_def_nanosleep
8075 /* SMB support */
8076 $_def_smbsupport
8078 /* termcap flag for getch2.c */
8079 $_def_termcap
8081 /* termios flag for getch2.c */
8082 $_def_termios
8083 $_def_termios_h
8084 $_def_termios_sys_h
8086 /* enable PNG support */
8087 $_def_png
8089 /* enable JPEG support */
8090 $_def_jpeg
8092 /* enable PNM support */
8093 $_def_pnm
8095 /* enable md5sum support */
8096 $_def_md5sum
8098 /* enable GIF support */
8099 $_def_gif
8100 $_def_gif_4
8101 $_def_gif_tvt_hack
8103 /* enable bitmap font support */
8104 $_def_bitmap_font
8106 /* enable FreeType support */
8107 $_def_freetype
8109 /* enable Fontconfig support */
8110 $_def_fontconfig
8112 /* enable SSA/ASS support */
8113 $_def_ass
8115 /* enable FriBiDi usage */
8116 $_def_fribidi
8118 /* enable ENCA usage */
8119 $_def_enca
8121 /* liblzo support */
8122 $_def_liblzo
8123 #ifdef USE_LIBLZO
8124 #define CONFIG_LZO 1
8125 #endif
8127 /* libmad support */
8128 $_def_mad
8130 /* enable OggVorbis support */
8131 $_def_vorbis
8132 $_def_tremor
8134 /* enable Speex support */
8135 $_def_speex
8137 /* enable musepack support */
8138 $_def_musepack
8140 /* enable OggTheora support */
8141 $_def_theora
8143 /* enable FAAD (AAC) support */
8144 $_def_faad
8145 $_def_faad_internal
8147 /* enable FAAC (AAC encoder) support */
8148 $_def_faac
8150 /* enable LADSPA plugin support */
8151 $_def_ladspa
8153 /* enable network */
8154 $_def_network
8156 /* enable ftp support */
8157 $_def_ftp
8159 /* enable vstream support */
8160 $_def_vstream
8162 /* enable winsock2 instead of Unix functions*/
8163 $_def_winsock2
8165 /* define this to use inet_aton() instead of inet_pton() */
8166 $_def_use_aton
8168 /* enables / disables cdparanoia support */
8169 $_def_cdparanoia
8171 /* enables / disables VIDIX usage */
8172 $_def_vidix
8173 $_def_vidix_pfx
8175 /* enables / disables new input joystick support */
8176 $_def_joystick
8178 /* enables / disables QTX codecs */
8179 $_def_qtx
8181 /* enables / disables osd menu */
8182 $_def_menu
8184 /* enables / disables subtitles sorting */
8185 $_def_sortsub
8187 /* XMMS input plugin support */
8188 $_def_xmms
8189 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8191 /* enables inet6 support */
8192 $_def_inet6
8194 /* do we have gethostbyname2? */
8195 $_def_gethostbyname2
8197 /* Extension defines */
8198 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8199 $_def_3dnowext // only define if you have 3DNOWEXT (AMD Athlon, etc.)
8200 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8201 $_def_mmxext // only define if you have MMX2 (Athlon/PIII/4/CelII)
8202 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8203 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8204 $_def_cmov // only define if you have CMOV (i686+, without VIA C3)
8205 $_def_altivec // only define if you have Altivec (G4)
8206 $_def_armv5te // only define if you have Enhanced DSP Extensions (ARM)
8207 $_def_iwmmxt // only define if you have XScale IWMMX (ARM)
8209 $_def_altivec_h // enables usage of altivec.h
8211 $_def_mlib // Sun mediaLib, available only on solaris
8212 $_def_vis // only define if you have VIS ( ultrasparc )
8214 /* libmpeg2 uses a different feature test macro for mediaLib */
8215 #ifdef HAVE_MLIB
8216 #define LIBMPEG2_MLIB 1
8217 #endif
8219 /* libvo options */
8220 #define SCREEN_SIZE_X 1
8221 #define SCREEN_SIZE_Y 1
8222 $_def_x11
8223 $_def_xv
8224 $_def_xvmc
8225 $_def_vm
8226 $_def_xf86keysym
8227 $_def_xinerama
8228 $_def_gl
8229 $_def_gl_win32
8230 $_def_dga
8231 $_def_dga2
8232 $_def_sdl
8233 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8234 $_def_sdlbuggy
8235 $_def_directx
8236 $_def_ggi
8237 $_def_ggiwmh
8238 $_def_3dfx
8239 $_def_s3fb
8240 $_def_tdfxfb
8241 $_def_tdfxvid
8242 $_def_directfb
8243 $_def_directfb_version
8244 $_def_dfbmga
8245 $_def_zr
8246 $_def_bl
8247 $_def_mga
8248 $_def_xmga
8249 $_def_syncfb
8250 $_def_fbdev
8251 $_def_dxr2
8252 $_def_dxr3
8253 $_def_ivtv
8254 $_def_dvb
8255 $_def_dvb_in
8256 $_def_svga
8257 $_def_vesa
8258 $_def_xdpms
8259 $_def_aa
8260 $_def_caca
8261 $_def_tga
8262 $_def_toolame
8263 $_def_twolame
8265 /* used by GUI: */
8266 $_def_xshape
8268 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8269 #define X11_FULLSCREEN 1
8270 #endif
8272 #endif /* MPLAYER_CONFIG_H */
8275 #############################################################################
8277 cat << EOF
8279 Config files successfully generated by ./configure !
8281 Install prefix: $_prefix
8282 Data directory: $_datadir
8283 Config direct.: $_confdir
8285 Byte order: $_byte_order
8286 Optimizing for: $_optimizing
8288 Languages:
8289 Messages/GUI: $_language
8292 echo ${_echo_n} " Manual pages: $MAN_LANG ${_echo_c}"
8293 test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
8294 echo
8296 cat << EOF
8298 Enabled optional drivers:
8299 Input: $_inputmodules
8300 Codecs: $_codecmodules
8301 Audio output: $_aomodules
8302 Video output: $_vomodules
8303 Audio filters: $_afmodules
8304 Disabled optional drivers:
8305 Input: $_noinputmodules
8306 Codecs: $_nocodecmodules
8307 Audio output: $_noaomodules
8308 Video output: $_novomodules
8309 Audio filters: $_noafmodules
8311 'config.h' and 'config.mak' contain your configuration options.
8312 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8313 compile *** DO NOT REPORT BUGS if you tweak these files ***
8315 'make' will now compile MPlayer and 'make install' will install it.
8316 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8321 if test "$_mtrr" = yes ; then
8322 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8323 echo
8326 if x86; then
8327 if test "$_win32" = no ; then
8328 if test "$_win32codecsdir" ; then
8329 echo "Failed to find a Win32 codecs directory at $_win32codecsdir!"
8330 else
8331 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
8333 cat << EOF
8334 Create it and copy the DLL files there! You can download the codecs from our
8335 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
8339 else
8340 cat <<EOF
8341 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8342 operating system ($system_name). You may encounter a few files that cannot
8343 be played due to missing open source video/audio codec support.
8349 cat <<EOF
8350 Check $TMPLOG if you wonder why an autodetection failed (make sure
8351 development headers/packages are installed).
8353 NOTE: The --enable-* parameters unconditionally force options on, completely
8354 skipping autodetection. This behavior is unlike what you may be used to from
8355 autoconf-based configure scripts that can decide to override you. This greater
8356 level of control comes at a price. You may have to provide the correct compiler
8357 and linker flags yourself.
8358 If you used one of these options (except --enable-gui and similar ones that
8359 turn on internal features) and experience a compilation or linking failure,
8360 make sure you have passed the necessary compiler/linker flags to configure.
8362 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8366 if test "$_warn_CFLAGS" = yes; then
8367 cat <<EOF
8369 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8371 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8373 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8374 To do so, execute 'CFLAGS= ./configure <options>'
8379 # Last move:
8380 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"