change email adress
[mplayer/glamo.git] / configure
blob6216127544e500279dbea80abe08796c9957a9c3
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 # Guidelines:
12 # If the option is named 'opt':
13 # _opt : should have a value in yes/no/auto
14 # _def_opt : '#define ... 1' or '#undef ...' that is: some C code
15 # _ld_opt : ' -L/path/dir -lopt ' that is: some GCC option
16 # _inc_opt : ' -I/path/dir/include '
18 # In this file, a tab is 8 chars and indentation shift is 2 characters
20 # GOTCHAS:
21 # - config files are currently:
22 # config.h config.mak libvo/config.mak libao2/config.mak Gui/config.mak
24 #############################################################################
26 # Prefer these macros to full length text !
27 # These macros only return an error code - NO display is done
28 cc_check() {
29 echo >> "$TMPLOG"
30 cat "$TMPC" >> "$TMPLOG"
31 echo >> "$TMPLOG"
32 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $TMPC -o $TMPO $@" >> "$TMPLOG"
33 rm -f "$TMPO"
34 ( $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra "$TMPC" -o "$TMPO" "$@" ) >> "$TMPLOG" 2>&1
35 TMP="$?"
36 echo >> "$TMPLOG"
37 echo "ldd $TMPO" >> "$TMPLOG"
38 ( $_ldd "$TMPO" ) >> "$TMPLOG" 2>&1
39 echo >> "$TMPLOG"
40 return "$TMP"
43 # Display error message, flushes tempfile, exit
44 die () {
45 echo
46 echo "Error: $@" >&2
47 echo >&2
48 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
49 echo "Check \"$TMPLOG\" if you do not understand why it failed."
50 exit 1
53 # OS test booleans functions
54 issystem() {
55 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
57 linux() { issystem "Linux" ; return "$?" ; }
58 sunos() { issystem "SunOS" ; return "$?" ; }
59 hpux() { issystem "HP-UX" ; return "$?" ; }
60 irix() { issystem "IRIX" ; return "$?" ; }
61 cygwin() { issystem "CYGWIN" ; return "$?" ; }
62 freebsd() { issystem "FreeBSD" ; return "$?" ; }
63 netbsd() { issystem "NetBSD" ; return "$?" ; }
64 bsdos() { issystem "BSD/OS" ; return "$?" ; }
65 openbsd() { issystem "OpenBSD" ; return "$?" ; }
66 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
67 qnx() { issystem "QNX" ; return "$?" ; }
68 darwin() { issystem "Darwin" ; return "$?" ; }
69 gnu() { issystem "GNU" ; return "$?" ; }
70 mingw32() { issystem "MINGW32" ; return "$?" ; }
71 morphos() { issystem "MorphOS" ; return "$?" ; }
73 # arch test boolean functions
74 # x86/x86pc is used by QNX
75 x86() {
76 case "$host_arch" in
77 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
78 *) return 1 ;;
79 esac
82 ppc() {
83 case "$host_arch" in
84 ppc) return 0;;
85 *) return 1;;
86 esac
89 alpha() {
90 case "$host_arch" in
91 alpha) return 0;;
92 *) return 1;;
93 esac
96 # not boolean test: implement the posix shell "!" operator for a
97 # non-posix /bin/sh.
98 # usage: not {command}
99 # returns exit status "success" when the execution of "command"
100 # fails.
101 not() {
102 eval "$@"
103 test $? -ne 0
106 # Use this before starting a check
107 echocheck() {
108 echo "============ Checking for $@ ============" >> "$TMPLOG"
109 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
112 # Use this to echo the results of a check
113 echores() {
114 echo "Result is: $@" >> "$TMPLOG"
115 echo "##########################################" >> "$TMPLOG"
116 echo "" >> "$TMPLOG"
117 echo "$@"
119 #############################################################################
121 # Check how echo works in this /bin/sh
122 case `echo -n` in
123 -n) _echo_n= _echo_c='\c' ;; # SysV echo
124 *) _echo_n='-n ' _echo_c= ;; # BSD echo
125 esac
127 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"`
129 for parm in "$@" ; do
130 if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
131 cat << EOF
133 Usage: $0 [OPTIONS]...
135 Configuration:
136 -h, --help display this help and exit
138 Installation directories:
139 --prefix=DIR use this prefix for installing mplayer [/usr/local]
140 --bindir=DIR use this prefix for installing mplayer binary
141 [PREFIX/bin]
142 --datadir=DIR use this prefix for installing machine independent
143 data files (fonts, skins) [PREFIX/share/mplayer]
144 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
145 --confdir=DIR use this prefix for installing configuration files
146 [PREFIX/etc/mplayer]
147 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
149 Optional features:
150 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
151 --enable-gui enable gmplayer compilation (gtk-1.2 GUI) [disable]
152 --enable-largefiles enable support for files > 2 GBytes [disable]
153 --enable-linux-devfs set default devices to devfs ones [disable]
154 --enable-termcap use termcap database for key codes [autodetect]
155 --with-termcaplib=NAME name of library with termcap functionality
156 name shuld be given without leading "lib"
157 checks for "termcap" and "tinfo"
158 --disable-iconv do not use iconv(3) function [autodetect]
159 --disable-setlocale disable setlocale using in mplayer [autodetect]
160 --enable-lirc enable LIRC (remote control) support [autodetect]
161 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
162 --enable-joystick enable joystick support [disable]
163 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
164 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
165 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
166 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
167 --disable-edl disable EDL (edit decision list) support [enable]
168 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
169 --disable-network disable network support (for: http/mms/rtp) [enable]
170 --enable-winsock2 enable winsock2 usage [autodetect]
171 --enable-smb enable Samba (SMB) input support [autodetect]
172 --enable-live enable LIVE.COM Streaming Media support [disable]
173 --disable-dvdread Disable libdvdread support [autodetect]
174 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
175 --disable-cdparanoia Disable cdparanoia support [autodetect]
176 --disable-freetype Disable freetype2 font rendering support [autodetect]
177 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
178 --disable-unrarlib Disable Unique RAR File Library [enabled]
179 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
180 --disable-sortsub Disable subtitles sorting [enabled]
181 --enable-fribidi Enable using the FriBiDi libs [disabled]
182 --disable-macosx Disable Mac OS X specific features [autodetect]
183 --disable-inet6 Disable IPv6 support [autodetect]
184 --disable-gethostbyname2 gethostbyname() function is not provided by the C
185 library [autodetect]
186 --disable-ftp Disable ftp support [enabled]
188 Codecs:
189 --enable-gif enable gif support [autodetect]
190 --enable-png enable png input/output support [autodetect]
191 --enable-jpeg enable jpeg input/output support [autodetect]
192 --enable-liblzo enable external liblzo support [autodetect]
193 --disable-win32 disable Win32 DLL support [autodetect]
194 --disable-dshow disable Win32/DirectShow support [autodetect]
195 --disable-qtx disable Quicktime codecs [autodetect]
196 --disable-xanim disable XAnim DLL support [autodetect]
197 --disable-real disable RealPlayer DLL support [autodetect]
198 --disable-xvid disable XviD codec [autodetect]
199 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
200 --enable-opendivx enable _old_ OpenDivx codec [disable]
201 --disable-libavcodec disable libavcodec [autodetect]
202 --enable-libfame enable libfame realtime encoder [autodetect]
203 --enable-vorbis build with OggVorbis support [autodetect]
204 --enable-tremor build with integer-only OggVorbis support [disabled]
205 --enable-theora build with OggTheora support [autodetect]
206 --enable-matroska build with Matroska support [autodetect]
207 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
208 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
209 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
210 --disable-mad disable libmad (MPEG audio) support [autodetect]
211 --enable-xmms build with XMMS inputplugin support [disabled]
212 --enable-flac build with FLAC support [autodetect]
213 --enable-external-flac build with external libFLAC [disable]
215 Video output:
216 --disable-vidix disable VIDIX [enable on x86 *nix]
217 --enable-gl build with OpenGL render support [autodetect]
218 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
219 --enable-vesa build with VESA support [autodetect]
220 --enable-svga build with SVGAlib support [autodetect]
221 --enable-sdl build with SDL render support [autodetect]
222 --enable-aa build with AAlib render support [autodetect]
223 --enable-ggi build with GGI render support [autodetect]
224 --enable-directx build with DirectX support [autodetect]
225 --enable-dxr2 build with DXR2 render support [autodetect]
226 --enable-dxr3 build with DXR3/H+ render support [autodetect]
227 --enable-dvb build with support for output via DVB-Card [autodetect]
228 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
229 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
230 (check for /dev/mga_vid) [autodetect]
231 --enable-xmga build with mga_vid X Window support
232 (check for X & /dev/mga_vid) [autodetect]
233 --enable-xv build with Xv render support for X 4.x [autodetect]
234 --enable-xvmc build with XvMC acceleration for X 4.x [autodetect]
235 --enable-vm build with XF86VidMode support for X11 [autodetect]
236 --enable-xinerama build with Xinerama support for X11 [autodetect]
237 --enable-x11 build with X11 render support [autodetect]
238 --enable-fbdev build with FBDev render support [autodetect]
239 --enable-mlib build with MLIB support (Solaris only) [autodetect]
240 --enable-3dfx build with obsolete /dev/3dfx support [disable]
241 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
242 --enable-directfb build with DirectFB support [autodetect]
243 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
244 --enable-bl build with Blinkenlights support [disable]
245 --enable-tdfxvid build with tdfx vid support [disable]
246 --disable-tga disable targa output support [enable]
248 Audio output:
249 --disable-ossaudio disable OSS sound support [autodetect]
250 --disable-arts disable aRts sound support [autodetect]
251 --disable-esd disable esd sound support [autodetect]
252 --disable-alsa disable alsa sound support [autodetect]
253 --disable-sunaudio disable Sun sound support [autodetect]
254 --disable-nas disable NAS sound support [autodetect]
255 --disable-win32waveout disable Windows waveout sound support [autodetect]
256 --disable-select disable using select() on audio device [enable]
258 Miscellaneous options:
259 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
260 --cc=COMPILER use this C compiler to build MPlayer [gcc]
261 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
262 --enable-static build a statically linked binary. Set further linking
263 options with --enable-static="-lslang -lncurses"
264 --language=list a white space or comma separated list of languages
265 for translated man pages, the first language is the
266 primary and therefore used for translated messages
267 and GUI (also the environment variable \$LINGUAS is
268 honored) [en]
269 (Available: $LANGUAGES all)
270 --enable-shared-pp install & use shared postprocessing lib
271 --with-install=PATH use a custom install program (useful if your OS uses
272 a GNU-incompatible install utility by default and
273 you want to use GNU version)
274 --install-path=PATH the path to a custom install program
275 this option is obsolete and will be removed soon,
276 use --with-install instead.
278 Advanced options:
279 --enable-mmx build with MMX support [autodetect]
280 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
281 --enable-3dnow build with 3DNow! support [autodetect]
282 --enable-3dnowex build with extended 3DNow! support [autodetect]
283 --enable-sse build with SSE support [autodetect]
284 --enable-sse2 build with SSE2 support [autodetect]
285 --enable-altivec build with Altivec support (PowerPC) [autodetect]
286 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
287 --enable-big-endian Force byte order to big endian [autodetect]
288 --enable-debug[=1-3] compile debugging information into mplayer [disable]
289 --enable-profile compile profiling information into mplayer [disable]
290 --disable-sighandler disable sighandler for crashes [enable]
291 --enable-i18n _experimental_ gnu gettext() support [autodetect]
292 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
294 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
295 --disable-gcc-checking disable gcc version checking [enable]
297 Use these options if autodetection fails:
298 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR
299 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR
300 --with-x11incdir=DIR X headers in DIR
301 --with-x11libdir=DIR X library files in DIR
302 --with-dxr2incdir=DIR DXR2 headers in DIR
303 --with-dvbincdir=DIR DVB headers in DIR
304 --with-madlibdir=DIR libmad (libmad shared library) in DIR
305 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
306 --with-codecsdir=DIR Binary codec files in DIR
307 --with-win32libdir=DIR W*ndows DLL files in DIR
308 --with-xanimlibdir=DIR XAnim DLL files in DIR
309 --with-reallibdir=DIR RealPlayer DLL files in DIR
310 --with-xvmclib=PATH path to adapter specific XvMCxxxxx.so (e.g. NVIDIA)
311 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR
312 --with-xvidincdir=DIR XviD header in DIR
314 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
315 --with-freetype-config=PATH path to freetype-config
316 (e.g. /opt/bin/freetype-config)
317 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
318 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
319 --with-livelibdir=DIR path to LIVE.COM Streaming Media libraries
320 --with-xmmsplugindir=DIR path to XMMS plugins
321 --with-xmmslibdir=DIR path to libxmms.so.1
322 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR
323 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR
324 --with-fribidi-config=PATH path to fribidi-config
325 (e.g. /opt/bin/fribidi-config)
328 exit 0
330 done # for parm in ...
333 # 1st pass checking for vital options
334 _install=install
335 _ranlib=ranlib
336 _cc=cc
337 test "$CC" && _cc="$CC"
338 _as=auto
339 _runtime_cpudetection=no
340 for ac_option do
341 case "$ac_option" in
342 --target=*)
343 _target=`echo $ac_option | cut -d '=' -f 2`
345 --cc=*)
346 _cc=`echo $ac_option | cut -d '=' -f 2`
348 --as=*)
349 _as=`echo $ac_option | cut -d '=' -f 2`
351 --enable-gcc-checking)
352 _skip_cc_check=no
354 --disable-gcc-checking)
355 _skip_cc_check=yes
357 --enable-static)
358 _ld_static='-static'
360 --disable-static)
361 _ld_static=''
363 --enable-static=*)
364 _ld_static="-static `echo $ac_option | cut -d '=' -f 2`"
366 --with-extraincdir=*)
367 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
369 --with-extralibdir=*)
370 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
371 # _ld_extra="${_ld_extra} -Wl,-R"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -Wl\,-R,g'`" -L"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
373 --enable-runtime-cpudetection)
374 _runtime_cpudetection=yes
376 --disable-runtime-cpudetection)
377 _runtime_cpudetection=no
379 --install-path=*)
380 _install=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
382 --with-install=*)
383 _install=`echo $ac_option | cut -d '=' -f 2 `
385 esac
386 done
388 # Determine our OS name and CPU architecture
389 if test -z "$_target" ; then
390 # OS name
391 system_name=`( uname -s ) 2>&1`
392 case "$system_name" in
393 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU)
395 IRIX*)
396 system_name=IRIX
398 HP-UX*)
399 system_name=HP-UX
401 [cC][yY][gG][wW][iI][nN]*)
402 system_name=CYGWIN
404 MINGW32*)
405 system_name=MINGW32
407 MorphOS)
408 system_name=MorphOS
411 system_name="$system_name-UNKNOWN"
413 esac
416 # host's CPU/instruction set
417 host_arch=`( uname -p ) 2>&1`
418 case "$host_arch" in
419 i386|sparc|ppc|alpha|arm|mips)
421 powerpc) # Darwin returns 'powerpc'
422 host_arch=ppc
424 *) # uname -p on Linux returns 'unknown' for the processor type,
425 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
427 # Maybe uname -m (machine hardware name) returns something we
428 # recognize.
430 # x86/x86pc is used by QNX
431 case "`( uname -m ) 2>&1`" in
432 i[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686) host_arch=i386 ;;
433 ia64) host_arch=ia64 ;;
434 x86_64) host_arch=x86_64 ;;
435 ppc) host_arch=ppc ;;
436 alpha) host_arch=alpha ;;
437 sparc*) host_arch=sparc ;;
438 9000*) host_arch=hppa ;;
439 arm*) host_arch=arm ;;
440 s390) host_arch=s390 ;;
441 s390x) host_arch=s390x ;;
442 mips) host_arch=mips ;;
443 *) host_arch=UNKNOWN ;;
444 esac
446 esac
447 else
448 system_name=`echo $_target | cut -d '-' -f 2`
449 case "`echo $system_name | tr A-Z a-z`" in
450 linux) system_name=Linux ;;
451 freebsd) system_name=FreeBSD ;;
452 netbsd) system_name=NetBSD ;;
453 bsd/os) system_name=BSD/OS ;;
454 openbsd) system_name=OpenBSD ;;
455 sunos) system_name=SunOS ;;
456 qnx) system_name=QNX ;;
457 morphos) system_name=MorphOS ;;
458 esac
459 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
460 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
463 echo "Detected operating system: $system_name"
464 echo "Detected host architecture: $host_arch"
466 # LGB: temporary files
467 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
468 test "$I" && break
469 done
471 TMPLOG="configure.log"
472 rm -f "$TMPLOG"
473 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
474 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
475 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
476 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
478 # config files
480 # FIXME: A lot of stuff is installed under /usr/local
481 # NK: But we should never use this stuff implicitly since we call compiler
482 # from /usr we should be sure that there no effects from other compilers
483 # (libraries) which might be installed into /usr/local. Let users use this
484 # stuff explicitly as command line argument. In other words: It would be
485 # resonable to have only /usr/include or only /usr/local/include.
487 if freebsd ; then
488 _ld_extra="$_ld_extra -L/usr/local/lib"
489 _inc_extra="$_inc_extra -I/usr/local/include"
492 _ldd=ldd
493 if darwin; then
494 _ldd="otool -L"
497 # Checking CC version...
498 if test "$_skip_cc_check" != yes ; then
499 for _cc in "$_cc" gcc gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
500 echocheck "$_cc version"
501 cc_name=`( $_cc -v ) 2>&1 | tail -1 | cut -d ' ' -f 1`
502 cc_version=`( $_cc -dumpversion ) 2>&1`
503 if test "$?" -gt 0; then
504 cc_version="not found"
506 case $cc_version in
508 cc_version="v. ?.??, bad"
509 cc_verc_fail=yes
511 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9])
512 _cc_major=`echo $cc_version | cut -d '.' -f 1`
513 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
514 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
515 cc_version="$cc_version, ok"
516 cc_verc_fail=no
518 'not found')
519 cc_verc_fail=yes
522 cc_version="$cc_version, bad"
523 cc_verc_fail=yes
525 esac
526 echores "$cc_version"
527 (test "$cc_verc_fail" = "no") && break
528 done
529 if test "$cc_verc_fail" = yes ; then
530 cat <<EOF
532 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
534 You are not using a supported compiler. We do not have the time to make sure
535 everything works with compilers other than the ones we use. Use either the
536 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
537 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
539 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
540 mplayer and lame (which is used for mencoder). If you get compile errors,
541 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
542 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
543 bugs!
545 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
547 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
550 die "Bad gcc version"
552 else
553 cat <<EOF
555 ******************************************************************************
557 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
558 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
560 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
561 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
562 Lame which is used by mencoder produces weird errors, too.
564 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
565 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
567 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
569 ******************************************************************************
573 read _answer
576 # ---
578 # now that we know what compiler should be used for compilation, try to find
579 # out which assembler is used by the $_cc compiler
580 if test "$_as" = auto ; then
581 _as=`$_cc -print-prog-name=as`
582 test -z "$_as" && _as=as
585 # XXX: this should be ok..
586 _cpuinfo="echo"
587 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
588 # FIXME: Remove the cygwin check once AMD CPUs are supported
589 if test -r /proc/cpuinfo && not cygwin; then
590 # Linux with /proc mounted, extract CPU information from it
591 _cpuinfo="cat /proc/cpuinfo"
592 elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
593 # FreeBSD with Linux emulation /proc mounted,
594 # extract CPU information from it
595 _cpuinfo="cat /compat/linux/proc/cpuinfo"
596 elif darwin ; then
597 # use hostinfo on Darwin
598 _cpuinfo="hostinfo"
599 elif x86; then
600 # all other OSes try to extract CPU information from a small helper
601 # program TOOLS/cpuinfo instead
602 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
603 _cpuinfo="TOOLS/cpuinfo"
606 case "$host_arch" in
607 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
608 _def_arch="#define ARCH_X86 1"
609 _target_arch="TARGET_ARCH_X86 = yes"
611 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -1`
612 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
613 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
614 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
615 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
617 pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -1`
618 if test -z "$pparam" ; then
619 pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -1`
622 _mmx=no
623 _3dnow=no
624 _3dnowex=no
625 _mmx2=no
626 _sse=no
627 _sse2=no
628 _mtrr=no
630 for i in $pparam ; do
631 case "$i" in
632 3dnow) _3dnow=yes ;;
633 3dnowext) _3dnow=yes _3dnowex=yes ;;
634 mmx) _mmx=yes ;;
635 mmxext) _mmx2=yes ;;
636 mtrr|k6_mtrr|cyrix_arr) _mtrr=yes ;;
637 xmm|sse|kni) _sse=yes _mmx2=yes ;;
638 sse2) _sse2=yes ;;
639 esac
640 done
642 echocheck "CPU vendor"
643 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
645 echocheck "CPU type"
646 echores "$pname"
648 case "$pvendor" in
649 AuthenticAMD)
650 case "$pfamily" in
651 3) proc=i386 iproc=386 ;;
652 4) proc=i486 iproc=486 ;;
653 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
654 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
655 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
656 proc=k6-3
657 elif test "$pmodel" -ge 8; then
658 proc=k6-2
659 elif test "$pmodel" -ge 6; then
660 proc=k6
661 else
662 proc=i586
663 iproc=586
666 6) iproc=686
667 if test "$pmodel" -ge 7; then
668 proc=athlon-4
669 elif test "$pmodel" -ge 6; then
670 # only Athlon XP supports ssem MP, Duron etc not
671 # but most of them are CPUID 666, so check if sse detected
672 # btw. there is also athlon-mp opt, but we need extended
673 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
674 if test "$_sse" = yes && test "$pstepping" -ge 2; then
675 proc=athlon-xp
676 else
677 proc=athlon-4
679 elif test "$pmodel" -ge 4; then
680 proc=athlon-tbird
681 else
682 proc=athlon # TODO: should the Duron Spitfire be considered a Thunderbird instead?
686 *) proc=athlon-xp iproc=686 ;;
687 esac
689 GenuineIntel)
690 case "$pfamily" in
691 3) proc=i386 iproc=386 ;;
692 4) proc=i486 iproc=486 ;;
693 5) iproc=586
694 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
695 proc=pentium-mmx # 4 is desktop, 8 is mobile
696 else
697 proc=i586
700 6) iproc=686
701 if test "$pmodel" -ge 7; then
702 proc=pentium3
703 elif test "$pmodel" -ge 3; then
704 proc=pentium2
705 else
706 proc=i686
709 15) proc=pentium4 iproc=686 ;;
710 *) proc=pentium4 iproc=686 ;;
711 esac
713 unknown)
714 case "$pfamily" in
715 3) proc=i386 iproc=386 ;;
716 4) proc=i486 iproc=486 ;;
717 *) proc=i586 iproc=586 ;;
718 esac
721 proc=i586 iproc=586 ;;
722 esac
724 # check that gcc supports our CPU, if not, fall back to earlier ones
725 # LGB: check -mcpu and -march swithing step by step with enabling
726 # to fall back till 386.
728 echocheck "GCC & CPU optimization abilities"
729 cat > $TMPC << EOF
730 int main(void) { return 0; }
732 if test "$_runtime_cpudetection" = no ; then
733 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
734 cc_check -march=$proc -mcpu=$proc || proc=athlon
736 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
737 cc_check -march=$proc -mcpu=$proc || proc=k6
739 if test "$proc" = "k6"; then
740 if not cc_check -march=$proc -mcpu=$proc; then
741 if cc_check -march=i586 -mcpu=i686; then
742 proc=i586-i686
743 else
744 proc=i586
748 if test "$proc" = "pentium4" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon"; then
749 cc_check -march=$proc -mcpu=$proc || proc=i686
751 if test "$proc" = "i686" || test "$proc" = "pentium-mmx"; then
752 cc_check -march=$proc -mcpu=$proc || proc=i586
754 if test "$proc" = "i586" ; then
755 cc_check -march=$proc -mcpu=$proc || proc=i486
757 if test "$proc" = "i486" ; then
758 cc_check -march=$proc -mcpu=$proc || proc=i386
760 if test "$proc" = "i386" ; then
761 cc_check -march=$proc -mcpu=$proc || proc=error
763 if test "$proc" = "error" ; then
764 echores "Your $_cc does not even support \"i386\" for '-march' and '-mcpu'."
765 _mcpu=""
766 _march=""
767 _optimizing=""
768 elif test "$proc" = "i586-i686"; then
769 _march="-march=i586"
770 _mcpu="-mcpu=i686"
771 _optimizing="$proc"
772 else
773 _march="-march=$proc"
774 _mcpu="-mcpu=$proc"
775 _optimizing="$proc"
777 else
778 # i686 is probably the most common CPU - optimize for it
779 _mcpu="-mcpu=i686"
780 # at least i486 required, for bswap instruction
781 _march="-march=i486"
782 cc_check $_mcpu || _mcpu=""
783 cc_check $_march $_mcpu || _march=""
786 ## Gabucino : --target takes effect here (hopefully...) by overwriting
787 ## autodetected mcpu/march parameters
788 if test "$_target" ; then
789 # TODO: it may be a good idea to check GCC and fall back in all cases
790 if test "$host_arch" = "i586-i686"; then
791 _march="-march=i586"
792 _mcpu="-mcpu=i686"
793 else
794 _march="-march=$host_arch"
795 _mcpu="-mcpu=$host_arch"
798 proc="$host_arch"
800 case "$proc" in
801 i386) iproc=386 ;;
802 i486) iproc=486 ;;
803 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
804 i686|athlon*|pentium*) iproc=686 ;;
805 *) iproc=586 ;;
806 esac
809 echores "$proc"
812 ia64)
813 _def_arch='#define ARCH_IA64 1'
814 _target_arch='TARGET_ARCH_IA64 = yes'
815 iproc='ia64'
816 proc=''
817 _march=''
818 _mcpu=''
819 _optimizing=''
822 x86_64)
823 _def_arch='#define ARCH_X86_64 1'
824 _target_arch='TARGET_ARCH_X86_64 = yes'
825 iproc='x86_64'
826 proc=''
827 _march=''
828 _mcpu=''
829 _optimizing=''
832 sparc)
833 _def_arch='#define ARCH_SPARC 1'
834 _target_arch='TARGET_ARCH_SPARC = yes'
835 iproc='sparc'
836 proc='v8'
837 _march=''
838 _mcpu="-mcpu=$proc"
839 _optimizing="$proc"
842 arm|armv4l|armv5tel)
843 _def_arch='#define ARCH_ARMV4L 1'
844 _target_arch='TARGET_ARCH_ARMV4L = yes'
845 iproc='arm'
846 proc=''
847 _march=''
848 _mcpu=''
849 _optimizing=''
852 ppc)
853 _def_arch='#define ARCH_POWERPC 1'
854 _target_arch='TARGET_ARCH_POWERPC = yes'
855 iproc='ppc'
856 proc=''
857 _march=''
858 _mcpu=''
859 _optimizing=''
860 _altivec=no
862 echocheck "CPU type"
863 if linux && test -n "$_cpuinfo"; then
864 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -1`
865 if test -n "`$_cpuinfo | grep altivec`"; then
866 _altivec=yes
869 if darwin ; then
870 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
871 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
872 _altivec=yes
874 if [ `sysctl -n hw.optional.altivec` -eq 1 ]; then
875 _altivec=yes
878 if test "$_altivec" = yes; then
879 echores "$proc altivec"
880 else
881 echores "$proc"
884 echocheck "GCC & CPU optimization abilities"
886 if test -n "$proc"; then
887 case "$proc" in
888 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
889 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
890 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
891 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
892 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
893 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
894 *) ;;
895 esac
896 # gcc 3.1(.1) and up supports 7400 and 7450
897 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1"; then
898 case "$proc" in
899 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
900 7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
901 *) ;;
902 esac
906 if test -n "$_mcpu"; then
907 _optimizing=`echo $_mcpu | cut -c 8-`
908 echores "$_optimizing"
909 else
910 echores "none"
915 alpha)
916 _def_arch='#define ARCH_ALPHA 1'
917 _target_arch='TARGET_ARCH_ALPHA = yes'
918 iproc='alpha'
919 _march=''
921 echocheck "CPU type"
922 cat > $TMPC << EOF
923 int main() {
924 unsigned long ver, mask;
925 asm ("implver %0" : "=r" (ver));
926 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
927 printf("%ld-%x\n", ver, ~mask);
928 return 0;
931 $_cc -o "$TMPO" "$TMPC"
932 case `"$TMPO"` in
934 0-0) proc="ev4"; cpu_understands_mvi="0";;
935 1-0) proc="ev5"; cpu_understands_mvi="0";;
936 1-1) proc="ev56"; cpu_understands_mvi="0";;
937 1-101) proc="pca56"; cpu_understands_mvi="1";;
938 2-303) proc="ev6"; cpu_understands_mvi="1";;
939 2-307) proc="ev67"; cpu_understands_mvi="1";;
940 2-1307) proc="ev68"; cpu_understands_mvi="1";;
941 esac
942 echores "$proc"
944 echocheck "GCC & CPU optimization abilities"
945 if test "$proc" = "ev68" ; then
946 cc_check -mcpu=$proc || proc=ev67
948 if test "$proc" = "ev67" ; then
949 cc_check -mcpu=$proc || proc=ev6
951 _mcpu="-mcpu=$proc"
952 echores "$proc"
954 _optimizing="$proc"
956 echocheck "MVI instruction support in GCC"
957 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
958 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
959 echores "yes"
960 else
961 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
962 echores "no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
966 mips)
967 _def_arch='#define ARCH_SGI_MIPS 1'
968 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
969 iproc='sgi-mips'
970 proc=''
971 _march=''
972 _mcpu=''
973 _optimizing=''
976 hppa)
977 _def_arch='#define ARCH_PA_RISC 1'
978 _target_arch='TARGET_ARCH_PA_RISC = yes'
979 iproc='PA-RISC'
980 proc=''
981 _march=''
982 _mcpu=''
983 _optimizing=''
986 s390)
987 _def_arch='#define ARCH_S390 1'
988 _target_arch='TARGET_ARCH_S390 = yes'
989 iproc='390'
990 proc=''
991 _march=''
992 _mcpu=''
993 _optimizing=''
996 s390x)
997 _def_arch='#define ARCH_S390X 1'
998 _target_arch='TARGET_ARCH_S390X = yes'
999 iproc='390x'
1000 proc=''
1001 _march=''
1002 _mcpu=''
1003 _optimizing=''
1007 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1008 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1009 die "unsupported architecture $host_arch"
1011 esac
1013 if test "$_runtime_cpudetection" = yes ; then
1014 if x86; then
1015 _mmx=yes
1016 _3dnow=yes
1017 _3dnowex=yes
1018 _mmx2=yes
1019 _sse=yes
1020 _sse2=yes
1021 _mtrr=yes
1023 if ppc; then
1024 _altivec=yes
1028 if x86 && test "$_runtime_cpudetection" = no ; then
1029 extcheck() {
1030 if test "$1" = yes ; then
1031 echocheck "kernel support of $2"
1032 cat > $TMPC <<EOF
1033 #include <signal.h>
1034 void catch() { exit(1); }
1035 int main(void){
1036 signal(SIGILL, catch);
1037 __asm__ __volatile__ ("$3":::"memory");return(0);
1041 if ( cc_check && $TMPO ) > /dev/null 2>&1 ; then
1042 echores "yes"
1043 _optimizing="$_optimizing $2"
1044 return 0
1045 else
1046 echores "failed"
1047 echo "It seems that your kernel does not correctly support $2."
1048 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1049 return 1
1052 return 0
1055 extcheck $_mmx "mmx" "emms" || _mmx=no
1056 extcheck $_mmx2 "mmx2" "sfence" || _mmx2=no
1057 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1058 extcheck $_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex=no
1059 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1060 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1061 echocheck "mtrr support"
1062 echores "$_mtrr"
1064 if test "$_mtrr" = yes ; then
1065 _optimizing="$_optimizing mtrr"
1068 if test "$_gcc3_ext" != ""; then
1069 # if we had to disable sse/sse2 because the active kernel does not
1070 # support this instruction set extension, we also have to tell
1071 # gcc3 to not generate sse/sse2 instructions for normal C code
1072 cat > $TMPC << EOF
1073 int main(void) { return 0; }
1075 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1081 _prefix="/usr/local"
1082 _xvmclib="XvMCNVIDIA"
1084 # GOTCHA: the variables below defines the default behavior for autodetection
1085 # and have - unless stated otherwise - at least 2 states : yes no
1086 # If autodetection is available then the third state is: auto
1087 _libavcodec=auto
1088 _libavcodecso=auto
1089 _fame=auto
1090 _mp1e=no
1091 _mencoder=yes
1092 _x11=auto
1093 _dga=auto # 1 2 no auto
1094 _xv=auto
1095 _xvmc=no #auto when complete
1096 _sdl=auto
1097 _directx=auto
1098 _win32waveout=auto
1099 _nas=auto
1100 _png=auto
1101 _jpg=auto
1102 _gif=auto
1103 _gl=auto
1104 _ggi=auto
1105 _aa=auto
1106 _svga=auto
1107 _vesa=auto
1108 _fbdev=auto
1109 _dvb=auto
1110 _dvbhead=auto
1111 _dxr2=auto
1112 _dxr3=auto
1113 _iconv=auto
1114 _rtc=auto
1115 _ossaudio=auto
1116 _arts=auto
1117 _esd=auto
1118 _liblzo=auto
1119 _mad=auto
1120 _vorbis=auto
1121 _theora=auto
1122 _matroska=auto
1123 _tremor=no
1124 _faad_internal=auto
1125 _faad_external=auto
1126 _xmms=no
1127 _flac=auto
1128 _external_flac=auto
1129 # dvdnav disabled, it does not work
1130 #_dvdnav=no
1131 _dvdread=auto
1132 _dvdkit=auto
1133 _xanim=auto
1134 _real=auto
1135 _live=no
1136 _xinerama=auto
1137 _mga=auto
1138 _xmga=auto
1139 _vm=auto
1140 _mlib=auto
1141 _sgiaudio=auto
1142 _sunaudio=auto
1143 _alsa=auto
1144 _fastmemcpy=yes
1145 _unrarlib=yes
1146 _win32=auto
1147 _dshow=yes
1148 _select=yes
1149 _tv=yes
1150 _tv_v4l=auto
1151 _tv_v4l2=auto
1152 _tv_bsdbt848=auto
1153 _edl=yes
1154 _network=yes
1155 _winsock2=auto
1156 _smbsupport=auto
1157 _vidix=auto
1158 _joystick=no
1159 _xvid=auto
1160 _divx4linux=auto
1161 _opendivx=no
1162 _lirc=auto
1163 _lircc=auto
1164 _gui=no
1165 _termcap=auto
1166 _termios=auto
1167 _3dfx=no
1168 _tdfxfb=no
1169 _tdfxvid=no
1170 _tga=yes
1171 _directfb=auto
1172 _zr=auto
1173 _bl=no
1174 _largefiles=no
1175 #_language=en
1176 _shm=auto
1177 _linux_devfs=no
1178 _i18n=auto
1179 _dynamic_plugins=no
1180 _setlocale=auto
1181 _sighandler=yes
1182 _libdv=auto
1183 _cdparanoia=auto
1184 _big_endian=auto
1185 _freetype=auto
1186 _fontconfig=auto
1187 _shared_pp=no
1188 _menu=no
1189 _qtx=auto
1190 _macosx=auto
1191 _sortsub=yes
1192 _freetypeconfig='freetype-config'
1193 _fribidi=no
1194 _fribidiconfig='fribidi-config'
1195 _inet6=auto
1196 _gethostbyname2=auto
1197 _ftp=yes
1198 for ac_option do
1199 case "$ac_option" in
1200 # Skip 1st pass
1201 --target=*) ;;
1202 --cc=*) ;;
1203 --as=*) ;;
1204 --enable-gcc-checking) ;;
1205 --disable-gcc-checking) ;;
1206 --enable-static*) ;;
1207 --disable-static*) ;;
1208 --with-extraincdir=*) ;;
1209 --with-extralibdir=*) ;;
1210 --enable-runtime-cpudetection) ;;
1211 --disable-runtime-cpudetection) ;;
1212 --install-path=*) ;;
1213 --with-install=*) ;;
1215 # Real 2nd pass
1216 --enable-mencoder) _mencoder=yes ;;
1217 --disable-mencoder) _mencoder=no ;;
1218 --enable-i18n) _i18n=yes ;;
1219 --disable-i18n) _i18n=no ;;
1220 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1221 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1222 --enable-setlocale) _setlocale=yes ;;
1223 --disable-setlocale) _setlocale=no ;;
1224 --enable-x11) _x11=yes ;;
1225 --disable-x11) _x11=no ;;
1226 --enable-xv) _xv=yes ;;
1227 --disable-xv) _xv=no ;;
1228 --enable-xvmc) _xvmc=yes ;;
1229 --disable-xvmc) _xvmc=no ;;
1230 --enable-sdl) _sdl=yes ;;
1231 --disable-sdl) _sdl=no ;;
1232 --enable-directx) _directx=yes ;;
1233 --disable-directx) _directx=no ;;
1234 --enable-win32waveout) _win32waveout=yes ;;
1235 --disable-win32waveout) _win32waveout=no ;;
1236 --enable-nas) _nas=yes ;;
1237 --disable-nas) _nas=no ;;
1238 --enable-png) _png=yes ;;
1239 --disable-png) _png=no ;;
1240 --enable-jpeg) _jpg=yes ;;
1241 --disable-jpeg) _jpg=no ;;
1242 --enable-gif) _gif=yes ;;
1243 --disable-gif) _gif=no ;;
1244 --enable-gl) _gl=yes ;;
1245 --disable-gl) _gl=no ;;
1246 --enable-ggi) _ggi=yes ;;
1247 --disable-ggi) _ggi=no ;;
1248 --enable-aa) _aa=yes ;;
1249 --disable-aa) _aa=no ;;
1250 --enable-svga) _svga=yes ;;
1251 --disable-svga) _svga=no ;;
1252 --enable-vesa) _vesa=yes ;;
1253 --disable-vesa) _vesa=no ;;
1254 --enable-fbdev) _fbdev=yes ;;
1255 --disable-fbdev) _fbdev=no ;;
1256 --enable-dvb) _dvb=yes ;;
1257 --disable-dvb) _dvb=no ;;
1258 --enable-dvbhead) _dvbhead=yes ;;
1259 --disable-dvbhead) _dvbhead=no ;;
1260 --enable-dxr2) _dxr2=yes ;;
1261 --disable-dxr2) _dxr2=no ;;
1262 --enable-dxr3) _dxr3=yes ;;
1263 --disable-dxr3) _dxr3=no ;;
1264 --enable-iconv) _iconv=yes ;;
1265 --disable-iconv) _iconv=no ;;
1266 --enable-rtc) _rtc=yes ;;
1267 --disable-rtc) _rtc=no ;;
1268 --enable-mp1e) _mp1e=yes ;;
1269 --disable-mp1e) _mp1e=no ;;
1270 --enable-libdv) _libdv=yes ;;
1271 --disable-libdv) _libdv=no ;;
1272 --enable-ossaudio) _ossaudio=yes ;;
1273 --disable-ossaudio) _ossaudio=no ;;
1274 --enable-arts) _arts=yes ;;
1275 --disable-arts) _arts=no ;;
1276 --enable-esd) _esd=yes ;;
1277 --disable-esd) _esd=no ;;
1278 --enable-mad) _mad=yes ;;
1279 --disable-mad) _mad=no ;;
1280 --enable-liblzo) _liblzo=yes ;;
1281 --disable-liblzo) _liblzo=no ;;
1282 --enable-vorbis) _vorbis=yes ;;
1283 --disable-vorbis) _vorbis=no ;;
1284 --enable-tremor) _tremor=yes ;;
1285 --disable-tremor) _tremor=no ;;
1286 --enable-theora) _theora=yes ;;
1287 --disable-theora) _theora=no ;;
1288 --enable-matroska) _matroska=yes ;;
1289 --disable-matroska) _matroska=no ;;
1290 --enable-internal-faad) _faad_internal=yes _faad_external=no ;;
1291 --disable-internal-faad) _faad_internal=no ;;
1292 --enable-external-faad) _faad_external=yes _faad_internal=no ;;
1293 --disable-external-faad) _faad_external=no ;;
1294 --enable-xmms) _xmms=yes ;;
1295 --enable-flac) _flac=yes ;;
1296 --disable-flac) _flac=no ;;
1297 --enable-external-flac) _external_flac=yes ;;
1298 --disable-external-flac) _external_flac=no ;;
1299 --enable-dvdread) _dvdread=yes ;;
1300 --disable-dvdread) _dvdread=no ;;
1301 --enable-mpdvdkit) _dvdkit=yes ;;
1302 --disable-mpdvdkit) _dvdkit=no ;;
1303 # dvdnav disabled, it does not work
1304 # --enable-dvdnav) _dvdnav=yes ;;
1305 # --disable-dvdnav) _dvdnav=no ;;
1306 --enable-xanim) _xanim=yes ;;
1307 --disable-xanim) _xanim=no ;;
1308 --enable-real) _real=yes ;;
1309 --disable-real) _real=no ;;
1310 --enable-live) _live=yes ;;
1311 --disable-live) _live=no ;;
1312 --enable-xinerama) _xinerama=yes ;;
1313 --disable-xinerama) _xinerama=no ;;
1314 --enable-mga) _mga=yes ;;
1315 --disable-mga) _mga=no ;;
1316 --enable-xmga) _xmga=yes ;;
1317 --disable-xmga) _xmga=no ;;
1318 --enable-vm) _vm=yes ;;
1319 --disable-vm) _vm=no ;;
1320 --enable-mlib) _mlib=yes ;;
1321 --disable-mlib) _mlib=no ;;
1322 --enable-sunaudio) _sunaudio=yes ;;
1323 --disable-sunaudio) _sunaudio=no ;;
1324 --enable-sgiaudio) _sgiaudio=yes ;;
1325 --disable-sgiaudio) _sgiaudio=no ;;
1326 --enable-alsa) _alsa=yes ;;
1327 --disable-alsa) _alsa=no ;;
1328 --enable-tv) _tv=yes ;;
1329 --disable-tv) _tv=no ;;
1330 --enable-edl) _edl=yes ;;
1331 --disable-edl) _edl=no ;;
1332 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1333 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1334 --enable-tv-v4l) _tv_v4l=yes ;;
1335 --disable-tv-v4l) _tv_v4l=no ;;
1336 --enable-tv-v4l2) _tv_v4l2=yes ;;
1337 --disable-tv-v4l2) _tv_v4l2=no ;;
1338 --enable-fastmemcpy) _fastmemcpy=yes ;;
1339 --disable-fastmemcpy) _fastmemcpy=no ;;
1340 --enable-network) _network=yes ;;
1341 --disable-network) _network=no ;;
1342 --enable-winsock2) _winsock2=yes ;;
1343 --disable-winsock2) _winsock2=no ;;
1344 --enable-smb) _smbsupport=yes ;;
1345 --disable-smb) _smbsupport=no ;;
1346 --enable-vidix) _vidix=yes ;;
1347 --disable-vidix) _vidix=no ;;
1348 --enable-joystick) _joystick=yes ;;
1349 --disable-joystick) _joystick=no ;;
1350 --enable-xvid) _xvid=yes ;;
1351 --disable-xvid) _xvid=no ;;
1352 --enable-divx4linux) _divx4linux=yes ;;
1353 --disable-divx4linux) _divx4linux=no ;;
1354 --enable-opendivx) _opendivx=yes ;;
1355 --disable-opendivx) _opendivx=no ;;
1356 --enable-libavcodec) _libavcodec=yes ;;
1357 --disable-libavcodec) _libavcodec=no ;;
1358 --enable-libfame) _fame=yes ;;
1359 --disable-libfame) _fame=no ;;
1360 --enable-lirc) _lirc=yes ;;
1361 --disable-lirc) _lirc=no ;;
1362 --enable-lircc) _lircc=yes ;;
1363 --disable-lircc) _lircc=no ;;
1364 --enable-gui) _gui=yes ;;
1365 --disable-gui) _gui=no ;;
1366 --enable-termcap) _termcap=yes ;;
1367 --disable-termcap) _termcap=no ;;
1368 --enable-termios) _termios=yes ;;
1369 --disable-termios) _termios=no ;;
1370 --enable-3dfx) _3dfx=yes ;;
1371 --disable-3dfx) _3dfx=no ;;
1372 --enable-tdfxfb) _tdfxfb=yes ;;
1373 --disable-tdfxvid) _tdfxvid=no ;;
1374 --enable-tdfxvid) _tdfxvid=yes ;;
1375 --disable-tga) _tga=no ;;
1376 --enable-tga) _tga=yes ;;
1377 --disable-tdfxfb) _tdfxfb=no ;;
1378 --enable-directfb) _directfb=yes ;;
1379 --disable-directfb) _directfb=no ;;
1380 --enable-zr) _zr=yes ;;
1381 --disable-zr) _zr=no ;;
1382 --enable-bl) _bl=yes ;;
1383 --disable-bl) _bl=no ;;
1384 --enable-mtrr) _mtrr=yes ;;
1385 --disable-mtrr) _mtrr=no ;;
1386 --enable-largefiles) _largefiles=yes ;;
1387 --disable-largefiles) _largefiles=no ;;
1388 --enable-shm) _shm=yes ;;
1389 --disable-shm) _shm=no ;;
1390 --enable-select) _select=yes ;;
1391 --disable-select) _select=no ;;
1392 --enable-linux-devfs) _linux_devfs=yes ;;
1393 --disable-linux-devfs) _linux_devfs=no ;;
1394 --enable-cdparanoia) _cdparanoia=yes ;;
1395 --disable-cdparanoia) _cdparanoia=no ;;
1396 --enable-big-endian) _big_endian=yes ;;
1397 --disable-big-endian) _big_endian=no ;;
1398 --enable-freetype) _freetype=yes ;;
1399 --disable-freetype) _freetype=no ;;
1400 --enable-fontconfig) _fontconfig=yes ;;
1401 --disable-fontconfig) _fontconfig=no ;;
1402 --enable-unrarlib) _unrarlib=yes ;;
1403 --disable-unrarlib) _unrarlib=no ;;
1404 --enable-ftp) _ftp=yes ;;
1405 --disable-ftp) _ftp=no ;;
1407 --enable-fribidi) _fribidi=yes ;;
1408 --disable-fribidi) _fribidi=no ;;
1410 --enable-inet6) _inet6=yes ;;
1411 --disable-inet6) _inet6=no ;;
1413 --enable-gethostbyname2) _gethostbyname2=yes ;;
1414 --disable-gethostbyname2) _gethostbyname2=no ;;
1416 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
1417 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
1418 --disable-dga) _dga=no ;;
1420 --enable-shared-pp) _shared_pp=yes ;;
1421 --disable-shared-pp) _shared_pp=no ;;
1423 --enable-menu) _menu=yes ;;
1424 --disable-menu) _menu=no ;;
1426 --enable-qtx) _qtx=yes ;;
1427 --disable-qtx) _qtx=no ;;
1429 --enable-macosx) _macosx=yes ;;
1430 --disable-macosx) _macosx=no ;;
1432 --enable-sortsub) _sortsub=yes ;;
1433 --disable-sortsub) _sortsub=no ;;
1435 --language=*)
1436 _language=`echo $ac_option | cut -d '=' -f 2`
1438 # dvdnav disabled, it does not work
1439 # --with-libdvdnav=*)
1440 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1441 # _dvdnav=yes
1442 # ;;
1444 --with-codecsdir=*)
1445 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1446 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1447 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1449 --with-win32libdir=*)
1450 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1451 _win32=yes
1453 --with-xanimlibdir=*)
1454 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1455 _xanim=yes
1457 --with-reallibdir=*)
1458 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1459 _real=yes
1461 --with-livelibdir=*)
1462 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
1463 _live=yes
1465 --with-mlibdir=*)
1466 _mlibdir=`echo $ac_option | cut -d '=' -f 2`
1467 _mlib=yes
1470 --with-xmmslibdir=*)
1471 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
1474 --with-xmmsplugindir=*)
1475 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
1478 --disable-profile)
1479 _profile=
1481 --enable-profile)
1482 _profile='-p'
1484 --enable-debug)
1485 _debug='-g'
1487 --enable-debug=*)
1488 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1490 --disable-sighandler)
1491 _sighandler=no
1494 --enable-sse) _sse=yes ;;
1495 --disable-sse) _sse=no ;;
1496 --enable-sse2) _sse2=yes ;;
1497 --disable-sse2) _sse2=no ;;
1498 --enable-mmx2) _mmx2=yes ;;
1499 --disable-mmx2) _mmx2=no ;;
1500 --enable-3dnow) _3dnow=yes ;;
1501 --disable-3dnow) _3dnow=no _3dnowex=no ;;
1502 --enable-3dnowex) _3dnow=yes _3dnowex=yes ;;
1503 --disable-3dnowex) _3dnowex=no ;;
1504 --enable-altivec) _altivec=yes ;;
1505 --disable-altivec) _altivec=no ;;
1506 --enable-mmx) _mmx=yes ;;
1507 --disable-mmx) # 3Dnow! and MMX2 require MMX
1508 _3dnow=no _3dnowex=no _mmx=no _mmx2=no ;;
1510 --enable-win32) _win32=yes ;;
1511 --disable-win32) _win32=no _dshow=no ;;
1512 --enable-dshow) _win32=yes _dshow=yes ;;
1513 --disable-dshow) _dshow=no ;;
1515 --with-x11incdir=*)
1516 _inc_x11=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1518 --with-x11libdir=*)
1519 _ld_x11=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1521 --with-dxr2incdir=*)
1522 _inc_dxr2=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1524 --with-xvmclib=*)
1525 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
1527 --with-dvbincdir=*)
1528 _inc_dvb=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1530 --with-xvidlibdir=*)
1531 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1533 --with-xvidincdir=*)
1534 _inc_xvid=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1536 --with-sdl-config=*)
1537 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
1539 --with-freetype-config=*)
1540 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
1542 --with-fribidi-config=*)
1543 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
1545 --with-gtk-config=*)
1546 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
1548 --with-glib-config=*)
1549 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
1551 # dvdnav disabled, it does not work
1552 # --with-dvdnav-config=*)
1553 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1554 # ;;
1555 --with-madlibdir=*)
1556 _ld_mad=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1558 --with-cdparanoiaincdir=*)
1559 _inc_cdparanoia=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1561 --with-cdparanoialibdir=*)
1562 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1564 --with-termcaplib=*)
1565 _ld_termcap=-l`echo $ac_option | cut -d '=' -f 2`
1566 _termcap=yes
1568 --prefix=*)
1569 _prefix=`echo $ac_option | cut -d '=' -f 2`
1571 --bindir=*)
1572 _bindir=`echo $ac_option | cut -d '=' -f 2`
1574 --datadir=*)
1575 _datadir=`echo $ac_option | cut -d '=' -f 2`
1577 --mandir=*)
1578 _mandir=`echo $ac_option | cut -d '=' -f 2`
1580 --confdir=*)
1581 _confdir=`echo $ac_option | cut -d '=' -f 2`
1583 --libdir=*)
1584 _libdir=`echo $ac_option | cut -d '=' -f 2`
1588 echo "Unknown parameter: $ac_option"
1589 exit 1
1592 esac
1593 done
1595 # Atmos: moved this here, to be correct, if --prefix is specified
1596 test -z "$_bindir" && _bindir="$_prefix/bin"
1597 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1598 test -z "$_mandir" && _mandir="$_prefix/man"
1599 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1600 test -z "$_libdir" && _libdir="$_prefix/lib"
1601 test -z "$_mlibdir" && _mlibdir="$MLIBHOME"
1603 if x86 ; then
1604 # Checking assembler (_as) compatibility...
1605 # Added workaround for older as that reads from stdin by default - atmos
1606 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1607 echocheck "assembler ($_as $as_version)"
1609 _pref_as_version='2.9.1'
1610 echo 'nop' > $TMPS
1611 if test "$_mmx" = yes ; then
1612 echo 'emms' >> $TMPS
1614 if test "$_3dnow" = yes ; then
1615 _pref_as_version='2.10.1'
1616 echo 'femms' >> $TMPS
1618 if test "$_3dnowex" = yes ; then
1619 _pref_as_version='2.10.1'
1620 echo 'pswapd %mm0, %mm0' >> $TMPS
1622 if test "$_mmx2" = yes ; then
1623 _pref_as_version='2.10.1'
1624 echo 'movntq %mm0, (%eax)' >> $TMPS
1626 if test "$_sse" = yes ; then
1627 _pref_as_version='2.10.1'
1628 echo 'xorps %xmm0, %xmm0' >> $TMPS
1630 #if test "$_sse2" = yes ; then
1631 # _pref_as_version='2.11'
1632 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1634 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
1636 if test "$as_verc_fail" != yes ; then
1637 echores "ok"
1638 else
1639 echores "failed"
1640 echo "Upgrade binutils to ${_pref_as_version} ..."
1641 die "obsolete binutils version"
1645 if ppc ; then
1647 # check if altivec is supported by the compiler, and how to enable it
1649 _altivec_gcc_flags=''
1651 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1652 echocheck "GCC altivec support"
1654 p=''
1655 cat > $TMPC << EOF
1656 int main() {
1657 return 0;
1660 FSF_flags='-maltivec -mabi=altivec'
1661 Darwin_flags='-faltivec'
1663 # check for Darwin-style flags first, since
1664 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1665 # accepts but ignores FSF-style flags...
1667 if test -z "$p"; then
1668 cc_check $Darwin_flags && p='Darwin'
1670 if test -z "$p"; then
1671 cc_check $FSF_flags && p='FSF'
1674 case $p in
1675 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
1676 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
1677 *) _altivec=no ;;
1678 esac
1680 if test -z "$p"; then
1681 p=none
1682 else
1683 p="$p-style ($_altivec_gcc_flags)"
1686 echores "$p"
1689 # check if <altivec.h> should be included
1691 _def_altivec_h='#undef HAVE_ALTIVEC_H'
1693 if test "$_altivec" = yes ; then
1694 echocheck "altivec.h"
1695 cat > $TMPC << EOF
1696 #include <altivec.h>
1697 int main(void) { return 0; }
1699 _have_altivec_h=no
1700 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
1701 if test "$_have_altivec_h" = yes ; then
1702 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
1704 echores "$_have_altivec_h"
1707 # disable runtime cpudetection if
1708 # - we cannot generate altivec code
1709 # - altivec is disabled by the user
1711 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
1712 _runtime_cpudetection=no
1715 # show that we are optimizing for altivec (if enabled and supported)
1717 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
1718 _optimizing="$_optimizing altivec"
1721 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1723 if test "$_altivec" = yes ; then
1724 _mcpu="$_mcpu $_altivec_gcc_flags"
1727 # setup _def_altivec correctly
1729 if test "$_altivec" = yes ; then
1730 _def_altivec='#define HAVE_ALTIVEC 1'
1731 else
1732 _def_altivec='#undef HAVE_ALTIVEC'
1736 _def_mmx='#undef HAVE_MMX'
1737 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
1738 _def_mmx2='#undef HAVE_MMX2'
1739 test "$_mmx2" = yes && _def_mmx2='#define HAVE_MMX2 1'
1740 _def_3dnow='#undef HAVE_3DNOW'
1741 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
1742 _def_3dnowex='#undef HAVE_3DNOWEX'
1743 test "$_3dnowex" = yes && _def_3dnowex='#define HAVE_3DNOWEX 1'
1744 _def_sse='#undef HAVE_SSE'
1745 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
1746 _def_sse2='#undef HAVE_SSE2'
1747 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
1749 # Checking kernel version...
1750 if x86 && linux ; then
1751 _k_verc_problem=no
1752 kernel_version=`uname -r 2>&1`
1753 echocheck "$system_name kernel version"
1754 case "$kernel_version" in
1755 '') kernel_version="?.??"; _k_verc_fail=yes;;
1756 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
1757 _k_verc_problem=yes;;
1758 esac
1759 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
1760 _k_verc_fail=yes
1762 if test "$_k_verc_fail" ; then
1763 echores "$kernel_version, fail"
1764 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
1765 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
1766 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
1767 echo "supports SSE, but you have been warned! If you are using a kernel older than"
1768 echo "2.2.x you must upgrade it to get SSE support!"
1769 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
1770 else
1771 echores "$kernel_version, ok"
1775 if test "$_vidix" = auto ; then
1776 _vidix=no
1777 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
1778 x86 && _vidix=yes
1779 ppc && linux && _vidix=yes
1780 alpha && linux && _vidix=yes
1781 cygwin && _vidix=no
1782 mingw32 && _vidix=no
1783 qnx && _vidix=no
1784 sunos && _vidix=no
1787 # On QNX we must link to libph - Gabucino
1788 if qnx ; then
1789 _ld_arch="$_ld_arch -lph"
1792 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
1793 _awk=
1794 if test "$_vidix" = yes ; then
1795 _awk_verc_fail=yes
1796 echocheck "awk"
1797 for _awk in mawk gawk nawk awk; do
1798 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
1799 _awk_verc_fail=no
1800 break
1802 done
1803 test "$_awk_verc_fail" = yes && _awk=no
1804 echores "$_awk"
1805 if test "$_awk_verc_fail" = yes; then
1806 echo "VIDIX needs awk, but no working implementation was found!"
1807 echo "Try the GNU version, which can be downloaded from:"
1808 echo "ftp://ftp.gnu.org/gnu/gawk/"
1809 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
1810 die "no awk"
1814 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1815 if irix ; then
1816 _ranlib='ar -r'
1819 ######################
1820 # MAIN TESTS GO HERE #
1821 ######################
1824 echocheck "extra headers"
1825 if test "$_inc_extra" ; then
1826 echores "$_inc_extra"
1827 else
1828 echores "none"
1832 echocheck "extra libs"
1833 if test "$_ld_extra" ; then
1834 echores "$_ld_extra"
1835 else
1836 echores "none"
1840 # Checking for localization ...
1841 # CSAK EGY MARADHAT - A HEGYLAKO
1842 echocheck "i18n"
1843 if test "$_i18n" != no ; then
1844 cat > $TMPC <<EOF
1845 #include <libintl.h>
1846 int main(void) { gettext("test"); return 0; }
1848 _i18n=no
1849 _i18n_libs=""
1850 if test "$_i18n" = auto ; then
1851 cc_check && _i18n=yes
1852 else
1853 for i18n_lib in "" "-lintl"; do
1854 cc_check $i18n_lib && _i18n=yes && _i18n_libs=$i18n_lib && break
1855 done
1858 if test "$_i18n" = yes ; then
1859 _def_i18n='#define USE_I18N 1'
1860 else
1861 _def_i18n='#undef USE_I18N'
1863 if test -z "$_i18n_libs" ; then
1864 echores "$_i18n"
1865 else
1866 echores "$_i18n (using $_i18n_libs)"
1870 # Checking for setlocale() ...
1871 # CSAK EGY MARADHAT - A HEGYLAKO
1872 # Nemnem. a TV Maci !
1873 echocheck "setlocale()"
1874 if test "$_setlocale" = auto ; then
1875 cat > $TMPC <<EOF
1876 #include <locale.h>
1877 int main(void) { setlocale( LC_ALL,"" ); return 0; }
1879 _setlocale=no
1880 cc_check && _setlocale=yes
1882 if test "$_setlocale" = yes ; then
1883 _def_setlocale='#define USE_SETLOCALE 1'
1884 else
1885 _def_setlocale='#undef USE_SETLOCALE'
1887 echores "$_setlocale"
1890 echocheck "language"
1891 test -z "$_language" && _language=$LINGUAS
1892 _language=`echo $_language | sed 's/,/ /g'`
1893 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
1894 for i in $_language ; do
1895 test "$i" = all && i=en
1896 if test -f "help/help_mp-${i}.h" ; then
1897 _language=$i
1898 break
1899 else
1900 echo -n "$i not found, "
1901 _language=`echo $_language | sed "s/$i *//g"`
1903 done
1904 test -z "$_language" && _language=en
1905 for i in $LANGUAGES ; do
1906 if test -f "DOCS/man/$i/mplayer.1" ; then
1907 LANGUAGES=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
1908 else
1909 LANGUAGES=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
1911 done
1912 echores "using $_language (man pages: $LANGUAGES)"
1913 _mp_help="help/help_mp-${_language}.h"
1914 test -f $_mp_help || die "$_mp_help not found"
1916 echocheck "enable sighandler"
1917 if test "$_sighandler" = yes ; then
1918 _def_sighandler='#define ENABLE_SIGHANDLER 1'
1919 else
1920 _def_sighandler='#undef ENABLE_SIGHANDLER'
1922 echores "$_sighandler"
1924 echocheck "runtime cpudetection"
1925 if test "$_runtime_cpudetection" = yes ; then
1926 _optimizing="Runtime CPU-Detection enabled"
1927 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
1928 else
1929 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
1931 echores "$_runtime_cpudetection"
1934 echocheck "restrict keyword"
1935 for restrict_keyword in restrict __restrict __restrict__ ; do
1936 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
1937 if cc_check; then
1938 _def_restrict_keyword=$restrict_keyword
1939 break;
1941 done
1942 if [ -n "$_def_restrict_keyword" ]; then
1943 echores "$_def_restrict_keyword"
1944 else
1945 echores "none"
1949 echocheck "kstat"
1950 cat > $TMPC << EOF
1951 #include <kstat.h>
1952 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
1954 _kstat=no
1955 cc_check -lkstat && _kstat=yes
1956 if test "$_kstat" = yes ; then
1957 _ld_arch="-lkstat $_ld_arch"
1959 if test "$_kstat" = yes ; then
1960 _def_kstat="#define HAVE_LIBKSTAT 1"
1961 else
1962 _def_kstat="#undef HAVE_LIBKSTAT"
1964 echores "$_kstat"
1967 echocheck "posix4"
1968 # required for nanosleep on some systems
1969 cat > $TMPC << EOF
1970 #include <time.h>
1971 int main(void) { (void) nanosleep(0, 0); return 0; }
1973 _posix4=no
1974 cc_check -lposix4 && _posix4=yes
1975 if test "$_posix4" = yes ; then
1976 _ld_arch="-lposix4 $_ld_arch"
1978 echores "$_posix4"
1981 echocheck "lrintf"
1982 cat > $TMPC << EOF
1983 #include <math.h>
1984 int main(void) { (void) lrintf(0.0); return 0; }
1986 _lrintf=no
1987 cc_check -lm && _lrintf=yes
1988 if test "$_lrintf" = yes ; then
1989 _def_lrintf="#define HAVE_LRINTF 1"
1990 else
1991 _def_lrintf="#undef HAVE_LRINTF"
1993 echores "$_lrintf"
1996 echocheck "nanosleep"
1997 # also check for nanosleep
1998 cat > $TMPC << EOF
1999 #include <time.h>
2000 int main(void) { (void) nanosleep(0, 0); return 0; }
2002 _nanosleep=no
2003 cc_check $_ld_arch && _nanosleep=yes
2004 if test "$_nanosleep" = yes ; then
2005 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2006 else
2007 _def_nanosleep='#undef HAVE_NANOSLEEP'
2009 echores "$_nanosleep"
2012 echocheck "socklib"
2013 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2014 cat > $TMPC << EOF
2015 #include <netdb.h>
2016 int main(void) { (void) gethostbyname(0); return 0; }
2018 cc_check -lsocket && _ld_sock="-lsocket"
2019 cc_check -lnsl && _ld_sock="-lnsl"
2020 cc_check -lsocket -lnsl && _ld_sock="-lsocket -lnsl"
2021 cc_check -lsocket -ldnet && _ld_sock="-lsocket -ldnet"
2022 if test $_winsock2 = auto && not cygwin ; then
2023 _winsock2=no
2024 cat > $TMPC << EOF
2025 #include <winsock2.h>
2026 int main(void) { (void) gethostbyname(0); return 0; }
2028 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2030 if test "$_ld_sock" ; then
2031 echores "yes (using $_ld_sock)"
2032 else
2033 echores "no"
2037 if test $_winsock2 = yes ; then
2038 _ld_sock="-lws2_32"
2039 _def_winsock2='#define HAVE_WINSOCK2 1'
2040 else
2041 _def_winsock2='#undef HAVE_WINSOCK2'
2045 _use_aton=no
2046 echocheck "inet_pton()"
2047 cat > $TMPC << EOF
2048 #include <sys/types.h>
2049 #include <sys/socket.h>
2050 #include <arpa/inet.h>
2051 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2053 if test "$_winsock2" = yes ; then
2054 echores "not needed (using winsock2 functions)"
2055 elif cc_check $_ld_sock ; then
2056 # NOTE: Linux has libresolv but does not need it
2058 echores "yes (using $_ld_sock)"
2059 elif cc_check $_ld_sock -lresolv ; then
2060 # NOTE: needed for SunOS at least
2061 _ld_sock="$_ld_sock -lresolv"
2062 echores "yes (using $_ld_sock)"
2063 else
2064 echores "no (=> i'll try inet_aton next)"
2066 echocheck "inet_aton()"
2067 cat > $TMPC << EOF
2068 #include <sys/types.h>
2069 #include <sys/socket.h>
2070 #include <arpa/inet.h>
2071 int main(void) { (void) inet_aton(0, 0); return 0; }
2073 _use_aton=yes
2074 if cc_check $_ld_sock ; then
2075 # NOTE: Linux has libresolv but does not need it
2077 echores "yes (using $_ld_sock)"
2078 elif cc_check $_ld_sock -lresolv ; then
2079 # NOTE: needed for SunOS at least
2080 _ld_sock="$_ld_sock -lresolv"
2081 echores "yes (using $_ld_sock)"
2082 else
2083 _use_aton=no
2084 _network=no
2085 echores "no (=> network support disabled)"
2089 _def_use_aton='#undef USE_ATON'
2090 if test "$_use_aton" != no; then
2091 _def_use_aton='#define USE_ATON 1'
2095 echocheck "inttypes.h (required)"
2096 cat > $TMPC << EOF
2097 #include <inttypes.h>
2098 int main(void) { return 0; }
2100 _inttypes=no
2101 cc_check && _inttypes=yes
2102 if test "$_inttypes" = yes ; then
2103 # nothing to do
2105 else
2106 echores "no"
2107 echocheck "bitypes.h (inttypes.h predecessor)"
2108 cat > $TMPC << EOF
2109 #include <sys/bitypes.h>
2110 int main(void) { return 0; }
2112 _inttypes=no
2113 cc_check && _inttypes=yes
2114 if test "$_inttypes" = yes ; then
2115 die "you don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h.link into the include path, rename it to inttypes.h and re-run configure."
2116 else
2117 die "cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/en/faq.html)"
2120 echores "$_inttypes"
2123 echocheck "int_fastXY_t in inttypes.h"
2124 cat > $TMPC << EOF
2125 #include <inttypes.h>
2126 int main(void) {
2127 volatile int_fast16_t v= 0;
2128 return v; }
2130 _fast_inttypes=no
2131 cc_check && _fast_inttypes=yes
2132 if test "$_fast_inttypes" = yes ; then
2133 # nothing to do
2135 else
2136 _def_fast_inttypes='
2137 typedef signed char int_fast8_t;
2138 typedef signed int int_fast16_t;
2139 typedef signed int int_fast32_t;
2140 typedef unsigned char uint_fast8_t;
2141 typedef unsigned int uint_fast16_t;
2142 typedef unsigned int uint_fast32_t;'
2144 echores "$_fast_inttypes"
2147 echocheck "word size"
2148 _mp_wordsize="#undef MP_WORDSIZE"
2149 cat > $TMPC << EOF
2150 #include <stdio.h>
2151 #include <sys/types.h>
2152 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2154 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2155 echores "$_wordsize"
2158 echocheck "stddef.h"
2159 cat > $TMPC << EOF
2160 #include <stddef.h>
2161 int main(void) { return 0; }
2163 _stddef=no
2164 cc_check && _stddef=yes
2165 if test "$_stddef" = yes ; then
2166 _def_stddef='#define HAVE_STDDEF_H 1'
2167 else
2168 _def_stddef='#undef HAVE_STDDEF_H'
2170 echores "$_stddef"
2173 echocheck "malloc.h"
2174 cat > $TMPC << EOF
2175 #include <malloc.h>
2176 int main(void) { (void) malloc(0); return 0; }
2178 _malloc=no
2179 cc_check && _malloc=yes
2180 if test "$_malloc" = yes ; then
2181 _def_malloc='#define HAVE_MALLOC_H 1'
2182 else
2183 _def_malloc='#undef HAVE_MALLOC_H'
2185 # malloc.h emits a warning in FreeBSD and OpenBSD
2186 (freebsd || openbsd) && _def_malloc='#undef HAVE_MALLOC_H'
2187 echores "$_malloc"
2190 echocheck "memalign()"
2191 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2192 cat > $TMPC << EOF
2193 #include <malloc.h>
2194 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2196 _memalign=no
2197 cc_check && _memalign=yes
2198 if test "$_memalign" = yes ; then
2199 _def_memalign='#define HAVE_MEMALIGN 1'
2200 else
2201 _def_memalign='#undef HAVE_MEMALIGN'
2203 echores "$_memalign"
2206 echocheck "alloca.h"
2207 cat > $TMPC << EOF
2208 #include <alloca.h>
2209 int main(void) { (void) alloca(0); return 0; }
2211 _alloca=no
2212 cc_check && _alloca=yes
2213 if cc_check ; then
2214 _def_alloca='#define HAVE_ALLOCA_H 1'
2215 else
2216 _def_alloca='#undef HAVE_ALLOCA_H'
2218 echores "$_alloca"
2221 echocheck "mman.h"
2222 cat > $TMPC << EOF
2223 #include <sys/types.h>
2224 #include <sys/mman.h>
2225 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2227 _mman=no
2228 cc_check && _mman=yes
2229 if test "$_mman" = yes ; then
2230 _def_mman='#define HAVE_SYS_MMAN_H 1'
2231 else
2232 _def_mman='#undef HAVE_SYS_MMAN_H'
2234 echores "$_mman"
2236 echocheck "dynamic loader"
2237 cat > $TMPC << EOF
2238 #include <dlfcn.h>
2239 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2241 _dl=no
2242 if cc_check ; then
2243 _dl=yes
2244 elif cc_check -ldl ; then
2245 _dl=yes
2246 _ld_dl='-ldl'
2248 if test "$_dl" = yes ; then
2249 _def_dl='#define HAVE_LIBDL 1'
2250 else
2251 _def_dl='#undef HAVE_LIBDL'
2253 echores "$_dl"
2256 echocheck "dynamic a/v plugins support"
2257 if test "$_dl" = no ; then
2258 _dynamic_plugins=no
2260 if test "$_dynamic_plugins" = yes ; then
2261 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2262 else
2263 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2265 echores "$_dynamic_plugins"
2268 #echocheck "dynamic linking"
2269 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2270 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2271 #cat > $TMPC << EOF
2272 #int main(void) { return 0; }
2273 #EOF
2274 #if cc_check -rdynamic ; then
2275 # _ld_dl_dynamic='-rdynamic'
2276 #elif cc_check -Bdynamic ; then
2277 # _ld_dl_dynamic='-Bdynamic'
2278 #elif cc_check ; then
2279 # _ld_dl_dynamic=''
2281 #echores "using $_ld_dl_dynamic"
2284 echocheck "pthread"
2285 cat > $TMPC << EOF
2286 #include <pthread.h>
2287 void* func(void *arg) { return arg; }
2288 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2290 if mingw32 ; then
2291 _ld_pthread=''
2292 elif ( cc_check && $TMPO ) ; then # QNX
2293 _ld_pthread=''
2294 elif ( cc_check -lpthread && $TMPO ) ; then
2295 _ld_pthread='-lpthread'
2296 elif ( cc_check -pthread && $TMPO ) ; then
2297 _ld_pthread='-pthread'
2298 else
2299 if test "$_ld_static" ; then
2300 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2301 if ( cc_check -lpthread ) ; then
2302 _ld_pthread='-lpthread'
2303 elif ( cc_check -pthread ) ; then
2304 _ld_pthread='-pthread'
2305 else
2306 echores "no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2307 _ld_pthread='' ; _nas=no ; _tv_v4l=no ; _tv_v4l=no ; _macosx=no ; _win32=no
2309 else
2310 echores "no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2311 _ld_pthread='' ; _nas=no ; _tv_v4l=no ; _tv_v4l=no ; _macosx=no ; _win32=no
2314 if test "$_ld_pthread" != '' ; then
2315 echores "yes (using $_ld_pthread)"
2318 echocheck "sys/soundcard.h"
2319 cat > $TMPC << EOF
2320 #include <sys/soundcard.h>
2321 int main(void) { return 0; }
2323 _sys_soundcard=no
2324 cc_check && _sys_soundcard=yes
2325 if test "$_sys_soundcard" = yes ; then
2326 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
2327 _inc_soundcard='#include <sys/soundcard.h>'
2328 else
2329 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
2331 echores "$_sys_soundcard"
2333 if test "$_sys_soundcard" != yes ; then
2334 echocheck "soundcard.h"
2335 cat > $TMPC << EOF
2336 #include <soundcard.h>
2337 int main(void) { return 0; }
2339 _soundcard=no
2340 cc_check && _soundcard=yes
2341 if linux || test "$_ossaudio" != no ; then
2342 # use soundcard.h on Linux, or when OSS support is enabled
2343 echores "$_soundcard"
2344 else
2345 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2346 echores "$_soundcard, but ignored!"
2347 _soundcard=no
2349 if test "$_soundcard" = yes ; then
2350 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
2351 _inc_soundcard='#include <soundcard.h>'
2352 else
2353 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2355 else
2356 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2360 echocheck "sys/dvdio.h"
2361 cat > $TMPC << EOF
2362 #include <unistd.h>
2363 #include <sys/dvdio.h>
2364 int main(void) { return 0; }
2366 _dvdio=no
2367 cc_check && _dvdio=yes
2368 if test "$_dvdio" = yes ; then
2369 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2370 else
2371 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2373 echores "$_dvdio"
2376 echocheck "sys/cdio.h"
2377 cat > $TMPC << EOF
2378 #include <unistd.h>
2379 #include <sys/cdio.h>
2380 int main(void) { return 0; }
2382 _cdio=no
2383 cc_check && _cdio=yes
2384 if test "$_cdio" = yes ; then
2385 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2386 else
2387 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2389 echores "$_cdio"
2392 echocheck "linux/cdrom.h"
2393 cat > $TMPC << EOF
2394 #include <sys/types.h>
2395 #include <linux/cdrom.h>
2396 int main(void) { return 0; }
2398 _cdrom=no
2399 cc_check && _cdrom=yes
2400 if test "$_cdrom" = yes ; then
2401 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2402 else
2403 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2405 echores "$_cdrom"
2408 echocheck "dvd.h"
2409 cat > $TMPC << EOF
2410 #include <dvd.h>
2411 int main(void) { return 0; }
2413 _dvd=no
2414 cc_check && _dvd=yes
2415 if test "$_dvd" = yes ; then
2416 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
2417 else
2418 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
2420 echores "$_dvd"
2423 echocheck "BSDI dvd.h"
2424 cat > $TMPC << EOF
2425 #include <dvd.h>
2426 int main(void) { return 0; }
2428 _bsdi_dvd=no
2429 cc_check && _bsdi_dvd=yes
2430 if test "$_bsdi_dvd" = yes ; then
2431 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2432 else
2433 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2435 echores "$_bsdi_dvd"
2438 echocheck "HPUX SCSI header"
2439 cat > $TMPC << EOF
2440 #include <sys/scsi.h>
2441 int main(void) { return 0; }
2443 _hpux_scsi_h=no
2444 cc_check && _hpux_scsi_h=yes
2445 if test "$_hpux_scsi_h" = yes ; then
2446 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
2447 else
2448 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
2450 echores "$_hpux_scsi_h"
2453 echocheck "userspace SCSI headers (Solaris)"
2454 cat > $TMPC << EOF
2455 # include <unistd.h>
2456 # include <stropts.h>
2457 # include <sys/scsi/scsi_types.h>
2458 # include <sys/scsi/impl/uscsi.h>
2459 int main(void) { return 0; }
2461 _sol_scsi_h=no
2462 cc_check && _sol_scsi_h=yes
2463 if test "$_sol_scsi_h" = yes ; then
2464 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
2465 else
2466 _def_sol_scsi_h='#undef SOLARIS_USCSI'
2468 echores "$_sol_scsi_h"
2471 echocheck "termcap"
2472 if test "$_termcap" = auto ; then
2473 cat > $TMPC <<EOF
2474 int main(void) { return 0; }
2476 _termcap=no
2477 cc_check -ltermcap && _termcap=yes && _ld_termcap='-ltermcap'
2478 cc_check -ltinfo && _termcap=yes && _ld_termcap='-ltinfo'
2480 if test "$_termcap" = yes ; then
2481 _def_termcap='#define USE_TERMCAP 1'
2482 echores "yes (using $_ld_termcap)"
2483 else
2484 _def_termcap='#undef USE_TERMCAP'
2485 echores no
2489 echocheck "termios"
2490 if test "$_termios" = auto ; then
2491 cat > $TMPC <<EOF
2492 #include <sys/termios.h>
2493 int main(void) { return 0; }
2495 _termios=no
2496 cc_check && _termios=yes
2497 _def_termios_h_name='sys/termios.h'
2499 # second test:
2500 if test "$_termios" = no ; then
2501 cat > $TMPC <<EOF
2502 #include <termios.h>
2503 int main(void) { return 0; }
2505 _termios=no
2506 cc_check && _termios=yes
2507 _def_termios_h_name='termios.h'
2510 if test "$_termios" = yes ; then
2511 _def_termios='#define HAVE_TERMIOS 1'
2512 _def_termios_h='#undef HAVE_TERMIOS_H'
2513 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
2515 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2516 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
2517 elif test "$_def_termios_h_name" = 'termios.h' ; then
2518 _def_termios_h='#define HAVE_TERMIOS_H 1'
2520 echores "yes (using $_def_termios_h_name)"
2521 else
2522 _def_termios='#undef HAVE_TERMIOS'
2523 _def_termios_h_name=''
2524 echores "no"
2528 echocheck "shm"
2529 if test "$_shm" = auto ; then
2530 cat > $TMPC << EOF
2531 #include <sys/types.h>
2532 #include <sys/shm.h>
2533 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2535 _shm=no
2536 cc_check && _shm=yes
2538 if test "$_shm" = yes ; then
2539 _def_shm='#define HAVE_SHM 1'
2540 else
2541 _def_shm='#undef HAVE_SHM'
2543 echores "$_shm"
2546 # XXX: FIXME, add runtime checking
2547 echocheck "linux devfs"
2548 echores "$_linux_devfs"
2551 echocheck "scandir()"
2552 cat > $TMPC << EOF
2553 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2555 _scandir=no
2556 cc_check && _scandir=yes
2557 if test "$_scandir" = yes ; then
2558 _def_scandir='#define HAVE_SCANDIR 1'
2559 else
2560 _def_scandir='#undef HAVE_SCANDIR'
2562 echores "$_scandir"
2565 echocheck "strsep()"
2566 cat > $TMPC << EOF
2567 #include <string.h>
2568 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2570 _strsep=no
2571 cc_check && _strsep=yes
2572 if test "$_strsep" = yes ; then
2573 _def_strsep='#define HAVE_STRSEP 1'
2574 else
2575 _def_strsep='#undef HAVE_STRSEP'
2577 echores "$_strsep"
2580 echocheck "vsscanf()"
2581 cat > $TMPC << EOF
2582 #include <stdarg.h>
2583 int main(void) { vsscanf(0, 0, 0); return 0; }
2585 _vsscanf=no
2586 cc_check && _vsscanf=yes
2587 if test "$_vsscanf" = yes ; then
2588 _def_vsscanf='#define HAVE_VSSCANF 1'
2589 else
2590 _def_vsscanf='#undef HAVE_VSSCANF'
2592 echores "$_vsscanf"
2595 echocheck "posix select()"
2596 cat > $TMPC << EOF
2597 #include <stdio.h>
2598 #include <stdlib.h>
2599 #include <sys/types.h>
2600 #include <string.h>
2601 #include <sys/time.h>
2602 #include <unistd.h>
2603 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
2605 _posix_select=no
2606 cc_check && _posix_select=yes
2607 if test "$_posix_select" = no ; then
2608 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
2609 else
2610 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
2612 echores "$_posix_select"
2615 echocheck "gettimeofday()"
2616 cat > $TMPC << EOF
2617 #include <stdio.h>
2618 #include <sys/time.h>
2619 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
2621 _gettimeofday=no
2622 cc_check && _gettimeofday=yes
2623 if test "$_gettimeofday" = yes ; then
2624 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
2625 else
2626 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
2628 echores "$_gettimeofday"
2631 echocheck "glob()"
2632 cat > $TMPC << EOF
2633 #include <stdio.h>
2634 #include <glob.h>
2635 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
2637 _glob=no
2638 cc_check && _glob=yes
2639 if test "$_glob" = yes ; then
2640 _def_glob='#define HAVE_GLOB 1'
2641 else
2642 _def_glob='#undef HAVE_GLOB'
2644 echores "$_glob"
2647 echocheck "sys/sysinfo.h"
2648 cat > $TMPC << EOF
2649 #include <sys/sysinfo.h>
2650 int main(void) {
2651 struct sysinfo s_info;
2652 sysinfo(&s_info);
2653 return 0;
2656 _sys_sysinfo=no
2657 cc_check && _sys_sysinfo=yes
2658 if test "$_sys_sysinfo" = yes ; then
2659 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
2660 _inc_sysinfo='#include <sys/sysinfo.h>'
2661 else
2662 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
2664 echores "$_sys_sysinfo"
2667 echocheck "Mac OS X APIs"
2668 if test "$_macosx" = auto ; then
2669 if darwin && ppc; then
2670 _macosx=yes
2671 else
2672 _macosx=no
2673 _def_macosx='#undef MACOSX'
2674 _noaomodules="macosx $_noaomodules"
2677 if test "$_macosx" = yes ; then
2678 cat > $TMPC <<EOF
2679 #include <Carbon/Carbon.h>
2680 #include <QuickTime/QuickTime.h>
2681 #include <CoreAudio/CoreAudio.h>
2682 int main(void) {
2683 EnterMovies();
2684 ExitMovies();
2685 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
2688 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
2689 _macosx=yes
2690 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio"
2691 _def_macosx='#define MACOSX 1'
2692 _aosrc="$_aosrc ao_macosx.c"
2693 _aomodules="macosx $_aomodules"
2694 else
2695 _macosx=no
2696 _def_macosx='#undef MACOSX'
2697 _noaomodules="macosx $_noaomodules"
2700 echores "$_macosx"
2703 echocheck "Samba support (libsmbclient)"
2704 if test "$_smbsupport" = yes; then
2705 _ld_smb="-lsmbclient"
2707 if test "$_smbsupport" = auto; then
2708 _smbsupport=no
2709 cat > $TMPC << EOF
2710 #include <libsmbclient.h>
2711 int main(void) { smbc_opendir("smb://"); return 0; }
2713 if cc_check -lsmbclient ; then
2714 _smbsupport=yes
2715 _ld_smb="-lsmbclient"
2716 else
2717 if cc_check -lsmbclient $_ld_dl ; then
2718 _smbsupport=yes
2719 _ld_smb="-lsmbclient $_ld_dl"
2720 else
2721 if cc_check -lsmbclient $_ld_dl -lnsl ; then
2722 _smbsupport=yes
2723 _ld_smb="-lsmbclient $_ld_dl -lnsl"
2729 if test "$_smbsupport" = yes; then
2730 _def_smbsupport="#define LIBSMBCLIENT"
2731 _inputmodules="smb $_inputmodules"
2732 else
2733 _def_smbsupport="#undef LIBSMBCLIENT"
2734 _noinputmodules="smb $_noinputmodules"
2736 echores "$_smbsupport"
2739 #########
2740 # VIDEO #
2741 #########
2744 echocheck "3dfx"
2745 if test "$_3dfx" = yes ; then
2746 _def_3dfx='#define HAVE_3DFX 1'
2747 _vosrc="$_vosrc vo_3dfx.c"
2748 _vomodules="3dfx $_vomodules"
2749 else
2750 _def_3dfx='#undef HAVE_3DFX'
2751 _novomodules="3dfx $_novomodules"
2753 echores "$_3dfx"
2756 echocheck "tdfxfb"
2757 if test "$_tdfxfb" = yes ; then
2758 _def_tdfxfb='#define HAVE_TDFXFB 1'
2759 _vosrc="$_vosrc vo_tdfxfb.c"
2760 _vomodules="tdfxfb $_vomodules"
2761 else
2762 _def_tdfxfb='#undef HAVE_TDFXFB'
2763 _novomodules="tdfxfb $_novomodules"
2765 echores "$_tdfxfb"
2767 echocheck "tdfxvid"
2768 if test "$_tdfxvid" = yes ; then
2769 _def_tdfxvid='#define HAVE_TDFX_VID 1'
2770 _vosrc="$_vosrc vo_tdfx_vid.c"
2771 _vomodules="tdfx_vid $_vomodules"
2772 else
2773 _def_tdfxvid='#undef HAVE_TDFX_VID'
2774 _novomodules="tdfx_vid $_novomodules"
2776 echores "$_tdfxfb"
2778 echocheck "tga"
2779 if test "$_tga" = yes ; then
2780 _def_tga='#define HAVE_TGA 1'
2781 _vosrc="$_vosrc vo_tga.c"
2782 _vomodules="tga $_vomodules"
2783 else
2784 _def_tga='#undef HAVE_TGA'
2785 _novomodules="tga $_novomodules"
2787 echores "$_tga"
2789 echocheck "DirectFB headers presence"
2790 if test -z "$_inc_directfb" ; then
2791 for I in /usr/include /usr/local/include; do
2792 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
2793 _inc_directfb="-I$I/directfb"
2794 echores "yes (using $_inc_directfb)"
2795 break
2797 if test -d "$I" && test -f "$I/directfb.h" ; then
2798 _inc_directfb="-I$I"
2799 echores "yes (using $_inc_directfb)"
2800 break
2802 done
2803 if test -z "$_inc_directfb" ; then
2804 _directfb=no
2805 echores "not found"
2807 else
2808 echores "yes (using $_inc_directfb)"
2810 if test "$_inc_directfb" = "-I/usr/include" ; then
2811 _inc_directfb=""
2814 echocheck "DirectFB"
2815 if test "$_directfb" = auto ; then
2816 _directfb=no
2817 cat > $TMPC <<EOF
2818 #include <directfb.h>
2819 int main(void) { IDirectFB *foo; return 0; }
2821 linux && test -c /dev/fb0 && cc_check $_inc_directfb -ldirectfb && _directfb=yes
2824 if test "$_directfb" = yes; then
2825 cat > $TMPC <<EOF
2826 #include <directfb.h>
2827 int main(void) {
2828 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
2829 return 0;
2832 if cc_check $_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
2833 _directfb_version=`"$TMPO"`
2834 _def_directfb_version="#define DIRECTFBVERSION $_directfb_version"
2835 echores "yes ($_directfb_version)"
2836 else
2837 _directfb=no
2838 echores "no (failed to get version)"
2840 else
2841 echores "$_directfb"
2844 if test "$_directfb" = yes ; then
2845 _def_directfb='#define HAVE_DIRECTFB 1'
2846 if test "$_directfb_version" -ge 913; then
2847 _vosrc="$_vosrc vo_directfb2.c"
2848 else
2849 _vosrc="$_vosrc vo_directfb.c"
2851 _vomodules="directfb $_vomodules"
2852 _ld_directfb='-ldirectfb'
2854 if test "$_directfb_version" -ge 915; then
2855 _vosrc="$_vosrc vo_dfbmga.c"
2856 _vomodules="dfbmga $_vomodules"
2858 else
2859 _def_directfb='#undef HAVE_DIRECTFB'
2860 _novomodules="directfb $_novomodules"
2861 _inc_directfb=""
2865 echocheck "X11 headers presence"
2866 if test -z "$_inc_x11" ; then
2867 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
2868 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
2869 _inc_x11="-I$I"
2870 echores "yes (using $I)"
2871 break
2873 done
2874 if test -z "$_inc_x11" ; then
2875 _x11=no
2876 echores "not found (check if the dev(el) packages are installed)"
2878 else
2879 echores "yes (using $_inc_x11)"
2881 if test "$_inc_x11" = "-I/usr/include" ; then
2882 _inc_x11=""
2886 echocheck "X11 libs presence"
2887 if test -z "$_ld_x11" ; then
2888 for I in /usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 ; do
2889 if test -d "$I" && ( test -f "$I/libX11.so" || test -f "$I/libX11.a" ) ; then
2890 _ld_x11="-L$I"
2891 echores "yes (using $I)"
2892 break;
2894 done
2895 if test -z "$_ld_x11" ; then
2896 _x11=no
2897 echores "not found (check if the dev(el) packages are installed)"
2899 else
2900 echores "yes (using $_ld_x11)"
2902 _ld_x11="$_ld_x11 -lXext -lX11 $_ld_sock"
2905 echocheck "X11"
2906 if test "$_x11" != no ; then
2907 cat > $TMPC <<EOF
2908 #include <X11/Xlib.h>
2909 #include <X11/Xutil.h>
2910 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
2912 _x11=no
2913 cc_check $_inc_x11 $_ld_x11 && _x11=yes
2915 if test "$_x11" = yes ; then
2916 _def_x11='#define HAVE_X11 1'
2917 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
2918 _vomodules="x11 xover $_vomodules"
2919 else
2920 _def_x11='#undef HAVE_X11'
2921 _inc_x11=''
2922 _ld_x11=''
2923 _novomodules="x11 $_novomodules"
2925 echores "$_x11"
2928 echocheck "DPMS"
2929 _xdpms3=no
2930 if test "$_x11" = yes ; then
2931 cat > $TMPC <<EOF
2932 #include <X11/Xmd.h>
2933 #include <X11/Xlib.h>
2934 #include <X11/Xutil.h>
2935 #include <X11/Xatom.h>
2936 #include <X11/extensions/dpms.h>
2937 int main(void) {
2938 (void) DPMSQueryExtension(0, 0, 0);
2941 cc_check $_inc_x11 -lXdpms $_ld_x11 && _xdpms3=yes
2943 _xdpms4=no
2944 if test "$_x11" = yes ; then
2945 cat > $TMPC <<EOF
2946 #include <X11/Xlib.h>
2947 #include <X11/extensions/dpms.h>
2948 int main(void) {
2949 (void) DPMSQueryExtension(0, 0, 0);
2952 cc_check $_inc_x11 $_ld_x11 && _xdpms4=yes
2954 if test "$_xdpms4" = yes ; then
2955 _def_xdpms='#define HAVE_XDPMS 1'
2956 echores "yes (using Xdpms 4)"
2957 elif test "$_xdpms3" = yes ; then
2958 _def_xdpms='#define HAVE_XDPMS 1'
2959 _ld_x11="-lXdpms $_ld_x11"
2960 echores "yes (using Xdpms 3)"
2961 else
2962 _def_xdpms='#undef HAVE_XDPMS'
2963 echores "no"
2967 echocheck "Xv"
2968 if test "$_x11" = yes && test "$_xv" != no ; then
2969 cat > $TMPC <<EOF
2970 #include <X11/Xlib.h>
2971 #include <X11/extensions/Xvlib.h>
2972 int main(void) { (void) XvGetPortAttribute(0, 0, 0, 0); return 0; }
2974 _xv=no
2975 cc_check $_inc_x11 -lXv $_ld_x11 && _xv=yes
2976 else
2977 _xv=no
2979 if test "$_xv" = yes ; then
2980 _def_xv='#define HAVE_XV 1'
2981 _ld_xv='-lXv'
2982 _vosrc="$_vosrc vo_xv.c"
2983 _vomodules="xv $_vomodules"
2984 else
2985 _def_xv='#undef HAVE_XV'
2986 _novomodules="xv $_novomodules"
2988 echores "$_xv"
2991 echocheck "XvMC"
2992 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no ; then
2993 _xvmc=no
2994 cat > $TMPC <<EOF
2995 #include <X11/Xlib.h>
2996 #include <X11/extensions/Xvlib.h>
2997 #include <X11/extensions/XvMClib.h>
2998 int main(void) {
2999 (void) XvMCQueryExtension(0,0,0);
3000 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3001 return 0; }
3003 cc_check $_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc=yes
3005 if test "$_xvmc" = yes ; then
3006 _def_xvmc='#define HAVE_XVMC 1'
3007 _ld_xvmc="-lXvMC -l$_xvmclib"
3008 _vosrc="$_vosrc vo_xvmc.c"
3009 _vomodules="xvmc $_vomodules"
3010 else
3011 _def_xvmc='#undef HAVE_XVMC'
3012 _novomodules="xvmc $_novomodules"
3014 echores "$_xvmc"
3017 echocheck "Xinerama"
3018 if test "$_x11" = yes && test "$_xinerama" != no ; then
3019 cat > $TMPC <<EOF
3020 #include <X11/Xlib.h>
3021 #include <X11/extensions/Xinerama.h>
3022 int main(void) { (void) XineramaIsActive(0); return 0; }
3024 _xinerama=no
3025 cc_check $_inc_x11 -lXinerama $_ld_x11 && _xinerama=yes
3026 else
3027 _xinerama=no
3029 if test "$_xinerama" = yes ; then
3030 _def_xinerama='#define HAVE_XINERAMA 1'
3031 _ld_xinerama='-lXinerama'
3032 else
3033 _def_xinerama='#undef HAVE_XINERAMA'
3035 echores "$_xinerama"
3038 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3039 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3040 # named 'X extensions' or something similar.
3041 # This check may be useful for future mplayer versions (to change resolution)
3042 # If you run into problems, remove '-lXxf86vm'.
3043 echocheck "Xxf86vm"
3044 if test "$_x11" = yes && test "$_vm" != no ; then
3045 cat > $TMPC <<EOF
3046 #include <X11/Xlib.h>
3047 #include <X11/extensions/xf86vmode.h>
3048 #include <X11/XF86keysym.h>
3049 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3051 _vm=no
3052 cc_check $_inc_x11 -lXxf86vm $_ld_x11 && _vm=yes
3053 else
3054 _vm=no
3056 if test "$_vm" = yes ; then
3057 _def_vm='#define HAVE_XF86VM 1'
3058 _ld_vm='-lXxf86vm'
3059 else
3060 _def_vm='#undef HAVE_XF86VM'
3062 echores "$_vm"
3065 echocheck "DGA"
3066 # Version 2 is preferred to version 1 if available
3067 if test "$_dga" = auto ; then
3068 cat > $TMPC << EOF
3069 #include <X11/Xlib.h>
3070 #include <X11/extensions/xf86dga.h>
3071 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3073 _dga=no
3074 cc_check $_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
3076 cat > $TMPC << EOF
3077 #include <X11/Xlib.h>
3078 #include <X11/extensions/xf86dga.h>
3079 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3081 cc_check $_inc_x11 -lXxf86dga $_ld_x11 && _dga=2
3084 _def_dga='#undef HAVE_DGA'
3085 _def_dga2='#undef HAVE_DGA2'
3086 if test "$_dga" = 1 ; then
3087 _def_dga='#define HAVE_DGA 1'
3088 _ld_dga='-lXxf86dga'
3089 _vosrc="$_vosrc vo_dga.c"
3090 _vomodules="dga $_vomodules"
3091 echores "yes (using DGA 1.0)"
3092 elif test "$_dga" = 2 ; then
3093 _def_dga='#define HAVE_DGA 1'
3094 _def_dga2='#define HAVE_DGA2 1'
3095 _ld_dga='-lXxf86dga'
3096 _vosrc="$_vosrc vo_dga.c"
3097 _vomodules="dga $_vomodules"
3098 echores "yes (using DGA 2.0)"
3099 elif test "$_dga" = no ; then
3100 echores "no"
3101 _novomodules="dga $_novomodules"
3102 else
3103 die "DGA version must be 1 or 2"
3107 echocheck "OpenGL"
3108 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3109 if (test "$_x11" = yes || mingw32 || cygwin) && test "$_gl" != no ; then
3110 cat > $TMPC << EOF
3111 #include <GL/gl.h>
3112 int main(void) { return 0; }
3114 _gl=no
3115 if cc_check $_inc_x11 $_ld_x11 -lGL -lm ; then
3116 _gl=yes
3117 _ld_gl="-lGL"
3118 elif cc_check $_inc_x11 $_ld_x11 -lGL -lm $_ld_pthread ; then
3119 _gl=yes
3120 _ld_gl="-lGL $_ld_pthread"
3121 elif cc_check -lopengl32 ; then
3122 _gl=yes
3123 _gl_win32=yes
3124 _ld_gl="-lopengl32 -lgdi32"
3126 else
3127 _gl=no
3129 if test "$_gl" = yes ; then
3130 _def_gl='#define HAVE_GL 1'
3131 if test "$_gl_win32" = yes ; then
3132 _def_gl_win32='#define GL_WIN32 1'
3133 _vosrc="$_vosrc vo_gl2.c w32_common.c"
3134 else
3135 _vosrc="$_vosrc vo_gl.c vo_gl2.c"
3137 _vomodules="opengl $_vomodules"
3138 else
3139 _def_gl='#undef HAVE_GL'
3140 _def_gl_win32='#undef GL_WIN32'
3141 _novomodules="opengl $_novomodules"
3143 echores "$_gl"
3146 echocheck "/dev/mga_vid"
3147 if test "$_mga" = auto ; then
3148 _mga=no
3149 test -c /dev/mga_vid && _mga=yes
3151 if test "$_mga" = yes ; then
3152 _def_mga='#define HAVE_MGA 1'
3153 _vosrc="$_vosrc vo_mga.c"
3154 _vomodules="mga $_vomodules"
3155 else
3156 _def_mga='#undef HAVE_MGA'
3157 _novomodules="mga $_novomodules"
3159 echores "$_mga"
3162 # echocheck "syncfb"
3163 # _syncfb=no
3164 # test "$_mga" = yes && _syncfb=yes
3165 # if test "$_syncfb" = yes ; then
3166 # _def_syncfb='#define HAVE_SYNCFB 1'
3167 # _vosrc="$_vosrc vo_syncfb.c"
3168 # else
3169 # _def_syncfb='#undef HAVE_SYNCFB'
3170 # fi
3171 # echores "$_syncfb"
3174 echocheck "xmga"
3175 if test "$_xmga" = auto ; then
3176 _xmga=no
3177 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
3179 if test "$_xmga" = yes ; then
3180 _def_xmga='#define HAVE_XMGA 1'
3181 _vosrc="$_vosrc vo_xmga.c"
3182 _vomodules="xmga $_vomodules"
3183 else
3184 _def_xmga='#undef HAVE_XMGA'
3185 _novomodules="xmga $_novomodules"
3187 echores "$_xmga"
3190 echocheck "GGI"
3191 if test "$_ggi" = auto ; then
3192 cat > $TMPC << EOF
3193 #include <ggi/ggi.h>
3194 int main(void) { return 0; }
3196 _ggi=no
3197 cc_check -lggi && _ggi=yes
3199 if test "$_ggi" = yes ; then
3200 _def_ggi='#define HAVE_GGI 1'
3201 _ld_ggi='-lggi'
3202 _vosrc="$_vosrc vo_ggi.c"
3203 _vomodules="ggi $_vomodules"
3204 else
3205 _def_ggi='#undef HAVE_GGI'
3206 _novomodules="ggi $_novomodules"
3208 echores "$_ggi"
3211 echocheck "AA"
3212 if test "$_aa" = auto ; then
3213 cat > $TMPC << EOF
3214 #include <aalib.h>
3215 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3217 _aa=no
3218 cc_check -laa && _aa=yes
3220 if test "$_aa" = yes ; then
3221 _def_aa='#define HAVE_AA 1'
3222 if cygwin ; then
3223 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
3224 else
3225 _ld_aa='-laa'
3227 _vosrc="$_vosrc vo_aa.c"
3228 _vomodules="aa $_vomodules"
3229 else
3230 _def_aa='#undef HAVE_AA'
3231 _novomodules="aa $_novomodules"
3233 echores "$_aa"
3236 echocheck "SVGAlib"
3237 if test "$_svga" = auto ; then
3238 cat > $TMPC << EOF
3239 #include <vga.h>
3240 #include <vgagl.h>
3241 int main(void) { return 0; }
3243 _svga=no
3244 cc_check -lvgagl -lvga -lm && _svga=yes
3246 if test "$_svga" = yes ; then
3247 _def_svga='#define HAVE_SVGALIB 1'
3248 _ld_svga='-lvgagl -lvga -lm'
3249 _vosrc="$_vosrc vo_svga.c"
3250 _vomodules="svga $_vomodules"
3251 else
3252 _def_svga='#undef HAVE_SVGALIB'
3253 _novomodules="svga $_novomodules"
3255 echores "$_svga"
3258 echocheck "FBDev"
3259 if test "$_fbdev" = auto ; then
3260 _fbdev=no
3261 linux && test -c /dev/fb0 && _fbdev=yes
3263 if test "$_fbdev" = yes ; then
3264 _def_fbdev='#define HAVE_FBDEV 1'
3265 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
3266 _vomodules="fbdev $_vomodules"
3267 else
3268 _def_fbdev='#undef HAVE_FBDEV'
3269 _novomodules="fbdev $_novomodules"
3271 echores "$_fbdev"
3275 echocheck "DVB"
3276 if test "$_dvb" != no ; then
3277 _dvb=no
3278 cat >$TMPC << EOF
3279 #include <sys/poll.h>
3280 #include <sys/ioctl.h>
3281 #include <stdio.h>
3282 #include <time.h>
3283 #include <unistd.h>
3285 #include <ost/dmx.h>
3286 #include <ost/frontend.h>
3287 #include <ost/sec.h>
3288 #include <ost/video.h>
3289 #include <ost/audio.h>
3290 int main(void) {return 0;}
3292 if cc_check ; then
3293 _dvb=yes
3294 echores "yes"
3295 else
3296 for I in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3297 if cc_check "$I" ; then
3298 _dvb=yes
3299 _inc_dvb="$I"
3300 echores "yes (using $_inc_dvb)"
3301 break
3303 done
3304 test "$_dvb" = no && echores "no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3306 else
3307 echores "no"
3309 if test "$_dvb" = yes ; then
3310 _def_dvb='#define HAVE_DVB 1'
3311 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
3312 _aomodules="mpegpes(dvb) $_aomodules"
3313 _vomodules="mpegpes(dvb) $_vomodules"
3315 if test "$_dvbhead" != no ; then
3316 echocheck "DVB HEAD"
3317 if test "$_dvbhead" != no ; then
3318 _dvbhead=no
3320 cat >$TMPC << EOF
3321 #include <sys/poll.h>
3322 #include <sys/ioctl.h>
3323 #include <stdio.h>
3324 #include <time.h>
3325 #include <unistd.h>
3327 #include <linux/dvb/dmx.h>
3328 #include <linux/dvb/frontend.h>
3329 #include <linux/dvb/video.h>
3330 #include <linux/dvb/audio.h>
3331 int main(void) {return 0;}
3333 if cc_check ; then
3334 _dvbhead=yes
3335 echores "yes"
3336 else
3337 for I in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3338 if cc_check "$I" ; then
3339 _dvbhead=yes
3340 _inc_dvb="$I"
3341 echores "yes (using $_inc_dvb)"
3342 break
3344 done
3345 test "$_dvbhead" = no && echores "no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3347 else
3348 echores "no"
3350 if test "$_dvbhead" = yes ; then
3351 _def_dvb='#define HAVE_DVB_HEAD 1'
3352 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
3353 _aomodules="mpegpes(dvb) $_aomodules"
3354 _vomodules="mpegpes(dvb) $_vomodules"
3357 if test "$_dvbhead" = no && test "$_dvb" = no ; then
3358 _def_dvb='#undef HAVE_DVB'
3359 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
3360 _aomodules="mpegpes(file) $_aomodules"
3361 _vomodules="mpegpes(file) $_vomodules"
3364 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
3365 _dvbin=yes
3366 _inputmodules="dvb $_inputmodules"
3367 else
3368 _dvbin=no
3371 echocheck "PNG support"
3372 if test "$_png" = auto ; then
3373 _png=no
3374 if irix ; then
3375 # Don't check for -lpng on irix since it has its own libpng
3376 # incompatible with the GNU libpng
3377 echores "disabled on irix (not GNU libpng)"
3378 else
3379 cat > $TMPC << EOF
3380 #include <png.h>
3381 #include <string.h>
3382 int main(void) {
3383 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3384 printf("libpng: %s\n", png_libpng_ver);
3385 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3388 if cc_check -lpng -lz -lm ; then
3389 if "$TMPO" >> "$TMPLOG" ; then
3390 _png=yes
3391 echores yes
3392 else
3393 echores "no (mismatch of library and header versions)"
3395 else
3396 echores no
3399 else
3400 echores "$_png"
3402 if test "$_png" = yes ; then
3403 _def_png='#define HAVE_PNG 1'
3404 _ld_png='-lpng -lz'
3405 _vosrc="$_vosrc vo_png.c"
3406 _vomodules="png $_vomodules"
3407 _mkf_png="yes"
3408 else
3409 _def_png='#undef HAVE_PNG'
3410 _novomodules="png $_novomodules"
3411 _mkf_png="no"
3414 echocheck "JPEG support"
3415 if test "$_jpg" = auto ; then
3416 _jpg=no
3417 cat > $TMPC << EOF
3418 #include <stdio.h>
3419 #include <stdlib.h>
3420 #include <setjmp.h>
3421 #include <string.h>
3422 #include <jpeglib.h>
3423 int main(void) {
3424 return 0;
3427 if cc_check -ljpeg -lm ; then
3428 if "$TMPO" >> "$TMPLOG" ; then
3429 _jpg=yes
3433 echores "$_jpg"
3435 if test "$_jpg" = yes ; then
3436 _def_jpg='#define HAVE_JPEG 1'
3437 _vosrc="$_vosrc vo_jpeg.c"
3438 _vomodules="jpeg $_vomodules"
3439 _ld_jpg="-ljpeg"
3440 _mkf_jpg="yes"
3441 else
3442 _def_jpg='#undef HAVE_JPEG'
3443 _novomodules="jpeg $_novomodules"
3444 _mkf_jpg="no"
3448 echocheck "GIF support"
3449 if test "$_gif" = auto ; then
3450 _gif=no
3451 cat > $TMPC << EOF
3452 #include <gif_lib.h>
3453 int main(void) {
3454 return 0;
3457 if cc_check -lungif && "$TMPO" >> "$TMPLOG" ; then
3458 _gif=yes
3459 _ld_gif="-lungif"
3460 elif cc_check -lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3461 _gif=yes
3462 _ld_gif="-lungif $_ld_x11"
3463 elif cc_check -lgif && "$TMPO" >> "$TMPLOG" ; then
3464 _gif=yes
3465 _ld_gif="-lgif"
3466 elif cc_check -lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3467 _gif=yes
3468 _ld_gif="-lgif $_ld_x11"
3472 if test "$_gif" = yes ; then
3473 _def_gif='#define HAVE_GIF 1'
3474 _vosrc="$_vosrc vo_gif89a.c"
3475 _codecmodules="gif $_codecmodules"
3476 _vomodules="gif89a $_vomodules"
3477 _mkf_gif="yes"
3478 _gif="yes (old version, some encoding functions disabled)"
3479 _def_gif_4='#undef HAVE_GIF_4'
3481 cat > $TMPC << EOF
3482 #include <signal.h>
3483 #include <gif_lib.h>
3484 void catch() { exit(1); }
3485 int main(void) {
3486 signal(SIGSEGV, catch); // catch segfault
3487 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
3488 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
3489 return 0;
3492 if cc_check "$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3493 _def_gif_4='#define HAVE_GIF_4 1'
3494 _gif="yes"
3496 else
3497 _def_gif='#undef HAVE_GIF'
3498 _def_gif_4='#undef HAVE_GIF_4'
3499 _novomodules="gif89a $_novomodules"
3500 _nocodecmodules="gif $_codecmodules"
3501 _mkf_gif="no"
3503 echores "$_gif"
3506 case "$_gif" in yes*)
3507 echocheck "broken giflib workaround"
3508 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
3510 cat > $TMPC << EOF
3511 #include <gif_lib.h>
3512 int main(void) {
3513 GifFileType gif;
3514 printf("UserData is at address %p\n", gif.UserData);
3515 return 0;
3518 if cc_check "$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3519 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
3520 echores "disabled"
3521 else
3522 echores "enabled"
3525 esac
3528 echocheck "VESA support"
3529 if test "$_vesa" = auto ; then
3530 if x86 && linux ; then
3531 _vesa=no
3532 cat > $TMPC << EOF
3533 #include <sys/io.h>
3534 int main(void) { return 0; }
3536 cc_check && _vesa=yes
3539 if test "$_vesa" = yes ; then
3540 _def_vesa='#define HAVE_VESA 1'
3541 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c"
3542 _vomodules="vesa $_vomodules"
3543 echores "yes"
3544 else
3545 _def_vesa='#undef HAVE_VESA'
3546 echores "no (not supported on this OS/architecture)"
3547 _novomodules="vesa $_novomodules"
3550 #################
3551 # VIDEO + AUDIO #
3552 #################
3555 echocheck "SDL"
3556 if test -z "$_sdlconfig" ; then
3557 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
3558 _sdlconfig="sdl-config"
3559 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
3560 _sdlconfig="sdl11-config"
3561 else
3562 _sdlconfig=false
3565 if test "$_sdl" = auto || test "$_sdl" = yes ; then
3566 cat > $TMPC << EOF
3567 #include <SDL.h>
3568 int main(int argc, char *argv[]) { return 0; }
3570 _sdl=no
3571 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
3572 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
3573 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
3574 if test "$_sdlversion" -gt 116 ; then
3575 if test "$_sdlversion" -lt 121 ; then
3576 _def_sdlbuggy='#define BUGGY_SDL'
3577 else
3578 _def_sdlbuggy='#undef BUGGY_SDL'
3580 _sdl=yes
3581 else
3582 _sdl=outdated
3587 if test "$_sdl" = yes ; then
3588 _def_sdl='#define HAVE_SDL 1'
3589 if cygwin ; then
3590 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
3591 _inc_sdl=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
3592 else
3593 _ld_sdl=`$_sdlconfig --libs`
3594 _inc_sdl=`$_sdlconfig --cflags`
3596 _vosrc="$_vosrc vo_sdl.c"
3597 _vomodules="sdl $_vomodules"
3598 _aosrc="$_aosrc ao_sdl.c"
3599 _aomodules="sdl $_aomodules"
3600 echores "yes (using $_sdlconfig)"
3601 else
3602 _def_sdl='#undef HAVE_SDL'
3603 _novomodules="sdl $_novomodules"
3604 _noaomodules="sdl $_noaomodules"
3605 echores "no"
3608 echocheck "Windows waveout"
3609 if test "$_win32waveout" = auto ; then
3610 cat > $TMPC << EOF
3611 #include <windows.h>
3612 #include <mmsystem.h>
3613 int main(void) { return 0; }
3615 _win32waveout=no
3616 cc_check -lwinmm && _win32waveout=yes
3618 if test "$_win32waveout" = yes ; then
3619 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
3620 _ld_win32libs="-lwinmm $_ld_win32libs"
3621 _aosrc="$_aosrc ao_win32.c"
3622 _aomodules="win32 $_aomodules"
3623 else
3624 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
3625 _noaomodules="win32 $_noaomodules"
3627 echores "$_win32waveout"
3629 echocheck "Directx"
3630 if test "$_directx" = auto ; then
3631 cat > $TMPC << EOF
3632 #include <windows.h>
3633 #include <ddraw.h>
3634 int main(void) { return 0; }
3636 _directx=no
3637 cc_check -lgdi32 && _directx=yes
3639 if test "$_directx" = yes ; then
3640 _def_directx='#define HAVE_DIRECTX 1'
3641 _ld_win32libs="-lgdi32 $_ld_win32libs"
3642 _vosrc="$_vosrc vo_directx.c"
3643 _vomodules="directx $_vomodules"
3644 else
3645 _def_directx='#undef HAVE_DIRECTX'
3646 _novomodules="directx $_novomodules"
3648 echores "$_directx"
3650 echocheck "NAS"
3651 if test "$_nas" = auto || test "$_nas" = yes ; then
3652 cat > $TMPC << EOF
3653 #include <audio/audiolib.h>
3654 int main(void) { return 0; }
3656 _nas=no
3657 cc_check -laudio $_inc_x11 -lXt $_ld_x11 -lm && _nas=yes
3659 if test "$_nas" = yes ; then
3660 _def_nas='#define HAVE_NAS 1'
3661 _ld_nas="-laudio -lXt $_ld_x11"
3662 _aosrc="$_aosrc ao_nas.c"
3663 _aomodules="nas $_aomodules"
3664 else
3665 _noaomodules="nas $_noaomodules"
3666 _def_nas='#undef HAVE_NAS'
3668 echores "$_nas"
3670 echocheck "DXR2"
3671 if test "$_dxr2" = auto; then
3672 _dxr2=no
3673 for _inc_dxr2 in "$_inc_dxr2" \
3674 "-I/usr/local/include/dxr2" \
3675 "-I/usr/include/dxr2"; do
3676 cat > $TMPC << EOF
3677 #include <dxr2ioctl.h>
3678 int main(void) { return 0; }
3680 cc_check $_inc_dxr2 && _dxr2=yes && break
3681 done
3683 if test "$_dxr2" = yes; then
3684 _def_dxr2='#define HAVE_DXR2 1'
3685 _vosrc="$_vosrc vo_dxr2.c"
3686 _aosrc="$_aosrc ao_dxr2.c"
3687 _aomodules="dxr2 $_aomodules"
3688 _vomodules="dxr2 $_vomodules"
3689 echores "yes (using $_inc_dxr2)"
3690 else
3691 _def_dxr2='#undef HAVE_DXR2'
3692 _noaomodules="dxr2 $_noaomodules"
3693 _novomodules="dxr2 $_novomodules"
3694 _inc_dxr2=""
3695 echores "no"
3698 echocheck "DXR3/H+"
3699 if test "$_dxr3" = auto ; then
3700 cat > $TMPC << EOF
3701 #include <linux/em8300.h>
3702 int main(void) { return 0; }
3704 _dxr3=no
3705 cc_check && _dxr3=yes
3707 if test "$_dxr3" = yes ; then
3708 _def_dxr3='#define HAVE_DXR3 1'
3709 _vosrc="$_vosrc vo_dxr3.c"
3710 _vomodules="dxr3 $_vomodules"
3711 else
3712 _def_dxr3='#undef HAVE_DXR3'
3713 _novomodules="dxr3 $_novomodules"
3714 if test "$_mp1e" = auto ; then
3715 # we don't need mp1e
3716 _mp1e=no
3719 echores "$_dxr3"
3721 echocheck "libmp1e"
3722 if test "$_mmx" = no ; then
3723 # mp1e REQUIRES mmx!
3724 _mp1e=no
3726 if test "$_mp1e" != no ; then
3727 _mp1e=yes
3728 _def_mp1e='#define USE_MP1E'
3729 _ld_mp1e='libmp1e/libmp1e.a'
3730 _dep_mp1e='libmp1e/libmp1e.a'
3731 else
3732 _mp1e=no
3733 _def_mp1e='#undef USE_MP1E'
3734 _ld_mp1e=""
3735 _dep_mp1e=''
3737 echores "$_mp1e"
3740 echocheck "libfame"
3741 if test "$_fame" = auto ; then
3742 _fame=no
3743 test "$_dxr2" = yes && _fame=auto
3744 test "$_dxr3" = yes && _fame=auto
3745 test "$_dvb" = yes && _fame=auto
3747 if test "$_fame" = auto ; then
3748 _fame=no
3749 if test -d libfame && test -f libfame/fame.h ; then
3750 # disable fame on cygwin as no sense to port - atmos
3751 cygwin || _fame=yes
3752 echores $_fame
3753 else
3754 echores "no (no fame dir)"
3756 else
3757 echores "$_fame"
3760 _def_fame='#undef USE_LIBFAME'
3761 if test "$_fame" = yes ; then
3762 _def_fame='#define USE_LIBFAME 1'
3763 _ld_fame='libfame/libfame.a'
3767 #########
3768 # AUDIO #
3769 #########
3772 echocheck "OSS Audio"
3773 if test "$_ossaudio" = auto ; then
3774 cat > $TMPC << EOF
3775 #include <sys/ioctl.h>
3776 $_inc_soundcard
3777 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
3779 _ossaudio=no
3780 cc_check && _ossaudio=yes
3782 if test "$_ossaudio" = yes ; then
3783 _def_ossaudio='#define USE_OSS_AUDIO 1'
3784 _aosrc="$_aosrc ao_oss.c"
3785 _aomodules="oss $_aomodules"
3786 if test "$_linux_devfs" = yes; then
3787 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
3788 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
3789 else
3790 cat > $TMPC << EOF
3791 #include <sys/ioctl.h>
3792 $_inc_soundcard
3793 #ifdef OPEN_SOUND_SYSTEM
3794 int main(void) { return 0; }
3795 #else
3796 #error Not the real thing
3797 #endif
3799 _real_ossaudio=no
3800 cc_check && _real_ossaudio=yes
3801 if test "$_real_ossaudio" = yes; then
3802 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
3803 elif netbsd || openbsd ; then
3804 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
3805 _ld_arch="$_ld_arch -lossaudio"
3806 else
3807 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
3809 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
3811 else
3812 _def_ossaudio='#undef USE_OSS_AUDIO'
3813 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
3814 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
3815 _noaomodules="oss $_noaomodules"
3817 echores "$_ossaudio"
3820 echocheck "aRts"
3821 if test "$_arts" = auto ; then
3822 _arts=no
3823 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
3825 cat > $TMPC << EOF
3826 #include <artsc.h>
3827 int main(void) { return 0; }
3829 cc_check `artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts=yes
3834 if test "$_arts" = yes ; then
3835 _def_arts='#define USE_ARTS 1'
3836 _aosrc="$_aosrc ao_arts.c"
3837 _aomodules="arts $_aomodules"
3838 _ld_arts=`artsc-config --libs`
3839 _inc_arts=`artsc-config --cflags`
3840 else
3841 _noaomodules="arts $_noaomodules"
3843 echores "$_arts"
3846 echocheck "EsounD"
3847 if test "$_esd" = auto ; then
3848 _esd=no
3849 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
3851 cat > $TMPC << EOF
3852 #include <esd.h>
3853 int main(void) { return 0; }
3855 cc_check `esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd=yes
3859 echores "$_esd"
3861 if test "$_esd" = yes ; then
3862 _def_esd='#define USE_ESD 1'
3863 _aosrc="$_aosrc ao_esd.c"
3864 _aomodules="esd $_aomodules"
3865 _ld_esd=`esd-config --libs`
3866 _inc_esd=`esd-config --cflags`
3868 echocheck "esd_get_latency()"
3869 cat > $TMPC << EOF
3870 #include <esd.h>
3871 int main(void) { return esd_get_latency(0); }
3873 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
3874 echores "$_esd_latency"
3875 else
3876 _def_esd='#undef USE_ESD'
3877 _def_esd_latency='#undef HAVE_ESD_LATENCY'
3878 _noaomodules="esd $_noaomodules"
3881 echocheck "ALSA audio"
3882 if test "$_alsa" != no ; then
3883 _alsa=no
3884 cat > $TMPC << EOF
3885 #include <sys/asoundlib.h>
3886 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
3888 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.5.x'
3890 cat > $TMPC << EOF
3891 #include <sys/asoundlib.h>
3892 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3894 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-sys'
3895 cat > $TMPC << EOF
3896 #include <alsa/asoundlib.h>
3897 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3899 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-alsa'
3901 cat > $TMPC << EOF
3902 #include <sys/asoundlib.h>
3903 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3905 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-sys'
3906 cat > $TMPC << EOF
3907 #include <alsa/asoundlib.h>
3908 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3910 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-alsa'
3912 _def_alsa5='#undef HAVE_ALSA5'
3913 _def_alsa9='#undef HAVE_ALSA9'
3914 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
3915 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
3916 if test "$_alsaver" ; then
3917 if test "$_alsaver" = '0.5.x' ; then
3918 _aosrc="$_aosrc ao_alsa5.c"
3919 _aomodules="alsa5 $_aomodules"
3920 _def_alsa5='#define HAVE_ALSA5 1'
3921 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
3922 echores "yes (using alsa 0.5.x and sys/asoundlib.h)"
3923 elif test "$_alsaver" = '0.9.x-sys' ; then
3924 _aosrc="$_aosrc ao_alsa9.c"
3925 _aomodules="alsa9 $_aomodules"
3926 _def_alsa9='#define HAVE_ALSA9 1'
3927 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
3928 echores "yes (using alsa 0.9.x and sys/asoundlib.h)"
3929 elif test "$_alsaver" = '0.9.x-alsa' ; then
3930 _aosrc="$_aosrc ao_alsa9.c"
3931 _aomodules="alsa9 $_aomodules"
3932 _def_alsa9='#define HAVE_ALSA9 1'
3933 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
3934 echores "yes (using alsa 0.9.x and alsa/asoundlib.h)"
3935 elif test "$_alsaver" = '1.0.x-sys' ; then
3936 _aosrc="$_aosrc ao_alsa9.c"
3937 _aomodules="alsa9 $_aomodules"
3938 _def_alsa9="#define ALSA_PCM_OLD_HW_PARAMS_API 1
3939 #define ALSA_PCM_OLD_SW_PARAMS_API 1
3940 #define HAVE_ALSA9 1"
3941 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
3942 echores "yes (using alsa 1.0.x and sys/asoundlib.h)"
3943 elif test "$_alsaver" = '1.0.x-alsa' ; then
3944 _aosrc="$_aosrc ao_alsa9.c"
3945 _aomodules="alsa9 $_aomodules"
3946 _def_alsa9="#define ALSA_PCM_OLD_HW_PARAMS_API 1
3947 #define ALSA_PCM_OLD_SW_PARAMS_API 1
3948 #define HAVE_ALSA9 1"
3949 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
3950 echores "yes (using alsa 1.0.x and alsa/asoundlib.h)"
3952 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
3953 else
3954 _noaomodules="alsa $_noaomodules"
3955 echores "no"
3959 echocheck "Sun audio"
3960 if test "$_sunaudio" = auto ; then
3961 cat > $TMPC << EOF
3962 #include <sys/types.h>
3963 #include <sys/audioio.h>
3964 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
3966 _sunaudio=no
3967 cc_check && _sunaudio=yes
3969 if test "$_sunaudio" = yes ; then
3970 _def_sunaudio='#define USE_SUN_AUDIO 1'
3971 _aosrc="$_aosrc ao_sun.c"
3972 _aomodules="sun $_aomodules"
3973 else
3974 _def_sunaudio='#undef USE_SUN_AUDIO'
3975 _noaomodules="sun $_noaomodules"
3977 echores "$_sunaudio"
3980 echocheck "Sun mediaLib"
3981 if test "$_mlib" = auto ; then
3982 _mlib=no
3983 test -z "$_mlibdir" && _mlibdir=/opt/SUNWmlib
3984 cat > $TMPC << EOF
3985 #include <mlib.h>
3986 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
3988 cc_check -I${_mlibdir}/include -L${_mlibdir}/lib -lmlib && _mlib=yes
3990 if test "$_mlib" = yes ; then
3991 _def_mlib='#define HAVE_MLIB 1'
3992 _inc_mlib=" -I${_mlibdir}/include "
3993 _ld_mlib=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
3994 else
3995 _def_mlib='#undef HAVE_MLIB'
3997 echores "$_mlib"
4000 echocheck "SGI audio"
4001 if test "$_sgiaudio" = auto ; then
4002 # check for SGI audio
4003 cat > $TMPC << EOF
4004 #include <dmedia/audio.h>
4005 int main(void) { return 0; }
4007 _sgiaudio=no
4008 cc_check && _sgiaudio=yes
4010 if test "$_sgiaudio" = "yes" ; then
4011 _def_sgiaudio='#define USE_SGI_AUDIO 1'
4012 _ld_sgiaudio='-laudio'
4013 _aosrc="$_aosrc ao_sgi.c"
4014 _aomodules="sgi $_aomodules"
4015 else
4016 _def_sgiaudio='#undef USE_SGI_AUDIO'
4017 _noaomodules="sgi $_noaomodules"
4019 echores "$_sgiaudio"
4022 echocheck "VCD support"
4023 if linux || bsdos || freebsd || netbsd || sunos ; then
4024 _inputmodules="vcd $_inputmodules"
4025 _def_vcd='#define HAVE_VCD 1'
4026 echores "ok"
4027 else
4028 _def_vcd='#undef HAVE_VCD'
4029 _noinputmodules="vcd $_noinputmodules"
4030 echores "not supported on this OS"
4033 echocheck "DVD support (libmpdvdkit)"
4034 if test "$_dvdkit" = auto ; then
4035 _dvdkit=no
4036 if linux || freebsd || netbsd || darwin || cygwin || mingw32 || openbsd || sunos || hpux; then
4037 test -f "./libmpdvdkit2/Makefile" && _dvdkit=yes
4038 test -f "./libmpdvdkit/Makefile" && _dvdkit=yes
4041 if test "$_dvdkit" = yes ; then
4042 if test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || test "$_dvdio" = yes || test "$_bsdi_dvd" = yes || test "$_hpux_scsi_h" = yes || darwin || cygwin || mingw32 ; then
4043 if test -f "./libmpdvdkit2/Makefile" ; then
4044 _inputmodules="mpdvdkit2 $_inputmodules"
4045 _dvdread=libmpdvdkit2
4046 _dvdkit2=yes
4047 _dvdkit=no
4048 else
4049 _inputmodules="mpdvdkit $_inputmodules"
4050 _dvdread=libmpdvdkit
4052 else
4053 _noinputmodules="mpdvdkit $_noinputmodules"
4055 _def_dvd_linux='#undef HAVE_LINUX_DVD_STRUCT'
4056 _def_dvd_bsd='#undef HAVE_BSD_DVD_STRUCT'
4057 _dev_dvd_openbsd='#undef HAVE_OPENBSD_DVD_STRUCT'
4058 _def_dvd_darwin='#undef DARWIN_DVD_IOCTL'
4059 if linux || netbsd || openbsd || bsdos ; then
4060 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
4061 if openbsd ; then
4062 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
4064 else
4065 if freebsd ; then
4066 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
4067 else
4068 if darwin ; then
4069 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
4073 else
4074 _noinputmodules="mpdvdkit $_noinputmodules"
4076 if test "$_dvdkit" = yes || test "$_dvdkit2" = yes; then
4077 echores "yes"
4078 else
4079 echores "no"
4082 echocheck "DVD support (libdvdread)"
4083 if test "$_dvdread" = auto ; then
4084 cat > $TMPC << EOF
4085 #include <inttypes.h>
4086 #include <dvdread/dvd_reader.h>
4087 #include <dvdread/ifo_types.h>
4088 #include <dvdread/ifo_read.h>
4089 #include <dvdread/nav_read.h>
4090 int main(void) { return 0; }
4092 _dvdread=no
4093 if test "$_dl" = yes; then
4094 cc_check \
4095 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4096 _dvdread=yes
4099 _def_mpdvdkit="#undef USE_MPDVDKIT"
4100 case "$_dvdread" in
4101 yes)
4102 _largefiles=yes
4103 _def_dvdread='#define USE_DVDREAD 1'
4104 _ld_dvdread='-ldvdread'
4105 _inputmodules="dvdread $_inputmodules"
4106 echores "yes"
4109 _def_dvdread='#undef USE_DVDREAD'
4110 _noinputmodules="dvdread $_noinputmodules"
4111 echores "no"
4113 libmpdvdkit)
4114 _largefiles=yes
4115 _def_dvdread='#define USE_DVDREAD 1'
4116 _ld_dvdread='-Llibmpdvdkit -lmpdvdkit'
4117 _noinputmodules="dvdread $_noinputmodules"
4118 _def_mpdvdkit="#define USE_MPDVDKIT 1"
4119 echores "disabled by libmpdvdkit"
4121 libmpdvdkit2)
4122 _largefiles=yes
4123 _def_dvdread='#define USE_DVDREAD 1'
4124 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
4125 _noinputmodules="dvdread $_noinputmodules"
4126 _def_mpdvdkit="#define USE_MPDVDKIT 2"
4127 echores "disabled by libmpdvdkit2"
4129 esac
4131 # dvdnav disabled, it does not work
4132 # echocheck "DVD support (libdvdnav)"
4133 # if test "$_dvdnav" = yes ; then
4134 # cat > $TMPC <<EOF
4135 # #include <dvdnav.h>
4136 # int main(void) { dvdnav_t *dvd=0; return 0; }
4137 # EOF
4138 # _dvdnav=no
4139 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4140 # if test -z "$_dvdnavconfig" ; then
4141 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4142 # _dvdnavconfig="dvdnav-config"
4143 # fi
4144 # fi
4145 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4146 # _used_css=
4147 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4148 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4149 # fi
4150 # if test "$_dvdnav" = yes ; then
4151 # _largefiles=yes
4152 # _def_dvdnav='#define USE_DVDNAV 1'
4153 # if test -n "$_legal_dvdnavdir" ; then
4154 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4155 # elif test -n "$_dvdnavconfig" ; then
4156 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4157 # else
4158 # _ld_css="$_ld_css -ldvdnav"
4159 # fi
4160 # if test -n "$_dvdnavconfig" ; then
4161 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4162 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4163 # fi
4164 # if test -n "$_dvdnavdir" ; then
4165 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4166 # fi
4167 # _inputmodules="dvdnav $_inputmodules"
4168 # echores "yes"
4169 # else
4170 # _def_dvdnav='#undef USE_DVDNAV'
4171 # _noinputmodules="dvdnav $_noinputmodules"
4172 # echores "no"
4173 # fi
4175 echocheck "cdparanoia"
4176 if test "$_cdparanoia" = auto ; then
4177 cat > $TMPC <<EOF
4178 #include <cdda_interface.h>
4179 #include <cdda_paranoia.h>
4180 // This need a better test. How ?
4181 int main(void) { return 1; }
4183 _cdparanoia=no
4184 if cc_check $_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4185 _cdparanoia=yes
4186 else
4187 for I in /usr/include/cdda /usr/local/include/cdda ; do
4188 if cc_check -I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4189 _cdparanoia=yes; _inc_cdparanoia="-I$I"; break
4191 done
4194 if test "$_cdparanoia" = yes ; then
4195 _def_cdparanoia='#define HAVE_CDDA'
4196 _inputmodules="cdda $_inputmodules"
4197 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4198 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
4199 else
4200 _def_cdparanoia='#undef HAVE_CDDA'
4201 _noinputmodules="cdda $_noinputmodules"
4203 echores "$_cdparanoia"
4205 echocheck "freetype >= 2.0.9"
4206 if test "$_freetype" = auto ; then
4207 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
4208 cat > $TMPC << EOF
4209 #include <stdio.h>
4210 #include <ft2build.h>
4211 #include FT_FREETYPE_H
4212 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4213 #error "Need FreeType 2.0.9 or newer"
4214 #endif
4215 int main()
4217 FT_Library library;
4218 FT_Int major=-1,minor=-1,patch=-1;
4219 int err=FT_Init_FreeType(&library);
4220 if(err){
4221 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4222 exit(err);
4224 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4225 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4226 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4227 (int)major,(int)minor,(int)patch );
4228 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4229 printf("Library and header version mismatch! Fix it in your distribution!\n");
4230 exit(1);
4232 return 0;
4235 _freetype=no
4236 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype=yes
4237 else
4238 _freetype=no
4241 if test "$_freetype" = yes ; then
4242 _def_freetype='#define HAVE_FREETYPE'
4243 _inc_freetype=`$_freetypeconfig --cflags`
4244 _ld_freetype=`$_freetypeconfig --libs`
4245 else
4246 _def_freetype='#undef HAVE_FREETYPE'
4248 echores "$_freetype"
4250 if test "$_freetype" = no ; then
4251 _fontconfig=no
4253 echocheck "fontconfig"
4254 if test "$_fontconfig" = auto ; then
4255 if ( pkg-config fontconfig --modversion) > /dev/null 2>&1 ; then
4256 cat > $TMPC << EOF
4257 #include <stdio.h>
4258 #include <fontconfig/fontconfig.h>
4259 int main()
4261 int err = FcInit();
4262 if(err == FcFalse){
4263 printf("Couldn't initialize fontconfig lib\n");
4264 exit(err);
4266 return 0;
4270 _fontconfig=no
4271 cc_check `pkg-config fontconfig --cflags --libs` && ( $TMPO >> "$TMPLOG" ) && _fontconfig=yes
4272 else
4273 _fontconfig=no
4276 if test "$_fontconfig" = yes ; then
4277 _def_fontconfig='#define HAVE_FONTCONFIG'
4278 _inc_fontconfig=`pkg-config fontconfig --cflags`
4279 _ld_fontconfig=`pkg-config fontconfig --libs`
4280 else
4281 _def_fontconfig='#undef HAVE_FONTCONFIG'
4283 echores "$_fontconfig"
4285 echocheck "fribidi with charsets"
4286 if test "$_fribidi" = yes ; then
4287 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
4288 cat > $TMPC << EOF
4289 #include <stdio.h>
4290 #include <fribidi/fribidi.h>
4291 int main()
4293 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4294 printf("Fribidi headers are not consistents with the library!\n");
4295 exit(1);
4297 return 0;
4300 _fribidi=no
4301 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi=yes
4302 else
4303 _fribidi=no
4306 if test "$_fribidi" = yes ; then
4307 _def_fribidi='#define USE_FRIBIDI'
4308 _inc_fribidi=`$_fribidiconfig --cflags`
4309 _ld_fribidi=`$_fribidiconfig --libs`
4310 else
4311 _def_fribidi='#undef USE_FRIBIDI'
4313 echores "$_fribidi"
4316 echocheck "zlib"
4317 cat > $TMPC << EOF
4318 #include <zlib.h>
4319 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4321 _zlib=no
4322 cc_check -lz && _zlib=yes
4323 if test "$_zlib" = yes ; then
4324 _def_zlib='#define HAVE_ZLIB 1'
4325 _ld_zlib='-lz'
4326 else
4327 _def_zlib='#undef HAVE_ZLIB'
4329 echores "$_zlib"
4332 echocheck "RTC"
4333 if linux ; then
4334 if test "$_rtc" = auto ; then
4335 cat > $TMPC << EOF
4336 #include <sys/ioctl.h>
4337 #include <linux/rtc.h>
4338 int main(void) { return RTC_IRQP_READ; }
4340 _rtc=no
4341 cc_check && _rtc=yes
4343 echores "$_rtc"
4344 else
4345 _rtc=no
4346 echores "no (Linux specific feature)"
4348 if test "$_rtc" = yes ; then
4349 _def_rtc='#define HAVE_RTC 1'
4350 else
4351 _def_rtc='#undef HAVE_RTC'
4355 echocheck "external liblzo support"
4356 if test "$_liblzo" = auto ; then
4357 _liblzo=no
4358 cat > $TMPC << EOF
4359 #include <lzo1x.h>
4360 int main(void) { lzo_init();return 0; }
4362 cc_check -llzo && _liblzo=yes
4364 if test "$_liblzo" = yes ; then
4365 _def_liblzo='#define USE_LIBLZO 1'
4366 _ld_liblzo='-llzo'
4367 _codecmodules="liblzo $_codecmodules"
4368 else
4369 _def_liblzo='#undef USE_LIBLZO'
4370 _nocodecmodules="liblzo $_nocodecmodules"
4372 echores "$_liblzo"
4375 echocheck "mad support"
4376 if test "$_mad" = auto ; then
4377 _mad=no
4378 cat > $TMPC << EOF
4379 #include <mad.h>
4380 int main(void) { return 0; }
4382 cc_check $_madlibdir -lmad && _mad=yes
4384 if test "$_mad" = yes ; then
4385 _def_mad='#define USE_LIBMAD 1'
4386 _ld_mad='-lmad'
4387 _codecmodules="libmad $_codecmodules"
4388 else
4389 _def_mad='#undef USE_LIBMAD'
4390 _nocodecmodules="libmad $_nocodecmodules"
4392 echores "$_mad"
4395 echocheck "OggVorbis support"
4396 if test "$_vorbis" = auto ; then
4397 _vorbis=no
4398 cat > $TMPC << EOF
4399 #include <vorbis/codec.h>
4400 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
4402 cc_check -lvorbis -logg -lm && _vorbis=yes
4404 if test "$_vorbis" = yes ; then
4405 _def_vorbis='#define HAVE_OGGVORBIS 1'
4406 if test "$_tremor" = yes ; then
4407 _def_tremor='#define TREMOR 1'
4408 _ld_vorbis='-lvorbisidec'
4409 else
4410 _def_tremor='#undef TREMOR'
4411 _ld_vorbis='-lvorbis -logg'
4413 _codecmodules="libvorbis $_codecmodules"
4414 else
4415 _def_vorbis='#undef HAVE_OGGVORBIS'
4416 _def_tremor='#undef TREMOR'
4417 _nocodecmodules="libvorbis $_nocodecmodules"
4419 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
4420 echores "$_vorbis (Tremor)"
4421 else
4422 echores "$_vorbis"
4425 echocheck "OggTheora support (only the CVS version!)"
4426 if test "$_theora" = auto ; then
4427 _theora=no
4428 cat > $TMPC << EOF
4429 #include <theora/theora.h>
4430 #include <string.h>
4431 int main(void)
4433 /* theora is in flux, make sure that all interface routines and
4434 * datatypes exist and work the way we expect it, so we don't break
4435 * mplayer */
4436 ogg_packet op;
4437 theora_comment tc;
4438 theora_info inf;
4439 theora_state st;
4440 yuv_buffer yuv;
4441 int r;
4442 double t;
4444 theora_info_init (&inf);
4445 theora_comment_init (&tc);
4447 return 0;
4449 /* we don't want to execute this kind of nonsense; just for making sure
4450 * that compilation works... */
4451 memset(&op, 0, sizeof(op));
4452 r = theora_decode_header (&inf, &tc, &op);
4453 r = theora_decode_init (&st, &inf);
4454 t = theora_granule_time (&st, op.granulepos);
4455 r = theora_decode_packetin (&st, &op);
4456 r = theora_decode_YUVout (&st, &yuv);
4457 theora_clear (&st);
4459 return 0;
4462 cc_check -ltheora -logg -lm && _theora=yes
4464 if test "$_theora" = yes ; then
4465 _def_theora='#define HAVE_OGGTHEORA 1'
4466 _codecmodules="libtheora $_codecmodules"
4467 _ld_theora="-ltheora -logg"
4468 else
4469 _def_theora='#undef HAVE_OGGTHEORA'
4470 _nocodecmodules="libtheora $_nocodecmodules"
4472 echores "$_theora"
4475 echocheck "Matroska support (0.6.0 or later)"
4476 if test "$_matroska" != no ; then
4477 _matroska=no
4478 _TMPC=$TMPC
4479 TMPC=${TMPC}pp
4480 cat > $TMPC << EOF
4481 #include <ebml/EbmlVersion.h>
4482 #include <matroska/KaxVersion.h>
4484 #if LIBEBML_VERSION < 000600
4485 #error libebml is too old
4486 #endif
4488 #if LIBMATROSKA_VERSION < 000600
4489 #error libmatroska is too old
4490 #endif
4492 int main(void) { return 0; }
4494 cc_check -lmatroska -lebml -lstdc++ && _matroska=yes
4495 if test "$_matroska" = no ; then
4496 _saved_inc_extra=$_inc_extra
4497 _inc_extra="$_inc_extra -I/usr/local/include"
4498 cc_check -lmatroska -lebml -lstdc++ && _matroska=yes
4499 if test "$_matroska" = no ; then
4500 _inc_extra=$_saved_inc_extra
4503 rm ${TMPC} > /dev/null 2> /dev/null
4504 TMPC=$_TMPC
4506 if test "$_matroska" = yes ; then
4507 _def_matroska='#define HAVE_MATROSKA 1'
4508 _inputmodules="matroska $_inputmodules"
4509 _ld_matroska="-lmatroska -lebml -lstdc++"
4510 else
4511 _def_matroska='#undef HAVE_MATROSKA'
4512 _noinputmodules="matroska $_noinputmodules"
4514 echores "$_matroska"
4518 echocheck "internal FAAD2 (AAC) support"
4519 _inc_faad="-I`pwd`/libfaad2"
4520 if test "$_faad_internal" = auto ; then
4521 # the faad check needs a config.h file
4522 if not test -f "config.h" ; then
4523 > config.h
4525 # internal faad: check if our dear gcc is able to compile it...
4526 cp "`pwd`/libfaad2/cfft.c" $TMPC
4527 if ( cc_check -c -O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
4528 _faad_internal=yes
4529 else
4530 _faad_internal="no (broken gcc)"
4533 if test "$_faad_internal" = yes ; then
4534 _def_faad_internal="#define USE_INTERNAL_FAAD 1"
4535 _faad_external=no
4536 else
4537 _def_faad_internal="#undef USE_INTERNAL_FAAD"
4538 _inc_faad=
4540 echores "$_faad_internal"
4543 echocheck "external FAAD2 (AAC) support"
4544 if test "$_faad_external" != no ; then
4545 _ld_faad='-lfaad'
4546 _inc_faad="$_inc_extra"
4547 # external faad: check if it's really faad2 :)
4548 if test "$_faad_external" = auto ; then
4549 _faad_external=no
4550 cat > $TMPC << EOF
4551 #include <faad.h>
4552 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
4554 cc_check $_inc_faad $_ld_faad -lm && _faad_external=yes
4556 echores "$_faad_external"
4557 else
4558 echores "no"
4561 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
4562 echocheck "FAAD2 version"
4563 cat > $TMPC <<EOF
4564 #include <faad.h>
4565 #ifndef FAAD_MIN_STREAMSIZE
4566 #error Too old version
4567 #endif
4568 int main(void) {
4569 #ifdef FAAD2_VERSION
4570 printf("%s\n",FAAD2_VERSION);
4571 #else
4572 printf("1.0\n");
4573 #endif
4574 return 0;
4577 if cc_check -I- $_inc_faad $_ld_faad -lm && "$TMPO" >> "$TMPLOG" ; then
4578 _faad_version=`"$TMPO"`
4579 _faad_tempversion=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
4580 _def_faad_version="#define FAADVERSION $_faad_tempversion"
4581 echores "$_faad_version"
4582 else
4583 _faad_external=no
4584 _faad_internal=no
4585 echores "failed to get version"
4589 if test "$_faad_external" = yes; then
4590 _def_faad='#define HAVE_FAAD 1'
4591 _codecmodules="faad2(external) $_codecmodules"
4592 elif test "$_faad_internal" = yes; then
4593 _def_faad='#define HAVE_FAAD 1'
4594 _codecmodules="faad2(internal) $_codecmodules"
4595 else
4596 _def_faad='#undef HAVE_FAAD'
4597 _nocodecmodules="faad2 $_nocodecmodules"
4598 _ld_faad=
4603 if test "$_win32" = auto ; then
4604 if x86 ; then
4605 qnx && _win32=no
4606 else
4607 _win32=no # x86 arch only
4611 if test "$_win32" != no ; then
4612 if test -z "$_win32libdir" ; then
4613 for I in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/win32 /usr/lib/win32 ; do
4614 if test -d "$I" ; then
4615 _win32libdir="$I"
4616 break;
4618 done
4622 echocheck "Win32 codec DLL support"
4623 if test "$_win32" = auto ; then
4624 _win32=no
4625 test -n "$_win32libdir" && _win32=yes
4627 if test "$_win32" = yes ; then
4628 _def_win32='#define USE_WIN32DLL 1'
4629 echores "yes (using $_win32libdir)"
4630 else
4631 _def_win32='#undef USE_WIN32DLL'
4632 _nocodecmodules="win32 $_nocodecmodules"
4633 _dshow=no
4634 echores "no"
4637 if test "$_win32" != no ; then
4638 _def_win32_loader='#undef WIN32_LOADER'
4639 echocheck "Win32 loader support"
4640 if not cygwin && not mingw32 ; then
4641 _ld_win32='loader/libloader.a'
4642 _dep_win32='loader/libloader.a'
4643 _codecmodules="win32 $_codecmodules"
4644 if openbsd ; then
4645 x86 && _ld_win32="$_ld_win32 -li386"
4647 _def_win32_loader='#define WIN32_LOADER 1'
4648 echores "yes"
4649 else
4650 _ld_win32='loader/driver.o loader/vfl.o loader/afl.o'
4651 _dep_win32='loader/driver.o loader/vfl.o loader/afl.o'
4652 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
4653 _codecmodules="win32 $_codecmodules"
4654 echores "no (using native windows)"
4658 echocheck "DirectShow"
4659 if false ; then
4661 if test "$_dshow" != no ; then
4662 _dshow=no
4663 # check if compiler supports C++ and C++-libs are installed correctly
4664 cat > "$TMPCPP" << EOF
4665 #include <string>
4666 class myclass {
4667 private: int ret;
4668 public: int myreturn(void);
4670 int myclass::myreturn(void) { ret = 0; return ret ; }
4671 int main(void) { myclass myobject; return myobject.myreturn(); }
4673 echo "------------------------------------------------" >> "$TMPLOG"
4674 cat "$TMPCPP" >> "$TMPLOG"
4675 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
4676 _dshow=yes
4677 echores "yes (C++ is ok)"
4678 else
4679 echores "no"
4680 cat << EOF
4682 Your C++ runtime environment is broken.
4684 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
4685 Are the C++ libraries correctly installed?
4686 Check for libstdc++ and in (/etc/)ld.so.conf.
4688 If you do not need DirectShow support, you can also use:
4689 ./configure --disable-dshow <your-normal-configure-options>
4690 to disable building the C++ based DirectShow code.
4693 die "$_cc's C++ is broken"
4699 echores "$_dshow"
4701 if test "$_dshow" = yes ; then
4702 _def_dshow='#define USE_DIRECTSHOW 1'
4703 _ld_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4704 _dep_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4705 _codecmodules="dshow/dmo $_codecmodules"
4706 else
4707 _def_dshow='#undef USE_DIRECTSHOW'
4708 _nocodecmodules="dshow/dmo $_nocodecmodules"
4712 echocheck "XAnim DLL"
4713 if test "$_xanim" = auto ; then
4714 _xanim=no
4715 if test "$_dl" = yes ; then
4716 if test -z "$_xanimlibdir" ; then
4717 for I in "$_libdir/codecs" /usr/local/lib/xanim/mods /usr/lib/xanim/mods /usr/lib/xanim $XANIM_MOD_DIR ; do
4718 if test -d "$I" ; then
4719 _xanimlibdir="$I"
4720 break;
4722 done
4724 test "$_xanimlibdir" && _xanim=yes
4725 if test "$_xanim" = yes ; then
4726 echores "yes (using $_xanimlibdir)"
4727 else
4728 echores "no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4730 else
4731 echores "no (dynamic loader support needed)"
4733 else
4734 echores "$_xanim (using $_xanimlibdir)"
4736 if test "$_xanim" = yes ; then
4737 _def_xanim='#define USE_XANIM 1'
4738 _def_xanim_path="#define XACODEC_PATH \"$_xanimlibdir\""
4739 _codecmodules="xanim $_codecmodules"
4740 else
4741 _def_xanim='#undef USE_XANIM'
4742 _def_xanim_path='#undef XACODEC_PATH'
4743 _nocodecmodules="xanim $_nocodecmodules"
4746 echocheck "RealPlayer DLL"
4747 if test "$_real" = auto ; then
4748 _real=no
4749 if test "$_dl" = yes || test "$_win32" = yes ; then
4750 # if test "$_dl" = yes ; then
4751 if linux || freebsd || netbsd || cygwin || mingw32 ; then
4752 _real=yes
4753 else
4754 echores "no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW)"
4756 if test "$_real" = yes ; then
4757 if test -z "$_reallibdir" ; then
4758 for I in "$_libdir/codecs" "$_libdir/real" /usr/lib/real \
4759 /usr/lib/RealPlayer{9,8,}/Codecs /usr/local/RealPlayer{9,8,}/Codecs \
4760 /usr/local/lib/RealPlayer{9,8,}/Codecs /opt/RealPlayer{9,8,}/{Real/,}Codecs \
4761 "$_win32libdir"; do
4762 if test -d "$I" ; then
4763 _reallibdir="$I"
4764 break
4766 done
4768 test "$_reallibdir" || _real=no
4769 if test "$_real" = yes ; then
4770 echores "yes (using $_reallibdir)"
4771 else
4772 echores "no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4775 else
4776 echores "no (dynamic loader support needed)"
4778 else
4779 echores "$_real (using $_reallibdir)"
4781 if test "$_real" = yes ; then
4782 _def_real='#define USE_REALCODECS 1'
4783 _def_real_path="#define REALCODEC_PATH \"$_reallibdir\""
4784 _codecmodules="real $_codecmodules"
4785 else
4786 _def_real='#undef USE_REALCODECS'
4787 _def_real_path="#undef REALCODEC_PATH"
4788 _nocodecmodules="real $_nocodecmodules"
4792 if test -z "$_livelibdir" ; then
4793 for I in $_libdir/live /usr/lib/live /usr/local/live /usr/local/lib/live; do
4794 if test -d "$I" ; then
4795 _livelibdir="$I"
4796 break;
4798 done
4801 echocheck "LIVE.COM Streaming Media libraries"
4802 if test "$_live" = auto && test "$_network" = yes ; then
4803 _live=yes
4804 test "$_livelibdir" || _live=no
4805 # TODO: deeper, more reliable test of libs, and version!
4806 # (users may have empty live/ dir or something different there, for
4807 # example 'live config files', or they may have old, incompatibel version)
4809 if test "$_live" = yes && test "$_network" = yes ; then
4810 echores "yes (using $_livelibdir)"
4811 _def_live='#define STREAMING_LIVE_DOT_COM 1'
4812 _live_libs_def="# LIVE.COM Streaming Media libraries:
4813 LIVE_LIB_DIR = $_livelibdir
4814 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
4815 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
4816 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
4817 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
4818 LIVE_LIBS += -lstdc++"
4819 _ld_live='$(LIVE_LIBS)'
4820 _inputmodules="live.com $_inputmodules"
4821 else
4822 echores "no"
4823 _def_live='#undef STREAMING_LIVE_DOT_COM'
4824 _noinputmodules="live.com $_noinputmodules"
4828 echocheck "iconv"
4829 if test "$_iconv" = auto ; then
4830 _iconv_tmp='#include <iconv.h>'
4832 cat > $TMPC << EOF
4833 #include <stdio.h>
4834 #include <unistd.h>
4835 $_iconv_tmp
4836 #define INBUFSIZE 1024
4837 #define OUTBUFSIZE 4096
4839 char inbuffer[INBUFSIZE];
4840 char outbuffer[OUTBUFSIZE];
4842 int main(void) {
4843 size_t numread;
4844 iconv_t icdsc;
4845 char *tocode="UTF-8";
4846 char *fromcode="cp1250";
4847 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
4848 while ((numread = read (0, inbuffer, INBUFSIZE))) {
4849 char *iptr=inbuffer;
4850 char *optr=outbuffer;
4851 size_t inleft=numread;
4852 size_t outleft=OUTBUFSIZE;
4853 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
4854 != (size_t)(-1)) {
4855 write (1, outbuffer, OUTBUFSIZE - outleft);
4858 if (iconv_close(icdsc) == -1)
4863 _iconv=no
4864 if cc_check -lm -liconv ; then
4865 _iconv=yes
4866 _ld_iconv='-liconv'
4867 else
4868 cc_check -lm && _iconv=yes
4871 if test "$_iconv" = yes ; then
4872 _def_iconv='#define USE_ICONV 1'
4873 else
4874 _def_iconv='#undef USE_ICONV'
4876 echores "$_iconv"
4879 echocheck "FFmpeg libavcodec (static)"
4880 if test "$_libavcodec" = auto ; then
4881 # Note: static linking is preferred to dynamic linking
4882 _libavcodec=no
4883 if test -d libavcodec && test -f libavcodec/utils.c ; then
4884 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
4885 _libavcodec=yes
4886 echores "yes"
4887 else
4888 echores "no (old ffmpeg version, use CVS !)"
4890 else
4891 echores "no (see DOCS/HTML/en/codecs.html)"
4893 else
4894 echores "$_libavcodec"
4897 _def_haveffpostprocess='no'
4898 if test -d libavcodec && test -f libavcodec/libpostproc/postprocess.h ; then
4899 _def_haveffpostprocess='yes'
4902 if test "$_libavcodec" != yes ; then
4903 echocheck "FFmpeg libavcodec (dynamic)"
4904 if test "$_libavcodecso" = auto ; then
4905 _libavcodecso=no
4906 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
4907 cat > $TMPC << EOF
4908 #define FF_POSTPROCESS 1
4909 #include <ffmpeg/avcodec.h>
4910 int main(void) {
4911 avcodec_find_encoder_by_name("");
4912 return 0;
4915 if cc_check -lavcodec -lm ; then
4916 _libavcodecso=yes
4917 echores "yes (using libavcodec.so)"
4918 else
4919 echores "no (libavcodec.so is broken/obsolete)"
4921 else
4922 echores "$_libavcodecso"
4926 _def_libavcodec='#undef USE_LIBAVCODEC'
4927 _def_libavcodecso='#undef USE_LIBAVCODEC_SO'
4928 _def_ffpostprocess='#undef FF_POSTPROCESS'
4929 if test "$_libavcodec" = yes ; then
4930 _def_libavcodec='#define USE_LIBAVCODEC 1'
4931 _ld_libavcodec='libavcodec/libavcodec.a'
4932 _dep_libavcodec='libavcodec/libavcodec.a'
4933 _def_ffpostprocess='#define FF_POSTPROCESS 1'
4934 _codecmodules="libavcodec $_codecmodules"
4935 elif test "$_libavcodecso" = yes ; then
4936 _def_libavcodec='#define USE_LIBAVCODEC 1'
4937 _def_libavcodecso='#define USE_LIBAVCODEC_SO 1'
4938 _ld_libavcodec='-lavcodec'
4939 _codecmodules="libavcodec.so $_codecmodules"
4940 else
4941 _nocodecmodules="libavcodec $_nocodecmodules"
4944 echocheck "libdv-0.9.5+"
4945 if test "$_libdv" = auto ; then
4946 _libdv=no
4947 cat > $TMPC <<EOF
4948 #include <libdv/dv.h>
4949 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
4951 cc_check -ldv -lm && _libdv=yes
4953 if test "$_libdv" = yes ; then
4954 _def_libdv='#define HAVE_LIBDV095 1'
4955 _ld_libdv="-ldv"
4956 _codecmodules="libdv $_codecmodules"
4957 else
4958 _def_libdv='#undef HAVE_LIBDV095'
4959 _nocodecmodules="libdv $_nocodecmodules"
4961 echores "$_libdv"
4963 echocheck "zr"
4964 if test "$_zr" = auto ; then
4965 #36067's seem to identify themselves as 36057PQC's, so the line
4966 #below should work for 36067's and 36057's.
4967 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
4968 _zr=yes
4969 else
4970 _zr=no
4973 if test "$_zr" = yes ; then
4974 if test "$_libavcodec" = yes ; then
4975 _def_zr='#define HAVE_ZR 1'
4976 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
4977 _vomodules="zr zr2 $_vomodules"
4978 echores "$_zr"
4979 else
4980 echores "libavcodec (static) is required by zr, sorry"
4981 _novomodules="zr $_novomodules"
4982 _def_zr='#undef HAVE_ZR'
4984 else
4985 _def_zr='#undef HAVE_ZR'
4986 _novomodules="zr zr2 $_novomodules"
4987 echores "$_zr"
4990 echocheck "bl"
4991 if test "$_bl" = yes ; then
4992 _def_bl='#define HAVE_BL 1'
4993 _vosrc="$_vosrc vo_bl.c"
4994 _vomodules="bl $_vomodules"
4995 else
4996 _def_bl='#undef HAVE_BL'
4997 _novomodules="bl $_novomodules"
4999 echores "$_bl"
5001 echocheck "XviD"
5002 cat > $TMPC << EOF
5003 #include <xvid.h>
5004 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
5006 _ld_xvid="$_ld_xvid -lxvidcore -lm"
5007 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid ; then
5008 _xvid=yes
5009 _def_xvid3='#define HAVE_XVID3 1'
5010 _def_xvid4='#undef HAVE_XVID4'
5011 _codecmodules="xvid $_codecmodules"
5012 else
5013 cat > $TMPC << EOF
5014 #include <xvid.h>
5015 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
5017 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid ; then
5018 _xvid=yes
5019 _def_xvid3='#undef HAVE_XVID3'
5020 _def_xvid4='#define HAVE_XVID4 1'
5021 _codecmodules="xvid $_codecmodules"
5022 else
5023 _xvid=no
5024 _ld_xvid=''
5025 _def_xvid3='#undef HAVE_XVID3'
5026 _def_xvid4='#undef HAVE_XVID4'
5027 _nocodecmodules="xvid $_nocodecmodules"
5030 echores "$_xvid"
5032 _xvidcompat=no
5033 _def_decore_xvid='#undef DECORE_XVID'
5034 _def_encore_xvid='#undef ENCORE_XVID'
5035 if test "$_xvid" = yes ; then
5036 echocheck "DivX4 compatibility in XviD"
5037 cat > $TMPC << EOF
5038 #include <divx4.h>
5039 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5041 cc_check -lm "$_ld_xvid" && _xvidcompat=yes
5042 echores "$_xvidcompat"
5046 echocheck "DivX4linux/DivX5linux/OpenDivX decore"
5047 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5048 cat > $TMPC << EOF
5049 #include <decore.h>
5050 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5052 if test "$_divx4linux" != no && cc_check -lm -ldivxdecore -lm ; then
5053 _opendivx=no
5054 _ld_decore='-ldivxdecore'
5055 _def_decore='#define NEW_DECORE 1'
5056 _def_divx='#define USE_DIVX'
5057 _def_divx5='#undef DECORE_DIVX5'
5058 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5059 _codecmodules="divx4linux $_codecmodules"
5060 echores "DivX4linux (with libdivxdecore.so)"
5061 else
5062 # if test "$_divx4linux" != no ; then
5063 # DivX5 check
5064 # OdivxPP disabled because of:
5065 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5066 cat > $TMPC << EOF
5067 #include <decore.h>
5068 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5070 if test "$_divx4linux" != no && cc_check -lm -ldivxdecore -lm ; then
5071 _opendivx=no
5072 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5073 _ld_decore='-ldivxdecore'
5074 _def_decore='#define NEW_DECORE 1'
5075 _def_divx='#define USE_DIVX'
5076 _def_divx5='#define DECORE_DIVX5 1'
5077 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5078 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5079 _codecmodules="divx5linux $_codecmodules"
5080 _nocodecmodules="divx4linux $_nocodecmodules"
5081 echores "DivX5linux (with libdivxdecore.so)"
5082 elif test "$_opendivx" != no ; then
5083 _opendivx=yes
5084 _ld_decore='opendivx/libdecore.a'
5085 _def_decore='#undef NEW_DECORE'
5086 _def_divx='#define USE_DIVX'
5087 _def_divx5='#undef DECORE_DIVX5'
5088 _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5089 _codecmodules="opendivx $_codecmodules"
5090 _nocodecmodules="divx5linux $_nocodecmodules"
5091 echores "OpenDivX"
5092 elif test "$_xvidcompat" = yes ; then
5093 _opendivx=no
5094 _ld_decore=''
5095 _def_decore='#define NEW_DECORE 1'
5096 _def_divx='#define USE_DIVX 1'
5097 _def_divx5='#undef DECORE_DIVX5'
5098 _def_decore_xvid='#define DECORE_XVID 1'
5099 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5100 _nocodecmodules="opendivx divx5linux divx4linux $_nocodecmodules"
5101 echores "XviD compat."
5102 else
5103 _opendivx=no
5104 _ld_decore=''
5105 _def_decore='#undef NEW_DECORE'
5106 _def_divx='#undef USE_DIVX'
5107 _def_divx5='#undef DECORE_DIVX5'
5108 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5109 _nocodecmodules="opendivx $_nocodecmodules"
5110 echores "no"
5111 fi # DivX5 check
5115 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5116 if test "$_mencoder" != no ; then
5118 echocheck "libmp3lame (for mencoder)"
5119 _mp3lame=no
5120 cat > $TMPC <<EOF
5121 #include <lame/lame.h>
5122 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; }
5124 # Note: libmp3lame usually depends on vorbis
5125 cc_check -lmp3lame $_ld_vorbis -lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame=yes
5126 if test "$_mp3lame" = yes ; then
5127 _def_mp3lame="#define HAVE_MP3LAME `$TMPO`"
5128 _def_cfg_mp3lame="#define CONFIG_MP3LAME `$TMPO`"
5129 _ld_mp3lame="-lmp3lame $_ld_vorbis"
5130 else
5131 _def_mp3lame='#undef HAVE_MP3LAME'
5132 _def_cfg_mp3lame='#undef CONFIG_MP3LAME'
5134 echores "$_mp3lame"
5137 echocheck "DivX4linux encore (for mencoder)"
5138 cat > $TMPC << EOF
5139 #include <encore2.h>
5140 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5142 if test "$_divx4linux" != no && cc_check -ldivxencore -lm ; then
5143 _def_encore='#define HAVE_DIVX4ENCORE 1'
5144 _ld_encore='-ldivxencore'
5145 echores "DivX4linux (with libdivxencore.so)"
5146 elif test "$_xvidcompat" = yes ; then
5147 _def_encore='#define HAVE_DIVX4ENCORE 1'
5148 _ld_encore=''
5149 _def_encore_xvid='#define ENCORE_XVID 1'
5150 echores "XviD compat."
5151 else
5152 _def_encore='#undef HAVE_DIVX4ENCORE'
5153 echores "no"
5158 echocheck "mencoder"
5159 _mencoder_flag='#undef HAVE_MENCODER'
5160 if test "$_mencoder" = yes ; then
5161 _mencoder_flag='#define HAVE_MENCODER'
5163 echores "$_mencoder"
5165 echocheck "fastmemcpy"
5166 # fastmemcpy check is done earlier with tests of CPU & binutils features
5167 if test "$_fastmemcpy" = yes ; then
5168 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
5169 else
5170 _def_fastmemcpy='#undef USE_FASTMEMCPY'
5172 echores "$_fastmemcpy"
5174 echocheck "UniquE RAR File Library"
5175 if test "$_unrarlib" = yes ; then
5176 _def_unrarlib='#define USE_UNRARLIB 1'
5177 else
5178 _def_unrarlib='#undef USE_UNRARLIB'
5180 echores "$_unrarlib"
5182 echocheck "TV interface"
5183 if test "$_tv" = yes ; then
5184 _def_tv='#define USE_TV 1'
5185 _inputmodules="tv $_inputmodules"
5186 else
5187 _noinputmodules="tv $_noinputmodules"
5188 _def_tv='#undef USE_TV'
5190 echores "$_tv"
5192 echocheck "EDL support"
5193 if test "$_edl" = yes ; then
5194 _def_edl='#define USE_EDL'
5195 _inputmodules="edl $_inputmodules"
5196 else
5197 _noinputmodules="edl $_noinputmodules"
5198 _def_edl='#undef USE_EDL'
5200 echores "$_edl"
5202 echocheck "*BSD BrookTree 848 TV interface"
5203 if test "$_tv_bsdbt848" = auto ; then
5204 _tv_bsdbt848=no
5205 if test "$_tv" = yes ; then
5206 cat > $TMPC <<EOF
5207 #include <sys/types.h>
5208 #if defined(__NetBSD__)
5209 #include <dev/ic/bt8xx.h>
5210 #else
5211 #include <machine/ioctl_bt848.h>
5212 #endif
5213 int main(void) { return 0; }
5215 cc_check && _tv_bsdbt848=yes
5218 if test "$_tv_bsdbt848" = yes ; then
5219 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
5220 _inputmodules="tv-bsdbt848 $_inputmodules"
5221 else
5222 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
5223 _noinputmodules="tv-bsdbt848 $_noinputmodules"
5225 echores "$_tv_bsdbt848"
5227 echocheck "Video 4 Linux TV interface"
5228 if test "$_tv_v4l" = auto ; then
5229 _tv_v4l=no
5230 if test "$_tv" = yes && linux ; then
5231 for I in /dev/video /dev/video? ; do
5232 if test -c $I ; then
5233 cat > $TMPC <<EOF
5234 #include <stdlib.h>
5235 #include <linux/videodev.h>
5236 int main(void) { return 0; }
5238 cc_check && _tv_v4l=yes
5239 break
5241 done
5244 if test "$_tv_v4l" = yes ; then
5245 _def_tv_v4l='#define HAVE_TV_V4L 1'
5246 _inputmodules="tv-v4l $_inputmodules"
5247 else
5248 _noinputmodules="tv-v4l $_noinputmodules"
5249 _def_tv_v4l='#undef HAVE_TV_V4L'
5251 echores "$_tv_v4l"
5254 echocheck "Video 4 Linux 2 TV interface"
5255 if test "$_tv_v4l2" = auto ; then
5256 _tv_v4l2=no
5257 if test "$_tv" = yes && linux ; then
5258 for I in /dev/video /dev/video? ; do
5259 if test -c $I ; then
5260 _tv_v4l2=yes
5261 break
5263 done
5266 if test "$_tv_v4l2" = yes ; then
5267 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
5268 _inputmodules="tv-v4l2 $_inputmodules"
5269 else
5270 _noinputmodules="tv-v4l2 $_noinputmodules"
5271 _def_tv_v4l2='#undef HAVE_TV_V4L2'
5273 echores "$_tv_v4l2"
5276 echocheck "audio select()"
5277 if test "$_select" = no ; then
5278 _def_select='#undef HAVE_AUDIO_SELECT'
5279 elif test "$_select" = yes ; then
5280 _def_select='#define HAVE_AUDIO_SELECT 1'
5282 echores "$_select"
5285 echocheck "network"
5286 # FIXME network check
5287 if test "$_network" != no ; then
5288 _def_network='#define MPLAYER_NETWORK 1'
5289 _ld_network="$_ld_sock"
5290 _inputmodules="network $_inputmodules"
5291 else
5292 _noinputmodules="network $_noinputmodules"
5293 _def_network='#undef MPLAYER_NETWORK'
5295 echores "$_network"
5297 echocheck "ftp"
5298 if test "$_ftp" != no ; then
5299 _def_ftp='#define HAVE_FTP 1'
5300 _inputmodules="ftp $_inputmodules"
5301 else
5302 _noinputmodules="ftp $_noinputmodules"
5303 _def_ftp='#undef HAVE_FTP'
5305 echores "$_ftp"
5307 # endian testing
5308 echocheck "byte order"
5309 if test "$_big_endian" = auto ; then
5310 cat > $TMPC <<EOF
5311 #include <inttypes.h>
5312 int main(void) {
5313 volatile uint32_t i=0x01234567;
5314 return (*((uint8_t*)(&i))) == 0x67;
5317 if cc_check ; then
5318 if $TMPO ; then
5319 _big_endian=yes
5320 else
5321 _big_endian=no
5323 else
5324 echo -n "failed to autodetect byte order, defaulting to "
5327 if test "$_big_endian" = yes ; then
5328 _byte_order='Big Endian'
5329 _def_words_endian='#define WORDS_BIGENDIAN 1'
5330 else
5331 _byte_order='Little Endian'
5332 _def_words_endian='#undef WORDS_BIGENDIAN'
5334 echores "$_byte_order"
5336 echocheck "shared postprocess lib"
5337 echores "$_shared_pp"
5339 echocheck "OSD menu"
5340 if test "$_menu" = yes ; then
5341 _def_menu='#define HAVE_MENU 1'
5342 else
5343 _def_menu='#undef HAVE_MENU'
5345 echores "$_menu"
5347 # Check to see if they want QTX codecs enabled
5348 echocheck "QTX codecs"
5349 if test "$_qtx" = auto ; then
5350 _qtx=$_win32
5352 if test "$_qtx" = yes ; then
5353 _def_qtx='#define USE_QTX_CODECS 1'
5354 _codecmodules="qtx $_codecmodules"
5355 else
5356 _def_qtx='#undef USE_QTX_CODECS'
5357 _nocodecmodules="qtx $_nocodecmodules"
5359 echores "$_qtx"
5362 echocheck "Subtitles sorting"
5363 if test "$_sortsub" = yes ; then
5364 _def_sortsub='#define USE_SORTSUB 1'
5365 else
5366 _def_sortsub='#undef USE_SORTSUB'
5368 echores "$_sortsub"
5371 echocheck "XMMS inputplugin support"
5372 if test "$_xmms" = yes ; then
5374 if ( xmms-config --version ) >/dev/null 2>&1 ; then
5375 if test -z "$_xmmsplugindir" ; then
5376 _xmmsplugindir=`xmms-config --input-plugin-dir`
5378 if test -z "$_xmmslibdir" ; then
5379 _xmmslibdir=`xmms-config --exec-prefix`/lib
5381 else
5382 if test -z "$_xmmsplugindir" ; then
5383 _xmmsplugindir=/usr/lib/xmms/Input
5385 if test -z "$_xmmslibdir" ; then
5386 _xmmslibdir=/usr/lib
5390 _def_xmms='#define HAVE_XMMS 1'
5391 if darwin ; then
5392 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
5393 else
5394 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
5396 else
5397 _def_xmms='#undef HAVE_XMMS'
5399 echores "$_xmms"
5401 echocheck "FLAC support"
5402 if ! test "$_flac" = "no" ; then
5403 if ! test -f libmpflac/dither.c ; then
5404 _flac=no
5405 echores "no (necessary files missing)"
5406 break
5408 if ! test -f libmpflac/stream_decoder.c ; then
5409 _external_flac=yes
5411 if test "$_external_flac" = "yes" ; then
5412 cat > $TMPC << EOF
5413 #include <FLAC/stream_decoder.h>
5414 #include <stdlib.h>
5416 int main()
5418 FLAC__StreamDecoder *fdec = FLAC__stream_decoder_new();
5419 return fdec != NULL;
5422 _flac=no
5423 if cc_check -lFLAC -lm ; then
5424 _flac=external
5426 else
5427 _flac=yes
5431 if test "$_flac" = external ; then
5432 _def_flac='#define HAVE_FLAC 1'
5433 #Still use dither.c & replay_gain from libmpflac
5434 _def_mpflac='#undef USE_MPFLAC_DECODER'
5435 _mpflac='process'
5436 _ld_flac='-lFLAC -lm -Llibmpflac -lmpflac'
5437 _codecmodules="flac(external) $_codecmodules"
5438 echores "yes (using external libFLAC)"
5439 else
5440 if test "$_flac" = yes ; then
5441 _def_flac='#define HAVE_FLAC 1'
5442 #use decoder, dither.c & replay_gain from libmpflac
5443 _def_mpflac='#define USE_MPFLAC_DECODER 1'
5444 _mpflac='full'
5445 _ld_flac='-Llibmpflac -lmpflac'
5446 _codecmodules="flac(internal) $_codecmodules"
5447 echores "yes (using internal libmpflac)"
5448 else
5449 _def_flac='#undef HAVE_FLAC'
5450 _def_mpflac='#undef USE_MPFLAC_DECODER'
5451 _mpflac='none'
5452 _ld_flac=''
5453 _nocodecmodules="flac $_nocodecmodules"
5454 echores "no"
5458 echocheck "inet6"
5459 if test "$_inet6" = auto ; then
5460 cat > $TMPC << EOF
5461 #include <sys/types.h>
5462 #include <sys/socket.h>
5463 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
5465 _inet6=no
5466 if cc_check ; then
5467 _inet6=yes
5470 if test "$_inet6" = yes ; then
5471 _def_inet6='#define HAVE_AF_INET6 1'
5472 else
5473 _def_inet6='#undef HAVE_AF_INET6'
5475 echores "$_inet6"
5478 echocheck "gethostbyname2"
5479 if test "$_gethostbyname2" = auto ; then
5480 cat > $TMPC << EOF
5481 #include <sys/types.h>
5482 #include <sys/socket.h>
5483 #include <netdb.h>
5484 int main(void) { gethostbyname2("", AF_INET); }
5486 _gethostbyname2=no
5487 if cc_check ; then
5488 _gethostbyname2=yes
5492 if test "$_gethostbyname2" = yes ; then
5493 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
5494 else
5495 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
5497 echores "$_gethostbyname2"
5499 # --------------- GUI specific tests begin -------------------
5500 echocheck "GUI"
5501 echo "$_gui"
5502 if test "$_gui" = yes ; then
5504 # Required libraries
5505 test "$_png" != yes && die "PNG support required for GUI compilation, please install libpng and libpng-dev packages."
5506 test "$_x11" != yes && die "X11 support required for GUI compilation"
5508 echocheck "XShape extension"
5509 _xshape=no
5510 if test "$_x11" = yes ; then
5511 cat > $TMPC << EOF
5512 #include <X11/Xlib.h>
5513 #include <X11/Xproto.h>
5514 #include <X11/Xutil.h>
5515 #include <X11/extensions/shape.h>
5516 #include <stdlib.h>
5517 int main(void) {
5518 char *name = ":0.0";
5519 Display *wsDisplay;
5520 int exitvar = 0;
5521 int eventbase, errorbase;
5522 if (getenv("DISPLAY"))
5523 name=getenv("DISPLAY");
5524 wsDisplay=XOpenDisplay(name);
5525 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
5526 exitvar=1;
5527 XCloseDisplay(wsDisplay);
5528 return exitvar;
5531 cc_check $_inc_x11 $_ld_x11 && _xshape=yes
5533 if test "$_xshape" = yes ; then
5534 _def_xshape='#define HAVE_XSHAPE 1'
5535 else
5536 die "The GUI requires the X11 extension XShape (which was not found)."
5538 echores "$_xshape"
5541 # Check for GTK:
5542 echocheck "gtk version"
5543 if test -z "$_gtkconfig" ; then
5544 if ( gtk-config --version ) >/dev/null 2>&1 ; then
5545 _gtkconfig="gtk-config"
5546 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
5547 _gtkconfig="gtk12-config"
5548 else
5549 die "The GUI requires GTK devel packages (which were not found)."
5552 _gtk=`$_gtkconfig --version 2>&1`
5553 _inc_gtk=`$_gtkconfig --cflags 2>&1`
5554 _ld_gtk=`$_gtkconfig --libs 2>&1`
5555 echores "$_gtk (using $_gtkconfig)"
5557 # Check for GLIB
5558 echocheck "glib version"
5559 if test -z "$_glibconfig" ; then
5560 if ( glib-config --version ) >/dev/null 2>&1 ; then
5561 _glibconfig="glib-config"
5562 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
5563 _glibconfig="glib12-config"
5564 else
5565 die "The GUI requires GLib devel packages (which were not found)"
5568 _glib=`$_glibconfig --version 2>&1`
5569 _inc_glib=`$_glibconfig --cflags 2>&1`
5570 _ld_glib=`$_glibconfig --libs 2>&1`
5571 echores "$_glib (using $_glibconfig)"
5573 _def_gui='#define HAVE_NEW_GUI 1'
5574 _ld_gui='$(GTKLIB) $(GLIBLIB)'
5576 echo "Creating Gui/config.mak"
5577 cat > Gui/config.mak << EOF
5578 # -------- Generated by configure -----------
5580 GTKINC = $_inc_gtk
5581 GTKLIBS = $_ld_gtk
5582 GLIBINC = $_inc_glib
5583 GLIBLIBS = $_ld_glib
5587 else
5588 _def_gui='#undef HAVE_NEW_GUI'
5590 # --------------- GUI specific tests end -------------------
5594 #############################################################################
5596 # Checking for CFLAGS
5597 _stripbinaries=yes
5598 if test "$_profile" != "" || test "$_debug" != "" ; then
5599 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
5600 if test "$_cc_major" -ge "3" ; then
5601 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
5603 _stripbinaries=no
5604 elif test -z "$CFLAGS" ; then
5605 if test "$host_arch" != "mips" ; then
5606 CFLAGS="-O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer"
5607 else
5608 CFLAGS="-O4 $_march $_mcpu -ffast-math -fomit-frame-pointer"
5610 # always compile with '-g' if .developer:
5611 if test -f ".developer" ; then
5612 CFLAGS="-g $CFLAGS"
5613 _stripbinaries=no
5615 else
5616 cat <<EOF
5618 MPlayer compilation will use the CFLAGS set by you, but:
5620 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
5622 It is strongly recommended to let MPlayer choose the correct CFLAGS!
5623 To do so, execute 'CFLAGS= ./configure <options>'
5627 if darwin ; then
5628 # use gnu style cpp on Darwin
5629 CFLAGS="$CFLAGS -no-cpp-precomp -DSYS_DARWIN -Wl,-bind_at_load"
5630 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
5631 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
5633 if hpux ; then
5634 # use flag for HPUX missing setenv()
5635 CFLAGS="$CFLAGS -DHPUX"
5637 # Thread support
5638 if linux ; then
5639 CFLAGS="$CFLAGS -D_REENTRANT"
5640 elif bsd ; then
5641 # FIXME bsd needs this so maybe other OS'es
5642 CFLAGS="$CFLAGS -D_THREAD_SAFE"
5644 # 64 bit file offsets?
5645 if test "$_largefiles" = yes || freebsd ; then
5646 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
5647 if test "$_dvdread" = yes ; then
5648 # dvdread support requires this (for off64_t)
5649 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
5653 echocheck "ftello()"
5654 # if we don't have ftello map it to ftell
5655 cat > $TMPC << EOF
5656 #include <stdio.h>
5657 int main (void) { ftello(stdin); return 0; }
5659 _ftello=no
5660 cc_check && _ftello=yes
5661 if test "$_ftello" = yes ; then
5662 _def_ftello='#define HAVE_FTELLO 1'
5663 else
5664 _def_ftello='#undef HAVE_FTELLO'
5666 echores "$_ftello"
5668 # Determine OS dependent libs
5669 if cygwin ; then
5670 _confcygwin='TARGET_CYGWIN = yes'
5671 _def_confwin32='#define WIN32'
5672 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
5673 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
5674 CFLAGS="$CFLAGS -D__CYGWIN__"
5675 else
5676 _confcygwin="TARGET_CYGWIN = no"
5679 if mingw32 ; then
5680 _confmingw32='TARGET_MINGW32 = yes'
5681 else
5682 _confmingw32='TARGET_MINGW32 = no'
5685 # Dynamic linking flags
5686 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
5687 _ld_dl_dynamic=''
5688 bsd && _ld_dl_dynamic='-rdynamic'
5689 test "$_xanim" = yes && _ld_dl_dynamic='-rdynamic'
5690 test "$_real" = yes && _ld_dl_dynamic='-rdynamic'
5692 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
5693 bsdos && _ld_arch="$_ld_arch -ldvd"
5694 if netbsd ; then
5695 x86 && _ld_arch="$_ld_arch -li386"
5698 _def_debug='#undef MP_DEBUG'
5699 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
5701 _def_linux='#undef TARGET_LINUX'
5702 linux && _def_linux='#define TARGET_LINUX 1'
5704 # TODO cleanup the VIDIX stuff here
5705 _def_vidix='#define CONFIG_VIDIX 1'
5706 test "$_vidix" = no && _def_vidix='#undef CONFIG_VIDIX'
5707 if test "$_vidix" = yes; then
5708 _vosrc="$_vosrc vo_cvidix.c"
5709 _vomodules="cvidix $_vomodules"
5710 else
5711 _novomodules="cvidix $_novomodules"
5713 if test "$_vidix" = yes && (cygwin || mingw32); then
5714 _vosrc="$_vosrc vo_winvidix.c"
5715 _vomodules="winvidix $_vomodules"
5716 else
5717 _novomodules="winvidix $_novomodules"
5719 if test "$_vidix" = yes && test "$_x11" = yes; then
5720 _vosrc="$_vosrc vo_xvidix.c"
5721 _vomodules="xvidix $_vomodules"
5722 else
5723 _novomodules="xvidix $_novomodules"
5725 echo Checking for VIDIX ... "$_vidix"
5727 _def_joystick='#undef HAVE_JOYSTICK'
5728 if test "$_joystick" = yes ; then
5729 if linux ; then
5730 # TODO add some check
5731 _def_joystick='#define HAVE_JOYSTICK 1'
5732 else
5733 _joystick="no (unsupported under $system_name)"
5736 echo Checking for joystick ... "$_joystick"
5738 echocheck "lirc"
5739 if test "$_lirc" = auto ; then
5740 _lirc=no
5741 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
5742 cat > $TMPC <<EOF
5743 #include <lirc/lirc_client.h>
5744 int main(void) { return 0; }
5746 cc_check -llirc_client && _lirc=yes
5749 if test "$_lirc" = yes ; then
5750 _def_lirc='#define HAVE_LIRC 1'
5751 _ld_lirc='-llirc_client'
5752 else
5753 _def_lirc='#undef HAVE_LIRC'
5755 echores "$_lirc"
5757 echocheck "lircc"
5758 if test "$_lircc" = auto ; then
5759 _lircc=no
5760 cat > $TMPC <<EOF
5761 #include <lirc/lircc.h>
5762 int main(void) { return 0; }
5764 cc_check -llircc && _lircc=yes
5766 if test "$_lircc" = yes ; then
5767 _def_lircc='#define HAVE_LIRCC 1'
5768 _ld_lircc='-llircc'
5769 else
5770 _def_lircc='#undef HAVE_LIRCC'
5772 echores "$_lircc"
5774 #############################################################################
5775 echo "Creating config.mak"
5776 cat > config.mak << EOF
5777 # -------- Generated by configure -----------
5779 LANG = C
5780 LANGUAGES = $LANGUAGES
5781 TARGET_OS = $system_name
5782 DESTDIR =
5783 prefix = \$(DESTDIR)$_prefix
5784 BINDIR = \$(DESTDIR)$_bindir
5785 DATADIR = \$(DESTDIR)$_datadir
5786 MANDIR = \$(DESTDIR)$_mandir
5787 CONFDIR = \$(DESTDIR)$_confdir
5788 LIBDIR = \$(DESTDIR)$_libdir
5789 #AR = ar
5790 CC = $_cc
5791 AWK = $_awk
5792 RANLIB = $_ranlib
5793 INSTALL = $_install
5794 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu -pipe -fomit-frame-pointer -ffast-math
5795 EXTRA_INC = $_inc_extra $_inc_gtk
5796 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
5797 STRIPBINARIES = $_stripbinaries
5799 $_live_libs_def
5801 MPLAYER_NETWORK = $_network
5802 STREAMING_LIVE_DOT_COM = $_live
5803 MPLAYER_NETWORK_LIB = $_ld_network $_ld_live
5804 DVBIN = $_dvbin
5805 VIDIX = $_vidix
5806 SHARED_PP = $_shared_pp
5807 CONFIG_PP = yes
5808 CONFIG_RISKY = yes
5809 CONFIG_MP3LAME = $_mp3lame
5810 LIBMENU = $_menu
5811 I18NLIBS = $_i18n_libs
5812 MATROSKA = $_matroska
5813 MATROSKA_LIB = $_ld_matroska
5815 OPENDIVX = $_opendivx
5817 UNRARLIB = $_unrarlib
5818 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
5819 PNG = $_mkf_png
5820 JPEG = $_mkf_jpg
5821 GIF = $_mkf_gif
5823 EXTRA_LIB = $_ld_extra
5824 Z_LIB = $_ld_static $_ld_zlib
5825 HAVE_MLIB = $_mlib
5826 WIN32_LIB = $_ld_win32libs
5827 STATIC_LIB = $_ld_static
5829 X11_INC = $_inc_x11
5830 X11DIR = $_ld_x11
5832 HAVE_XVMC_ACCEL = $_xvmc
5834 # for libavcodec:
5835 SRC_PATH=.
5836 LIBPREF=lib
5837 LIBSUF=.a
5838 SLIBPREF=lib
5839 SLIBSUF=.so
5841 # video output
5842 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_mad $_ld_sock
5843 GGI_LIB = $_ld_ggi
5844 MLIB_LIB = $_ld_mlib
5845 MLIB_INC = $_inc_mlib
5846 DXR2_INC = $_inc_dxr2
5847 DVB_INC = $_inc_dvb
5848 PNG_LIB = $_ld_png
5849 JPEG_LIB = $_ld_jpg
5850 GIF_LIB = $_ld_gif
5851 SDL_LIB = $_ld_sdl
5852 SVGA_LIB = $_ld_svga
5853 AA_LIB = $_ld_aa
5855 # audio output
5856 ALSA_LIB = $_ld_alsa
5857 NAS_LIB = $_ld_nas
5858 ARTS_LIB = $_ld_arts
5859 ARTS_INC = $_inc_arts
5860 ESD_LIB = $_ld_esd
5861 ESD_INC = $_inc_esd
5862 SGIAUDIO_LIB = $_ld_sgiaudio
5864 # input/demuxer/codecs
5865 TERMCAP_LIB = $_ld_termcap
5866 LIRC_LIB = $_ld_lirc
5867 LIRCC_LIB = $_ld_lircc
5868 DVDREAD_LIB = $_ld_dvdread
5869 DVDKIT = $_dvdkit
5870 DVDKIT2 = $_dvdkit2
5871 DVDKIT_SHARED = no
5872 SDL_INC = $_inc_sdl
5873 W32_DEP = $_dep_win32
5874 W32_LIB = $_ld_win32
5875 DS_DEP = $_dep_dshow
5876 DS_LIB = $_ld_dshow
5877 AV_DEP = $_dep_libavcodec
5878 AV_LIB = $_ld_libavcodec
5879 ZORAN = $_zr
5880 FAME = $_fame
5881 FAME_LIB = $_ld_fame
5882 MP1E_DEP = $_dep_mp1e
5883 MP1E_LIB = $_ld_mp1e
5884 ARCH_LIB = $_ld_arch $_ld_iconv
5885 XVID = $_xvid
5886 XVID_INC = $_inc_xvid
5887 XVID_LIB = $_ld_xvid
5888 DECORE_LIB = $_ld_decore $_ld_mp3lame
5889 MENCODER = $_mencoder
5890 ENCORE_LIB = $_ld_encore $_ld_mp3lame
5891 DIRECTFB_INC = $_inc_directfb
5892 DIRECTFB_LIB = $_ld_directfb
5893 CDPARANOIA_INC = $_inc_cdparanoia
5894 CDPARANOIA_LIB = $_ld_cdparanoia
5895 FREETYPE_INC = $_inc_freetype
5896 FREETYPE_LIB = $_ld_freetype
5897 FONTCONFIG_INC = $_inc_fontconfig
5898 FONTCONFIG_LIB = $_ld_fontconfig
5899 FRIBIDI_INC = $_inc_fribidi
5900 FRIBIDI_LIB = $_ld_fribidi
5901 LIBLZO_LIB= $_ld_liblzo
5902 MAD_LIB = $_ld_mad
5903 VORBIS_LIB = $_ld_vorbis $_ld_libdv
5904 THEORA_LIB = $_ld_theora
5905 FAAD_LIB = $_ld_faad
5906 INTERNAL_FAAD = $_faad_internal
5907 SMBSUPPORT_LIB = $_ld_smb
5908 XMMS_PLUGINS = $_xmms
5909 XMMS_LIB = $_xmms_lib
5910 MACOSX = $_macosx
5911 MACOSX_FRAMEWORKS = $_macosx_frameworks
5912 FLAC_LIB = $_ld_flac
5913 MPFLAC = $_mpflac
5915 # --- Some stuff for autoconfigure ----
5916 $_target_arch
5917 $_confcygwin
5918 $_confmingw32
5919 TARGET_CPU=$iproc
5920 TARGET_MMX = $_mmx
5921 TARGET_MMX2 = $_mmx2
5922 TARGET_3DNOW = $_3dnow
5923 TARGET_3DNOWEX = $_3dnowex
5924 TARGET_SSE = $_sse
5925 TARGET_ALTIVEC = $_altivec
5927 # --- GUI stuff ---
5928 GTKLIB = $_ld_static $_ld_gtk
5929 GLIBLIB = $_ld_static $_ld_glib
5930 GTK_LIBS = $_ld_static $_ld_gui
5931 GUI = $_gui
5932 DEBUG = -DDEBUG
5936 #############################################################################
5937 echo "Creating config.h"
5938 cat > config.h << EOF
5939 /* -------- This file has been automatically generated by configure ---------
5940 Note: Any changes in it will be lost when you run configure again. */
5942 /* Protect against multiple inclusion */
5943 #ifndef MPLAYER_CONFIG_H
5944 #define MPLAYER_CONFIG_H 1
5946 /* use GNU internationalization */
5947 $_def_i18n
5949 /* missing mmap function on libc5 systems */
5950 #ifndef MAP_FAILED
5951 # define MAP_FAILED ((void *) -1)
5952 #endif
5954 /* use setlocale() function */
5955 $_def_setlocale
5957 /* Runtime CPU detection */
5958 $_def_runtime_cpudetection
5960 /* Dynamic a/v plugins */
5961 $_def_dynamic_plugins
5963 /* "restrict" keyword */
5964 #define restrict $_def_restrict_keyword
5966 #define PREFIX "$_prefix"
5968 /* define this to use simple idct with patched libavcodec */
5969 #define SIMPLE_IDCT 1
5971 #define USE_OSD 1
5972 #define USE_SUB 1
5974 /* enable/disable SIGHANDLER */
5975 $_def_sighandler
5977 /* Toggles debugging informations */
5978 $_def_debug
5980 /* Indicates that Ogle's libdvdread is available for DVD playback */
5981 $_def_dvdread
5983 /* Indicates that dvdread is from libmpdvdkit */
5984 $_def_mpdvdkit
5986 /* Additional options for libmpdvdkit*/
5987 $_def_dvd
5988 $_def_cdrom
5989 $_def_cdio
5990 $_def_dvdio
5991 $_def_bsdi_dvd
5992 $_def_dvd_bsd
5993 $_def_dvd_linux
5994 $_dev_dvd_openbsd
5995 $_def_dvd_darwin
5996 $_def_sol_scsi_h
5997 $_def_hpux_scsi_h
5998 $_def_stddef
6000 /* Common data directory (for fonts, etc) */
6001 #define MPLAYER_DATADIR "$_datadir"
6002 #define MPLAYER_CONFDIR "$_confdir"
6003 #define MPLAYER_LIBDIR "$_libdir"
6005 /* Define this to compile stream-caching support, it can be enabled via
6006 -cache <kilobytes> */
6007 #define USE_STREAM_CACHE 1
6009 /* Define to include support for XviD/Divx4Linux/OpenDivx */
6010 $_def_divx
6012 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
6013 /* You have to change DECORE_LIBS in config.mak, too! */
6014 $_def_decore
6016 /* Define if you are using DivX5Linux Decore library */
6017 $_def_divx5
6019 /* Define if you are using XviD library */
6020 $_def_xvid3
6021 $_def_xvid4
6022 $_def_decore_xvid
6023 $_def_encore_xvid
6025 /* Define to include support for libdv-0.9.5 */
6026 $_def_libdv
6028 /* If build mencoder */
6029 $_mencoder_flag
6031 /* Indicates if XviD/Divx4linux encore is available
6032 Note: for mencoder */
6033 $_def_encore
6035 /* Indicates if libmp3lame is available
6036 Note: for mencoder */
6037 $_def_mp3lame
6038 $_def_cfg_mp3lame
6040 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6041 $_def_mp1e
6043 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6044 (use -bps or -nobps commandline option for run-time method selection)
6045 -bps gives better sync for vbr mp3 audio, it is now default */
6046 #define AVI_SYNC_BPS 1
6048 /* Undefine this if you do not want to select mono audio (left or right)
6049 with a stereo MPEG layer 2/3 audio stream. The command line option
6050 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6051 right-only), with 0 being the default.
6053 #define USE_FAKE_MONO 1
6055 /* Undefine this if your sound card driver has no working select().
6056 If you have kernel Oops, player hangups, or just no audio, you should
6057 try to recompile MPlayer with this option disabled! */
6058 $_def_select
6060 /* define this to use iconv(3) function to codepage conversions */
6061 $_def_iconv
6063 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6064 $_def_rtc
6066 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6067 #define MAX_OUTBURST 65536
6069 /* set up audio OUTBURST. Do not change this! */
6070 #define OUTBURST 512
6072 /* Define this if your system has the header file for the OSS sound interface */
6073 $_def_sys_soundcard
6075 /* Define this if your system has the header file for the OSS sound interface
6076 * in /usr/include */
6077 $_def_soundcard
6079 /* Define this if your system has the sysinfo header */
6080 $_def_sys_sysinfo
6082 /* Define this if your system uses ftello() for off_t seeking */
6084 $_def_ftello
6085 #ifndef HAVE_FTELLO
6086 # define ftello(a) ftell(a)
6087 #endif
6089 /* Define this if your system has the "malloc.h" header file */
6090 $_def_malloc
6092 /* memalign is mapped to malloc if unsupported */
6093 $_def_memalign
6094 #ifndef HAVE_MEMALIGN
6095 # define memalign(a,b) malloc(b)
6096 #endif
6098 /* Define this if your system has the "alloca.h" header file */
6099 $_def_alloca
6101 /* Define this if your system has the "sys/mman.h" header file */
6102 $_def_mman
6104 /* Define this if you have the elf dynamic linker -ldl library */
6105 $_def_dl
6107 /* Define this if you have the kstat kernel statistics library */
6108 $_def_kstat
6110 /* Define this if you have zlib */
6111 $_def_zlib
6113 /* Define this if you have shm support */
6114 $_def_shm
6116 /* Define this if your system has scandir & alphasort */
6117 $_def_scandir
6119 /* Define this if your system has strsep */
6120 $_def_strsep
6122 /* Define this if your system has vsscanf */
6123 $_def_vsscanf
6125 /* Define this if your system has no posix select */
6126 $_def_no_posix_select
6128 /* Define this if your system has gettimeofday */
6129 $_def_gettimeofday
6131 /* Define this if your system has glob */
6132 $_def_glob
6134 /* LIRC (remote control, see www.lirc.org) support: */
6135 $_def_lirc
6138 * LIRCCD (LIRC client daemon)
6139 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6141 $_def_lircc
6144 * FLAC decoding
6146 $_def_flac
6147 $_def_mpflac
6149 /* DVD navigation support using libdvdnav */
6150 $_def_dvdnav
6151 $_def_dvdnav_version
6153 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6154 #define MPEG12_POSTPROC 1
6156 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6157 $_def_ffpostprocess
6159 /* Define to include support for OpenDivx postprocessing */
6160 $_def_odivx_postprocess
6162 /* Win32 DLL support */
6163 $_def_win32
6164 #define WIN32_PATH "$_win32libdir"
6166 /* DirectShow support */
6167 $_def_dshow
6169 /* Mac OS X specific features */
6170 $_def_macosx
6172 /* Build our Win32-loader */
6173 $_def_win32_loader
6175 /* ffmpeg's libavcodec support (requires libavcodec source) */
6176 $_def_libavcodec
6177 $_def_libavcodecso
6179 /* risky codecs */
6180 #define CONFIG_RISKY 1
6182 /* Use libavcodec's decoders */
6183 #define CONFIG_DECODERS 1
6184 /* Use libavcodec's encoders */
6185 #define CONFIG_ENCODERS 1
6187 /* Use codec libs included in mplayer CVS / source dist: */
6188 #define USE_MP3LIB
6189 #define USE_LIBA52
6190 #define USE_LIBMPEG2
6192 /* Use the SVQ1 decoder in libmpcodecs - we don't want/need it with libavcodec */
6193 #ifndef USE_LIBAVCODEC
6194 #define USE_SVQ1
6195 #endif
6197 /* Use libfame encoder filter */
6198 $_def_fame
6200 /* XAnim DLL support */
6201 $_def_xanim
6202 /* Default search path */
6203 $_def_xanim_path
6205 /* RealPlayer DLL support */
6206 $_def_real
6207 /* Default search path */
6208 $_def_real_path
6210 /* LIVE.COM Streaming Media library support */
6211 $_def_live
6213 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6214 $_def_fastmemcpy
6216 /* Use unrarlib for Vobsubs */
6217 $_def_unrarlib
6219 /* gui support, please do not edit this option */
6220 $_def_gui
6222 /* Audio output drivers */
6223 $_def_ossaudio
6224 $_def_ossaudio_devdsp
6225 $_def_ossaudio_devmixer
6226 $_def_alsa5
6227 $_def_alsa9
6228 $_def_arts
6229 $_def_esd
6230 $_def_esd_latency
6231 $_def_sys_asoundlib_h
6232 $_def_alsa_asoundlib_h
6233 $_def_sunaudio
6234 $_def_sgiaudio
6235 $_def_win32waveout
6236 $_def_nas
6238 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6239 #undef FAST_OSD
6240 #undef FAST_OSD_TABLE
6242 /* Enable TV Interface support */
6243 $_def_tv
6245 /* Enable EDL support */
6246 $_def_edl
6248 /* Enable Video 4 Linux TV interface support */
6249 $_def_tv_v4l
6251 /* Enable Video 4 Linux 2 TV interface support */
6252 $_def_tv_v4l2
6254 /* Enable *BSD BrookTree TV interface support */
6255 $_def_tv_bsdbt848
6257 /* Define if your processor stores words with the most significant
6258 byte first (like Motorola and SPARC, unlike Intel and VAX). */
6259 $_def_words_endian
6261 $_def_arch
6263 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
6264 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
6266 #ifdef ARCH_POWERPC
6267 #define ARCH_PPC 1
6268 #endif
6270 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
6271 #ifdef ARCH_ARMV4L
6272 #define ARCH_ARM 1
6273 #endif
6275 /* only gcc3 can compile mvi instructions */
6276 $_def_gcc_mvi_support
6278 /* Define this for Cygwin build for win32 */
6279 $_def_confwin32
6281 /* Define this to any prefered value from 386 up to infinity with step 100 */
6282 #define __CPU__ $iproc
6284 $_mp_wordsize
6286 $_def_linux
6288 $_def_vcd
6290 #ifdef sun
6291 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
6292 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6293 #elif defined(HPUX)
6294 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6295 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6296 #elif defined(WIN32)
6297 #define DEFAULT_CDROM_DEVICE "D:"
6298 #define DEFAULT_DVD_DEVICE "D:"
6299 #elif defined(SYS_DARWIN)
6300 #define DEFAULT_CDROM_DEVICE "/dev/rdiskN"
6301 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6302 #else
6303 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6304 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6305 #endif
6308 /*----------------------------------------------------------------------------
6310 ** NOTE: Instead of modifying these definitions here, use the
6311 ** --enable/--disable options of the ./configure script!
6312 ** See ./configure --help for details.
6314 *---------------------------------------------------------------------------*/
6316 /* C99 lrintf function available */
6317 $_def_lrintf
6319 /* int_fastXY_t emulation */
6320 $_def_fast_inttypes
6322 /* nanosleep support */
6323 $_def_nanosleep
6325 /* SMB support */
6326 $_def_smbsupport
6328 /* termcap flag for getch2.c */
6329 $_def_termcap
6331 /* termios flag for getch2.c */
6332 $_def_termios
6333 $_def_termios_h
6334 $_def_termios_sys_h
6336 /* enable PNG support */
6337 $_def_png
6339 /* enable JPEG support */
6340 $_def_jpg
6342 /* enable GIF support */
6343 $_def_gif
6344 $_def_gif_4
6345 $_def_gif_tvt_hack
6347 /* enable FreeType support */
6348 $_def_freetype
6350 /* enable Fontconfig support */
6351 $_def_fontconfig
6353 /* enable FriBiDi usage */
6354 $_def_fribidi
6356 /* liblzo support */
6357 $_def_liblzo
6359 /* libmad support */
6360 $_def_mad
6362 /* enable OggVorbis support */
6363 $_def_vorbis
6365 /* enable Tremor as vorbis decoder */
6366 $_def_tremor
6368 /* enable OggTheora support */
6369 $_def_theora
6371 /* enable Matroska support */
6372 $_def_matroska
6374 /* enable FAAD (AAC) support */
6375 $_def_faad
6376 $_def_faad_internal
6377 $_def_faad_version
6379 /* enable network */
6380 $_def_network
6382 /* enable ftp support */
6383 $_def_ftp
6385 /* enable winsock2 instead of Unix functions*/
6386 $_def_winsock2
6388 /* define this to use inet_aton() instead of inet_pton() */
6389 $_def_use_aton
6391 /* enables / disables cdparanoia support */
6392 $_def_cdparanoia
6394 /* enables / disables VIDIX usage */
6395 $_def_vidix
6397 /* enables / disables new input joystick support */
6398 $_def_joystick
6400 /* enables / disables QTX codecs */
6401 $_def_qtx
6403 /* enables / disables osd menu */
6404 $_def_menu
6406 /* enables / disables subtitles sorting */
6407 $_def_sortsub
6409 /* XMMS input plugin support */
6410 $_def_xmms
6411 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
6413 /* enables inet6 support */
6414 $_def_inet6
6416 /* do we have gethostbyname2? */
6417 $_def_gethostbyname2
6419 /* Extension defines */
6420 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
6421 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
6422 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
6423 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
6424 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
6425 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
6426 $_def_altivec // only define if you have Altivec (G4)
6428 #ifdef HAVE_MMX
6429 #define USE_MMX_IDCT 1
6430 #endif
6432 $_def_altivec_h // enables usage of altivec.h
6435 $_def_mlib // Sun mediaLib, available only on solaris
6437 /* libmpeg2 uses a different feature test macro for mediaLib */
6438 #ifdef HAVE_MLIB
6439 #define LIBMPEG2_MLIB 1
6440 #endif
6442 /* libvo options */
6443 #define SCREEN_SIZE_X 1
6444 #define SCREEN_SIZE_Y 1
6445 $_def_x11
6446 $_def_xv
6447 $_def_xvmc
6448 $_def_vm
6449 $_def_xinerama
6450 $_def_gl
6451 $_def_gl_win32
6452 $_def_dga
6453 $_def_dga2
6454 $_def_sdl
6455 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
6456 $_def_sdlbuggy
6457 $_def_directx
6458 $_def_ggi
6459 $_def_3dfx
6460 $_def_tdfxfb
6461 $_def_tdfxvid
6462 $_def_directfb
6463 $_def_directfb_version
6464 $_def_zr
6465 $_def_bl
6466 $_def_mga
6467 $_def_xmga
6468 $_def_syncfb
6469 $_def_fbdev
6470 $_def_dxr2
6471 $_def_dxr3
6472 $_def_dvb
6473 $_def_dvb_in
6474 $_def_svga
6475 $_def_vesa
6476 $_def_xdpms
6477 $_def_aa
6478 $_def_tga
6480 /* used by GUI: */
6481 $_def_xshape
6483 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
6484 #define X11_FULLSCREEN 1
6485 #endif
6487 #endif /* MPLAYER_CONFIG_H */
6490 #############################################################################
6492 echo "Creating libvo/config.mak"
6493 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
6494 cat > libvo/config.mak << EOF
6495 include ../config.mak
6496 OPTIONAL_SRCS = $_vosrc
6497 OPTIONAL_OBJS = $_voobj
6500 #############################################################################
6502 echo "Creating libao2/config.mak"
6503 _aoobj=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
6504 cat > libao2/config.mak << EOF
6505 include ../config.mak
6506 OPTIONAL_SRCS = $_aosrc
6507 OPTIONAL_OBJS = $_aoobj
6510 #############################################################################
6512 echo "Creating help_mp.h"
6513 cat > help_mp.h << EOF
6515 // WARNING! This is a generated file. Do NOT edit.
6516 // See the help/ subdir for the editable files.
6518 #include "$_mp_help"
6521 if test $_mp_help != "help/help_mp-en.h"; then
6522 echo "Adding untranslated messages to help_mp.h"
6523 echo '// untranslated messages from the english master-file:' >> help_mp.h
6524 help/help_diff.sh $_mp_help <help/help_mp-en.h >> help_mp.h
6527 #############################################################################
6529 cat << EOF
6531 Config files successfully generated by ./configure !
6533 Install prefix: $_prefix
6534 Data directory: $_datadir
6535 Config direct.: $_confdir
6537 Byte order: $_byte_order
6538 Optimizing for: $_optimizing
6540 Languages:
6541 Messages/GUI: $_language
6544 echo -n " Manual pages: $LANGUAGES"
6545 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
6546 echo
6548 cat << EOF
6550 Enabled optional drivers:
6551 Input: $_inputmodules
6552 Codecs: $_codecmodules
6553 Audio output: $_aomodules
6554 Video output: $_vomodules
6555 Disabled optional drivers:
6556 Input: $_noinputmodules
6557 Codecs: $_nocodecmodules
6558 Audio output: $_noaomodules
6559 Video output: $_novomodules
6561 'config.h' and 'config.mak' contain your configuration options.
6562 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
6563 compile *** DO NOT REPORT BUGS if you tweak these files ***
6565 'make' will now compile MPlayer and 'make install' will install it.
6566 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
6571 if test "$_mtrr" = yes ; then
6572 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/en/devices.html#mtrr)"
6573 echo
6576 if test "$_sdl" = "outdated" ; then
6577 cat <<EOF
6578 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
6579 support has therefore been disabled.
6581 Please upgrade to a more recent version (version 1.1.8 and above are known to
6582 work). You may get this library from: http://www.libsdl.org
6584 You need to rerun ./configure and recompile after updating SDL. If you are
6585 only interested in the libSDL audio drivers, then an older version might work.
6587 Use --enable-sdl to force usage of libSDL.
6592 if x86; then
6593 if test "$_win32" = no ; then
6594 if test "$_win32libdir" ; then
6595 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
6596 else
6597 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
6599 cat << EOF
6600 Create it and copy the DLL files there! You can download the codecs from our
6601 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
6605 else
6606 cat <<EOF
6607 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
6608 operating system ($system_name). You may encounter a few AVI files that
6609 cannot be played due to missing Open Source video/audio codec support.
6615 cat <<EOF
6617 Check $TMPLOG if you wonder why an autodetection failed (check whether
6618 the development headers/packages are installed).
6620 If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
6624 if test "$_vidix" = no ; then
6625 cat <<EOF
6626 You've disabled VIDIX. Although it would be better to PORT it instead.
6627 Have a look at the documentation for supported cards!
6632 # Last move:
6633 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"