added my nick
[mplayer/glamo.git] / configure
blobcde3e15519af55d486656003bf5ae6050ea34991
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-external-matroska build with external Matroska support [autodetect]
207 --disable-internal-matroska disable internal Matroska support [enabled]
208 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
209 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
210 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
211 --disable-mad disable libmad (MPEG audio) support [autodetect]
212 --enable-xmms build with XMMS inputplugin support [disabled]
213 --enable-flac build with FLAC support [autodetect]
214 --enable-external-flac build with external libFLAC [disable]
216 Video output:
217 --disable-vidix disable VIDIX [enable on x86 *nix]
218 --enable-gl build with OpenGL render support [autodetect]
219 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
220 --enable-vesa build with VESA support [autodetect]
221 --enable-svga build with SVGAlib support [autodetect]
222 --enable-sdl build with SDL render support [autodetect]
223 --enable-aa build with AAlib render support [autodetect]
224 --enable-ggi build with GGI render support [autodetect]
225 --enable-directx build with DirectX support [autodetect]
226 --enable-dxr2 build with DXR2 render support [autodetect]
227 --enable-dxr3 build with DXR3/H+ render support [autodetect]
228 --enable-dvb build with support for output via DVB-Card [autodetect]
229 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
230 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
231 (check for /dev/mga_vid) [autodetect]
232 --enable-xmga build with mga_vid X Window support
233 (check for X & /dev/mga_vid) [autodetect]
234 --enable-xv build with Xv render support for X 4.x [autodetect]
235 --enable-xvmc build with XvMC acceleration for X 4.x [autodetect]
236 --enable-vm build with XF86VidMode support for X11 [autodetect]
237 --enable-xinerama build with Xinerama support for X11 [autodetect]
238 --enable-x11 build with X11 render support [autodetect]
239 --enable-fbdev build with FBDev render support [autodetect]
240 --enable-mlib build with MLIB support (Solaris only) [autodetect]
241 --enable-3dfx build with obsolete /dev/3dfx support [disable]
242 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
243 --enable-directfb build with DirectFB support [autodetect]
244 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
245 --enable-bl build with Blinkenlights support [disable]
246 --enable-tdfxvid build with tdfx vid support [disable]
247 --disable-tga disable targa output support [enable]
249 Audio output:
250 --disable-ossaudio disable OSS sound support [autodetect]
251 --disable-arts disable aRts sound support [autodetect]
252 --disable-esd disable esd sound support [autodetect]
253 --disable-alsa disable alsa sound support [autodetect]
254 --disable-sunaudio disable Sun sound support [autodetect]
255 --disable-nas disable NAS sound support [autodetect]
256 --disable-win32waveout disable Windows waveout sound support [autodetect]
257 --disable-select disable using select() on audio device [enable]
259 Miscellaneous options:
260 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
261 --cc=COMPILER use this C compiler to build MPlayer [gcc]
262 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
263 --enable-static build a statically linked binary. Set further linking
264 options with --enable-static="-lslang -lncurses"
265 --language=list a white space or comma separated list of languages
266 for translated man pages, the first language is the
267 primary and therefore used for translated messages
268 and GUI (also the environment variable \$LINGUAS is
269 honored) [en]
270 (Available: $LANGUAGES all)
271 --enable-shared-pp install & use shared postprocessing lib
272 --with-install=PATH use a custom install program (useful if your OS uses
273 a GNU-incompatible install utility by default and
274 you want to use GNU version)
275 --install-path=PATH the path to a custom install program
276 this option is obsolete and will be removed soon,
277 use --with-install instead.
279 Advanced options:
280 --enable-mmx build with MMX support [autodetect]
281 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
282 --enable-3dnow build with 3DNow! support [autodetect]
283 --enable-3dnowex build with extended 3DNow! support [autodetect]
284 --enable-sse build with SSE support [autodetect]
285 --enable-sse2 build with SSE2 support [autodetect]
286 --enable-altivec build with Altivec support (PowerPC) [autodetect]
287 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
288 --enable-big-endian Force byte order to big endian [autodetect]
289 --enable-debug[=1-3] compile debugging information into mplayer [disable]
290 --enable-profile compile profiling information into mplayer [disable]
291 --disable-sighandler disable sighandler for crashes [enable]
292 --enable-i18n _experimental_ gnu gettext() support [autodetect]
293 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
295 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
296 --disable-gcc-checking disable gcc version checking [enable]
298 Use these options if autodetection fails:
299 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR
300 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR
301 --with-x11incdir=DIR X headers in DIR
302 --with-x11libdir=DIR X library files in DIR
303 --with-dxr2incdir=DIR DXR2 headers in DIR
304 --with-dvbincdir=DIR DVB headers in DIR
305 --with-madlibdir=DIR libmad (libmad shared library) in DIR
306 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
307 --with-codecsdir=DIR Binary codec files in DIR
308 --with-win32libdir=DIR W*ndows DLL files in DIR
309 --with-xanimlibdir=DIR XAnim DLL files in DIR
310 --with-reallibdir=DIR RealPlayer DLL files in DIR
311 --with-xvmclib=PATH path to adapter specific XvMCxxxxx.so (e.g. NVIDIA)
312 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR
313 --with-xvidincdir=DIR XviD header in DIR
315 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
316 --with-freetype-config=PATH path to freetype-config
317 (e.g. /opt/bin/freetype-config)
318 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
319 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
320 --with-livelibdir=DIR path to LIVE.COM Streaming Media libraries
321 --with-xmmsplugindir=DIR path to XMMS plugins
322 --with-xmmslibdir=DIR path to libxmms.so.1
323 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR
324 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR
325 --with-fribidi-config=PATH path to fribidi-config
326 (e.g. /opt/bin/fribidi-config)
329 exit 0
331 done # for parm in ...
334 # 1st pass checking for vital options
335 _install=install
336 _ranlib=ranlib
337 _cc=cc
338 test "$CC" && _cc="$CC"
339 _as=auto
340 _runtime_cpudetection=no
341 for ac_option do
342 case "$ac_option" in
343 --target=*)
344 _target=`echo $ac_option | cut -d '=' -f 2`
346 --cc=*)
347 _cc=`echo $ac_option | cut -d '=' -f 2`
349 --as=*)
350 _as=`echo $ac_option | cut -d '=' -f 2`
352 --enable-gcc-checking)
353 _skip_cc_check=no
355 --disable-gcc-checking)
356 _skip_cc_check=yes
358 --enable-static)
359 _ld_static='-static'
361 --disable-static)
362 _ld_static=''
364 --enable-static=*)
365 _ld_static="-static `echo $ac_option | cut -d '=' -f 2`"
367 --with-extraincdir=*)
368 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
370 --with-extralibdir=*)
371 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
372 # _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'`
374 --enable-runtime-cpudetection)
375 _runtime_cpudetection=yes
377 --disable-runtime-cpudetection)
378 _runtime_cpudetection=no
380 --install-path=*)
381 _install=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
383 --with-install=*)
384 _install=`echo $ac_option | cut -d '=' -f 2 `
386 esac
387 done
389 # Determine our OS name and CPU architecture
390 if test -z "$_target" ; then
391 # OS name
392 system_name=`( uname -s ) 2>&1`
393 case "$system_name" in
394 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU)
396 IRIX*)
397 system_name=IRIX
399 HP-UX*)
400 system_name=HP-UX
402 [cC][yY][gG][wW][iI][nN]*)
403 system_name=CYGWIN
405 MINGW32*)
406 system_name=MINGW32
408 MorphOS)
409 system_name=MorphOS
412 system_name="$system_name-UNKNOWN"
414 esac
417 # host's CPU/instruction set
418 host_arch=`( uname -p ) 2>&1`
419 case "$host_arch" in
420 i386|sparc|ppc|alpha|arm|mips|vax)
422 powerpc) # Darwin returns 'powerpc'
423 host_arch=ppc
425 *) # uname -p on Linux returns 'unknown' for the processor type,
426 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
428 # Maybe uname -m (machine hardware name) returns something we
429 # recognize.
431 # x86/x86pc is used by QNX
432 case "`( uname -m ) 2>&1`" in
433 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 ;;
434 ia64) host_arch=ia64 ;;
435 x86_64|amd64) host_arch=x86_64 ;;
436 ppc) host_arch=ppc ;;
437 alpha) host_arch=alpha ;;
438 sparc*) host_arch=sparc ;;
439 parisc*|hppa*|9000*) host_arch=hppa ;;
440 arm*) host_arch=arm ;;
441 s390) host_arch=s390 ;;
442 s390x) host_arch=s390x ;;
443 mips) host_arch=mips ;;
444 *) host_arch=UNKNOWN ;;
445 esac
447 esac
448 else
449 system_name=`echo $_target | cut -d '-' -f 2`
450 case "`echo $system_name | tr A-Z a-z`" in
451 linux) system_name=Linux ;;
452 freebsd) system_name=FreeBSD ;;
453 netbsd) system_name=NetBSD ;;
454 bsd/os) system_name=BSD/OS ;;
455 openbsd) system_name=OpenBSD ;;
456 sunos) system_name=SunOS ;;
457 qnx) system_name=QNX ;;
458 morphos) system_name=MorphOS ;;
459 esac
460 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
461 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
464 echo "Detected operating system: $system_name"
465 echo "Detected host architecture: $host_arch"
467 # LGB: temporary files
468 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
469 test "$I" && break
470 done
472 TMPLOG="configure.log"
473 rm -f "$TMPLOG"
474 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
475 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
476 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
477 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
479 # config files
481 # FIXME: A lot of stuff is installed under /usr/local
482 # NK: But we should never use this stuff implicitly since we call compiler
483 # from /usr we should be sure that there no effects from other compilers
484 # (libraries) which might be installed into /usr/local. Let users use this
485 # stuff explicitly as command line argument. In other words: It would be
486 # resonable to have only /usr/include or only /usr/local/include.
488 if freebsd ; then
489 _ld_extra="$_ld_extra -L/usr/local/lib"
490 _inc_extra="$_inc_extra -I/usr/local/include"
493 _ldd=ldd
494 if darwin; then
495 _ldd="otool -L"
498 # Checking CC version...
499 if test "$_skip_cc_check" != yes ; then
500 for _cc in "$_cc" gcc gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
501 echocheck "$_cc version"
502 cc_name=`( $_cc -v ) 2>&1 | tail -1 | cut -d ' ' -f 1`
503 cc_version=`( $_cc -dumpversion ) 2>&1`
504 if test "$?" -gt 0; then
505 cc_version="not found"
507 case $cc_version in
509 cc_version="v. ?.??, bad"
510 cc_verc_fail=yes
512 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9])
513 _cc_major=`echo $cc_version | cut -d '.' -f 1`
514 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
515 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
516 cc_version="$cc_version, ok"
517 cc_verc_fail=no
519 'not found')
520 cc_verc_fail=yes
523 cc_version="$cc_version, bad"
524 cc_verc_fail=yes
526 esac
527 echores "$cc_version"
528 (test "$cc_verc_fail" = "no") && break
529 done
530 if test "$cc_verc_fail" = yes ; then
531 cat <<EOF
533 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
535 You are not using a supported compiler. We do not have the time to make sure
536 everything works with compilers other than the ones we use. Use either the
537 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
538 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
540 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
541 mplayer and lame (which is used for mencoder). If you get compile errors,
542 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
543 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
544 bugs!
546 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
548 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
551 die "Bad gcc version"
553 else
554 cat <<EOF
556 ******************************************************************************
558 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
559 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
561 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
562 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
563 Lame which is used by mencoder produces weird errors, too.
565 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
566 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
568 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
570 ******************************************************************************
574 read _answer
577 # ---
579 # now that we know what compiler should be used for compilation, try to find
580 # out which assembler is used by the $_cc compiler
581 if test "$_as" = auto ; then
582 _as=`$_cc -print-prog-name=as`
583 test -z "$_as" && _as=as
586 # XXX: this should be ok..
587 _cpuinfo="echo"
588 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
589 # FIXME: Remove the cygwin check once AMD CPUs are supported
590 if test -r /proc/cpuinfo && not cygwin; then
591 # Linux with /proc mounted, extract CPU information from it
592 _cpuinfo="cat /proc/cpuinfo"
593 elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
594 # FreeBSD with Linux emulation /proc mounted,
595 # extract CPU information from it
596 _cpuinfo="cat /compat/linux/proc/cpuinfo"
597 elif darwin ; then
598 # use hostinfo on Darwin
599 _cpuinfo="hostinfo"
600 elif x86; then
601 # all other OSes try to extract CPU information from a small helper
602 # program TOOLS/cpuinfo instead
603 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
604 _cpuinfo="TOOLS/cpuinfo"
607 case "$host_arch" in
608 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
609 _def_arch="#define ARCH_X86 1"
610 _target_arch="TARGET_ARCH_X86 = yes"
612 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -1`
613 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
614 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
615 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
616 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
618 pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -1`
619 if test -z "$pparam" ; then
620 pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -1`
623 _mmx=no
624 _3dnow=no
625 _3dnowex=no
626 _mmx2=no
627 _sse=no
628 _sse2=no
629 _mtrr=no
631 for i in $pparam ; do
632 case "$i" in
633 3dnow) _3dnow=yes ;;
634 3dnowext) _3dnow=yes _3dnowex=yes ;;
635 mmx) _mmx=yes ;;
636 mmxext) _mmx2=yes ;;
637 mtrr|k6_mtrr|cyrix_arr) _mtrr=yes ;;
638 xmm|sse|kni) _sse=yes _mmx2=yes ;;
639 sse2) _sse2=yes ;;
640 esac
641 done
643 echocheck "CPU vendor"
644 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
646 echocheck "CPU type"
647 echores "$pname"
649 case "$pvendor" in
650 AuthenticAMD)
651 case "$pfamily" in
652 3) proc=i386 iproc=386 ;;
653 4) proc=i486 iproc=486 ;;
654 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
655 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
656 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
657 proc=k6-3
658 elif test "$pmodel" -ge 8; then
659 proc=k6-2
660 elif test "$pmodel" -ge 6; then
661 proc=k6
662 else
663 proc=i586
664 iproc=586
667 6) iproc=686
668 if test "$pmodel" -ge 7; then
669 proc=athlon-4
670 elif test "$pmodel" -ge 6; then
671 # only Athlon XP supports ssem MP, Duron etc not
672 # but most of them are CPUID 666, so check if sse detected
673 # btw. there is also athlon-mp opt, but we need extended
674 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
675 if test "$_sse" = yes && test "$pstepping" -ge 2; then
676 proc=athlon-xp
677 else
678 proc=athlon-4
680 elif test "$pmodel" -ge 4; then
681 proc=athlon-tbird
682 else
683 proc=athlon # TODO: should the Duron Spitfire be considered a Thunderbird instead?
687 *) proc=athlon-xp iproc=686 ;;
688 esac
690 GenuineIntel)
691 case "$pfamily" in
692 3) proc=i386 iproc=386 ;;
693 4) proc=i486 iproc=486 ;;
694 5) iproc=586
695 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
696 proc=pentium-mmx # 4 is desktop, 8 is mobile
697 else
698 proc=i586
701 6) iproc=686
702 if test "$pmodel" -ge 7; then
703 proc=pentium3
704 elif test "$pmodel" -ge 3; then
705 proc=pentium2
706 else
707 proc=i686
710 15) proc=pentium4 iproc=686 ;;
711 *) proc=pentium4 iproc=686 ;;
712 esac
714 unknown)
715 case "$pfamily" in
716 3) proc=i386 iproc=386 ;;
717 4) proc=i486 iproc=486 ;;
718 *) proc=i586 iproc=586 ;;
719 esac
722 proc=i586 iproc=586 ;;
723 esac
725 # check that gcc supports our CPU, if not, fall back to earlier ones
726 # LGB: check -mcpu and -march swithing step by step with enabling
727 # to fall back till 386.
729 echocheck "GCC & CPU optimization abilities"
730 cat > $TMPC << EOF
731 int main(void) { return 0; }
733 if test "$_runtime_cpudetection" = no ; then
734 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
735 cc_check -march=$proc -mcpu=$proc || proc=athlon
737 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
738 cc_check -march=$proc -mcpu=$proc || proc=k6
740 if test "$proc" = "k6"; then
741 if not cc_check -march=$proc -mcpu=$proc; then
742 if cc_check -march=i586 -mcpu=i686; then
743 proc=i586-i686
744 else
745 proc=i586
749 if test "$proc" = "pentium4" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon"; then
750 cc_check -march=$proc -mcpu=$proc || proc=i686
752 if test "$proc" = "i686" || test "$proc" = "pentium-mmx"; then
753 cc_check -march=$proc -mcpu=$proc || proc=i586
755 if test "$proc" = "i586" ; then
756 cc_check -march=$proc -mcpu=$proc || proc=i486
758 if test "$proc" = "i486" ; then
759 cc_check -march=$proc -mcpu=$proc || proc=i386
761 if test "$proc" = "i386" ; then
762 cc_check -march=$proc -mcpu=$proc || proc=error
764 if test "$proc" = "error" ; then
765 echores "Your $_cc does not even support \"i386\" for '-march' and '-mcpu'."
766 _mcpu=""
767 _march=""
768 _optimizing=""
769 elif test "$proc" = "i586-i686"; then
770 _march="-march=i586"
771 _mcpu="-mcpu=i686"
772 _optimizing="$proc"
773 else
774 _march="-march=$proc"
775 _mcpu="-mcpu=$proc"
776 _optimizing="$proc"
778 else
779 # i686 is probably the most common CPU - optimize for it
780 _mcpu="-mcpu=i686"
781 # at least i486 required, for bswap instruction
782 _march="-march=i486"
783 cc_check $_mcpu || _mcpu=""
784 cc_check $_march $_mcpu || _march=""
787 ## Gabucino : --target takes effect here (hopefully...) by overwriting
788 ## autodetected mcpu/march parameters
789 if test "$_target" ; then
790 # TODO: it may be a good idea to check GCC and fall back in all cases
791 if test "$host_arch" = "i586-i686"; then
792 _march="-march=i586"
793 _mcpu="-mcpu=i686"
794 else
795 _march="-march=$host_arch"
796 _mcpu="-mcpu=$host_arch"
799 proc="$host_arch"
801 case "$proc" in
802 i386) iproc=386 ;;
803 i486) iproc=486 ;;
804 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
805 i686|athlon*|pentium*) iproc=686 ;;
806 *) iproc=586 ;;
807 esac
810 echores "$proc"
813 ia64)
814 _def_arch='#define ARCH_IA64 1'
815 _target_arch='TARGET_ARCH_IA64 = yes'
816 iproc='ia64'
817 proc=''
818 _march=''
819 _mcpu=''
820 _optimizing=''
823 x86_64)
824 _def_arch='#define ARCH_X86_64 1'
825 _target_arch='TARGET_ARCH_X86_64 = yes'
826 iproc='x86_64'
827 proc=''
828 _march=''
829 _mcpu=''
830 _optimizing=''
833 sparc)
834 _def_arch='#define ARCH_SPARC 1'
835 _target_arch='TARGET_ARCH_SPARC = yes'
836 iproc='sparc'
837 proc='v8'
838 _march=''
839 _mcpu="-mcpu=$proc"
840 _optimizing="$proc"
843 arm|armv4l|armv5tel)
844 _def_arch='#define ARCH_ARMV4L 1'
845 _target_arch='TARGET_ARCH_ARMV4L = yes'
846 iproc='arm'
847 proc=''
848 _march=''
849 _mcpu=''
850 _optimizing=''
853 ppc)
854 _def_arch='#define ARCH_POWERPC 1'
855 _target_arch='TARGET_ARCH_POWERPC = yes'
856 iproc='ppc'
857 proc=''
858 _march=''
859 _mcpu=''
860 _optimizing=''
861 _altivec=no
863 echocheck "CPU type"
864 if linux && test -n "$_cpuinfo"; then
865 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -1`
866 if test -n "`$_cpuinfo | grep altivec`"; then
867 _altivec=yes
870 if darwin ; then
871 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
872 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
873 _altivec=yes
875 if [ `sysctl -n hw.optional.altivec` -eq 1 ]; then
876 _altivec=yes
879 if test "$_altivec" = yes; then
880 echores "$proc altivec"
881 else
882 echores "$proc"
885 echocheck "GCC & CPU optimization abilities"
887 if test -n "$proc"; then
888 case "$proc" in
889 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
890 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
891 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
892 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
893 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
894 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
895 *) ;;
896 esac
897 # gcc 3.1(.1) and up supports 7400 and 7450
898 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1"; then
899 case "$proc" in
900 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
901 7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
902 *) ;;
903 esac
905 # gcc 3.2 and up supports 970
906 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3"; then
907 case "$proc" in
908 970*) _march='-mcpu=970' _mcpu='-mtune=970' ;;
909 *) ;;
910 esac
914 if test -n "$_mcpu"; then
915 _optimizing=`echo $_mcpu | cut -c 8-`
916 echores "$_optimizing"
917 else
918 echores "none"
923 alpha)
924 _def_arch='#define ARCH_ALPHA 1'
925 _target_arch='TARGET_ARCH_ALPHA = yes'
926 iproc='alpha'
927 _march=''
929 echocheck "CPU type"
930 cat > $TMPC << EOF
931 int main() {
932 unsigned long ver, mask;
933 asm ("implver %0" : "=r" (ver));
934 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
935 printf("%ld-%x\n", ver, ~mask);
936 return 0;
939 $_cc -o "$TMPO" "$TMPC"
940 case `"$TMPO"` in
942 0-0) proc="ev4"; cpu_understands_mvi="0";;
943 1-0) proc="ev5"; cpu_understands_mvi="0";;
944 1-1) proc="ev56"; cpu_understands_mvi="0";;
945 1-101) proc="pca56"; cpu_understands_mvi="1";;
946 2-303) proc="ev6"; cpu_understands_mvi="1";;
947 2-307) proc="ev67"; cpu_understands_mvi="1";;
948 2-1307) proc="ev68"; cpu_understands_mvi="1";;
949 esac
950 echores "$proc"
952 echocheck "GCC & CPU optimization abilities"
953 if test "$proc" = "ev68" ; then
954 cc_check -mcpu=$proc || proc=ev67
956 if test "$proc" = "ev67" ; then
957 cc_check -mcpu=$proc || proc=ev6
959 _mcpu="-mcpu=$proc"
960 echores "$proc"
962 _optimizing="$proc"
964 echocheck "MVI instruction support in GCC"
965 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
966 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
967 echores "yes"
968 else
969 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
970 echores "no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
974 mips)
975 _def_arch='#define ARCH_SGI_MIPS 1'
976 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
977 iproc='sgi-mips'
978 proc=''
979 _march=''
980 _mcpu=''
981 _optimizing=''
983 if irix ; then
984 echocheck "CPU type"
985 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
986 case "`echo $proc`" in
987 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
988 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
989 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
990 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
991 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
992 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
993 esac
994 echores "$proc"
999 hppa)
1000 _def_arch='#define ARCH_PA_RISC 1'
1001 _target_arch='TARGET_ARCH_PA_RISC = yes'
1002 iproc='PA-RISC'
1003 proc=''
1004 _march=''
1005 _mcpu=''
1006 _optimizing=''
1009 s390)
1010 _def_arch='#define ARCH_S390 1'
1011 _target_arch='TARGET_ARCH_S390 = yes'
1012 iproc='390'
1013 proc=''
1014 _march=''
1015 _mcpu=''
1016 _optimizing=''
1019 s390x)
1020 _def_arch='#define ARCH_S390X 1'
1021 _target_arch='TARGET_ARCH_S390X = yes'
1022 iproc='390x'
1023 proc=''
1024 _march=''
1025 _mcpu=''
1026 _optimizing=''
1029 vax)
1030 _def_arch='#define ARCH_VAX 1'
1031 _target_arch='TARGET_ARCH_VAX = yes'
1032 iproc='vax'
1033 proc=''
1034 _march=''
1035 _mcpu=''
1036 _optimizing=''
1040 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1041 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1042 die "unsupported architecture $host_arch"
1044 esac
1046 if test "$_runtime_cpudetection" = yes ; then
1047 if x86; then
1048 _mmx=yes
1049 _3dnow=yes
1050 _3dnowex=yes
1051 _mmx2=yes
1052 _sse=yes
1053 _sse2=yes
1054 _mtrr=yes
1056 if ppc; then
1057 _altivec=yes
1061 if x86 && test "$_runtime_cpudetection" = no ; then
1062 extcheck() {
1063 if test "$1" = yes ; then
1064 echocheck "kernel support of $2"
1065 cat > $TMPC <<EOF
1066 #include <signal.h>
1067 void catch() { exit(1); }
1068 int main(void){
1069 signal(SIGILL, catch);
1070 __asm__ __volatile__ ("$3":::"memory");return(0);
1074 if ( cc_check && $TMPO ) > /dev/null 2>&1 ; then
1075 echores "yes"
1076 _optimizing="$_optimizing $2"
1077 return 0
1078 else
1079 echores "failed"
1080 echo "It seems that your kernel does not correctly support $2."
1081 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1082 return 1
1085 return 0
1088 extcheck $_mmx "mmx" "emms" || _mmx=no
1089 extcheck $_mmx2 "mmx2" "sfence" || _mmx2=no
1090 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1091 extcheck $_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex=no
1092 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1093 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1094 echocheck "mtrr support"
1095 echores "$_mtrr"
1097 if test "$_mtrr" = yes ; then
1098 _optimizing="$_optimizing mtrr"
1101 if test "$_gcc3_ext" != ""; then
1102 # if we had to disable sse/sse2 because the active kernel does not
1103 # support this instruction set extension, we also have to tell
1104 # gcc3 to not generate sse/sse2 instructions for normal C code
1105 cat > $TMPC << EOF
1106 int main(void) { return 0; }
1108 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1114 _prefix="/usr/local"
1115 _xvmclib="XvMCNVIDIA"
1117 # GOTCHA: the variables below defines the default behavior for autodetection
1118 # and have - unless stated otherwise - at least 2 states : yes no
1119 # If autodetection is available then the third state is: auto
1120 _libavcodec=auto
1121 _libavcodecso=auto
1122 _fame=auto
1123 _mp1e=no
1124 _mencoder=yes
1125 _x11=auto
1126 _dga=auto # 1 2 no auto
1127 _xv=auto
1128 _xvmc=no #auto when complete
1129 _sdl=auto
1130 _directx=auto
1131 _win32waveout=auto
1132 _nas=auto
1133 _png=auto
1134 _jpg=auto
1135 _gif=auto
1136 _gl=auto
1137 _ggi=auto
1138 _aa=auto
1139 _svga=auto
1140 _vesa=auto
1141 _fbdev=auto
1142 _dvb=auto
1143 _dvbhead=auto
1144 _dxr2=auto
1145 _dxr3=auto
1146 _iconv=auto
1147 _rtc=auto
1148 _ossaudio=auto
1149 _arts=auto
1150 _esd=auto
1151 _liblzo=auto
1152 _mad=auto
1153 _vorbis=auto
1154 _theora=auto
1155 _matroska_internal=yes
1156 _matroska_external=auto
1157 _tremor=no
1158 _faad_internal=auto
1159 _faad_external=auto
1160 _xmms=no
1161 _flac=auto
1162 _external_flac=auto
1163 # dvdnav disabled, it does not work
1164 #_dvdnav=no
1165 _dvdread=auto
1166 _dvdkit=auto
1167 _xanim=auto
1168 _real=auto
1169 _live=no
1170 _xinerama=auto
1171 _mga=auto
1172 _xmga=auto
1173 _vm=auto
1174 _mlib=auto
1175 _sgiaudio=auto
1176 _sunaudio=auto
1177 _alsa=auto
1178 _fastmemcpy=yes
1179 _unrarlib=yes
1180 _win32=auto
1181 _dshow=yes
1182 _select=yes
1183 _tv=yes
1184 _tv_v4l=auto
1185 _tv_v4l2=auto
1186 _tv_bsdbt848=auto
1187 _edl=yes
1188 _network=yes
1189 _winsock2=auto
1190 _smbsupport=auto
1191 _vidix=auto
1192 _joystick=no
1193 _xvid=auto
1194 _divx4linux=auto
1195 _opendivx=no
1196 _lirc=auto
1197 _lircc=auto
1198 _gui=no
1199 _termcap=auto
1200 _termios=auto
1201 _3dfx=no
1202 _tdfxfb=no
1203 _tdfxvid=no
1204 _tga=yes
1205 _directfb=auto
1206 _zr=auto
1207 _bl=no
1208 _largefiles=no
1209 #_language=en
1210 _shm=auto
1211 _linux_devfs=no
1212 _i18n=auto
1213 _dynamic_plugins=no
1214 _setlocale=auto
1215 _sighandler=yes
1216 _libdv=auto
1217 _cdparanoia=auto
1218 _big_endian=auto
1219 _freetype=auto
1220 _fontconfig=auto
1221 _shared_pp=no
1222 _menu=no
1223 _qtx=auto
1224 _macosx=auto
1225 _sortsub=yes
1226 _freetypeconfig='freetype-config'
1227 _fribidi=no
1228 _fribidiconfig='fribidi-config'
1229 _inet6=auto
1230 _gethostbyname2=auto
1231 _ftp=yes
1232 for ac_option do
1233 case "$ac_option" in
1234 # Skip 1st pass
1235 --target=*) ;;
1236 --cc=*) ;;
1237 --as=*) ;;
1238 --enable-gcc-checking) ;;
1239 --disable-gcc-checking) ;;
1240 --enable-static*) ;;
1241 --disable-static*) ;;
1242 --with-extraincdir=*) ;;
1243 --with-extralibdir=*) ;;
1244 --enable-runtime-cpudetection) ;;
1245 --disable-runtime-cpudetection) ;;
1246 --install-path=*) ;;
1247 --with-install=*) ;;
1249 # Real 2nd pass
1250 --enable-mencoder) _mencoder=yes ;;
1251 --disable-mencoder) _mencoder=no ;;
1252 --enable-i18n) _i18n=yes ;;
1253 --disable-i18n) _i18n=no ;;
1254 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1255 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1256 --enable-setlocale) _setlocale=yes ;;
1257 --disable-setlocale) _setlocale=no ;;
1258 --enable-x11) _x11=yes ;;
1259 --disable-x11) _x11=no ;;
1260 --enable-xv) _xv=yes ;;
1261 --disable-xv) _xv=no ;;
1262 --enable-xvmc) _xvmc=yes ;;
1263 --disable-xvmc) _xvmc=no ;;
1264 --enable-sdl) _sdl=yes ;;
1265 --disable-sdl) _sdl=no ;;
1266 --enable-directx) _directx=yes ;;
1267 --disable-directx) _directx=no ;;
1268 --enable-win32waveout) _win32waveout=yes ;;
1269 --disable-win32waveout) _win32waveout=no ;;
1270 --enable-nas) _nas=yes ;;
1271 --disable-nas) _nas=no ;;
1272 --enable-png) _png=yes ;;
1273 --disable-png) _png=no ;;
1274 --enable-jpeg) _jpg=yes ;;
1275 --disable-jpeg) _jpg=no ;;
1276 --enable-gif) _gif=yes ;;
1277 --disable-gif) _gif=no ;;
1278 --enable-gl) _gl=yes ;;
1279 --disable-gl) _gl=no ;;
1280 --enable-ggi) _ggi=yes ;;
1281 --disable-ggi) _ggi=no ;;
1282 --enable-aa) _aa=yes ;;
1283 --disable-aa) _aa=no ;;
1284 --enable-svga) _svga=yes ;;
1285 --disable-svga) _svga=no ;;
1286 --enable-vesa) _vesa=yes ;;
1287 --disable-vesa) _vesa=no ;;
1288 --enable-fbdev) _fbdev=yes ;;
1289 --disable-fbdev) _fbdev=no ;;
1290 --enable-dvb) _dvb=yes ;;
1291 --disable-dvb) _dvb=no ;;
1292 --enable-dvbhead) _dvbhead=yes ;;
1293 --disable-dvbhead) _dvbhead=no ;;
1294 --enable-dxr2) _dxr2=yes ;;
1295 --disable-dxr2) _dxr2=no ;;
1296 --enable-dxr3) _dxr3=yes ;;
1297 --disable-dxr3) _dxr3=no ;;
1298 --enable-iconv) _iconv=yes ;;
1299 --disable-iconv) _iconv=no ;;
1300 --enable-rtc) _rtc=yes ;;
1301 --disable-rtc) _rtc=no ;;
1302 --enable-mp1e) _mp1e=yes ;;
1303 --disable-mp1e) _mp1e=no ;;
1304 --enable-libdv) _libdv=yes ;;
1305 --disable-libdv) _libdv=no ;;
1306 --enable-ossaudio) _ossaudio=yes ;;
1307 --disable-ossaudio) _ossaudio=no ;;
1308 --enable-arts) _arts=yes ;;
1309 --disable-arts) _arts=no ;;
1310 --enable-esd) _esd=yes ;;
1311 --disable-esd) _esd=no ;;
1312 --enable-mad) _mad=yes ;;
1313 --disable-mad) _mad=no ;;
1314 --enable-liblzo) _liblzo=yes ;;
1315 --disable-liblzo) _liblzo=no ;;
1316 --enable-vorbis) _vorbis=yes ;;
1317 --disable-vorbis) _vorbis=no ;;
1318 --enable-tremor) _tremor=yes ;;
1319 --disable-tremor) _tremor=no ;;
1320 --enable-theora) _theora=yes ;;
1321 --disable-theora) _theora=no ;;
1322 --enable-internal-matroska) _matroska_internal=yes _matroska_external=no ;;
1323 --disable-internal-matroska) _matroska_internal=no ;;
1324 --enable-external-matroska) _matroska_internal=no _matroska_external=yes ;;
1325 --disable-external-matroska) _matroska_external=no ;;
1326 --enable-internal-faad) _faad_internal=yes _faad_external=no ;;
1327 --disable-internal-faad) _faad_internal=no ;;
1328 --enable-external-faad) _faad_external=yes _faad_internal=no ;;
1329 --disable-external-faad) _faad_external=no ;;
1330 --enable-xmms) _xmms=yes ;;
1331 --disable-xmms) _xmms=no ;;
1332 --enable-flac) _flac=yes ;;
1333 --disable-flac) _flac=no ;;
1334 --enable-external-flac) _external_flac=yes ;;
1335 --disable-external-flac) _external_flac=no ;;
1336 --enable-dvdread) _dvdread=yes ;;
1337 --disable-dvdread) _dvdread=no ;;
1338 --enable-mpdvdkit) _dvdkit=yes ;;
1339 --disable-mpdvdkit) _dvdkit=no ;;
1340 # dvdnav disabled, it does not work
1341 # --enable-dvdnav) _dvdnav=yes ;;
1342 # --disable-dvdnav) _dvdnav=no ;;
1343 --enable-xanim) _xanim=yes ;;
1344 --disable-xanim) _xanim=no ;;
1345 --enable-real) _real=yes ;;
1346 --disable-real) _real=no ;;
1347 --enable-live) _live=yes ;;
1348 --disable-live) _live=no ;;
1349 --enable-xinerama) _xinerama=yes ;;
1350 --disable-xinerama) _xinerama=no ;;
1351 --enable-mga) _mga=yes ;;
1352 --disable-mga) _mga=no ;;
1353 --enable-xmga) _xmga=yes ;;
1354 --disable-xmga) _xmga=no ;;
1355 --enable-vm) _vm=yes ;;
1356 --disable-vm) _vm=no ;;
1357 --enable-mlib) _mlib=yes ;;
1358 --disable-mlib) _mlib=no ;;
1359 --enable-sunaudio) _sunaudio=yes ;;
1360 --disable-sunaudio) _sunaudio=no ;;
1361 --enable-sgiaudio) _sgiaudio=yes ;;
1362 --disable-sgiaudio) _sgiaudio=no ;;
1363 --enable-alsa) _alsa=yes ;;
1364 --disable-alsa) _alsa=no ;;
1365 --enable-tv) _tv=yes ;;
1366 --disable-tv) _tv=no ;;
1367 --enable-edl) _edl=yes ;;
1368 --disable-edl) _edl=no ;;
1369 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1370 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1371 --enable-tv-v4l) _tv_v4l=yes ;;
1372 --disable-tv-v4l) _tv_v4l=no ;;
1373 --enable-tv-v4l2) _tv_v4l2=yes ;;
1374 --disable-tv-v4l2) _tv_v4l2=no ;;
1375 --enable-fastmemcpy) _fastmemcpy=yes ;;
1376 --disable-fastmemcpy) _fastmemcpy=no ;;
1377 --enable-network) _network=yes ;;
1378 --disable-network) _network=no ;;
1379 --enable-winsock2) _winsock2=yes ;;
1380 --disable-winsock2) _winsock2=no ;;
1381 --enable-smb) _smbsupport=yes ;;
1382 --disable-smb) _smbsupport=no ;;
1383 --enable-vidix) _vidix=yes ;;
1384 --disable-vidix) _vidix=no ;;
1385 --enable-joystick) _joystick=yes ;;
1386 --disable-joystick) _joystick=no ;;
1387 --enable-xvid) _xvid=yes ;;
1388 --disable-xvid) _xvid=no ;;
1389 --enable-divx4linux) _divx4linux=yes ;;
1390 --disable-divx4linux) _divx4linux=no ;;
1391 --enable-opendivx) _opendivx=yes ;;
1392 --disable-opendivx) _opendivx=no ;;
1393 --enable-libavcodec) _libavcodec=yes ;;
1394 --disable-libavcodec) _libavcodec=no ;;
1395 --enable-libfame) _fame=yes ;;
1396 --disable-libfame) _fame=no ;;
1397 --enable-lirc) _lirc=yes ;;
1398 --disable-lirc) _lirc=no ;;
1399 --enable-lircc) _lircc=yes ;;
1400 --disable-lircc) _lircc=no ;;
1401 --enable-gui) _gui=yes ;;
1402 --disable-gui) _gui=no ;;
1403 --enable-termcap) _termcap=yes ;;
1404 --disable-termcap) _termcap=no ;;
1405 --enable-termios) _termios=yes ;;
1406 --disable-termios) _termios=no ;;
1407 --enable-3dfx) _3dfx=yes ;;
1408 --disable-3dfx) _3dfx=no ;;
1409 --enable-tdfxfb) _tdfxfb=yes ;;
1410 --disable-tdfxvid) _tdfxvid=no ;;
1411 --enable-tdfxvid) _tdfxvid=yes ;;
1412 --disable-tga) _tga=no ;;
1413 --enable-tga) _tga=yes ;;
1414 --disable-tdfxfb) _tdfxfb=no ;;
1415 --enable-directfb) _directfb=yes ;;
1416 --disable-directfb) _directfb=no ;;
1417 --enable-zr) _zr=yes ;;
1418 --disable-zr) _zr=no ;;
1419 --enable-bl) _bl=yes ;;
1420 --disable-bl) _bl=no ;;
1421 --enable-mtrr) _mtrr=yes ;;
1422 --disable-mtrr) _mtrr=no ;;
1423 --enable-largefiles) _largefiles=yes ;;
1424 --disable-largefiles) _largefiles=no ;;
1425 --enable-shm) _shm=yes ;;
1426 --disable-shm) _shm=no ;;
1427 --enable-select) _select=yes ;;
1428 --disable-select) _select=no ;;
1429 --enable-linux-devfs) _linux_devfs=yes ;;
1430 --disable-linux-devfs) _linux_devfs=no ;;
1431 --enable-cdparanoia) _cdparanoia=yes ;;
1432 --disable-cdparanoia) _cdparanoia=no ;;
1433 --enable-big-endian) _big_endian=yes ;;
1434 --disable-big-endian) _big_endian=no ;;
1435 --enable-freetype) _freetype=yes ;;
1436 --disable-freetype) _freetype=no ;;
1437 --enable-fontconfig) _fontconfig=yes ;;
1438 --disable-fontconfig) _fontconfig=no ;;
1439 --enable-unrarlib) _unrarlib=yes ;;
1440 --disable-unrarlib) _unrarlib=no ;;
1441 --enable-ftp) _ftp=yes ;;
1442 --disable-ftp) _ftp=no ;;
1444 --enable-fribidi) _fribidi=yes ;;
1445 --disable-fribidi) _fribidi=no ;;
1447 --enable-inet6) _inet6=yes ;;
1448 --disable-inet6) _inet6=no ;;
1450 --enable-gethostbyname2) _gethostbyname2=yes ;;
1451 --disable-gethostbyname2) _gethostbyname2=no ;;
1453 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
1454 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
1455 --disable-dga) _dga=no ;;
1457 --enable-shared-pp) _shared_pp=yes ;;
1458 --disable-shared-pp) _shared_pp=no ;;
1460 --enable-menu) _menu=yes ;;
1461 --disable-menu) _menu=no ;;
1463 --enable-qtx) _qtx=yes ;;
1464 --disable-qtx) _qtx=no ;;
1466 --enable-macosx) _macosx=yes ;;
1467 --disable-macosx) _macosx=no ;;
1469 --enable-sortsub) _sortsub=yes ;;
1470 --disable-sortsub) _sortsub=no ;;
1472 --language=*)
1473 _language=`echo $ac_option | cut -d '=' -f 2`
1475 # dvdnav disabled, it does not work
1476 # --with-libdvdnav=*)
1477 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1478 # _dvdnav=yes
1479 # ;;
1481 --with-codecsdir=*)
1482 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1483 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1484 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1486 --with-win32libdir=*)
1487 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1488 _win32=yes
1490 --with-xanimlibdir=*)
1491 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1492 _xanim=yes
1494 --with-reallibdir=*)
1495 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1496 _real=yes
1498 --with-livelibdir=*)
1499 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
1500 _live=yes
1502 --with-mlibdir=*)
1503 _mlibdir=`echo $ac_option | cut -d '=' -f 2`
1504 _mlib=yes
1507 --with-xmmslibdir=*)
1508 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
1511 --with-xmmsplugindir=*)
1512 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
1515 --disable-profile)
1516 _profile=
1518 --enable-profile)
1519 _profile='-p'
1521 --enable-debug)
1522 _debug='-g'
1524 --enable-debug=*)
1525 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1527 --disable-sighandler)
1528 _sighandler=no
1531 --enable-sse) _sse=yes ;;
1532 --disable-sse) _sse=no ;;
1533 --enable-sse2) _sse2=yes ;;
1534 --disable-sse2) _sse2=no ;;
1535 --enable-mmx2) _mmx2=yes ;;
1536 --disable-mmx2) _mmx2=no ;;
1537 --enable-3dnow) _3dnow=yes ;;
1538 --disable-3dnow) _3dnow=no _3dnowex=no ;;
1539 --enable-3dnowex) _3dnow=yes _3dnowex=yes ;;
1540 --disable-3dnowex) _3dnowex=no ;;
1541 --enable-altivec) _altivec=yes ;;
1542 --disable-altivec) _altivec=no ;;
1543 --enable-mmx) _mmx=yes ;;
1544 --disable-mmx) # 3Dnow! and MMX2 require MMX
1545 _3dnow=no _3dnowex=no _mmx=no _mmx2=no ;;
1547 --enable-win32) _win32=yes ;;
1548 --disable-win32) _win32=no _dshow=no ;;
1549 --enable-dshow) _win32=yes _dshow=yes ;;
1550 --disable-dshow) _dshow=no ;;
1552 --with-x11incdir=*)
1553 _inc_x11=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1555 --with-x11libdir=*)
1556 _ld_x11=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1558 --with-dxr2incdir=*)
1559 _inc_dxr2=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1561 --with-xvmclib=*)
1562 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
1564 --with-dvbincdir=*)
1565 _inc_dvb=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1567 --with-xvidlibdir=*)
1568 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1570 --with-xvidincdir=*)
1571 _inc_xvid=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1573 --with-sdl-config=*)
1574 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
1576 --with-freetype-config=*)
1577 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
1579 --with-fribidi-config=*)
1580 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
1582 --with-gtk-config=*)
1583 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
1585 --with-glib-config=*)
1586 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
1588 # dvdnav disabled, it does not work
1589 # --with-dvdnav-config=*)
1590 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1591 # ;;
1592 --with-madlibdir=*)
1593 _ld_mad=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1595 --with-cdparanoiaincdir=*)
1596 _inc_cdparanoia=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1598 --with-cdparanoialibdir=*)
1599 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1601 --with-termcaplib=*)
1602 _ld_termcap=-l`echo $ac_option | cut -d '=' -f 2`
1603 _termcap=yes
1605 --prefix=*)
1606 _prefix=`echo $ac_option | cut -d '=' -f 2`
1608 --bindir=*)
1609 _bindir=`echo $ac_option | cut -d '=' -f 2`
1611 --datadir=*)
1612 _datadir=`echo $ac_option | cut -d '=' -f 2`
1614 --mandir=*)
1615 _mandir=`echo $ac_option | cut -d '=' -f 2`
1617 --confdir=*)
1618 _confdir=`echo $ac_option | cut -d '=' -f 2`
1620 --libdir=*)
1621 _libdir=`echo $ac_option | cut -d '=' -f 2`
1625 echo "Unknown parameter: $ac_option"
1626 exit 1
1629 esac
1630 done
1632 # Atmos: moved this here, to be correct, if --prefix is specified
1633 test -z "$_bindir" && _bindir="$_prefix/bin"
1634 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1635 test -z "$_mandir" && _mandir="$_prefix/man"
1636 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1637 test -z "$_libdir" && _libdir="$_prefix/lib"
1638 test -z "$_mlibdir" && _mlibdir="$MLIBHOME"
1640 if x86 ; then
1641 # Checking assembler (_as) compatibility...
1642 # Added workaround for older as that reads from stdin by default - atmos
1643 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1644 echocheck "assembler ($_as $as_version)"
1646 _pref_as_version='2.9.1'
1647 echo 'nop' > $TMPS
1648 if test "$_mmx" = yes ; then
1649 echo 'emms' >> $TMPS
1651 if test "$_3dnow" = yes ; then
1652 _pref_as_version='2.10.1'
1653 echo 'femms' >> $TMPS
1655 if test "$_3dnowex" = yes ; then
1656 _pref_as_version='2.10.1'
1657 echo 'pswapd %mm0, %mm0' >> $TMPS
1659 if test "$_mmx2" = yes ; then
1660 _pref_as_version='2.10.1'
1661 echo 'movntq %mm0, (%eax)' >> $TMPS
1663 if test "$_sse" = yes ; then
1664 _pref_as_version='2.10.1'
1665 echo 'xorps %xmm0, %xmm0' >> $TMPS
1667 #if test "$_sse2" = yes ; then
1668 # _pref_as_version='2.11'
1669 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1671 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
1673 if test "$as_verc_fail" != yes ; then
1674 echores "ok"
1675 else
1676 echores "failed"
1677 echo "Upgrade binutils to ${_pref_as_version} ..."
1678 die "obsolete binutils version"
1682 if ppc ; then
1684 # check if altivec is supported by the compiler, and how to enable it
1686 _altivec_gcc_flags=''
1688 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1689 echocheck "GCC altivec support"
1691 p=''
1692 cat > $TMPC << EOF
1693 int main() {
1694 return 0;
1697 FSF_flags='-maltivec -mabi=altivec'
1698 Darwin_flags='-faltivec'
1700 # check for Darwin-style flags first, since
1701 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1702 # accepts but ignores FSF-style flags...
1704 if test -z "$p"; then
1705 cc_check $Darwin_flags && p='Darwin'
1707 if test -z "$p"; then
1708 cc_check $FSF_flags && p='FSF'
1711 case $p in
1712 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
1713 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
1714 *) _altivec=no ;;
1715 esac
1717 if test -z "$p"; then
1718 p=none
1719 else
1720 p="$p-style ($_altivec_gcc_flags)"
1723 echores "$p"
1726 # check if <altivec.h> should be included
1728 _def_altivec_h='#undef HAVE_ALTIVEC_H'
1730 if test "$_altivec" = yes ; then
1731 echocheck "altivec.h"
1732 cat > $TMPC << EOF
1733 #include <altivec.h>
1734 int main(void) { return 0; }
1736 _have_altivec_h=no
1737 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
1738 if test "$_have_altivec_h" = yes ; then
1739 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
1741 echores "$_have_altivec_h"
1744 # disable runtime cpudetection if
1745 # - we cannot generate altivec code
1746 # - altivec is disabled by the user
1748 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
1749 _runtime_cpudetection=no
1752 # show that we are optimizing for altivec (if enabled and supported)
1754 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
1755 _optimizing="$_optimizing altivec"
1758 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1760 if test "$_altivec" = yes ; then
1761 _mcpu="$_mcpu $_altivec_gcc_flags"
1764 # setup _def_altivec correctly
1766 if test "$_altivec" = yes ; then
1767 _def_altivec='#define HAVE_ALTIVEC 1'
1768 else
1769 _def_altivec='#undef HAVE_ALTIVEC'
1773 _def_mmx='#undef HAVE_MMX'
1774 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
1775 _def_mmx2='#undef HAVE_MMX2'
1776 test "$_mmx2" = yes && _def_mmx2='#define HAVE_MMX2 1'
1777 _def_3dnow='#undef HAVE_3DNOW'
1778 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
1779 _def_3dnowex='#undef HAVE_3DNOWEX'
1780 test "$_3dnowex" = yes && _def_3dnowex='#define HAVE_3DNOWEX 1'
1781 _def_sse='#undef HAVE_SSE'
1782 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
1783 _def_sse2='#undef HAVE_SSE2'
1784 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
1786 # Checking kernel version...
1787 if x86 && linux ; then
1788 _k_verc_problem=no
1789 kernel_version=`uname -r 2>&1`
1790 echocheck "$system_name kernel version"
1791 case "$kernel_version" in
1792 '') kernel_version="?.??"; _k_verc_fail=yes;;
1793 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
1794 _k_verc_problem=yes;;
1795 esac
1796 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
1797 _k_verc_fail=yes
1799 if test "$_k_verc_fail" ; then
1800 echores "$kernel_version, fail"
1801 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
1802 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
1803 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
1804 echo "supports SSE, but you have been warned! If you are using a kernel older than"
1805 echo "2.2.x you must upgrade it to get SSE support!"
1806 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
1807 else
1808 echores "$kernel_version, ok"
1812 if test "$_vidix" = auto ; then
1813 _vidix=no
1814 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
1815 x86 && _vidix=yes
1816 ppc && linux && _vidix=yes
1817 alpha && linux && _vidix=yes
1818 cygwin && _vidix=no
1819 mingw32 && _vidix=no
1820 qnx && _vidix=no
1821 sunos && _vidix=no
1824 # On QNX we must link to libph - Gabucino
1825 if qnx ; then
1826 _ld_arch="$_ld_arch -lph"
1829 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
1830 _awk=
1831 if test "$_vidix" = yes ; then
1832 _awk_verc_fail=yes
1833 echocheck "awk"
1834 for _awk in mawk gawk nawk awk; do
1835 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
1836 _awk_verc_fail=no
1837 break
1839 done
1840 test "$_awk_verc_fail" = yes && _awk=no
1841 echores "$_awk"
1842 if test "$_awk_verc_fail" = yes; then
1843 echo "VIDIX needs awk, but no working implementation was found!"
1844 echo "Try the GNU version, which can be downloaded from:"
1845 echo "ftp://ftp.gnu.org/gnu/gawk/"
1846 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
1847 die "no awk"
1851 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1852 if irix ; then
1853 _ranlib='ar -r'
1856 ######################
1857 # MAIN TESTS GO HERE #
1858 ######################
1861 echocheck "extra headers"
1862 if test "$_inc_extra" ; then
1863 echores "$_inc_extra"
1864 else
1865 echores "none"
1869 echocheck "extra libs"
1870 if test "$_ld_extra" ; then
1871 echores "$_ld_extra"
1872 else
1873 echores "none"
1877 # Checking for localization ...
1878 # CSAK EGY MARADHAT - A HEGYLAKO
1879 echocheck "i18n"
1880 if test "$_i18n" != no ; then
1881 cat > $TMPC <<EOF
1882 #include <libintl.h>
1883 int main(void) { gettext("test"); return 0; }
1885 _i18n=no
1886 _i18n_libs=""
1887 if test "$_i18n" = auto ; then
1888 cc_check && _i18n=yes
1889 else
1890 for i18n_lib in "" "-lintl"; do
1891 cc_check $i18n_lib && _i18n=yes && _i18n_libs=$i18n_lib && break
1892 done
1895 if test "$_i18n" = yes ; then
1896 _def_i18n='#define USE_I18N 1'
1897 else
1898 _def_i18n='#undef USE_I18N'
1900 if test -z "$_i18n_libs" ; then
1901 echores "$_i18n"
1902 else
1903 echores "$_i18n (using $_i18n_libs)"
1907 # Checking for setlocale() ...
1908 # CSAK EGY MARADHAT - A HEGYLAKO
1909 # Nemnem. a TV Maci !
1910 echocheck "setlocale()"
1911 if test "$_setlocale" = auto ; then
1912 cat > $TMPC <<EOF
1913 #include <locale.h>
1914 int main(void) { setlocale( LC_ALL,"" ); return 0; }
1916 _setlocale=no
1917 cc_check && _setlocale=yes
1919 if test "$_setlocale" = yes ; then
1920 _def_setlocale='#define USE_SETLOCALE 1'
1921 else
1922 _def_setlocale='#undef USE_SETLOCALE'
1924 echores "$_setlocale"
1927 echocheck "language"
1928 test -z "$_language" && _language=$LINGUAS
1929 _language=`echo $_language | sed 's/,/ /g'`
1930 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
1931 for i in $_language ; do
1932 test "$i" = all && i=en
1933 if test -f "help/help_mp-${i}.h" ; then
1934 _language=$i
1935 break
1936 else
1937 echo -n "$i not found, "
1938 _language=`echo $_language | sed "s/$i *//g"`
1940 done
1941 test -z "$_language" && _language=en
1942 for i in $LANGUAGES ; do
1943 if test -f "DOCS/man/$i/mplayer.1" ; then
1944 LANGUAGES=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
1945 else
1946 LANGUAGES=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
1948 done
1949 echores "using $_language (man pages: $LANGUAGES)"
1950 _mp_help="help/help_mp-${_language}.h"
1951 test -f $_mp_help || die "$_mp_help not found"
1953 echocheck "enable sighandler"
1954 if test "$_sighandler" = yes ; then
1955 _def_sighandler='#define ENABLE_SIGHANDLER 1'
1956 else
1957 _def_sighandler='#undef ENABLE_SIGHANDLER'
1959 echores "$_sighandler"
1961 echocheck "runtime cpudetection"
1962 if test "$_runtime_cpudetection" = yes ; then
1963 _optimizing="Runtime CPU-Detection enabled"
1964 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
1965 else
1966 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
1968 echores "$_runtime_cpudetection"
1971 echocheck "restrict keyword"
1972 for restrict_keyword in restrict __restrict __restrict__ ; do
1973 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
1974 if cc_check; then
1975 _def_restrict_keyword=$restrict_keyword
1976 break;
1978 done
1979 if [ -n "$_def_restrict_keyword" ]; then
1980 echores "$_def_restrict_keyword"
1981 else
1982 echores "none"
1986 echocheck "kstat"
1987 cat > $TMPC << EOF
1988 #include <kstat.h>
1989 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
1991 _kstat=no
1992 cc_check -lkstat && _kstat=yes
1993 if test "$_kstat" = yes ; then
1994 _ld_arch="-lkstat $_ld_arch"
1996 if test "$_kstat" = yes ; then
1997 _def_kstat="#define HAVE_LIBKSTAT 1"
1998 else
1999 _def_kstat="#undef HAVE_LIBKSTAT"
2001 echores "$_kstat"
2004 echocheck "posix4"
2005 # required for nanosleep on some systems
2006 cat > $TMPC << EOF
2007 #include <time.h>
2008 int main(void) { (void) nanosleep(0, 0); return 0; }
2010 _posix4=no
2011 cc_check -lposix4 && _posix4=yes
2012 if test "$_posix4" = yes ; then
2013 _ld_arch="-lposix4 $_ld_arch"
2015 echores "$_posix4"
2018 echocheck "lrintf"
2019 cat > $TMPC << EOF
2020 #include <math.h>
2021 int main(void) { (void) lrintf(0.0); return 0; }
2023 _lrintf=no
2024 cc_check -lm && _lrintf=yes
2025 if test "$_lrintf" = yes ; then
2026 _def_lrintf="#define HAVE_LRINTF 1"
2027 else
2028 _def_lrintf="#undef HAVE_LRINTF"
2030 echores "$_lrintf"
2033 echocheck "nanosleep"
2034 # also check for nanosleep
2035 cat > $TMPC << EOF
2036 #include <time.h>
2037 int main(void) { (void) nanosleep(0, 0); return 0; }
2039 _nanosleep=no
2040 cc_check $_ld_arch && _nanosleep=yes
2041 if test "$_nanosleep" = yes ; then
2042 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2043 else
2044 _def_nanosleep='#undef HAVE_NANOSLEEP'
2046 echores "$_nanosleep"
2049 echocheck "socklib"
2050 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2051 cat > $TMPC << EOF
2052 #include <netdb.h>
2053 int main(void) { (void) gethostbyname(0); return 0; }
2055 cc_check -lsocket && _ld_sock="-lsocket"
2056 cc_check -lnsl && _ld_sock="-lnsl"
2057 cc_check -lsocket -lnsl && _ld_sock="-lsocket -lnsl"
2058 cc_check -lsocket -ldnet && _ld_sock="-lsocket -ldnet"
2059 if test $_winsock2 = auto && not cygwin ; then
2060 _winsock2=no
2061 cat > $TMPC << EOF
2062 #include <winsock2.h>
2063 int main(void) { (void) gethostbyname(0); return 0; }
2065 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2067 if test "$_ld_sock" ; then
2068 echores "yes (using $_ld_sock)"
2069 else
2070 echores "no"
2074 if test $_winsock2 = yes ; then
2075 _ld_sock="-lws2_32"
2076 _def_winsock2='#define HAVE_WINSOCK2 1'
2077 else
2078 _def_winsock2='#undef HAVE_WINSOCK2'
2082 _use_aton=no
2083 echocheck "inet_pton()"
2084 cat > $TMPC << EOF
2085 #include <sys/types.h>
2086 #include <sys/socket.h>
2087 #include <arpa/inet.h>
2088 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2090 if test "$_winsock2" = yes ; then
2091 echores "not needed (using winsock2 functions)"
2092 elif cc_check $_ld_sock ; then
2093 # NOTE: Linux has libresolv but does not need it
2095 echores "yes (using $_ld_sock)"
2096 elif cc_check $_ld_sock -lresolv ; then
2097 # NOTE: needed for SunOS at least
2098 _ld_sock="$_ld_sock -lresolv"
2099 echores "yes (using $_ld_sock)"
2100 else
2101 echores "no (=> i'll try inet_aton next)"
2103 echocheck "inet_aton()"
2104 cat > $TMPC << EOF
2105 #include <sys/types.h>
2106 #include <sys/socket.h>
2107 #include <arpa/inet.h>
2108 int main(void) { (void) inet_aton(0, 0); return 0; }
2110 _use_aton=yes
2111 if cc_check $_ld_sock ; then
2112 # NOTE: Linux has libresolv but does not need it
2114 echores "yes (using $_ld_sock)"
2115 elif cc_check $_ld_sock -lresolv ; then
2116 # NOTE: needed for SunOS at least
2117 _ld_sock="$_ld_sock -lresolv"
2118 echores "yes (using $_ld_sock)"
2119 else
2120 _use_aton=no
2121 _network=no
2122 echores "no (=> network support disabled)"
2126 _def_use_aton='#undef USE_ATON'
2127 if test "$_use_aton" != no; then
2128 _def_use_aton='#define USE_ATON 1'
2132 echocheck "inttypes.h (required)"
2133 cat > $TMPC << EOF
2134 #include <inttypes.h>
2135 int main(void) { return 0; }
2137 _inttypes=no
2138 cc_check && _inttypes=yes
2139 if test "$_inttypes" = yes ; then
2140 # nothing to do
2142 else
2143 echores "no"
2144 echocheck "bitypes.h (inttypes.h predecessor)"
2145 cat > $TMPC << EOF
2146 #include <sys/bitypes.h>
2147 int main(void) { return 0; }
2149 _inttypes=no
2150 cc_check && _inttypes=yes
2151 if test "$_inttypes" = yes ; then
2152 die "You don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h into the include path, and re-run configure."
2153 else
2154 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/en/faq.html)."
2157 echores "$_inttypes"
2160 echocheck "int_fastXY_t in inttypes.h"
2161 cat > $TMPC << EOF
2162 #include <inttypes.h>
2163 int main(void) {
2164 volatile int_fast16_t v= 0;
2165 return v; }
2167 _fast_inttypes=no
2168 cc_check && _fast_inttypes=yes
2169 if test "$_fast_inttypes" = yes ; then
2170 # nothing to do
2172 else
2173 _def_fast_inttypes='
2174 typedef signed char int_fast8_t;
2175 typedef signed int int_fast16_t;
2176 typedef signed int int_fast32_t;
2177 typedef unsigned char uint_fast8_t;
2178 typedef unsigned int uint_fast16_t;
2179 typedef unsigned int uint_fast32_t;'
2181 echores "$_fast_inttypes"
2184 echocheck "word size"
2185 _mp_wordsize="#undef MP_WORDSIZE"
2186 cat > $TMPC << EOF
2187 #include <stdio.h>
2188 #include <sys/types.h>
2189 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2191 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2192 echores "$_wordsize"
2195 echocheck "stddef.h"
2196 cat > $TMPC << EOF
2197 #include <stddef.h>
2198 int main(void) { return 0; }
2200 _stddef=no
2201 cc_check && _stddef=yes
2202 if test "$_stddef" = yes ; then
2203 _def_stddef='#define HAVE_STDDEF_H 1'
2204 else
2205 _def_stddef='#undef HAVE_STDDEF_H'
2207 echores "$_stddef"
2210 echocheck "malloc.h"
2211 cat > $TMPC << EOF
2212 #include <malloc.h>
2213 int main(void) { (void) malloc(0); return 0; }
2215 _malloc=no
2216 cc_check && _malloc=yes
2217 if test "$_malloc" = yes ; then
2218 _def_malloc='#define HAVE_MALLOC_H 1'
2219 else
2220 _def_malloc='#undef HAVE_MALLOC_H'
2222 # malloc.h emits a warning in FreeBSD and OpenBSD
2223 (freebsd || openbsd) && _def_malloc='#undef HAVE_MALLOC_H'
2224 echores "$_malloc"
2227 echocheck "memalign()"
2228 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2229 cat > $TMPC << EOF
2230 #include <malloc.h>
2231 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2233 _memalign=no
2234 cc_check && _memalign=yes
2235 if test "$_memalign" = yes ; then
2236 _def_memalign='#define HAVE_MEMALIGN 1'
2237 else
2238 _def_memalign='#undef HAVE_MEMALIGN'
2240 echores "$_memalign"
2243 echocheck "alloca.h"
2244 cat > $TMPC << EOF
2245 #include <alloca.h>
2246 int main(void) { (void) alloca(0); return 0; }
2248 _alloca=no
2249 cc_check && _alloca=yes
2250 if cc_check ; then
2251 _def_alloca='#define HAVE_ALLOCA_H 1'
2252 else
2253 _def_alloca='#undef HAVE_ALLOCA_H'
2255 echores "$_alloca"
2258 echocheck "mman.h"
2259 cat > $TMPC << EOF
2260 #include <sys/types.h>
2261 #include <sys/mman.h>
2262 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2264 _mman=no
2265 cc_check && _mman=yes
2266 if test "$_mman" = yes ; then
2267 _def_mman='#define HAVE_SYS_MMAN_H 1'
2268 else
2269 _def_mman='#undef HAVE_SYS_MMAN_H'
2271 echores "$_mman"
2273 echocheck "dynamic loader"
2274 cat > $TMPC << EOF
2275 #include <dlfcn.h>
2276 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2278 _dl=no
2279 if cc_check ; then
2280 _dl=yes
2281 elif cc_check -ldl ; then
2282 _dl=yes
2283 _ld_dl='-ldl'
2285 if test "$_dl" = yes ; then
2286 _def_dl='#define HAVE_LIBDL 1'
2287 else
2288 _def_dl='#undef HAVE_LIBDL'
2290 echores "$_dl"
2293 echocheck "dynamic a/v plugins support"
2294 if test "$_dl" = no ; then
2295 _dynamic_plugins=no
2297 if test "$_dynamic_plugins" = yes ; then
2298 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2299 else
2300 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2302 echores "$_dynamic_plugins"
2305 #echocheck "dynamic linking"
2306 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2307 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2308 #cat > $TMPC << EOF
2309 #int main(void) { return 0; }
2310 #EOF
2311 #if cc_check -rdynamic ; then
2312 # _ld_dl_dynamic='-rdynamic'
2313 #elif cc_check -Bdynamic ; then
2314 # _ld_dl_dynamic='-Bdynamic'
2315 #elif cc_check ; then
2316 # _ld_dl_dynamic=''
2318 #echores "using $_ld_dl_dynamic"
2321 echocheck "pthread"
2322 cat > $TMPC << EOF
2323 #include <pthread.h>
2324 void* func(void *arg) { return arg; }
2325 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2327 if mingw32 ; then
2328 _ld_pthread=''
2329 elif ( cc_check && $TMPO ) ; then # QNX
2330 _ld_pthread=''
2331 elif ( cc_check -lpthread && $TMPO ) ; then
2332 _ld_pthread='-lpthread'
2333 elif ( cc_check -pthread && $TMPO ) ; then
2334 _ld_pthread='-pthread'
2335 else
2336 if test "$_ld_static" ; then
2337 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2338 if ( cc_check -lpthread ) ; then
2339 _ld_pthread='-lpthread'
2340 elif ( cc_check -pthread ) ; then
2341 _ld_pthread='-pthread'
2342 else
2343 echores "no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2344 _ld_pthread='' ; _nas=no ; _tv_v4l=no ; _macosx=no ; _win32=no
2346 else
2347 echores "no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2348 _ld_pthread='' ; _nas=no ; _tv_v4l=no ; _macosx=no ; _win32=no
2351 if test "$_ld_pthread" != '' ; then
2352 echores "yes (using $_ld_pthread)"
2353 else
2354 echores "no"
2358 echocheck "sys/soundcard.h"
2359 cat > $TMPC << EOF
2360 #include <sys/soundcard.h>
2361 int main(void) { return 0; }
2363 _sys_soundcard=no
2364 cc_check && _sys_soundcard=yes
2365 if test "$_sys_soundcard" = yes ; then
2366 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
2367 _inc_soundcard='#include <sys/soundcard.h>'
2368 else
2369 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
2371 echores "$_sys_soundcard"
2373 if test "$_sys_soundcard" != yes ; then
2374 echocheck "soundcard.h"
2375 cat > $TMPC << EOF
2376 #include <soundcard.h>
2377 int main(void) { return 0; }
2379 _soundcard=no
2380 cc_check && _soundcard=yes
2381 if linux || test "$_ossaudio" != no ; then
2382 # use soundcard.h on Linux, or when OSS support is enabled
2383 echores "$_soundcard"
2384 else
2385 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2386 echores "$_soundcard, but ignored!"
2387 _soundcard=no
2389 if test "$_soundcard" = yes ; then
2390 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
2391 _inc_soundcard='#include <soundcard.h>'
2392 else
2393 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2395 else
2396 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2400 echocheck "sys/dvdio.h"
2401 cat > $TMPC << EOF
2402 #include <unistd.h>
2403 #include <sys/dvdio.h>
2404 int main(void) { return 0; }
2406 _dvdio=no
2407 cc_check && _dvdio=yes
2408 if test "$_dvdio" = yes ; then
2409 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2410 else
2411 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2413 echores "$_dvdio"
2416 echocheck "sys/cdio.h"
2417 cat > $TMPC << EOF
2418 #include <unistd.h>
2419 #include <sys/cdio.h>
2420 int main(void) { return 0; }
2422 _cdio=no
2423 cc_check && _cdio=yes
2424 if test "$_cdio" = yes ; then
2425 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2426 else
2427 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2429 echores "$_cdio"
2432 echocheck "linux/cdrom.h"
2433 cat > $TMPC << EOF
2434 #include <sys/types.h>
2435 #include <linux/cdrom.h>
2436 int main(void) { return 0; }
2438 _cdrom=no
2439 cc_check && _cdrom=yes
2440 if test "$_cdrom" = yes ; then
2441 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2442 else
2443 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2445 echores "$_cdrom"
2448 echocheck "dvd.h"
2449 cat > $TMPC << EOF
2450 #include <dvd.h>
2451 int main(void) { return 0; }
2453 _dvd=no
2454 cc_check && _dvd=yes
2455 if test "$_dvd" = yes ; then
2456 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
2457 else
2458 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
2460 echores "$_dvd"
2463 echocheck "BSDI dvd.h"
2464 cat > $TMPC << EOF
2465 #include <dvd.h>
2466 int main(void) { return 0; }
2468 _bsdi_dvd=no
2469 cc_check && _bsdi_dvd=yes
2470 if test "$_bsdi_dvd" = yes ; then
2471 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2472 else
2473 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2475 echores "$_bsdi_dvd"
2478 echocheck "HPUX SCSI header"
2479 cat > $TMPC << EOF
2480 #include <sys/scsi.h>
2481 int main(void) { return 0; }
2483 _hpux_scsi_h=no
2484 cc_check && _hpux_scsi_h=yes
2485 if test "$_hpux_scsi_h" = yes ; then
2486 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
2487 else
2488 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
2490 echores "$_hpux_scsi_h"
2493 echocheck "userspace SCSI headers (Solaris)"
2494 cat > $TMPC << EOF
2495 # include <unistd.h>
2496 # include <stropts.h>
2497 # include <sys/scsi/scsi_types.h>
2498 # include <sys/scsi/impl/uscsi.h>
2499 int main(void) { return 0; }
2501 _sol_scsi_h=no
2502 cc_check && _sol_scsi_h=yes
2503 if test "$_sol_scsi_h" = yes ; then
2504 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
2505 else
2506 _def_sol_scsi_h='#undef SOLARIS_USCSI'
2508 echores "$_sol_scsi_h"
2511 echocheck "termcap"
2512 if test "$_termcap" = auto ; then
2513 cat > $TMPC <<EOF
2514 int main(void) { return 0; }
2516 _termcap=no
2517 cc_check -ltermcap && _termcap=yes && _ld_termcap='-ltermcap'
2518 cc_check -ltinfo && _termcap=yes && _ld_termcap='-ltinfo'
2520 if test "$_termcap" = yes ; then
2521 _def_termcap='#define USE_TERMCAP 1'
2522 echores "yes (using $_ld_termcap)"
2523 else
2524 _def_termcap='#undef USE_TERMCAP'
2525 echores no
2529 echocheck "termios"
2530 if test "$_termios" = auto ; then
2531 cat > $TMPC <<EOF
2532 #include <sys/termios.h>
2533 int main(void) { return 0; }
2535 _termios=no
2536 cc_check && _termios=yes
2537 _def_termios_h_name='sys/termios.h'
2539 # second test:
2540 if test "$_termios" = no ; then
2541 cat > $TMPC <<EOF
2542 #include <termios.h>
2543 int main(void) { return 0; }
2545 _termios=no
2546 cc_check && _termios=yes
2547 _def_termios_h_name='termios.h'
2550 if test "$_termios" = yes ; then
2551 _def_termios='#define HAVE_TERMIOS 1'
2552 _def_termios_h='#undef HAVE_TERMIOS_H'
2553 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
2555 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2556 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
2557 elif test "$_def_termios_h_name" = 'termios.h' ; then
2558 _def_termios_h='#define HAVE_TERMIOS_H 1'
2560 echores "yes (using $_def_termios_h_name)"
2561 else
2562 _def_termios='#undef HAVE_TERMIOS'
2563 _def_termios_h_name=''
2564 echores "no"
2568 echocheck "shm"
2569 if test "$_shm" = auto ; then
2570 cat > $TMPC << EOF
2571 #include <sys/types.h>
2572 #include <sys/shm.h>
2573 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2575 _shm=no
2576 cc_check && _shm=yes
2578 if test "$_shm" = yes ; then
2579 _def_shm='#define HAVE_SHM 1'
2580 else
2581 _def_shm='#undef HAVE_SHM'
2583 echores "$_shm"
2586 # XXX: FIXME, add runtime checking
2587 echocheck "linux devfs"
2588 echores "$_linux_devfs"
2591 echocheck "scandir()"
2592 cat > $TMPC << EOF
2593 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2595 _scandir=no
2596 cc_check && _scandir=yes
2597 if test "$_scandir" = yes ; then
2598 _def_scandir='#define HAVE_SCANDIR 1'
2599 else
2600 _def_scandir='#undef HAVE_SCANDIR'
2602 echores "$_scandir"
2605 echocheck "strsep()"
2606 cat > $TMPC << EOF
2607 #include <string.h>
2608 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2610 _strsep=no
2611 cc_check && _strsep=yes
2612 if test "$_strsep" = yes ; then
2613 _def_strsep='#define HAVE_STRSEP 1'
2614 else
2615 _def_strsep='#undef HAVE_STRSEP'
2617 echores "$_strsep"
2619 echocheck "fseeko()"
2620 cat > $TMPC << EOF
2621 #include <stdio.h>
2622 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
2624 _fseeko=no
2625 cc_check && _fseeko=yes
2626 if test "$_fseeko" = yes ; then
2627 _def_fseeko='#define HAVE_FSEEKO 1'
2628 else
2629 _def_fseeko='#undef HAVE_FSEEKO'
2631 echores "$_fseeko"
2633 echocheck "vsscanf()"
2634 cat > $TMPC << EOF
2635 #include <stdarg.h>
2636 int main(void) { vsscanf(0, 0, 0); return 0; }
2638 _vsscanf=no
2639 cc_check && _vsscanf=yes
2640 if test "$_vsscanf" = yes ; then
2641 _def_vsscanf='#define HAVE_VSSCANF 1'
2642 else
2643 _def_vsscanf='#undef HAVE_VSSCANF'
2645 echores "$_vsscanf"
2648 echocheck "posix select()"
2649 cat > $TMPC << EOF
2650 #include <stdio.h>
2651 #include <stdlib.h>
2652 #include <sys/types.h>
2653 #include <string.h>
2654 #include <sys/time.h>
2655 #include <unistd.h>
2656 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
2658 _posix_select=no
2659 cc_check && _posix_select=yes
2660 if test "$_posix_select" = no ; then
2661 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
2662 else
2663 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
2665 echores "$_posix_select"
2668 echocheck "gettimeofday()"
2669 cat > $TMPC << EOF
2670 #include <stdio.h>
2671 #include <sys/time.h>
2672 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
2674 _gettimeofday=no
2675 cc_check && _gettimeofday=yes
2676 if test "$_gettimeofday" = yes ; then
2677 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
2678 else
2679 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
2681 echores "$_gettimeofday"
2684 echocheck "glob()"
2685 cat > $TMPC << EOF
2686 #include <stdio.h>
2687 #include <glob.h>
2688 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
2690 _glob=no
2691 cc_check && _glob=yes
2692 if test "$_glob" = yes ; then
2693 _def_glob='#define HAVE_GLOB 1'
2694 else
2695 _def_glob='#undef HAVE_GLOB'
2697 echores "$_glob"
2700 echocheck "sys/sysinfo.h"
2701 cat > $TMPC << EOF
2702 #include <sys/sysinfo.h>
2703 int main(void) {
2704 struct sysinfo s_info;
2705 sysinfo(&s_info);
2706 return 0;
2709 _sys_sysinfo=no
2710 cc_check && _sys_sysinfo=yes
2711 if test "$_sys_sysinfo" = yes ; then
2712 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
2713 _inc_sysinfo='#include <sys/sysinfo.h>'
2714 else
2715 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
2717 echores "$_sys_sysinfo"
2720 echocheck "Mac OS X APIs"
2721 if test "$_macosx" = auto ; then
2722 if darwin && ppc; then
2723 _macosx=yes
2724 else
2725 _macosx=no
2726 _def_macosx='#undef MACOSX'
2727 _noaomodules="macosx $_noaomodules"
2728 _novomodules="quartz $_novomodules"
2731 if test "$_macosx" = yes ; then
2732 cat > $TMPC <<EOF
2733 #include <Carbon/Carbon.h>
2734 #include <QuickTime/QuickTime.h>
2735 #include <CoreAudio/CoreAudio.h>
2736 int main(void) {
2737 EnterMovies();
2738 ExitMovies();
2739 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
2742 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
2743 _macosx=yes
2744 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio"
2745 _def_macosx='#define MACOSX 1'
2746 _aosrc="$_aosrc ao_macosx.c"
2747 _aomodules="macosx $_aomodules"
2748 _vosrc="$_vosrc vo_quartz.c"
2749 _vomodules="quartz $_vomodules"
2750 else
2751 _macosx=no
2752 _def_macosx='#undef MACOSX'
2753 _noaomodules="macosx $_noaomodules"
2754 _novomodules="quartz $_novomodules"
2757 echores "$_macosx"
2760 echocheck "Samba support (libsmbclient)"
2761 if test "$_smbsupport" = yes; then
2762 _ld_smb="-lsmbclient"
2764 if test "$_smbsupport" = auto; then
2765 _smbsupport=no
2766 cat > $TMPC << EOF
2767 #include <libsmbclient.h>
2768 int main(void) { smbc_opendir("smb://"); return 0; }
2770 if cc_check -lsmbclient ; then
2771 _smbsupport=yes
2772 _ld_smb="-lsmbclient"
2773 else
2774 if cc_check -lsmbclient $_ld_dl ; then
2775 _smbsupport=yes
2776 _ld_smb="-lsmbclient $_ld_dl"
2777 else
2778 if cc_check -lsmbclient $_ld_dl -lnsl ; then
2779 _smbsupport=yes
2780 _ld_smb="-lsmbclient $_ld_dl -lnsl"
2786 if test "$_smbsupport" = yes; then
2787 _def_smbsupport="#define LIBSMBCLIENT"
2788 _inputmodules="smb $_inputmodules"
2789 else
2790 _def_smbsupport="#undef LIBSMBCLIENT"
2791 _noinputmodules="smb $_noinputmodules"
2793 echores "$_smbsupport"
2796 #########
2797 # VIDEO #
2798 #########
2801 echocheck "3dfx"
2802 if test "$_3dfx" = yes ; then
2803 _def_3dfx='#define HAVE_3DFX 1'
2804 _vosrc="$_vosrc vo_3dfx.c"
2805 _vomodules="3dfx $_vomodules"
2806 else
2807 _def_3dfx='#undef HAVE_3DFX'
2808 _novomodules="3dfx $_novomodules"
2810 echores "$_3dfx"
2813 echocheck "tdfxfb"
2814 if test "$_tdfxfb" = yes ; then
2815 _def_tdfxfb='#define HAVE_TDFXFB 1'
2816 _vosrc="$_vosrc vo_tdfxfb.c"
2817 _vomodules="tdfxfb $_vomodules"
2818 else
2819 _def_tdfxfb='#undef HAVE_TDFXFB'
2820 _novomodules="tdfxfb $_novomodules"
2822 echores "$_tdfxfb"
2824 echocheck "tdfxvid"
2825 if test "$_tdfxvid" = yes ; then
2826 _def_tdfxvid='#define HAVE_TDFX_VID 1'
2827 _vosrc="$_vosrc vo_tdfx_vid.c"
2828 _vomodules="tdfx_vid $_vomodules"
2829 else
2830 _def_tdfxvid='#undef HAVE_TDFX_VID'
2831 _novomodules="tdfx_vid $_novomodules"
2833 echores "$_tdfxfb"
2835 echocheck "tga"
2836 if test "$_tga" = yes ; then
2837 _def_tga='#define HAVE_TGA 1'
2838 _vosrc="$_vosrc vo_tga.c"
2839 _vomodules="tga $_vomodules"
2840 else
2841 _def_tga='#undef HAVE_TGA'
2842 _novomodules="tga $_novomodules"
2844 echores "$_tga"
2846 echocheck "DirectFB headers presence"
2847 if test -z "$_inc_directfb" ; then
2848 for I in /usr/include /usr/local/include; do
2849 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
2850 _inc_directfb="-I$I/directfb"
2851 echores "yes (using $_inc_directfb)"
2852 break
2854 if test -d "$I" && test -f "$I/directfb.h" ; then
2855 _inc_directfb="-I$I"
2856 echores "yes (using $_inc_directfb)"
2857 break
2859 done
2860 if test -z "$_inc_directfb" ; then
2861 _directfb=no
2862 echores "not found"
2864 else
2865 echores "yes (using $_inc_directfb)"
2867 if test "$_inc_directfb" = "-I/usr/include" ; then
2868 _inc_directfb=""
2871 echocheck "DirectFB"
2872 if test "$_directfb" = auto ; then
2873 _directfb=no
2874 cat > $TMPC <<EOF
2875 #include <directfb.h>
2876 int main(void) { IDirectFB *foo; return 0; }
2878 linux && test -c /dev/fb0 && cc_check $_inc_directfb -ldirectfb && _directfb=yes
2881 if test "$_directfb" = yes; then
2882 cat > $TMPC <<EOF
2883 #include <directfb.h>
2884 int main(void) {
2885 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
2886 return 0;
2889 if cc_check $_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
2890 _directfb_version=`"$TMPO"`
2891 _def_directfb_version="#define DIRECTFBVERSION $_directfb_version"
2892 echores "yes ($_directfb_version)"
2893 else
2894 _directfb=no
2895 echores "no (failed to get version)"
2897 else
2898 echores "$_directfb"
2901 if test "$_directfb" = yes ; then
2902 _def_directfb='#define HAVE_DIRECTFB 1'
2903 if test "$_directfb_version" -ge 913; then
2904 _vosrc="$_vosrc vo_directfb2.c"
2905 else
2906 _vosrc="$_vosrc vo_directfb.c"
2908 _vomodules="directfb $_vomodules"
2909 _ld_directfb='-ldirectfb'
2911 if test "$_directfb_version" -ge 915; then
2912 _vosrc="$_vosrc vo_dfbmga.c"
2913 _vomodules="dfbmga $_vomodules"
2915 else
2916 _def_directfb='#undef HAVE_DIRECTFB'
2917 _novomodules="directfb $_novomodules"
2918 _inc_directfb=""
2922 echocheck "X11 headers presence"
2923 if test -z "$_inc_x11" ; then
2924 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
2925 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
2926 _inc_x11="-I$I"
2927 echores "yes (using $I)"
2928 break
2930 done
2931 if test -z "$_inc_x11" ; then
2932 _x11=no
2933 echores "not found (check if the dev(el) packages are installed)"
2935 else
2936 echores "yes (using $_inc_x11)"
2938 if test "$_inc_x11" = "-I/usr/include" ; then
2939 _inc_x11=""
2943 echocheck "X11 libs presence"
2944 if test -z "$_ld_x11" ; then
2945 for I in /usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 ; do
2946 if test -d "$I" && ( test -f "$I/libX11.so" || test -f "$I/libX11.a" ) ; then
2947 _ld_x11="-L$I"
2948 echores "yes (using $I)"
2949 break;
2951 done
2952 if test -z "$_ld_x11" ; then
2953 _x11=no
2954 echores "not found (check if the dev(el) packages are installed)"
2956 else
2957 echores "yes (using $_ld_x11)"
2959 _ld_x11="$_ld_x11 -lXext -lX11 $_ld_sock"
2962 echocheck "X11"
2963 if test "$_x11" != no ; then
2964 cat > $TMPC <<EOF
2965 #include <X11/Xlib.h>
2966 #include <X11/Xutil.h>
2967 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
2969 _x11=no
2970 cc_check $_inc_x11 $_ld_x11 && _x11=yes
2972 if test "$_x11" = yes ; then
2973 _def_x11='#define HAVE_X11 1'
2974 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
2975 _vomodules="x11 xover $_vomodules"
2976 else
2977 _def_x11='#undef HAVE_X11'
2978 _inc_x11=''
2979 _ld_x11=''
2980 _novomodules="x11 $_novomodules"
2982 echores "$_x11"
2985 echocheck "DPMS"
2986 _xdpms3=no
2987 if test "$_x11" = yes ; then
2988 cat > $TMPC <<EOF
2989 #include <X11/Xmd.h>
2990 #include <X11/Xlib.h>
2991 #include <X11/Xutil.h>
2992 #include <X11/Xatom.h>
2993 #include <X11/extensions/dpms.h>
2994 int main(void) {
2995 (void) DPMSQueryExtension(0, 0, 0);
2998 cc_check $_inc_x11 -lXdpms $_ld_x11 && _xdpms3=yes
3000 _xdpms4=no
3001 if test "$_x11" = yes ; then
3002 cat > $TMPC <<EOF
3003 #include <X11/Xlib.h>
3004 #include <X11/extensions/dpms.h>
3005 int main(void) {
3006 (void) DPMSQueryExtension(0, 0, 0);
3009 cc_check $_inc_x11 $_ld_x11 && _xdpms4=yes
3011 if test "$_xdpms4" = yes ; then
3012 _def_xdpms='#define HAVE_XDPMS 1'
3013 echores "yes (using Xdpms 4)"
3014 elif test "$_xdpms3" = yes ; then
3015 _def_xdpms='#define HAVE_XDPMS 1'
3016 _ld_x11="-lXdpms $_ld_x11"
3017 echores "yes (using Xdpms 3)"
3018 else
3019 _def_xdpms='#undef HAVE_XDPMS'
3020 echores "no"
3024 echocheck "Xv"
3025 if test "$_x11" = yes && test "$_xv" != no ; then
3026 cat > $TMPC <<EOF
3027 #include <X11/Xlib.h>
3028 #include <X11/extensions/Xvlib.h>
3029 int main(void) { (void) XvGetPortAttribute(0, 0, 0, 0); return 0; }
3031 _xv=no
3032 cc_check $_inc_x11 -lXv $_ld_x11 && _xv=yes
3033 else
3034 _xv=no
3036 if test "$_xv" = yes ; then
3037 _def_xv='#define HAVE_XV 1'
3038 _ld_xv='-lXv'
3039 _vosrc="$_vosrc vo_xv.c"
3040 _vomodules="xv $_vomodules"
3041 else
3042 _def_xv='#undef HAVE_XV'
3043 _novomodules="xv $_novomodules"
3045 echores "$_xv"
3048 echocheck "XvMC"
3049 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no ; then
3050 _xvmc=no
3051 cat > $TMPC <<EOF
3052 #include <X11/Xlib.h>
3053 #include <X11/extensions/Xvlib.h>
3054 #include <X11/extensions/XvMClib.h>
3055 int main(void) {
3056 (void) XvMCQueryExtension(0,0,0);
3057 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3058 return 0; }
3060 cc_check $_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc=yes
3062 if test "$_xvmc" = yes ; then
3063 _def_xvmc='#define HAVE_XVMC 1'
3064 _ld_xvmc="-lXvMC -l$_xvmclib"
3065 _vosrc="$_vosrc vo_xvmc.c"
3066 _vomodules="xvmc $_vomodules"
3067 else
3068 _def_xvmc='#undef HAVE_XVMC'
3069 _novomodules="xvmc $_novomodules"
3071 echores "$_xvmc"
3074 echocheck "Xinerama"
3075 if test "$_x11" = yes && test "$_xinerama" != no ; then
3076 cat > $TMPC <<EOF
3077 #include <X11/Xlib.h>
3078 #include <X11/extensions/Xinerama.h>
3079 int main(void) { (void) XineramaIsActive(0); return 0; }
3081 _xinerama=no
3082 cc_check $_inc_x11 -lXinerama $_ld_x11 && _xinerama=yes
3083 else
3084 _xinerama=no
3086 if test "$_xinerama" = yes ; then
3087 _def_xinerama='#define HAVE_XINERAMA 1'
3088 _ld_xinerama='-lXinerama'
3089 else
3090 _def_xinerama='#undef HAVE_XINERAMA'
3092 echores "$_xinerama"
3095 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3096 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3097 # named 'X extensions' or something similar.
3098 # This check may be useful for future mplayer versions (to change resolution)
3099 # If you run into problems, remove '-lXxf86vm'.
3100 echocheck "Xxf86vm"
3101 if test "$_x11" = yes && test "$_vm" != no ; then
3102 cat > $TMPC <<EOF
3103 #include <X11/Xlib.h>
3104 #include <X11/extensions/xf86vmode.h>
3105 #include <X11/XF86keysym.h>
3106 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3108 _vm=no
3109 cc_check $_inc_x11 -lXxf86vm $_ld_x11 && _vm=yes
3110 else
3111 _vm=no
3113 if test "$_vm" = yes ; then
3114 _def_vm='#define HAVE_XF86VM 1'
3115 _ld_vm='-lXxf86vm'
3116 else
3117 _def_vm='#undef HAVE_XF86VM'
3119 echores "$_vm"
3122 echocheck "DGA"
3123 # Version 2 is preferred to version 1 if available
3124 if test "$_dga" = auto ; then
3125 cat > $TMPC << EOF
3126 #include <X11/Xlib.h>
3127 #include <X11/extensions/xf86dga.h>
3128 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3130 _dga=no
3131 cc_check $_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
3133 cat > $TMPC << EOF
3134 #include <X11/Xlib.h>
3135 #include <X11/extensions/xf86dga.h>
3136 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3138 cc_check $_inc_x11 -lXxf86dga $_ld_x11 && _dga=2
3141 _def_dga='#undef HAVE_DGA'
3142 _def_dga2='#undef HAVE_DGA2'
3143 if test "$_dga" = 1 ; then
3144 _def_dga='#define HAVE_DGA 1'
3145 _ld_dga='-lXxf86dga'
3146 _vosrc="$_vosrc vo_dga.c"
3147 _vomodules="dga $_vomodules"
3148 echores "yes (using DGA 1.0)"
3149 elif test "$_dga" = 2 ; then
3150 _def_dga='#define HAVE_DGA 1'
3151 _def_dga2='#define HAVE_DGA2 1'
3152 _ld_dga='-lXxf86dga'
3153 _vosrc="$_vosrc vo_dga.c"
3154 _vomodules="dga $_vomodules"
3155 echores "yes (using DGA 2.0)"
3156 elif test "$_dga" = no ; then
3157 echores "no"
3158 _novomodules="dga $_novomodules"
3159 else
3160 die "DGA version must be 1 or 2"
3164 echocheck "OpenGL"
3165 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3166 if (test "$_x11" = yes || mingw32 || cygwin) && test "$_gl" != no ; then
3167 cat > $TMPC << EOF
3168 #include <GL/gl.h>
3169 int main(void) { return 0; }
3171 _gl=no
3172 if cc_check $_inc_x11 $_ld_x11 -lGL -lm ; then
3173 _gl=yes
3174 _ld_gl="-lGL"
3175 elif cc_check $_inc_x11 $_ld_x11 -lGL -lm $_ld_pthread ; then
3176 _gl=yes
3177 _ld_gl="-lGL $_ld_pthread"
3178 elif cc_check -lopengl32 ; then
3179 _gl=yes
3180 _gl_win32=yes
3181 _ld_gl="-lopengl32 -lgdi32"
3183 else
3184 _gl=no
3186 if test "$_gl" = yes ; then
3187 _def_gl='#define HAVE_GL 1'
3188 if test "$_gl_win32" = yes ; then
3189 _def_gl_win32='#define GL_WIN32 1'
3190 _vosrc="$_vosrc vo_gl2.c w32_common.c"
3191 else
3192 _vosrc="$_vosrc vo_gl.c vo_gl2.c"
3194 _vomodules="opengl $_vomodules"
3195 else
3196 _def_gl='#undef HAVE_GL'
3197 _def_gl_win32='#undef GL_WIN32'
3198 _novomodules="opengl $_novomodules"
3200 echores "$_gl"
3203 echocheck "/dev/mga_vid"
3204 if test "$_mga" = auto ; then
3205 _mga=no
3206 test -c /dev/mga_vid && _mga=yes
3208 if test "$_mga" = yes ; then
3209 _def_mga='#define HAVE_MGA 1'
3210 _vosrc="$_vosrc vo_mga.c"
3211 _vomodules="mga $_vomodules"
3212 else
3213 _def_mga='#undef HAVE_MGA'
3214 _novomodules="mga $_novomodules"
3216 echores "$_mga"
3219 # echocheck "syncfb"
3220 # _syncfb=no
3221 # test "$_mga" = yes && _syncfb=yes
3222 # if test "$_syncfb" = yes ; then
3223 # _def_syncfb='#define HAVE_SYNCFB 1'
3224 # _vosrc="$_vosrc vo_syncfb.c"
3225 # else
3226 # _def_syncfb='#undef HAVE_SYNCFB'
3227 # fi
3228 # echores "$_syncfb"
3231 echocheck "xmga"
3232 if test "$_xmga" = auto ; then
3233 _xmga=no
3234 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
3236 if test "$_xmga" = yes ; then
3237 _def_xmga='#define HAVE_XMGA 1'
3238 _vosrc="$_vosrc vo_xmga.c"
3239 _vomodules="xmga $_vomodules"
3240 else
3241 _def_xmga='#undef HAVE_XMGA'
3242 _novomodules="xmga $_novomodules"
3244 echores "$_xmga"
3247 echocheck "GGI"
3248 if test "$_ggi" = auto ; then
3249 cat > $TMPC << EOF
3250 #include <ggi/ggi.h>
3251 int main(void) { return 0; }
3253 _ggi=no
3254 cc_check -lggi && _ggi=yes
3256 if test "$_ggi" = yes ; then
3257 _def_ggi='#define HAVE_GGI 1'
3258 _ld_ggi='-lggi'
3259 _vosrc="$_vosrc vo_ggi.c"
3260 _vomodules="ggi $_vomodules"
3261 else
3262 _def_ggi='#undef HAVE_GGI'
3263 _novomodules="ggi $_novomodules"
3265 echores "$_ggi"
3268 echocheck "AA"
3269 if test "$_aa" = auto ; then
3270 cat > $TMPC << EOF
3271 #include <aalib.h>
3272 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3274 _aa=no
3275 cc_check -laa && _aa=yes
3277 if test "$_aa" = yes ; then
3278 _def_aa='#define HAVE_AA 1'
3279 if cygwin ; then
3280 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
3281 else
3282 _ld_aa='-laa'
3284 _vosrc="$_vosrc vo_aa.c"
3285 _vomodules="aa $_vomodules"
3286 else
3287 _def_aa='#undef HAVE_AA'
3288 _novomodules="aa $_novomodules"
3290 echores "$_aa"
3293 echocheck "SVGAlib"
3294 if test "$_svga" = auto ; then
3295 cat > $TMPC << EOF
3296 #include <vga.h>
3297 #include <vgagl.h>
3298 int main(void) { return 0; }
3300 _svga=no
3301 cc_check -lvgagl -lvga -lm && _svga=yes
3303 if test "$_svga" = yes ; then
3304 _def_svga='#define HAVE_SVGALIB 1'
3305 _ld_svga='-lvgagl -lvga -lm'
3306 _vosrc="$_vosrc vo_svga.c"
3307 _vomodules="svga $_vomodules"
3308 else
3309 _def_svga='#undef HAVE_SVGALIB'
3310 _novomodules="svga $_novomodules"
3312 echores "$_svga"
3315 echocheck "FBDev"
3316 if test "$_fbdev" = auto ; then
3317 _fbdev=no
3318 linux && test -c /dev/fb0 && _fbdev=yes
3320 if test "$_fbdev" = yes ; then
3321 _def_fbdev='#define HAVE_FBDEV 1'
3322 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
3323 _vomodules="fbdev $_vomodules"
3324 else
3325 _def_fbdev='#undef HAVE_FBDEV'
3326 _novomodules="fbdev $_novomodules"
3328 echores "$_fbdev"
3332 echocheck "DVB"
3333 if test "$_dvb" != no ; then
3334 _dvb=no
3335 cat >$TMPC << EOF
3336 #include <sys/poll.h>
3337 #include <sys/ioctl.h>
3338 #include <stdio.h>
3339 #include <time.h>
3340 #include <unistd.h>
3342 #include <ost/dmx.h>
3343 #include <ost/frontend.h>
3344 #include <ost/sec.h>
3345 #include <ost/video.h>
3346 #include <ost/audio.h>
3347 int main(void) {return 0;}
3349 if cc_check ; then
3350 _dvb=yes
3351 echores "yes"
3352 else
3353 for I in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3354 if cc_check "$I" ; then
3355 _dvb=yes
3356 _inc_dvb="$I"
3357 echores "yes (using $_inc_dvb)"
3358 break
3360 done
3361 test "$_dvb" = no && echores "no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3363 else
3364 echores "no"
3366 if test "$_dvb" = yes ; then
3367 _def_dvb='#define HAVE_DVB 1'
3368 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
3369 _aomodules="mpegpes(dvb) $_aomodules"
3370 _vomodules="mpegpes(dvb) $_vomodules"
3372 if test "$_dvbhead" != no ; then
3373 echocheck "DVB HEAD"
3374 if test "$_dvbhead" != no ; then
3375 _dvbhead=no
3377 cat >$TMPC << EOF
3378 #include <sys/poll.h>
3379 #include <sys/ioctl.h>
3380 #include <stdio.h>
3381 #include <time.h>
3382 #include <unistd.h>
3384 #include <linux/dvb/dmx.h>
3385 #include <linux/dvb/frontend.h>
3386 #include <linux/dvb/video.h>
3387 #include <linux/dvb/audio.h>
3388 int main(void) {return 0;}
3390 if cc_check ; then
3391 _dvbhead=yes
3392 echores "yes"
3393 else
3394 for I in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3395 if cc_check "$I" ; then
3396 _dvbhead=yes
3397 _inc_dvb="$I"
3398 echores "yes (using $_inc_dvb)"
3399 break
3401 done
3402 test "$_dvbhead" = no && echores "no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3404 else
3405 echores "no"
3407 if test "$_dvbhead" = yes ; then
3408 _def_dvb='#define HAVE_DVB_HEAD 1'
3409 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
3410 _aomodules="mpegpes(dvb) $_aomodules"
3411 _vomodules="mpegpes(dvb) $_vomodules"
3414 if test "$_dvbhead" = no && test "$_dvb" = no ; then
3415 _def_dvb='#undef HAVE_DVB'
3416 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
3417 _aomodules="mpegpes(file) $_aomodules"
3418 _vomodules="mpegpes(file) $_vomodules"
3421 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
3422 _dvbin=yes
3423 _inputmodules="dvb $_inputmodules"
3424 else
3425 _dvbin=no
3426 _noinputmodules="dvb $_noinputmodules"
3429 echocheck "PNG support"
3430 if test "$_png" = auto ; then
3431 _png=no
3432 if irix ; then
3433 # Don't check for -lpng on irix since it has its own libpng
3434 # incompatible with the GNU libpng
3435 echores "disabled on irix (not GNU libpng)"
3436 else
3437 cat > $TMPC << EOF
3438 #include <png.h>
3439 #include <string.h>
3440 int main(void) {
3441 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3442 printf("libpng: %s\n", png_libpng_ver);
3443 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3446 if cc_check -lpng -lz -lm ; then
3447 if "$TMPO" >> "$TMPLOG" ; then
3448 _png=yes
3449 echores yes
3450 else
3451 echores "no (mismatch of library and header versions)"
3453 else
3454 echores no
3457 else
3458 echores "$_png"
3460 if test "$_png" = yes ; then
3461 _def_png='#define HAVE_PNG 1'
3462 _ld_png='-lpng -lz'
3463 _vosrc="$_vosrc vo_png.c"
3464 _vomodules="png $_vomodules"
3465 _mkf_png="yes"
3466 else
3467 _def_png='#undef HAVE_PNG'
3468 _novomodules="png $_novomodules"
3469 _mkf_png="no"
3472 echocheck "JPEG support"
3473 if test "$_jpg" = auto ; then
3474 _jpg=no
3475 cat > $TMPC << EOF
3476 #include <stdio.h>
3477 #include <stdlib.h>
3478 #include <setjmp.h>
3479 #include <string.h>
3480 #include <jpeglib.h>
3481 int main(void) {
3482 return 0;
3485 if cc_check -ljpeg -lm ; then
3486 if "$TMPO" >> "$TMPLOG" ; then
3487 _jpg=yes
3491 echores "$_jpg"
3493 if test "$_jpg" = yes ; then
3494 _def_jpg='#define HAVE_JPEG 1'
3495 _vosrc="$_vosrc vo_jpeg.c"
3496 _vomodules="jpeg $_vomodules"
3497 _ld_jpg="-ljpeg"
3498 _mkf_jpg="yes"
3499 else
3500 _def_jpg='#undef HAVE_JPEG'
3501 _novomodules="jpeg $_novomodules"
3502 _mkf_jpg="no"
3506 echocheck "GIF support"
3507 if test "$_gif" = auto ; then
3508 _gif=no
3509 cat > $TMPC << EOF
3510 #include <gif_lib.h>
3511 int main(void) {
3512 return 0;
3515 if cc_check -lungif && "$TMPO" >> "$TMPLOG" ; then
3516 _gif=yes
3517 _ld_gif="-lungif"
3518 elif cc_check -lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3519 _gif=yes
3520 _ld_gif="-lungif $_ld_x11"
3521 elif cc_check -lgif && "$TMPO" >> "$TMPLOG" ; then
3522 _gif=yes
3523 _ld_gif="-lgif"
3524 elif cc_check -lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3525 _gif=yes
3526 _ld_gif="-lgif $_ld_x11"
3530 if test "$_gif" = yes ; then
3531 _def_gif='#define HAVE_GIF 1'
3532 _vosrc="$_vosrc vo_gif89a.c"
3533 _codecmodules="gif $_codecmodules"
3534 _vomodules="gif89a $_vomodules"
3535 _mkf_gif="yes"
3536 _gif="yes (old version, some encoding functions disabled)"
3537 _def_gif_4='#undef HAVE_GIF_4'
3539 cat > $TMPC << EOF
3540 #include <signal.h>
3541 #include <gif_lib.h>
3542 void catch() { exit(1); }
3543 int main(void) {
3544 signal(SIGSEGV, catch); // catch segfault
3545 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
3546 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
3547 return 0;
3550 if cc_check "$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3551 _def_gif_4='#define HAVE_GIF_4 1'
3552 _gif="yes"
3554 else
3555 _def_gif='#undef HAVE_GIF'
3556 _def_gif_4='#undef HAVE_GIF_4'
3557 _novomodules="gif89a $_novomodules"
3558 _nocodecmodules="gif $_codecmodules"
3559 _mkf_gif="no"
3561 echores "$_gif"
3564 case "$_gif" in yes*)
3565 echocheck "broken giflib workaround"
3566 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
3568 cat > $TMPC << EOF
3569 #include <gif_lib.h>
3570 int main(void) {
3571 GifFileType gif;
3572 printf("UserData is at address %p\n", gif.UserData);
3573 return 0;
3576 if cc_check "$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3577 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
3578 echores "disabled"
3579 else
3580 echores "enabled"
3583 esac
3586 echocheck "VESA support"
3587 if test "$_vesa" = auto ; then
3588 if x86 && linux ; then
3589 _vesa=no
3590 cat > $TMPC << EOF
3591 #include <sys/io.h>
3592 int main(void) { return 0; }
3594 cc_check && _vesa=yes
3597 if test "$_vesa" = yes ; then
3598 _def_vesa='#define HAVE_VESA 1'
3599 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c"
3600 _vomodules="vesa $_vomodules"
3601 echores "yes"
3602 else
3603 _def_vesa='#undef HAVE_VESA'
3604 echores "no (not supported on this OS/architecture)"
3605 _novomodules="vesa $_novomodules"
3608 #################
3609 # VIDEO + AUDIO #
3610 #################
3613 echocheck "SDL"
3614 if test -z "$_sdlconfig" ; then
3615 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
3616 _sdlconfig="sdl-config"
3617 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
3618 _sdlconfig="sdl11-config"
3619 else
3620 _sdlconfig=false
3623 if test "$_sdl" = auto || test "$_sdl" = yes ; then
3624 cat > $TMPC << EOF
3625 #include <SDL.h>
3626 int main(int argc, char *argv[]) { return 0; }
3628 _sdl=no
3629 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
3630 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
3631 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
3632 if test "$_sdlversion" -gt 116 ; then
3633 if test "$_sdlversion" -lt 121 ; then
3634 _def_sdlbuggy='#define BUGGY_SDL'
3635 else
3636 _def_sdlbuggy='#undef BUGGY_SDL'
3638 _sdl=yes
3639 else
3640 _sdl=outdated
3645 if test "$_sdl" = yes ; then
3646 _def_sdl='#define HAVE_SDL 1'
3647 if cygwin ; then
3648 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
3649 _inc_sdl=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
3650 elif mingw32 ; then
3651 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
3652 _inc_sdl=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
3653 else
3654 _ld_sdl=`$_sdlconfig --libs`
3655 _inc_sdl=`$_sdlconfig --cflags`
3657 _vosrc="$_vosrc vo_sdl.c"
3658 _vomodules="sdl $_vomodules"
3659 _aosrc="$_aosrc ao_sdl.c"
3660 _aomodules="sdl $_aomodules"
3661 echores "yes (using $_sdlconfig)"
3662 else
3663 _def_sdl='#undef HAVE_SDL'
3664 _novomodules="sdl $_novomodules"
3665 _noaomodules="sdl $_noaomodules"
3666 echores "no"
3669 echocheck "Windows waveout"
3670 if test "$_win32waveout" = auto ; then
3671 cat > $TMPC << EOF
3672 #include <windows.h>
3673 #include <mmsystem.h>
3674 int main(void) { return 0; }
3676 _win32waveout=no
3677 cc_check -lwinmm && _win32waveout=yes
3679 if test "$_win32waveout" = yes ; then
3680 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
3681 _ld_win32libs="-lwinmm $_ld_win32libs"
3682 _aosrc="$_aosrc ao_win32.c"
3683 _aomodules="win32 $_aomodules"
3684 else
3685 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
3686 _noaomodules="win32 $_noaomodules"
3688 echores "$_win32waveout"
3690 echocheck "Directx"
3691 if test "$_directx" = auto ; then
3692 cat > $TMPC << EOF
3693 #include <windows.h>
3694 #include <ddraw.h>
3695 int main(void) { return 0; }
3697 _directx=no
3698 cc_check -lgdi32 && _directx=yes
3700 if test "$_directx" = yes ; then
3701 _def_directx='#define HAVE_DIRECTX 1'
3702 _ld_win32libs="-lgdi32 $_ld_win32libs"
3703 _vosrc="$_vosrc vo_directx.c"
3704 _vomodules="directx $_vomodules"
3705 else
3706 _def_directx='#undef HAVE_DIRECTX'
3707 _novomodules="directx $_novomodules"
3709 echores "$_directx"
3711 echocheck "NAS"
3712 if test "$_nas" = auto || test "$_nas" = yes ; then
3713 cat > $TMPC << EOF
3714 #include <audio/audiolib.h>
3715 int main(void) { return 0; }
3717 _nas=no
3718 cc_check -laudio $_inc_x11 -lXt $_ld_x11 -lm && _nas=yes
3720 if test "$_nas" = yes ; then
3721 _def_nas='#define HAVE_NAS 1'
3722 _ld_nas="-laudio -lXt $_ld_x11"
3723 _aosrc="$_aosrc ao_nas.c"
3724 _aomodules="nas $_aomodules"
3725 else
3726 _noaomodules="nas $_noaomodules"
3727 _def_nas='#undef HAVE_NAS'
3729 echores "$_nas"
3731 echocheck "DXR2"
3732 if test "$_dxr2" = auto; then
3733 _dxr2=no
3734 for _inc_dxr2 in "$_inc_dxr2" \
3735 "-I/usr/local/include/dxr2" \
3736 "-I/usr/include/dxr2"; do
3737 cat > $TMPC << EOF
3738 #include <dxr2ioctl.h>
3739 int main(void) { return 0; }
3741 cc_check $_inc_dxr2 && _dxr2=yes && break
3742 done
3744 if test "$_dxr2" = yes; then
3745 _def_dxr2='#define HAVE_DXR2 1'
3746 _vosrc="$_vosrc vo_dxr2.c"
3747 _aosrc="$_aosrc ao_dxr2.c"
3748 _aomodules="dxr2 $_aomodules"
3749 _vomodules="dxr2 $_vomodules"
3750 echores "yes (using $_inc_dxr2)"
3751 else
3752 _def_dxr2='#undef HAVE_DXR2'
3753 _noaomodules="dxr2 $_noaomodules"
3754 _novomodules="dxr2 $_novomodules"
3755 _inc_dxr2=""
3756 echores "no"
3759 echocheck "DXR3/H+"
3760 if test "$_dxr3" = auto ; then
3761 cat > $TMPC << EOF
3762 #include <linux/em8300.h>
3763 int main(void) { return 0; }
3765 _dxr3=no
3766 cc_check && _dxr3=yes
3768 if test "$_dxr3" = yes ; then
3769 _def_dxr3='#define HAVE_DXR3 1'
3770 _vosrc="$_vosrc vo_dxr3.c"
3771 _vomodules="dxr3 $_vomodules"
3772 else
3773 _def_dxr3='#undef HAVE_DXR3'
3774 _novomodules="dxr3 $_novomodules"
3775 if test "$_mp1e" = auto ; then
3776 # we don't need mp1e
3777 _mp1e=no
3780 echores "$_dxr3"
3782 echocheck "libmp1e"
3783 if test "$_mmx" = no ; then
3784 # mp1e REQUIRES mmx!
3785 _mp1e=no
3787 if test "$_mp1e" != no ; then
3788 _mp1e=yes
3789 _def_mp1e='#define USE_MP1E'
3790 _ld_mp1e='libmp1e/libmp1e.a'
3791 _dep_mp1e='libmp1e/libmp1e.a'
3792 else
3793 _mp1e=no
3794 _def_mp1e='#undef USE_MP1E'
3795 _ld_mp1e=""
3796 _dep_mp1e=''
3798 echores "$_mp1e"
3801 echocheck "libfame"
3802 if test "$_fame" = auto ; then
3803 _fame=no
3804 test "$_dxr2" = yes && _fame=auto
3805 test "$_dxr3" = yes && _fame=auto
3806 test "$_dvb" = yes && _fame=auto
3808 if test "$_fame" = auto ; then
3809 _fame=no
3810 if test -d libfame && test -f libfame/fame.h ; then
3811 # disable fame on cygwin as no sense to port - atmos
3812 cygwin || _fame=yes
3813 echores $_fame
3814 else
3815 echores "no (no fame dir)"
3817 else
3818 echores "$_fame"
3821 _def_fame='#undef USE_LIBFAME'
3822 if test "$_fame" = yes ; then
3823 _def_fame='#define USE_LIBFAME 1'
3824 _ld_fame='libfame/libfame.a'
3828 #########
3829 # AUDIO #
3830 #########
3833 echocheck "OSS Audio"
3834 if test "$_ossaudio" = auto ; then
3835 cat > $TMPC << EOF
3836 #include <sys/ioctl.h>
3837 $_inc_soundcard
3838 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
3840 _ossaudio=no
3841 cc_check && _ossaudio=yes
3843 if test "$_ossaudio" = yes ; then
3844 _def_ossaudio='#define USE_OSS_AUDIO 1'
3845 _aosrc="$_aosrc ao_oss.c"
3846 _aomodules="oss $_aomodules"
3847 if test "$_linux_devfs" = yes; then
3848 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
3849 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
3850 else
3851 cat > $TMPC << EOF
3852 #include <sys/ioctl.h>
3853 $_inc_soundcard
3854 #ifdef OPEN_SOUND_SYSTEM
3855 int main(void) { return 0; }
3856 #else
3857 #error Not the real thing
3858 #endif
3860 _real_ossaudio=no
3861 cc_check && _real_ossaudio=yes
3862 if test "$_real_ossaudio" = yes; then
3863 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
3864 elif netbsd || openbsd ; then
3865 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
3866 _ld_arch="$_ld_arch -lossaudio"
3867 else
3868 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
3870 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
3872 else
3873 _def_ossaudio='#undef USE_OSS_AUDIO'
3874 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
3875 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
3876 _noaomodules="oss $_noaomodules"
3878 echores "$_ossaudio"
3881 echocheck "aRts"
3882 if test "$_arts" = auto ; then
3883 _arts=no
3884 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
3886 cat > $TMPC << EOF
3887 #include <artsc.h>
3888 int main(void) { return 0; }
3890 cc_check `artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts=yes
3895 if test "$_arts" = yes ; then
3896 _def_arts='#define USE_ARTS 1'
3897 _aosrc="$_aosrc ao_arts.c"
3898 _aomodules="arts $_aomodules"
3899 _ld_arts=`artsc-config --libs`
3900 _inc_arts=`artsc-config --cflags`
3901 else
3902 _noaomodules="arts $_noaomodules"
3904 echores "$_arts"
3907 echocheck "EsounD"
3908 if test "$_esd" = auto ; then
3909 _esd=no
3910 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
3912 cat > $TMPC << EOF
3913 #include <esd.h>
3914 int main(void) { return 0; }
3916 cc_check `esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd=yes
3920 echores "$_esd"
3922 if test "$_esd" = yes ; then
3923 _def_esd='#define USE_ESD 1'
3924 _aosrc="$_aosrc ao_esd.c"
3925 _aomodules="esd $_aomodules"
3926 _ld_esd=`esd-config --libs`
3927 _inc_esd=`esd-config --cflags`
3929 echocheck "esd_get_latency()"
3930 cat > $TMPC << EOF
3931 #include <esd.h>
3932 int main(void) { return esd_get_latency(0); }
3934 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
3935 echores "$_esd_latency"
3936 else
3937 _def_esd='#undef USE_ESD'
3938 _def_esd_latency='#undef HAVE_ESD_LATENCY'
3939 _noaomodules="esd $_noaomodules"
3942 echocheck "ALSA audio"
3943 if test "$_alsa" != no ; then
3944 _alsa=no
3945 cat > $TMPC << EOF
3946 #include <sys/asoundlib.h>
3947 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
3949 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.5.x'
3951 cat > $TMPC << EOF
3952 #include <sys/asoundlib.h>
3953 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3955 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-sys'
3956 cat > $TMPC << EOF
3957 #include <alsa/asoundlib.h>
3958 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3960 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-alsa'
3962 cat > $TMPC << EOF
3963 #include <sys/asoundlib.h>
3964 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3966 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-sys'
3967 cat > $TMPC << EOF
3968 #include <alsa/asoundlib.h>
3969 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3971 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-alsa'
3973 _def_alsa5='#undef HAVE_ALSA5'
3974 _def_alsa9='#undef HAVE_ALSA9'
3975 _def_alsa1x='#undef HAVE_ALSA1X'
3976 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
3977 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
3978 if test "$_alsaver" ; then
3979 if test "$_alsaver" = '0.5.x' ; then
3980 _aosrc="$_aosrc ao_alsa5.c"
3981 _aomodules="alsa5 $_aomodules"
3982 _def_alsa5='#define HAVE_ALSA5 1'
3983 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
3984 echores "yes (using alsa 0.5.x and sys/asoundlib.h)"
3985 elif test "$_alsaver" = '0.9.x-sys' ; then
3986 _aosrc="$_aosrc ao_alsa9.c"
3987 _aomodules="alsa9 $_aomodules"
3988 _def_alsa9='#define HAVE_ALSA9 1'
3989 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
3990 echores "yes (using alsa 0.9.x and sys/asoundlib.h)"
3991 elif test "$_alsaver" = '0.9.x-alsa' ; then
3992 _aosrc="$_aosrc ao_alsa9.c"
3993 _aomodules="alsa9 $_aomodules"
3994 _def_alsa9='#define HAVE_ALSA9 1'
3995 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
3996 echores "yes (using alsa 0.9.x and alsa/asoundlib.h)"
3997 elif test "$_alsaver" = '1.0.x-sys' ; then
3998 _aosrc="$_aosrc ao_alsa1x.c"
3999 _aomodules="alsa1x $_aomodules"
4000 _def_alsa1x="#define HAVE_ALSA1X 1"
4001 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4002 echores "yes (using alsa 1.0.x and sys/asoundlib.h)"
4003 elif test "$_alsaver" = '1.0.x-alsa' ; then
4004 _aosrc="$_aosrc ao_alsa1x.c"
4005 _aomodules="alsa1x $_aomodules"
4006 _def_alsa1x="#define HAVE_ALSA1X 1"
4007 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4008 echores "yes (using alsa 1.0.x and alsa/asoundlib.h)"
4010 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
4011 else
4012 _noaomodules="alsa $_noaomodules"
4013 echores "no"
4017 echocheck "Sun audio"
4018 if test "$_sunaudio" = auto ; then
4019 cat > $TMPC << EOF
4020 #include <sys/types.h>
4021 #include <sys/audioio.h>
4022 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4024 _sunaudio=no
4025 cc_check && _sunaudio=yes
4027 if test "$_sunaudio" = yes ; then
4028 _def_sunaudio='#define USE_SUN_AUDIO 1'
4029 _aosrc="$_aosrc ao_sun.c"
4030 _aomodules="sun $_aomodules"
4031 else
4032 _def_sunaudio='#undef USE_SUN_AUDIO'
4033 _noaomodules="sun $_noaomodules"
4035 echores "$_sunaudio"
4038 echocheck "Sun mediaLib"
4039 if test "$_mlib" = auto ; then
4040 _mlib=no
4041 test -z "$_mlibdir" && _mlibdir=/opt/SUNWmlib
4042 cat > $TMPC << EOF
4043 #include <mlib.h>
4044 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4046 cc_check -I${_mlibdir}/include -L${_mlibdir}/lib -lmlib && _mlib=yes
4048 if test "$_mlib" = yes ; then
4049 _def_mlib='#define HAVE_MLIB 1'
4050 _inc_mlib=" -I${_mlibdir}/include "
4051 _ld_mlib=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4052 else
4053 _def_mlib='#undef HAVE_MLIB'
4055 echores "$_mlib"
4058 echocheck "SGI audio"
4059 if test "$_sgiaudio" = auto ; then
4060 # check for SGI audio
4061 cat > $TMPC << EOF
4062 #include <dmedia/audio.h>
4063 int main(void) { return 0; }
4065 _sgiaudio=no
4066 cc_check && _sgiaudio=yes
4068 if test "$_sgiaudio" = "yes" ; then
4069 _def_sgiaudio='#define USE_SGI_AUDIO 1'
4070 _ld_sgiaudio='-laudio'
4071 _aosrc="$_aosrc ao_sgi.c"
4072 _aomodules="sgi $_aomodules"
4073 else
4074 _def_sgiaudio='#undef USE_SGI_AUDIO'
4075 _noaomodules="sgi $_noaomodules"
4077 echores "$_sgiaudio"
4080 echocheck "VCD support"
4081 if linux || bsdos || freebsd || netbsd || sunos ; then
4082 _inputmodules="vcd $_inputmodules"
4083 _def_vcd='#define HAVE_VCD 1'
4084 echores "ok"
4085 else
4086 _def_vcd='#undef HAVE_VCD'
4087 _noinputmodules="vcd $_noinputmodules"
4088 echores "not supported on this OS"
4091 echocheck "DVD support (libmpdvdkit)"
4092 if test "$_dvdkit" = auto ; then
4093 _dvdkit=no
4094 if linux || freebsd || netbsd || darwin || cygwin || mingw32 || openbsd || sunos || hpux; then
4095 test -f "./libmpdvdkit2/Makefile" && _dvdkit=yes
4096 test -f "./libmpdvdkit/Makefile" && _dvdkit=yes
4099 if test "$_dvdkit" = yes ; then
4100 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
4101 if test -f "./libmpdvdkit2/Makefile" ; then
4102 _inputmodules="mpdvdkit2 $_inputmodules"
4103 _dvdread=libmpdvdkit2
4104 _dvdkit2=yes
4105 _dvdkit=no
4106 else
4107 _inputmodules="mpdvdkit $_inputmodules"
4108 _dvdread=libmpdvdkit
4110 else
4111 _noinputmodules="mpdvdkit $_noinputmodules"
4113 _def_dvd_linux='#undef HAVE_LINUX_DVD_STRUCT'
4114 _def_dvd_bsd='#undef HAVE_BSD_DVD_STRUCT'
4115 _dev_dvd_openbsd='#undef HAVE_OPENBSD_DVD_STRUCT'
4116 _def_dvd_darwin='#undef DARWIN_DVD_IOCTL'
4117 if linux || netbsd || openbsd || bsdos ; then
4118 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
4119 if openbsd ; then
4120 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
4122 else
4123 if freebsd ; then
4124 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
4125 else
4126 if darwin ; then
4127 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
4131 else
4132 _noinputmodules="mpdvdkit $_noinputmodules"
4134 if test "$_dvdkit" = yes || test "$_dvdkit2" = yes; then
4135 echores "yes"
4136 else
4137 echores "no"
4140 echocheck "DVD support (libdvdread)"
4141 if test "$_dvdread" = auto ; then
4142 cat > $TMPC << EOF
4143 #include <inttypes.h>
4144 #include <dvdread/dvd_reader.h>
4145 #include <dvdread/ifo_types.h>
4146 #include <dvdread/ifo_read.h>
4147 #include <dvdread/nav_read.h>
4148 int main(void) { return 0; }
4150 _dvdread=no
4151 if test "$_dl" = yes; then
4152 cc_check \
4153 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4154 _dvdread=yes
4157 _def_mpdvdkit="#undef USE_MPDVDKIT"
4158 case "$_dvdread" in
4159 yes)
4160 _largefiles=yes
4161 _def_dvdread='#define USE_DVDREAD 1'
4162 _ld_dvdread='-ldvdread'
4163 _inputmodules="dvdread $_inputmodules"
4164 echores "yes"
4167 _def_dvdread='#undef USE_DVDREAD'
4168 _noinputmodules="dvdread $_noinputmodules"
4169 echores "no"
4171 libmpdvdkit)
4172 _largefiles=yes
4173 _def_dvdread='#define USE_DVDREAD 1'
4174 _ld_dvdread='-Llibmpdvdkit -lmpdvdkit'
4175 _noinputmodules="dvdread $_noinputmodules"
4176 _def_mpdvdkit="#define USE_MPDVDKIT 1"
4177 echores "disabled by libmpdvdkit"
4179 libmpdvdkit2)
4180 _largefiles=yes
4181 _def_dvdread='#define USE_DVDREAD 1'
4182 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
4183 _noinputmodules="dvdread $_noinputmodules"
4184 _def_mpdvdkit="#define USE_MPDVDKIT 2"
4185 echores "disabled by libmpdvdkit2"
4187 esac
4189 # dvdnav disabled, it does not work
4190 # echocheck "DVD support (libdvdnav)"
4191 # if test "$_dvdnav" = yes ; then
4192 # cat > $TMPC <<EOF
4193 # #include <dvdnav.h>
4194 # int main(void) { dvdnav_t *dvd=0; return 0; }
4195 # EOF
4196 # _dvdnav=no
4197 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4198 # if test -z "$_dvdnavconfig" ; then
4199 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4200 # _dvdnavconfig="dvdnav-config"
4201 # fi
4202 # fi
4203 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4204 # _used_css=
4205 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4206 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4207 # fi
4208 # if test "$_dvdnav" = yes ; then
4209 # _largefiles=yes
4210 # _def_dvdnav='#define USE_DVDNAV 1'
4211 # if test -n "$_legal_dvdnavdir" ; then
4212 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4213 # elif test -n "$_dvdnavconfig" ; then
4214 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4215 # else
4216 # _ld_css="$_ld_css -ldvdnav"
4217 # fi
4218 # if test -n "$_dvdnavconfig" ; then
4219 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4220 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4221 # fi
4222 # if test -n "$_dvdnavdir" ; then
4223 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4224 # fi
4225 # _inputmodules="dvdnav $_inputmodules"
4226 # echores "yes"
4227 # else
4228 # _def_dvdnav='#undef USE_DVDNAV'
4229 # _noinputmodules="dvdnav $_noinputmodules"
4230 # echores "no"
4231 # fi
4233 echocheck "cdparanoia"
4234 if test "$_cdparanoia" = auto ; then
4235 cat > $TMPC <<EOF
4236 #include <cdda_interface.h>
4237 #include <cdda_paranoia.h>
4238 // This need a better test. How ?
4239 int main(void) { return 1; }
4241 _cdparanoia=no
4242 if cc_check $_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4243 _cdparanoia=yes
4244 else
4245 for I in /usr/include/cdda /usr/local/include/cdda ; do
4246 if cc_check -I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4247 _cdparanoia=yes; _inc_cdparanoia="-I$I"; break
4249 done
4252 if test "$_cdparanoia" = yes ; then
4253 _def_cdparanoia='#define HAVE_CDDA'
4254 _inputmodules="cdda $_inputmodules"
4255 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4256 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
4257 else
4258 _def_cdparanoia='#undef HAVE_CDDA'
4259 _noinputmodules="cdda $_noinputmodules"
4261 echores "$_cdparanoia"
4263 echocheck "freetype >= 2.0.9"
4264 if test "$_freetype" = auto ; then
4265 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
4266 cat > $TMPC << EOF
4267 #include <stdio.h>
4268 #include <ft2build.h>
4269 #include FT_FREETYPE_H
4270 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4271 #error "Need FreeType 2.0.9 or newer"
4272 #endif
4273 int main()
4275 FT_Library library;
4276 FT_Int major=-1,minor=-1,patch=-1;
4277 int err=FT_Init_FreeType(&library);
4278 if(err){
4279 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4280 exit(err);
4282 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4283 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4284 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4285 (int)major,(int)minor,(int)patch );
4286 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4287 printf("Library and header version mismatch! Fix it in your distribution!\n");
4288 exit(1);
4290 return 0;
4293 _freetype=no
4294 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype=yes
4295 else
4296 _freetype=no
4299 if test "$_freetype" = yes ; then
4300 _def_freetype='#define HAVE_FREETYPE'
4301 _inc_freetype=`$_freetypeconfig --cflags`
4302 _ld_freetype=`$_freetypeconfig --libs`
4303 else
4304 _def_freetype='#undef HAVE_FREETYPE'
4306 echores "$_freetype"
4308 if test "$_freetype" = no ; then
4309 _fontconfig=no
4311 echocheck "fontconfig"
4312 if test "$_fontconfig" = auto ; then
4313 if ( pkg-config --modversion fontconfig) > /dev/null 2>&1 ; then
4314 cat > $TMPC << EOF
4315 #include <stdio.h>
4316 #include <fontconfig/fontconfig.h>
4317 int main()
4319 int err = FcInit();
4320 if(err == FcFalse){
4321 printf("Couldn't initialize fontconfig lib\n");
4322 exit(err);
4324 return 0;
4328 _fontconfig=no
4329 cc_check `pkg-config --cflags --libs fontconfig` && ( $TMPO >> "$TMPLOG" ) && _fontconfig=yes
4330 else
4331 _fontconfig=no
4334 if test "$_fontconfig" = yes ; then
4335 _def_fontconfig='#define HAVE_FONTCONFIG'
4336 _inc_fontconfig=`pkg-config --cflags fontconfig`
4337 _ld_fontconfig=`pkg-config --libs fontconfig`
4338 else
4339 _def_fontconfig='#undef HAVE_FONTCONFIG'
4341 echores "$_fontconfig"
4343 echocheck "fribidi with charsets"
4344 if test "$_fribidi" = yes ; then
4345 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
4346 cat > $TMPC << EOF
4347 #include <stdio.h>
4348 #include <fribidi/fribidi.h>
4349 int main()
4351 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4352 printf("Fribidi headers are not consistents with the library!\n");
4353 exit(1);
4355 return 0;
4358 _fribidi=no
4359 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi=yes
4360 else
4361 _fribidi=no
4364 if test "$_fribidi" = yes ; then
4365 _def_fribidi='#define USE_FRIBIDI'
4366 _inc_fribidi=`$_fribidiconfig --cflags`
4367 _ld_fribidi=`$_fribidiconfig --libs`
4368 else
4369 _def_fribidi='#undef USE_FRIBIDI'
4371 echores "$_fribidi"
4374 echocheck "zlib"
4375 cat > $TMPC << EOF
4376 #include <zlib.h>
4377 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4379 _zlib=no
4380 cc_check -lz && _zlib=yes
4381 if test "$_zlib" = yes ; then
4382 _def_zlib='#define HAVE_ZLIB 1'
4383 _ld_zlib='-lz'
4384 else
4385 _def_zlib='#undef HAVE_ZLIB'
4387 echores "$_zlib"
4390 echocheck "RTC"
4391 if linux ; then
4392 if test "$_rtc" = auto ; then
4393 cat > $TMPC << EOF
4394 #include <sys/ioctl.h>
4395 #include <linux/rtc.h>
4396 int main(void) { return RTC_IRQP_READ; }
4398 _rtc=no
4399 cc_check && _rtc=yes
4401 echores "$_rtc"
4402 else
4403 _rtc=no
4404 echores "no (Linux specific feature)"
4406 if test "$_rtc" = yes ; then
4407 _def_rtc='#define HAVE_RTC 1'
4408 else
4409 _def_rtc='#undef HAVE_RTC'
4413 echocheck "external liblzo support"
4414 if test "$_liblzo" = auto ; then
4415 _liblzo=no
4416 cat > $TMPC << EOF
4417 #include <lzo1x.h>
4418 int main(void) { lzo_init();return 0; }
4420 cc_check -llzo && _liblzo=yes
4422 if test "$_liblzo" = yes ; then
4423 _def_liblzo='#define USE_LIBLZO 1'
4424 _ld_liblzo='-llzo'
4425 _codecmodules="liblzo $_codecmodules"
4426 else
4427 _def_liblzo='#undef USE_LIBLZO'
4428 _nocodecmodules="liblzo $_nocodecmodules"
4430 echores "$_liblzo"
4433 echocheck "mad support"
4434 if test "$_mad" = auto ; then
4435 _mad=no
4436 cat > $TMPC << EOF
4437 #include <mad.h>
4438 int main(void) { return 0; }
4440 cc_check $_madlibdir -lmad && _mad=yes
4442 if test "$_mad" = yes ; then
4443 _def_mad='#define USE_LIBMAD 1'
4444 _ld_mad='-lmad'
4445 _codecmodules="libmad $_codecmodules"
4446 else
4447 _def_mad='#undef USE_LIBMAD'
4448 _nocodecmodules="libmad $_nocodecmodules"
4450 echores "$_mad"
4453 echocheck "OggVorbis support"
4454 if test "$_vorbis" = auto ; then
4455 _vorbis=no
4456 cat > $TMPC << EOF
4457 #include <vorbis/codec.h>
4458 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
4460 cc_check -lvorbis -logg -lm && _vorbis=yes
4462 if test "$_vorbis" = yes ; then
4463 _def_vorbis='#define HAVE_OGGVORBIS 1'
4464 if test "$_tremor" = yes ; then
4465 _def_tremor='#define TREMOR 1'
4466 _ld_vorbis='-lvorbisidec'
4467 else
4468 _def_tremor='#undef TREMOR'
4469 _ld_vorbis='-lvorbis -logg'
4471 _codecmodules="libvorbis $_codecmodules"
4472 else
4473 _def_vorbis='#undef HAVE_OGGVORBIS'
4474 _def_tremor='#undef TREMOR'
4475 _nocodecmodules="libvorbis $_nocodecmodules"
4477 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
4478 echores "$_vorbis (Tremor)"
4479 else
4480 echores "$_vorbis"
4483 echocheck "OggTheora support (only the CVS version!)"
4484 if test "$_theora" = auto ; then
4485 _theora=no
4486 cat > $TMPC << EOF
4487 #include <theora/theora.h>
4488 #include <string.h>
4489 int main(void)
4491 /* theora is in flux, make sure that all interface routines and
4492 * datatypes exist and work the way we expect it, so we don't break
4493 * mplayer */
4494 ogg_packet op;
4495 theora_comment tc;
4496 theora_info inf;
4497 theora_state st;
4498 yuv_buffer yuv;
4499 int r;
4500 double t;
4502 theora_info_init (&inf);
4503 theora_comment_init (&tc);
4505 return 0;
4507 /* we don't want to execute this kind of nonsense; just for making sure
4508 * that compilation works... */
4509 memset(&op, 0, sizeof(op));
4510 r = theora_decode_header (&inf, &tc, &op);
4511 r = theora_decode_init (&st, &inf);
4512 t = theora_granule_time (&st, op.granulepos);
4513 r = theora_decode_packetin (&st, &op);
4514 r = theora_decode_YUVout (&st, &yuv);
4515 theora_clear (&st);
4517 return 0;
4520 cc_check -ltheora -logg -lm && _theora=yes
4522 if test "$_theora" = yes ; then
4523 _def_theora='#define HAVE_OGGTHEORA 1'
4524 _codecmodules="libtheora $_codecmodules"
4525 _ld_theora="-ltheora -logg"
4526 else
4527 _def_theora='#undef HAVE_OGGTHEORA'
4528 _nocodecmodules="libtheora $_nocodecmodules"
4530 echores "$_theora"
4533 echocheck "Matroska support (external 0.6.0 or later OR internal)"
4534 _matroska_result="no"
4535 if test "$_matroska_internal" = yes ; then
4536 _matroska_external=no
4537 _inputmodules="matroska(internal) $_inputmodules"
4538 _matroska_result="yes, internal"
4540 if test "$_matroska_external" != no ; then
4541 _matroska_external=no
4542 _TMPC=$TMPC
4543 TMPC=${TMPC}pp
4544 cat > $TMPC << EOF
4545 #include <ebml/EbmlVersion.h>
4546 #include <matroska/KaxVersion.h>
4548 #if LIBEBML_VERSION < 000600
4549 #error libebml is too old
4550 #endif
4552 #if LIBMATROSKA_VERSION < 000600
4553 #error libmatroska is too old
4554 #endif
4556 int main(void) { return 0; }
4558 cc_check -lmatroska -lebml -lstdc++ && _matroska_external=yes
4559 if test "$_matroska_external" = no ; then
4560 _saved_inc_extra=$_inc_extra
4561 _inc_extra="$_inc_extra -I/usr/local/include"
4562 cc_check -lmatroska -lebml -lstdc++ && _matroska_external=yes
4563 if test "$_matroska_external" = no ; then
4564 _inc_extra=$_saved_inc_extra
4567 rm ${TMPC} > /dev/null 2> /dev/null
4568 TMPC=$_TMPC
4569 if test "$_matroska_external" = yes ; then
4570 _ld_matroska="-lmatroska -lebml -lstdc++"
4571 _inputmodules="matroska(external) $_inputmodules"
4572 _matroska_result="yes, external"
4575 echores "$_matroska_result"
4576 if test "$_matroska_internal" != no -o "$_matroska_external" != no ; then
4577 _def_matroska='#define HAVE_MATROSKA 1'
4578 else
4579 _def_matroska='#undef HAVE_MATROSKA'
4580 _noinputmodules="matroska $_noinputmodules"
4585 echocheck "internal FAAD2 (AAC) support"
4586 _inc_faad="-I`pwd`/libfaad2"
4587 if test "$_faad_internal" = auto ; then
4588 # the faad check needs a config.h file
4589 if not test -f "config.h" ; then
4590 > config.h
4592 # internal faad: check if our dear gcc is able to compile it...
4593 cp "`pwd`/libfaad2/cfft.c" $TMPC
4594 if ( cc_check -c -O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
4595 _faad_internal=yes
4596 else
4597 _faad_internal="no (broken gcc)"
4600 if test "$_faad_internal" = yes ; then
4601 _def_faad_internal="#define USE_INTERNAL_FAAD 1"
4602 _faad_external=no
4603 else
4604 _def_faad_internal="#undef USE_INTERNAL_FAAD"
4605 _inc_faad=
4607 echores "$_faad_internal"
4610 echocheck "external FAAD2 (AAC) support"
4611 if test "$_faad_external" != no ; then
4612 _ld_faad='-lfaad'
4613 _inc_faad="$_inc_extra"
4614 # external faad: check if it's really faad2 :)
4615 if test "$_faad_external" = auto ; then
4616 _faad_external=no
4617 cat > $TMPC << EOF
4618 #include <faad.h>
4619 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
4621 cc_check $_inc_faad $_ld_faad -lm && _faad_external=yes
4623 echores "$_faad_external"
4624 else
4625 echores "no"
4628 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
4629 echocheck "FAAD2 version"
4630 cat > $TMPC <<EOF
4631 #include <faad.h>
4632 #ifndef FAAD_MIN_STREAMSIZE
4633 #error Too old version
4634 #endif
4635 int main(void) {
4636 #ifdef FAAD2_VERSION
4637 printf("%s\n",FAAD2_VERSION);
4638 #else
4639 printf("1.0\n");
4640 #endif
4641 return 0;
4644 if cc_check -I- $_inc_faad $_ld_faad -lm && "$TMPO" >> "$TMPLOG" ; then
4645 _faad_version=`"$TMPO"`
4646 _faad_tempversion=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
4647 _def_faad_version="#define FAADVERSION $_faad_tempversion"
4648 echores "$_faad_version"
4649 else
4650 _faad_external=no
4651 _faad_internal=no
4652 echores "failed to get version"
4656 if test "$_faad_external" = yes; then
4657 _def_faad='#define HAVE_FAAD 1'
4658 _codecmodules="faad2(external) $_codecmodules"
4659 elif test "$_faad_internal" = yes; then
4660 _def_faad='#define HAVE_FAAD 1'
4661 _codecmodules="faad2(internal) $_codecmodules"
4662 else
4663 _def_faad='#undef HAVE_FAAD'
4664 _nocodecmodules="faad2 $_nocodecmodules"
4665 _ld_faad=
4670 if test "$_win32" = auto ; then
4671 if x86 ; then
4672 qnx && _win32=no
4673 else
4674 _win32=no # x86 arch only
4678 if test "$_win32" != no ; then
4679 if test -z "$_win32libdir" ; then
4680 for I in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/win32 /usr/lib/win32 ; do
4681 if test -d "$I" ; then
4682 _win32libdir="$I"
4683 break;
4685 done
4689 echocheck "Win32 codec DLL support"
4690 if test "$_win32" = auto ; then
4691 _win32=no
4692 test -n "$_win32libdir" && _win32=yes
4694 if test "$_win32" = yes ; then
4695 _def_win32='#define USE_WIN32DLL 1'
4696 echores "yes (using $_win32libdir)"
4697 else
4698 _def_win32='#undef USE_WIN32DLL'
4699 _nocodecmodules="win32 $_nocodecmodules"
4700 _dshow=no
4701 echores "no"
4704 if test "$_win32" != no ; then
4705 _def_win32_loader='#undef WIN32_LOADER'
4706 echocheck "Win32 loader support"
4707 if not cygwin && not mingw32 ; then
4708 _ld_win32='loader/libloader.a'
4709 _dep_win32='loader/libloader.a'
4710 _codecmodules="win32 $_codecmodules"
4711 if openbsd ; then
4712 x86 && _ld_win32="$_ld_win32 -li386"
4714 _def_win32_loader='#define WIN32_LOADER 1'
4715 echores "yes"
4716 else
4717 _ld_win32='loader/driver.o loader/vfl.o loader/afl.o'
4718 _dep_win32='loader/driver.o loader/vfl.o loader/afl.o'
4719 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
4720 _codecmodules="win32 $_codecmodules"
4721 echores "no (using native windows)"
4725 echocheck "DirectShow"
4726 if false ; then
4728 if test "$_dshow" != no ; then
4729 _dshow=no
4730 # check if compiler supports C++ and C++-libs are installed correctly
4731 cat > "$TMPCPP" << EOF
4732 #include <string>
4733 class myclass {
4734 private: int ret;
4735 public: int myreturn(void);
4737 int myclass::myreturn(void) { ret = 0; return ret ; }
4738 int main(void) { myclass myobject; return myobject.myreturn(); }
4740 echo "------------------------------------------------" >> "$TMPLOG"
4741 cat "$TMPCPP" >> "$TMPLOG"
4742 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
4743 _dshow=yes
4744 echores "yes (C++ is ok)"
4745 else
4746 echores "no"
4747 cat << EOF
4749 Your C++ runtime environment is broken.
4751 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
4752 Are the C++ libraries correctly installed?
4753 Check for libstdc++ and in (/etc/)ld.so.conf.
4755 If you do not need DirectShow support, you can also use:
4756 ./configure --disable-dshow <your-normal-configure-options>
4757 to disable building the C++ based DirectShow code.
4760 die "$_cc's C++ is broken"
4766 echores "$_dshow"
4768 if test "$_dshow" = yes ; then
4769 _def_dshow='#define USE_DIRECTSHOW 1'
4770 _ld_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4771 _dep_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4772 _codecmodules="dshow/dmo $_codecmodules"
4773 else
4774 _def_dshow='#undef USE_DIRECTSHOW'
4775 _nocodecmodules="dshow/dmo $_nocodecmodules"
4779 echocheck "XAnim DLL"
4780 if test "$_xanim" = auto ; then
4781 _xanim=no
4782 if test "$_dl" = yes ; then
4783 if test -z "$_xanimlibdir" ; then
4784 for I in "$_libdir/codecs" /usr/local/lib/xanim/mods /usr/lib/xanim/mods /usr/lib/xanim $XANIM_MOD_DIR ; do
4785 if test -d "$I" ; then
4786 _xanimlibdir="$I"
4787 break;
4789 done
4791 test "$_xanimlibdir" && _xanim=yes
4792 if test "$_xanim" = yes ; then
4793 echores "yes (using $_xanimlibdir)"
4794 else
4795 echores "no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4797 else
4798 echores "no (dynamic loader support needed)"
4800 else
4801 echores "$_xanim (using $_xanimlibdir)"
4803 if test "$_xanim" = yes ; then
4804 _def_xanim='#define USE_XANIM 1'
4805 _def_xanim_path="#define XACODEC_PATH \"$_xanimlibdir\""
4806 _codecmodules="xanim $_codecmodules"
4807 else
4808 _def_xanim='#undef USE_XANIM'
4809 _def_xanim_path='#undef XACODEC_PATH'
4810 _nocodecmodules="xanim $_nocodecmodules"
4813 echocheck "RealPlayer DLL"
4814 if test "$_real" = auto ; then
4815 _real=no
4816 if test "$_dl" = yes || test "$_win32" = yes ; then
4817 # if test "$_dl" = yes ; then
4818 if linux || freebsd || netbsd || cygwin || mingw32 ; then
4819 _real=yes
4820 else
4821 echores "no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW)"
4823 if test "$_real" = yes ; then
4824 if test -z "$_reallibdir" ; then
4825 for I in "$_libdir/codecs" "$_libdir/real" /usr/lib/real \
4826 /usr/lib/RealPlayer{9,8,}/Codecs /usr/local/RealPlayer{9,8,}/Codecs \
4827 /usr/local/lib/RealPlayer{9,8,}/Codecs /opt/RealPlayer{9,8,}/{Real/,}Codecs \
4828 "$_win32libdir"; do
4829 if test -d "$I" ; then
4830 _reallibdir="$I"
4831 break
4833 done
4835 test "$_reallibdir" || _real=no
4836 if test "$_real" = yes ; then
4837 echores "yes (using $_reallibdir)"
4838 else
4839 echores "no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4842 else
4843 echores "no (dynamic loader support needed)"
4845 else
4846 echores "$_real (using $_reallibdir)"
4848 if test "$_real" = yes ; then
4849 _def_real='#define USE_REALCODECS 1'
4850 _def_real_path="#define REALCODEC_PATH \"$_reallibdir\""
4851 _codecmodules="real $_codecmodules"
4852 else
4853 _def_real='#undef USE_REALCODECS'
4854 _def_real_path="#undef REALCODEC_PATH"
4855 _nocodecmodules="real $_nocodecmodules"
4859 if test -z "$_livelibdir" ; then
4860 for I in $_libdir/live /usr/lib/live /usr/local/live /usr/local/lib/live; do
4861 if test -d "$I" ; then
4862 _livelibdir="$I"
4863 break;
4865 done
4868 echocheck "LIVE.COM Streaming Media libraries"
4869 if test "$_live" = auto && test "$_network" = yes ; then
4870 _live=yes
4871 test "$_livelibdir" || _live=no
4872 # TODO: deeper, more reliable test of libs, and version!
4873 # (users may have empty live/ dir or something different there, for
4874 # example 'live config files', or they may have old, incompatibel version)
4876 if test "$_live" = yes && test "$_network" = yes ; then
4877 echores "yes (using $_livelibdir)"
4878 _def_live='#define STREAMING_LIVE_DOT_COM 1'
4879 _live_libs_def="# LIVE.COM Streaming Media libraries:
4880 LIVE_LIB_DIR = $_livelibdir
4881 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
4882 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
4883 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
4884 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
4885 LIVE_LIBS += -lstdc++"
4886 _ld_live='$(LIVE_LIBS)'
4887 _inputmodules="live.com $_inputmodules"
4888 else
4889 echores "no"
4890 _def_live='#undef STREAMING_LIVE_DOT_COM'
4891 _noinputmodules="live.com $_noinputmodules"
4895 echocheck "iconv"
4896 if test "$_iconv" = auto ; then
4897 _iconv_tmp='#include <iconv.h>'
4899 cat > $TMPC << EOF
4900 #include <stdio.h>
4901 #include <unistd.h>
4902 $_iconv_tmp
4903 #define INBUFSIZE 1024
4904 #define OUTBUFSIZE 4096
4906 char inbuffer[INBUFSIZE];
4907 char outbuffer[OUTBUFSIZE];
4909 int main(void) {
4910 size_t numread;
4911 iconv_t icdsc;
4912 char *tocode="UTF-8";
4913 char *fromcode="cp1250";
4914 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
4915 while ((numread = read (0, inbuffer, INBUFSIZE))) {
4916 char *iptr=inbuffer;
4917 char *optr=outbuffer;
4918 size_t inleft=numread;
4919 size_t outleft=OUTBUFSIZE;
4920 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
4921 != (size_t)(-1)) {
4922 write (1, outbuffer, OUTBUFSIZE - outleft);
4925 if (iconv_close(icdsc) == -1)
4930 _iconv=no
4931 if cc_check -lm -liconv ; then
4932 _iconv=yes
4933 _ld_iconv='-liconv'
4934 else
4935 cc_check -lm && _iconv=yes
4938 if test "$_iconv" = yes ; then
4939 _def_iconv='#define USE_ICONV 1'
4940 else
4941 _def_iconv='#undef USE_ICONV'
4943 echores "$_iconv"
4946 echocheck "FFmpeg libavcodec (static)"
4947 if test "$_libavcodec" = auto ; then
4948 # Note: static linking is preferred to dynamic linking
4949 _libavcodec=no
4950 if test -d libavcodec && test -f libavcodec/utils.c ; then
4951 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
4952 _libavcodec=yes
4953 echores "yes"
4954 else
4955 echores "no (old ffmpeg version, use CVS !)"
4957 else
4958 echores "no (see DOCS/HTML/en/codecs.html)"
4960 else
4961 echores "$_libavcodec"
4964 _def_haveffpostprocess='no'
4965 if test -d libavcodec && test -f libavcodec/libpostproc/postprocess.h ; then
4966 _def_haveffpostprocess='yes'
4969 if test "$_libavcodec" != yes ; then
4970 echocheck "FFmpeg libavcodec (dynamic)"
4971 if test "$_libavcodecso" = auto ; then
4972 _libavcodecso=no
4973 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
4974 cat > $TMPC << EOF
4975 #define FF_POSTPROCESS 1
4976 #include <ffmpeg/avcodec.h>
4977 int main(void) {
4978 avcodec_find_encoder_by_name("");
4979 return 0;
4982 if cc_check -lavcodec -lm ; then
4983 _libavcodecso=yes
4984 echores "yes (using libavcodec.so)"
4985 else
4986 echores "no (libavcodec.so is broken/obsolete)"
4988 else
4989 echores "$_libavcodecso"
4993 _def_libavcodec='#undef USE_LIBAVCODEC'
4994 _def_libavcodecso='#undef USE_LIBAVCODEC_SO'
4995 _def_ffpostprocess='#undef FF_POSTPROCESS'
4996 if test "$_libavcodec" = yes ; then
4997 _def_libavcodec='#define USE_LIBAVCODEC 1'
4998 _ld_libavcodec='libavcodec/libavcodec.a'
4999 _dep_libavcodec='libavcodec/libavcodec.a'
5000 _def_ffpostprocess='#define FF_POSTPROCESS 1'
5001 _codecmodules="libavcodec $_codecmodules"
5002 elif test "$_libavcodecso" = yes ; then
5003 _def_libavcodec='#define USE_LIBAVCODEC 1'
5004 _def_libavcodecso='#define USE_LIBAVCODEC_SO 1'
5005 _ld_libavcodec='-lavcodec'
5006 _codecmodules="libavcodec.so $_codecmodules"
5007 else
5008 _nocodecmodules="libavcodec $_nocodecmodules"
5011 echocheck "libdv-0.9.5+"
5012 if test "$_libdv" = auto ; then
5013 _libdv=no
5014 cat > $TMPC <<EOF
5015 #include <libdv/dv.h>
5016 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
5018 cc_check -ldv -lm && _libdv=yes
5020 if test "$_libdv" = yes ; then
5021 _def_libdv='#define HAVE_LIBDV095 1'
5022 _ld_libdv="-ldv"
5023 _codecmodules="libdv $_codecmodules"
5024 else
5025 _def_libdv='#undef HAVE_LIBDV095'
5026 _nocodecmodules="libdv $_nocodecmodules"
5028 echores "$_libdv"
5030 echocheck "zr"
5031 if test "$_zr" = auto ; then
5032 #36067's seem to identify themselves as 36057PQC's, so the line
5033 #below should work for 36067's and 36057's.
5034 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
5035 _zr=yes
5036 else
5037 _zr=no
5040 if test "$_zr" = yes ; then
5041 if test "$_libavcodec" = yes ; then
5042 _def_zr='#define HAVE_ZR 1'
5043 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
5044 _vomodules="zr zr2 $_vomodules"
5045 echores "$_zr"
5046 else
5047 echores "libavcodec (static) is required by zr, sorry"
5048 _novomodules="zr $_novomodules"
5049 _def_zr='#undef HAVE_ZR'
5051 else
5052 _def_zr='#undef HAVE_ZR'
5053 _novomodules="zr zr2 $_novomodules"
5054 echores "$_zr"
5057 echocheck "bl"
5058 if test "$_bl" = yes ; then
5059 _def_bl='#define HAVE_BL 1'
5060 _vosrc="$_vosrc vo_bl.c"
5061 _vomodules="bl $_vomodules"
5062 else
5063 _def_bl='#undef HAVE_BL'
5064 _novomodules="bl $_novomodules"
5066 echores "$_bl"
5068 echocheck "XviD"
5069 cat > $TMPC << EOF
5070 #include <xvid.h>
5071 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
5073 _ld_xvid="$_ld_xvid -lxvidcore -lm"
5074 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid ; then
5075 _xvid=yes
5076 _def_xvid3='#define HAVE_XVID3 1'
5077 _def_xvid4='#undef HAVE_XVID4'
5078 _codecmodules="xvid $_codecmodules"
5079 else
5080 cat > $TMPC << EOF
5081 #include <xvid.h>
5082 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
5084 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid ; then
5085 _xvid=yes
5086 _def_xvid3='#undef HAVE_XVID3'
5087 _def_xvid4='#define HAVE_XVID4 1'
5088 _codecmodules="xvid $_codecmodules"
5089 else
5090 _xvid=no
5091 _ld_xvid=''
5092 _def_xvid3='#undef HAVE_XVID3'
5093 _def_xvid4='#undef HAVE_XVID4'
5094 _nocodecmodules="xvid $_nocodecmodules"
5097 echores "$_xvid"
5099 _xvidcompat=no
5100 _def_decore_xvid='#undef DECORE_XVID'
5101 _def_encore_xvid='#undef ENCORE_XVID'
5102 if test "$_xvid" = yes ; then
5103 echocheck "DivX4 compatibility in XviD"
5104 cat > $TMPC << EOF
5105 #include <divx4.h>
5106 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5108 cc_check -lm "$_ld_xvid" && _xvidcompat=yes
5109 echores "$_xvidcompat"
5113 echocheck "DivX4linux/DivX5linux/OpenDivX decore"
5114 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5115 cat > $TMPC << EOF
5116 #include <decore.h>
5117 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5119 if test "$_divx4linux" != no && cc_check -lm -ldivxdecore -lm ; then
5120 _opendivx=no
5121 _ld_decore='-ldivxdecore'
5122 _def_decore='#define NEW_DECORE 1'
5123 _def_divx='#define USE_DIVX'
5124 _def_divx5='#undef DECORE_DIVX5'
5125 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5126 _codecmodules="divx4linux $_codecmodules"
5127 echores "DivX4linux (with libdivxdecore.so)"
5128 else
5129 # if test "$_divx4linux" != no ; then
5130 # DivX5 check
5131 # OdivxPP disabled because of:
5132 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5133 cat > $TMPC << EOF
5134 #include <decore.h>
5135 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5137 if test "$_divx4linux" != no && cc_check -lm -ldivxdecore -lm ; then
5138 _opendivx=no
5139 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5140 _ld_decore='-ldivxdecore'
5141 _def_decore='#define NEW_DECORE 1'
5142 _def_divx='#define USE_DIVX'
5143 _def_divx5='#define DECORE_DIVX5 1'
5144 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5145 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5146 _codecmodules="divx5linux $_codecmodules"
5147 _nocodecmodules="divx4linux $_nocodecmodules"
5148 echores "DivX5linux (with libdivxdecore.so)"
5149 elif test "$_opendivx" != no ; then
5150 _opendivx=yes
5151 _ld_decore='opendivx/libdecore.a'
5152 _def_decore='#undef NEW_DECORE'
5153 _def_divx='#define USE_DIVX'
5154 _def_divx5='#undef DECORE_DIVX5'
5155 _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5156 _codecmodules="opendivx $_codecmodules"
5157 _nocodecmodules="divx5linux $_nocodecmodules"
5158 echores "OpenDivX"
5159 elif test "$_xvidcompat" = yes ; then
5160 _opendivx=no
5161 _ld_decore=''
5162 _def_decore='#define NEW_DECORE 1'
5163 _def_divx='#define USE_DIVX 1'
5164 _def_divx5='#undef DECORE_DIVX5'
5165 _def_decore_xvid='#define DECORE_XVID 1'
5166 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5167 _nocodecmodules="opendivx divx5linux divx4linux $_nocodecmodules"
5168 echores "XviD compat."
5169 else
5170 _opendivx=no
5171 _ld_decore=''
5172 _def_decore='#undef NEW_DECORE'
5173 _def_divx='#undef USE_DIVX'
5174 _def_divx5='#undef DECORE_DIVX5'
5175 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5176 _nocodecmodules="opendivx $_nocodecmodules"
5177 echores "no"
5178 fi # DivX5 check
5182 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5183 if test "$_mencoder" != no ; then
5185 echocheck "libmp3lame (for mencoder)"
5186 _mp3lame=no
5187 cat > $TMPC <<EOF
5188 #include <lame/lame.h>
5189 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; }
5191 # Note: libmp3lame usually depends on vorbis
5192 cc_check -lmp3lame $_ld_vorbis -lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame=yes
5193 if test "$_mp3lame" = yes ; then
5194 _def_mp3lame="#define HAVE_MP3LAME `$TMPO`"
5195 _def_cfg_mp3lame="#define CONFIG_MP3LAME `$TMPO`"
5196 _ld_mp3lame="-lmp3lame $_ld_vorbis"
5197 else
5198 _def_mp3lame='#undef HAVE_MP3LAME'
5199 _def_cfg_mp3lame='#undef CONFIG_MP3LAME'
5201 echores "$_mp3lame"
5204 echocheck "DivX4linux encore (for mencoder)"
5205 cat > $TMPC << EOF
5206 #include <encore2.h>
5207 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5209 if test "$_divx4linux" != no && cc_check -ldivxencore -lm ; then
5210 _def_encore='#define HAVE_DIVX4ENCORE 1'
5211 _ld_encore='-ldivxencore'
5212 echores "DivX4linux (with libdivxencore.so)"
5213 elif test "$_xvidcompat" = yes ; then
5214 _def_encore='#define HAVE_DIVX4ENCORE 1'
5215 _ld_encore=''
5216 _def_encore_xvid='#define ENCORE_XVID 1'
5217 echores "XviD compat."
5218 else
5219 _def_encore='#undef HAVE_DIVX4ENCORE'
5220 echores "no"
5225 echocheck "mencoder"
5226 _mencoder_flag='#undef HAVE_MENCODER'
5227 if test "$_mencoder" = yes ; then
5228 _mencoder_flag='#define HAVE_MENCODER'
5230 echores "$_mencoder"
5232 echocheck "fastmemcpy"
5233 # fastmemcpy check is done earlier with tests of CPU & binutils features
5234 if test "$_fastmemcpy" = yes ; then
5235 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
5236 else
5237 _def_fastmemcpy='#undef USE_FASTMEMCPY'
5239 echores "$_fastmemcpy"
5241 echocheck "UniquE RAR File Library"
5242 if test "$_unrarlib" = yes ; then
5243 _def_unrarlib='#define USE_UNRARLIB 1'
5244 else
5245 _def_unrarlib='#undef USE_UNRARLIB'
5247 echores "$_unrarlib"
5249 echocheck "TV interface"
5250 if test "$_tv" = yes ; then
5251 _def_tv='#define USE_TV 1'
5252 _inputmodules="tv $_inputmodules"
5253 else
5254 _noinputmodules="tv $_noinputmodules"
5255 _def_tv='#undef USE_TV'
5257 echores "$_tv"
5259 echocheck "EDL support"
5260 if test "$_edl" = yes ; then
5261 _def_edl='#define USE_EDL'
5262 _inputmodules="edl $_inputmodules"
5263 else
5264 _noinputmodules="edl $_noinputmodules"
5265 _def_edl='#undef USE_EDL'
5267 echores "$_edl"
5269 echocheck "*BSD BrookTree 848 TV interface"
5270 if test "$_tv_bsdbt848" = auto ; then
5271 _tv_bsdbt848=no
5272 if test "$_tv" = yes ; then
5273 cat > $TMPC <<EOF
5274 #include <sys/types.h>
5275 #if defined(__NetBSD__)
5276 #include <dev/ic/bt8xx.h>
5277 #else
5278 #include <machine/ioctl_bt848.h>
5279 #endif
5280 int main(void) { return 0; }
5282 cc_check && _tv_bsdbt848=yes
5285 if test "$_tv_bsdbt848" = yes ; then
5286 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
5287 _inputmodules="tv-bsdbt848 $_inputmodules"
5288 else
5289 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
5290 _noinputmodules="tv-bsdbt848 $_noinputmodules"
5292 echores "$_tv_bsdbt848"
5294 echocheck "Video 4 Linux TV interface"
5295 if test "$_tv_v4l" = auto ; then
5296 _tv_v4l=no
5297 if test "$_tv" = yes && linux ; then
5298 for I in /dev/video /dev/video? ; do
5299 if test -c $I ; then
5300 cat > $TMPC <<EOF
5301 #include <stdlib.h>
5302 #include <linux/videodev.h>
5303 int main(void) { return 0; }
5305 cc_check && _tv_v4l=yes
5306 break
5308 done
5311 if test "$_tv_v4l" = yes ; then
5312 _def_tv_v4l='#define HAVE_TV_V4L 1'
5313 _inputmodules="tv-v4l $_inputmodules"
5314 else
5315 _noinputmodules="tv-v4l $_noinputmodules"
5316 _def_tv_v4l='#undef HAVE_TV_V4L'
5318 echores "$_tv_v4l"
5321 echocheck "Video 4 Linux 2 TV interface"
5322 if test "$_tv_v4l2" = auto ; then
5323 _tv_v4l2=no
5324 if test "$_tv" = yes && linux ; then
5325 for I in /dev/video /dev/video? ; do
5326 if test -c $I ; then
5327 _tv_v4l2=yes
5328 break
5330 done
5333 if test "$_tv_v4l2" = yes ; then
5334 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
5335 _inputmodules="tv-v4l2 $_inputmodules"
5336 else
5337 _noinputmodules="tv-v4l2 $_noinputmodules"
5338 _def_tv_v4l2='#undef HAVE_TV_V4L2'
5340 echores "$_tv_v4l2"
5343 echocheck "audio select()"
5344 if test "$_select" = no ; then
5345 _def_select='#undef HAVE_AUDIO_SELECT'
5346 elif test "$_select" = yes ; then
5347 _def_select='#define HAVE_AUDIO_SELECT 1'
5349 echores "$_select"
5352 echocheck "network"
5353 # FIXME network check
5354 if test "$_network" != no ; then
5355 _def_network='#define MPLAYER_NETWORK 1'
5356 _ld_network="$_ld_sock"
5357 _inputmodules="network $_inputmodules"
5358 else
5359 _noinputmodules="network $_noinputmodules"
5360 _def_network='#undef MPLAYER_NETWORK'
5362 echores "$_network"
5364 echocheck "ftp"
5365 if test "$_ftp" != no ; then
5366 _def_ftp='#define HAVE_FTP 1'
5367 _inputmodules="ftp $_inputmodules"
5368 else
5369 _noinputmodules="ftp $_noinputmodules"
5370 _def_ftp='#undef HAVE_FTP'
5372 echores "$_ftp"
5374 # endian testing
5375 echocheck "byte order"
5376 if test "$_big_endian" = auto ; then
5377 cat > $TMPC <<EOF
5378 #include <inttypes.h>
5379 int main(void) {
5380 volatile uint32_t i=0x01234567;
5381 return (*((uint8_t*)(&i))) == 0x67;
5384 if cc_check ; then
5385 if $TMPO ; then
5386 _big_endian=yes
5387 else
5388 _big_endian=no
5390 else
5391 echo -n "failed to autodetect byte order, defaulting to "
5394 if test "$_big_endian" = yes ; then
5395 _byte_order='Big Endian'
5396 _def_words_endian='#define WORDS_BIGENDIAN 1'
5397 else
5398 _byte_order='Little Endian'
5399 _def_words_endian='#undef WORDS_BIGENDIAN'
5401 echores "$_byte_order"
5403 echocheck "shared postprocess lib"
5404 echores "$_shared_pp"
5406 echocheck "OSD menu"
5407 if test "$_menu" = yes ; then
5408 _def_menu='#define HAVE_MENU 1'
5409 else
5410 _def_menu='#undef HAVE_MENU'
5412 echores "$_menu"
5414 # Check to see if they want QTX codecs enabled
5415 echocheck "QTX codecs"
5416 if test "$_qtx" = auto ; then
5417 _qtx=$_win32
5419 if test "$_qtx" = yes ; then
5420 _def_qtx='#define USE_QTX_CODECS 1'
5421 _codecmodules="qtx $_codecmodules"
5422 else
5423 _def_qtx='#undef USE_QTX_CODECS'
5424 _nocodecmodules="qtx $_nocodecmodules"
5426 echores "$_qtx"
5429 echocheck "Subtitles sorting"
5430 if test "$_sortsub" = yes ; then
5431 _def_sortsub='#define USE_SORTSUB 1'
5432 else
5433 _def_sortsub='#undef USE_SORTSUB'
5435 echores "$_sortsub"
5438 echocheck "XMMS inputplugin support"
5439 if test "$_xmms" = yes ; then
5441 if ( xmms-config --version ) >/dev/null 2>&1 ; then
5442 if test -z "$_xmmsplugindir" ; then
5443 _xmmsplugindir=`xmms-config --input-plugin-dir`
5445 if test -z "$_xmmslibdir" ; then
5446 _xmmslibdir=`xmms-config --exec-prefix`/lib
5448 else
5449 if test -z "$_xmmsplugindir" ; then
5450 _xmmsplugindir=/usr/lib/xmms/Input
5452 if test -z "$_xmmslibdir" ; then
5453 _xmmslibdir=/usr/lib
5457 _def_xmms='#define HAVE_XMMS 1'
5458 if darwin ; then
5459 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
5460 else
5461 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
5463 else
5464 _def_xmms='#undef HAVE_XMMS'
5466 echores "$_xmms"
5468 echocheck "FLAC support"
5469 if ! test "$_flac" = "no" ; then
5470 if ! test -f libmpflac/dither.c ; then
5471 _flac=no
5472 echores "no (necessary files missing)"
5473 break
5475 if ! test -f libmpflac/stream_decoder.c ; then
5476 _external_flac=yes
5478 if test "$_external_flac" = "yes" ; then
5479 cat > $TMPC << EOF
5480 #include <FLAC/stream_decoder.h>
5481 #include <stdlib.h>
5483 int main()
5485 FLAC__StreamDecoder *fdec = FLAC__stream_decoder_new();
5486 return fdec != NULL;
5489 _flac=no
5490 if cc_check -lFLAC -lm ; then
5491 _flac=external
5493 else
5494 _flac=yes
5498 if test "$_flac" = external ; then
5499 _def_flac='#define HAVE_FLAC 1'
5500 #Still use dither.c & replay_gain from libmpflac
5501 _def_mpflac='#undef USE_MPFLAC_DECODER'
5502 _mpflac='process'
5503 _ld_flac='-lFLAC -lm -Llibmpflac -lmpflac'
5504 _codecmodules="flac(external) $_codecmodules"
5505 echores "yes (using external libFLAC)"
5506 else
5507 if test "$_flac" = yes ; then
5508 _def_flac='#define HAVE_FLAC 1'
5509 #use decoder, dither.c & replay_gain from libmpflac
5510 _def_mpflac='#define USE_MPFLAC_DECODER 1'
5511 _mpflac='full'
5512 _ld_flac='-Llibmpflac -lmpflac'
5513 _codecmodules="flac(internal) $_codecmodules"
5514 echores "yes (using internal libmpflac)"
5515 else
5516 _def_flac='#undef HAVE_FLAC'
5517 _def_mpflac='#undef USE_MPFLAC_DECODER'
5518 _mpflac='none'
5519 _ld_flac=''
5520 _nocodecmodules="flac $_nocodecmodules"
5521 echores "no"
5525 echocheck "inet6"
5526 if test "$_inet6" = auto ; then
5527 cat > $TMPC << EOF
5528 #include <sys/types.h>
5529 #include <sys/socket.h>
5530 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
5532 _inet6=no
5533 if cc_check ; then
5534 _inet6=yes
5537 if test "$_inet6" = yes ; then
5538 _def_inet6='#define HAVE_AF_INET6 1'
5539 else
5540 _def_inet6='#undef HAVE_AF_INET6'
5542 echores "$_inet6"
5545 echocheck "gethostbyname2"
5546 if test "$_gethostbyname2" = auto ; then
5547 cat > $TMPC << EOF
5548 #include <sys/types.h>
5549 #include <sys/socket.h>
5550 #include <netdb.h>
5551 int main(void) { gethostbyname2("", AF_INET); }
5553 _gethostbyname2=no
5554 if cc_check ; then
5555 _gethostbyname2=yes
5559 if test "$_gethostbyname2" = yes ; then
5560 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
5561 else
5562 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
5564 echores "$_gethostbyname2"
5566 # --------------- GUI specific tests begin -------------------
5567 echocheck "GUI"
5568 echo "$_gui"
5569 if test "$_gui" = yes ; then
5571 # Required libraries
5572 test "$_png" != yes && die "PNG support required for GUI compilation, please install libpng and libpng-dev packages."
5573 test "$_x11" != yes && die "X11 support required for GUI compilation"
5575 echocheck "XShape extension"
5576 _xshape=no
5577 if test "$_x11" = yes ; then
5578 cat > $TMPC << EOF
5579 #include <X11/Xlib.h>
5580 #include <X11/Xproto.h>
5581 #include <X11/Xutil.h>
5582 #include <X11/extensions/shape.h>
5583 #include <stdlib.h>
5584 int main(void) {
5585 char *name = ":0.0";
5586 Display *wsDisplay;
5587 int exitvar = 0;
5588 int eventbase, errorbase;
5589 if (getenv("DISPLAY"))
5590 name=getenv("DISPLAY");
5591 wsDisplay=XOpenDisplay(name);
5592 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
5593 exitvar=1;
5594 XCloseDisplay(wsDisplay);
5595 return exitvar;
5598 cc_check $_inc_x11 $_ld_x11 && _xshape=yes
5600 if test "$_xshape" = yes ; then
5601 _def_xshape='#define HAVE_XSHAPE 1'
5602 else
5603 die "The GUI requires the X11 extension XShape (which was not found)."
5605 echores "$_xshape"
5608 # Check for GTK:
5609 echocheck "gtk version"
5610 if test -z "$_gtkconfig" ; then
5611 if ( gtk-config --version ) >/dev/null 2>&1 ; then
5612 _gtkconfig="gtk-config"
5613 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
5614 _gtkconfig="gtk12-config"
5615 else
5616 die "The GUI requires GTK devel packages (which were not found)."
5619 _gtk=`$_gtkconfig --version 2>&1`
5620 _inc_gtk=`$_gtkconfig --cflags 2>&1`
5621 _ld_gtk=`$_gtkconfig --libs 2>&1`
5622 echores "$_gtk (using $_gtkconfig)"
5624 # Check for GLIB
5625 echocheck "glib version"
5626 if test -z "$_glibconfig" ; then
5627 if ( glib-config --version ) >/dev/null 2>&1 ; then
5628 _glibconfig="glib-config"
5629 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
5630 _glibconfig="glib12-config"
5631 else
5632 die "The GUI requires GLib devel packages (which were not found)"
5635 _glib=`$_glibconfig --version 2>&1`
5636 _inc_glib=`$_glibconfig --cflags 2>&1`
5637 _ld_glib=`$_glibconfig --libs 2>&1`
5638 echores "$_glib (using $_glibconfig)"
5640 _def_gui='#define HAVE_NEW_GUI 1'
5641 _ld_gui='$(GTKLIB) $(GLIBLIB)'
5643 echo "Creating Gui/config.mak"
5644 cat > Gui/config.mak << EOF
5645 # -------- Generated by configure -----------
5647 GTKINC = $_inc_gtk
5648 GTKLIBS = $_ld_gtk
5649 GLIBINC = $_inc_glib
5650 GLIBLIBS = $_ld_glib
5654 else
5655 _def_gui='#undef HAVE_NEW_GUI'
5657 # --------------- GUI specific tests end -------------------
5661 #############################################################################
5663 # Checking for CFLAGS
5664 _stripbinaries=yes
5665 if test "$_profile" != "" || test "$_debug" != "" ; then
5666 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
5667 if test "$_cc_major" -ge "3" ; then
5668 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
5670 _stripbinaries=no
5671 elif test -z "$CFLAGS" ; then
5672 if test "$host_arch" != "mips" ; then
5673 CFLAGS="-O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer"
5674 else
5675 CFLAGS="-O4 $_march $_mcpu -ffast-math -fomit-frame-pointer"
5677 # always compile with '-g' if .developer:
5678 if test -f ".developer" ; then
5679 CFLAGS="-g $CFLAGS"
5680 _stripbinaries=no
5682 else
5683 cat <<EOF
5685 MPlayer compilation will use the CFLAGS set by you, but:
5687 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
5689 It is strongly recommended to let MPlayer choose the correct CFLAGS!
5690 To do so, execute 'CFLAGS= ./configure <options>'
5694 if darwin ; then
5695 # use gnu style cpp on Darwin
5696 CFLAGS="$CFLAGS -no-cpp-precomp -DSYS_DARWIN -Wl,-bind_at_load"
5697 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
5698 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
5700 if hpux ; then
5701 # use flag for HPUX missing setenv()
5702 CFLAGS="$CFLAGS -DHPUX"
5704 # Thread support
5705 if linux ; then
5706 CFLAGS="$CFLAGS -D_REENTRANT"
5707 elif bsd ; then
5708 # FIXME bsd needs this so maybe other OS'es
5709 CFLAGS="$CFLAGS -D_THREAD_SAFE"
5711 # 64 bit file offsets?
5712 if test "$_largefiles" = yes || freebsd ; then
5713 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
5714 if test "$_dvdread" = yes ; then
5715 # dvdread support requires this (for off64_t)
5716 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
5720 echocheck "ftello()"
5721 # if we don't have ftello use the osdep/ compatibility module
5722 cat > $TMPC << EOF
5723 #include <stdio.h>
5724 #include <sys/types.h>
5725 int main (void) { ftello(stdin); return 0; }
5727 _ftello=no
5728 cc_check && _ftello=yes
5729 if test "$_ftello" = yes ; then
5730 _def_ftello='#define HAVE_FTELLO 1'
5731 else
5732 _def_ftello='#undef HAVE_FTELLO'
5734 echores "$_ftello"
5736 # Determine OS dependent libs
5737 if cygwin ; then
5738 _confcygwin='TARGET_CYGWIN = yes'
5739 _def_confwin32='#define WIN32'
5740 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
5741 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
5742 CFLAGS="$CFLAGS -D__CYGWIN__"
5743 else
5744 _confcygwin="TARGET_CYGWIN = no"
5747 if mingw32 ; then
5748 _confmingw32='TARGET_MINGW32 = yes'
5749 else
5750 _confmingw32='TARGET_MINGW32 = no'
5753 if mingw32 || cygwin ; then
5754 _confwin32='TARGET_WIN32 = yes'
5755 else
5756 _confwin32='TARGET_WIN32 = no'
5759 # Dynamic linking flags
5760 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
5761 _ld_dl_dynamic=''
5762 bsd && _ld_dl_dynamic='-rdynamic'
5763 test "$_xanim" = yes && _ld_dl_dynamic='-rdynamic'
5764 test "$_real" = yes && _ld_dl_dynamic='-rdynamic'
5766 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
5767 bsdos && _ld_arch="$_ld_arch -ldvd"
5768 if netbsd ; then
5769 x86 && _ld_arch="$_ld_arch -li386"
5772 _def_debug='#undef MP_DEBUG'
5773 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
5775 _def_linux='#undef TARGET_LINUX'
5776 linux && _def_linux='#define TARGET_LINUX 1'
5778 # TODO cleanup the VIDIX stuff here
5779 _def_vidix='#define CONFIG_VIDIX 1'
5780 test "$_vidix" = no && _def_vidix='#undef CONFIG_VIDIX'
5781 if test "$_vidix" = yes; then
5782 _vosrc="$_vosrc vo_cvidix.c"
5783 _vomodules="cvidix $_vomodules"
5784 else
5785 _novomodules="cvidix $_novomodules"
5787 if test "$_vidix" = yes && (cygwin || mingw32); then
5788 _vosrc="$_vosrc vo_winvidix.c"
5789 _vomodules="winvidix $_vomodules"
5790 else
5791 _novomodules="winvidix $_novomodules"
5793 if test "$_vidix" = yes && test "$_x11" = yes; then
5794 _vosrc="$_vosrc vo_xvidix.c"
5795 _vomodules="xvidix $_vomodules"
5796 else
5797 _novomodules="xvidix $_novomodules"
5799 echo Checking for VIDIX ... "$_vidix"
5801 _def_joystick='#undef HAVE_JOYSTICK'
5802 if test "$_joystick" = yes ; then
5803 if linux ; then
5804 # TODO add some check
5805 _def_joystick='#define HAVE_JOYSTICK 1'
5806 else
5807 _joystick="no (unsupported under $system_name)"
5810 echo Checking for joystick ... "$_joystick"
5812 echocheck "lirc"
5813 if test "$_lirc" = auto ; then
5814 _lirc=no
5815 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
5816 cat > $TMPC <<EOF
5817 #include <lirc/lirc_client.h>
5818 int main(void) { return 0; }
5820 cc_check -llirc_client && _lirc=yes
5823 if test "$_lirc" = yes ; then
5824 _def_lirc='#define HAVE_LIRC 1'
5825 _ld_lirc='-llirc_client'
5826 else
5827 _def_lirc='#undef HAVE_LIRC'
5829 echores "$_lirc"
5831 echocheck "lircc"
5832 if test "$_lircc" = auto ; then
5833 _lircc=no
5834 cat > $TMPC <<EOF
5835 #include <lirc/lircc.h>
5836 int main(void) { return 0; }
5838 cc_check -llircc && _lircc=yes
5840 if test "$_lircc" = yes ; then
5841 _def_lircc='#define HAVE_LIRCC 1'
5842 _ld_lircc='-llircc'
5843 else
5844 _def_lircc='#undef HAVE_LIRCC'
5846 echores "$_lircc"
5848 #############################################################################
5849 echo "Creating config.mak"
5850 cat > config.mak << EOF
5851 # -------- Generated by configure -----------
5853 LANG = C
5854 LANGUAGES = $LANGUAGES
5855 TARGET_OS = $system_name
5856 DESTDIR =
5857 prefix = \$(DESTDIR)$_prefix
5858 BINDIR = \$(DESTDIR)$_bindir
5859 DATADIR = \$(DESTDIR)$_datadir
5860 MANDIR = \$(DESTDIR)$_mandir
5861 CONFDIR = \$(DESTDIR)$_confdir
5862 LIBDIR = \$(DESTDIR)$_libdir
5863 #AR = ar
5864 CC = $_cc
5865 AWK = $_awk
5866 RANLIB = $_ranlib
5867 INSTALL = $_install
5868 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu -pipe -fomit-frame-pointer -ffast-math
5869 EXTRA_INC = $_inc_extra $_inc_gtk
5870 OPTFLAGS = -I../libvo/ -I../../libvo $CFLAGS \$(EXTRA_INC)
5871 STRIPBINARIES = $_stripbinaries
5873 $_live_libs_def
5875 MPLAYER_NETWORK = $_network
5876 STREAMING_LIVE_DOT_COM = $_live
5877 MPLAYER_NETWORK_LIB = $_ld_network $_ld_live
5878 DVBIN = $_dvbin
5879 VIDIX = $_vidix
5880 SHARED_PP = $_shared_pp
5881 CONFIG_PP = yes
5882 CONFIG_RISKY = yes
5883 CONFIG_MP3LAME = $_mp3lame
5884 LIBMENU = $_menu
5885 I18NLIBS = $_i18n_libs
5886 MATROSKA_INTERNAL = $_matroska_internal
5887 MATROSKA_EXTERNAL = $_matroska_external
5888 MATROSKA_LIB = $_ld_matroska
5890 OPENDIVX = $_opendivx
5892 UNRARLIB = $_unrarlib
5893 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
5894 PNG = $_mkf_png
5895 JPEG = $_mkf_jpg
5896 GIF = $_mkf_gif
5898 EXTRA_LIB = $_ld_extra
5899 Z_LIB = $_ld_static $_ld_zlib
5900 HAVE_MLIB = $_mlib
5901 WIN32_LIB = $_ld_win32libs
5902 STATIC_LIB = $_ld_static
5904 X11_INC = $_inc_x11
5905 X11DIR = $_ld_x11
5907 HAVE_XVMC_ACCEL = $_xvmc
5909 # for libavcodec:
5910 SRC_PATH=.
5911 LIBPREF=lib
5912 LIBSUF=.a
5913 SLIBPREF=lib
5914 SLIBSUF=.so
5916 # video output
5917 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_mad $_ld_sock
5918 GGI_LIB = $_ld_ggi
5919 MLIB_LIB = $_ld_mlib
5920 MLIB_INC = $_inc_mlib
5921 DXR2_INC = $_inc_dxr2
5922 DVB_INC = $_inc_dvb
5923 PNG_LIB = $_ld_png
5924 JPEG_LIB = $_ld_jpg
5925 GIF_LIB = $_ld_gif
5926 SDL_LIB = $_ld_sdl
5927 SVGA_LIB = $_ld_svga
5928 AA_LIB = $_ld_aa
5930 # audio output
5931 ALSA_LIB = $_ld_alsa
5932 NAS_LIB = $_ld_nas
5933 ARTS_LIB = $_ld_arts
5934 ARTS_INC = $_inc_arts
5935 ESD_LIB = $_ld_esd
5936 ESD_INC = $_inc_esd
5937 SGIAUDIO_LIB = $_ld_sgiaudio
5939 # input/demuxer/codecs
5940 TERMCAP_LIB = $_ld_termcap
5941 LIRC_LIB = $_ld_lirc
5942 LIRCC_LIB = $_ld_lircc
5943 DVDREAD_LIB = $_ld_dvdread
5944 DVDKIT = $_dvdkit
5945 DVDKIT2 = $_dvdkit2
5946 DVDKIT_SHARED = no
5947 SDL_INC = $_inc_sdl
5948 W32_DEP = $_dep_win32
5949 W32_LIB = $_ld_win32
5950 DS_DEP = $_dep_dshow
5951 DS_LIB = $_ld_dshow
5952 AV_DEP = $_dep_libavcodec
5953 AV_LIB = $_ld_libavcodec
5954 ZORAN = $_zr
5955 FAME = $_fame
5956 FAME_LIB = $_ld_fame
5957 MP1E_DEP = $_dep_mp1e
5958 MP1E_LIB = $_ld_mp1e
5959 ARCH_LIB = $_ld_arch $_ld_iconv
5960 XVID = $_xvid
5961 XVID_INC = $_inc_xvid
5962 XVID_LIB = $_ld_xvid
5963 DECORE_LIB = $_ld_decore $_ld_mp3lame
5964 MENCODER = $_mencoder
5965 ENCORE_LIB = $_ld_encore $_ld_mp3lame
5966 DIRECTFB_INC = $_inc_directfb
5967 DIRECTFB_LIB = $_ld_directfb
5968 CDPARANOIA_INC = $_inc_cdparanoia
5969 CDPARANOIA_LIB = $_ld_cdparanoia
5970 FREETYPE_INC = $_inc_freetype
5971 FREETYPE_LIB = $_ld_freetype
5972 FONTCONFIG_INC = $_inc_fontconfig
5973 FONTCONFIG_LIB = $_ld_fontconfig
5974 FRIBIDI_INC = $_inc_fribidi
5975 FRIBIDI_LIB = $_ld_fribidi
5976 LIBLZO_LIB= $_ld_liblzo
5977 MAD_LIB = $_ld_mad
5978 VORBIS_LIB = $_ld_vorbis $_ld_libdv
5979 THEORA_LIB = $_ld_theora
5980 FAAD_LIB = $_ld_faad
5981 INTERNAL_FAAD = $_faad_internal
5982 SMBSUPPORT_LIB = $_ld_smb
5983 XMMS_PLUGINS = $_xmms
5984 XMMS_LIB = $_xmms_lib
5985 MACOSX = $_macosx
5986 MACOSX_FRAMEWORKS = $_macosx_frameworks
5987 FLAC_LIB = $_ld_flac
5988 MPFLAC = $_mpflac
5990 # --- Some stuff for autoconfigure ----
5991 $_target_arch
5992 $_confwin32
5993 $_confcygwin
5994 $_confmingw32
5995 TARGET_CPU=$iproc
5996 TARGET_MMX = $_mmx
5997 TARGET_MMX2 = $_mmx2
5998 TARGET_3DNOW = $_3dnow
5999 TARGET_3DNOWEX = $_3dnowex
6000 TARGET_SSE = $_sse
6001 TARGET_ALTIVEC = $_altivec
6003 # --- GUI stuff ---
6004 GTKLIB = $_ld_static $_ld_gtk
6005 GLIBLIB = $_ld_static $_ld_glib
6006 GTK_LIBS = $_ld_static $_ld_gui
6007 GUI = $_gui
6008 DEBUG = -DDEBUG
6012 #############################################################################
6013 echo "Creating config.h"
6014 cat > config.h << EOF
6015 /* -------- This file has been automatically generated by configure ---------
6016 Note: Any changes in it will be lost when you run configure again. */
6018 /* Protect against multiple inclusion */
6019 #ifndef MPLAYER_CONFIG_H
6020 #define MPLAYER_CONFIG_H 1
6022 /* use GNU internationalization */
6023 $_def_i18n
6025 /* missing mmap function on libc5 systems */
6026 #ifndef MAP_FAILED
6027 # define MAP_FAILED ((void *) -1)
6028 #endif
6030 /* use setlocale() function */
6031 $_def_setlocale
6033 /* Runtime CPU detection */
6034 $_def_runtime_cpudetection
6036 /* Dynamic a/v plugins */
6037 $_def_dynamic_plugins
6039 /* "restrict" keyword */
6040 #define restrict $_def_restrict_keyword
6042 #define PREFIX "$_prefix"
6044 /* define this to use simple idct with patched libavcodec */
6045 #define SIMPLE_IDCT 1
6047 #define USE_OSD 1
6048 #define USE_SUB 1
6050 /* enable/disable SIGHANDLER */
6051 $_def_sighandler
6053 /* Toggles debugging informations */
6054 $_def_debug
6056 /* Indicates that Ogle's libdvdread is available for DVD playback */
6057 $_def_dvdread
6059 /* Indicates that dvdread is from libmpdvdkit */
6060 $_def_mpdvdkit
6062 /* Additional options for libmpdvdkit*/
6063 $_def_dvd
6064 $_def_cdrom
6065 $_def_cdio
6066 $_def_dvdio
6067 $_def_bsdi_dvd
6068 $_def_dvd_bsd
6069 $_def_dvd_linux
6070 $_dev_dvd_openbsd
6071 $_def_dvd_darwin
6072 $_def_sol_scsi_h
6073 $_def_hpux_scsi_h
6074 $_def_stddef
6076 /* Common data directory (for fonts, etc) */
6077 #define MPLAYER_DATADIR "$_datadir"
6078 #define MPLAYER_CONFDIR "$_confdir"
6079 #define MPLAYER_LIBDIR "$_libdir"
6081 /* Define this to compile stream-caching support, it can be enabled via
6082 -cache <kilobytes> */
6083 #define USE_STREAM_CACHE 1
6085 /* Define to include support for XviD/Divx4Linux/OpenDivx */
6086 $_def_divx
6088 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
6089 /* You have to change DECORE_LIBS in config.mak, too! */
6090 $_def_decore
6092 /* Define if you are using DivX5Linux Decore library */
6093 $_def_divx5
6095 /* Define if you are using XviD library */
6096 $_def_xvid3
6097 $_def_xvid4
6098 $_def_decore_xvid
6099 $_def_encore_xvid
6101 /* Define to include support for libdv-0.9.5 */
6102 $_def_libdv
6104 /* If build mencoder */
6105 $_mencoder_flag
6107 /* Indicates if XviD/Divx4linux encore is available
6108 Note: for mencoder */
6109 $_def_encore
6111 /* Indicates if libmp3lame is available
6112 Note: for mencoder */
6113 $_def_mp3lame
6114 $_def_cfg_mp3lame
6116 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6117 $_def_mp1e
6119 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6120 (use -bps or -nobps commandline option for run-time method selection)
6121 -bps gives better sync for vbr mp3 audio, it is now default */
6122 #define AVI_SYNC_BPS 1
6124 /* Undefine this if you do not want to select mono audio (left or right)
6125 with a stereo MPEG layer 2/3 audio stream. The command line option
6126 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6127 right-only), with 0 being the default.
6129 #define USE_FAKE_MONO 1
6131 /* Undefine this if your sound card driver has no working select().
6132 If you have kernel Oops, player hangups, or just no audio, you should
6133 try to recompile MPlayer with this option disabled! */
6134 $_def_select
6136 /* define this to use iconv(3) function to codepage conversions */
6137 $_def_iconv
6139 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6140 $_def_rtc
6142 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6143 #define MAX_OUTBURST 65536
6145 /* set up audio OUTBURST. Do not change this! */
6146 #define OUTBURST 512
6148 /* Define this if your system has the header file for the OSS sound interface */
6149 $_def_sys_soundcard
6151 /* Define this if your system has the header file for the OSS sound interface
6152 * in /usr/include */
6153 $_def_soundcard
6155 /* Define this if your system has the sysinfo header */
6156 $_def_sys_sysinfo
6158 /* Define this if your system has ftello() */
6160 $_def_ftello
6161 #ifndef HAVE_FTELLO
6162 /* Need these for FILE and off_t an config.h is usually before other includes*/
6163 #include <stdio.h>
6164 #include <sys/types.h>
6165 off_t ftello(FILE *);
6166 #endif
6168 /* Define this if your system has the "malloc.h" header file */
6169 $_def_malloc
6171 /* memalign is mapped to malloc if unsupported */
6172 $_def_memalign
6173 #ifndef HAVE_MEMALIGN
6174 # define memalign(a,b) malloc(b)
6175 #endif
6177 /* Define this if your system has the "alloca.h" header file */
6178 $_def_alloca
6180 /* Define this if your system has the "sys/mman.h" header file */
6181 $_def_mman
6183 /* Define this if you have the elf dynamic linker -ldl library */
6184 $_def_dl
6186 /* Define this if you have the kstat kernel statistics library */
6187 $_def_kstat
6189 /* Define this if you have zlib */
6190 $_def_zlib
6191 #ifdef HAVE_ZLIB
6192 #define CONFIG_ZLIB
6193 #endif
6195 /* Define this if you have shm support */
6196 $_def_shm
6198 /* Define this if your system has scandir & alphasort */
6199 $_def_scandir
6201 /* Define this if your system has strsep */
6202 $_def_strsep
6204 /* Define this if your system has fseeko */
6205 $_def_fseeko
6206 #ifndef HAVE_FSEEKO
6207 /* Need these for FILE and off_t an config.h is usually before other includes*/
6208 #include <stdio.h>
6209 #include <sys/types.h>
6210 int fseeko(FILE *, off_t, int);
6211 #endif
6213 /* Define this if your system has vsscanf */
6214 $_def_vsscanf
6216 /* Define this if your system has no posix select */
6217 $_def_no_posix_select
6219 /* Define this if your system has gettimeofday */
6220 $_def_gettimeofday
6222 /* Define this if your system has glob */
6223 $_def_glob
6225 /* LIRC (remote control, see www.lirc.org) support: */
6226 $_def_lirc
6229 * LIRCCD (LIRC client daemon)
6230 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6232 $_def_lircc
6235 * FLAC decoding
6237 $_def_flac
6238 $_def_mpflac
6240 /* DVD navigation support using libdvdnav */
6241 $_def_dvdnav
6242 $_def_dvdnav_version
6244 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6245 #define MPEG12_POSTPROC 1
6247 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6248 $_def_ffpostprocess
6250 /* Define to include support for OpenDivx postprocessing */
6251 $_def_odivx_postprocess
6253 /* Win32 DLL support */
6254 $_def_win32
6255 #define WIN32_PATH "$_win32libdir"
6257 /* DirectShow support */
6258 $_def_dshow
6260 /* Mac OS X specific features */
6261 $_def_macosx
6263 /* Build our Win32-loader */
6264 $_def_win32_loader
6266 /* ffmpeg's libavcodec support (requires libavcodec source) */
6267 $_def_libavcodec
6268 $_def_libavcodecso
6270 /* risky codecs */
6271 #define CONFIG_RISKY 1
6273 /* Use libavcodec's decoders */
6274 #define CONFIG_DECODERS 1
6275 /* Use libavcodec's encoders */
6276 #define CONFIG_ENCODERS 1
6278 #define CONFIG_MPEGAUDIO_HP 1
6280 /* Use codec libs included in mplayer CVS / source dist: */
6281 #define USE_MP3LIB
6282 #define USE_LIBA52
6283 #define USE_LIBMPEG2
6285 /* Use the SVQ1 decoder in libmpcodecs - we don't want/need it with libavcodec */
6286 #ifndef USE_LIBAVCODEC
6287 #define USE_SVQ1
6288 #endif
6290 /* Use libfame encoder filter */
6291 $_def_fame
6293 /* XAnim DLL support */
6294 $_def_xanim
6295 /* Default search path */
6296 $_def_xanim_path
6298 /* RealPlayer DLL support */
6299 $_def_real
6300 /* Default search path */
6301 $_def_real_path
6303 /* LIVE.COM Streaming Media library support */
6304 $_def_live
6306 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6307 $_def_fastmemcpy
6309 /* Use unrarlib for Vobsubs */
6310 $_def_unrarlib
6312 /* gui support, please do not edit this option */
6313 $_def_gui
6315 /* Audio output drivers */
6316 $_def_ossaudio
6317 $_def_ossaudio_devdsp
6318 $_def_ossaudio_devmixer
6319 $_def_alsa5
6320 $_def_alsa9
6321 $_def_alsa1x
6322 $_def_arts
6323 $_def_esd
6324 $_def_esd_latency
6325 $_def_sys_asoundlib_h
6326 $_def_alsa_asoundlib_h
6327 $_def_sunaudio
6328 $_def_sgiaudio
6329 $_def_win32waveout
6330 $_def_nas
6332 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6333 #undef FAST_OSD
6334 #undef FAST_OSD_TABLE
6336 /* Enable TV Interface support */
6337 $_def_tv
6339 /* Enable EDL support */
6340 $_def_edl
6342 /* Enable Video 4 Linux TV interface support */
6343 $_def_tv_v4l
6345 /* Enable Video 4 Linux 2 TV interface support */
6346 $_def_tv_v4l2
6348 /* Enable *BSD BrookTree TV interface support */
6349 $_def_tv_bsdbt848
6351 /* Define if your processor stores words with the most significant
6352 byte first (like Motorola and SPARC, unlike Intel and VAX). */
6353 $_def_words_endian
6355 $_def_arch
6357 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
6358 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
6360 #ifdef ARCH_POWERPC
6361 #define ARCH_PPC 1
6362 #endif
6364 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
6365 #ifdef ARCH_ARMV4L
6366 #define ARCH_ARM 1
6367 #endif
6369 /* only gcc3 can compile mvi instructions */
6370 $_def_gcc_mvi_support
6372 /* Define this for Cygwin build for win32 */
6373 $_def_confwin32
6375 /* Define this to any prefered value from 386 up to infinity with step 100 */
6376 #define __CPU__ $iproc
6378 $_mp_wordsize
6380 $_def_linux
6382 $_def_vcd
6384 #ifdef sun
6385 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
6386 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6387 #elif defined(HPUX)
6388 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6389 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6390 #elif defined(WIN32)
6391 #define DEFAULT_CDROM_DEVICE "D:"
6392 #define DEFAULT_DVD_DEVICE "D:"
6393 #elif defined(SYS_DARWIN)
6394 #define DEFAULT_CDROM_DEVICE "/dev/rdiskN"
6395 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6396 #else
6397 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6398 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6399 #endif
6402 /*----------------------------------------------------------------------------
6404 ** NOTE: Instead of modifying these definitions here, use the
6405 ** --enable/--disable options of the ./configure script!
6406 ** See ./configure --help for details.
6408 *---------------------------------------------------------------------------*/
6410 /* C99 lrintf function available */
6411 $_def_lrintf
6413 /* yes, we have inttypes.h */
6414 #define HAVE_INTTYPES_H 1
6416 /* int_fastXY_t emulation */
6417 $_def_fast_inttypes
6419 /* nanosleep support */
6420 $_def_nanosleep
6422 /* SMB support */
6423 $_def_smbsupport
6425 /* termcap flag for getch2.c */
6426 $_def_termcap
6428 /* termios flag for getch2.c */
6429 $_def_termios
6430 $_def_termios_h
6431 $_def_termios_sys_h
6433 /* enable PNG support */
6434 $_def_png
6436 /* enable JPEG support */
6437 $_def_jpg
6439 /* enable GIF support */
6440 $_def_gif
6441 $_def_gif_4
6442 $_def_gif_tvt_hack
6444 /* enable FreeType support */
6445 $_def_freetype
6447 /* enable Fontconfig support */
6448 $_def_fontconfig
6450 /* enable FriBiDi usage */
6451 $_def_fribidi
6453 /* liblzo support */
6454 $_def_liblzo
6456 /* libmad support */
6457 $_def_mad
6459 /* enable OggVorbis support */
6460 $_def_vorbis
6462 /* enable Tremor as vorbis decoder */
6463 $_def_tremor
6465 /* enable OggTheora support */
6466 $_def_theora
6468 /* enable Matroska support */
6469 $_def_matroska
6471 /* enable FAAD (AAC) support */
6472 $_def_faad
6473 $_def_faad_internal
6474 $_def_faad_version
6476 /* enable network */
6477 $_def_network
6479 /* enable ftp support */
6480 $_def_ftp
6482 /* enable winsock2 instead of Unix functions*/
6483 $_def_winsock2
6485 /* define this to use inet_aton() instead of inet_pton() */
6486 $_def_use_aton
6488 /* enables / disables cdparanoia support */
6489 $_def_cdparanoia
6491 /* enables / disables VIDIX usage */
6492 $_def_vidix
6494 /* enables / disables new input joystick support */
6495 $_def_joystick
6497 /* enables / disables QTX codecs */
6498 $_def_qtx
6500 /* enables / disables osd menu */
6501 $_def_menu
6503 /* enables / disables subtitles sorting */
6504 $_def_sortsub
6506 /* XMMS input plugin support */
6507 $_def_xmms
6508 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
6510 /* enables inet6 support */
6511 $_def_inet6
6513 /* do we have gethostbyname2? */
6514 $_def_gethostbyname2
6516 /* Extension defines */
6517 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
6518 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
6519 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
6520 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
6521 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
6522 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
6523 $_def_altivec // only define if you have Altivec (G4)
6525 #ifdef HAVE_MMX
6526 #define USE_MMX_IDCT 1
6527 #endif
6529 $_def_altivec_h // enables usage of altivec.h
6532 $_def_mlib // Sun mediaLib, available only on solaris
6534 /* libmpeg2 uses a different feature test macro for mediaLib */
6535 #ifdef HAVE_MLIB
6536 #define LIBMPEG2_MLIB 1
6537 #endif
6539 /* libvo options */
6540 #define SCREEN_SIZE_X 1
6541 #define SCREEN_SIZE_Y 1
6542 $_def_x11
6543 $_def_xv
6544 $_def_xvmc
6545 $_def_vm
6546 $_def_xinerama
6547 $_def_gl
6548 $_def_gl_win32
6549 $_def_dga
6550 $_def_dga2
6551 $_def_sdl
6552 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
6553 $_def_sdlbuggy
6554 $_def_directx
6555 $_def_ggi
6556 $_def_3dfx
6557 $_def_tdfxfb
6558 $_def_tdfxvid
6559 $_def_directfb
6560 $_def_directfb_version
6561 $_def_zr
6562 $_def_bl
6563 $_def_mga
6564 $_def_xmga
6565 $_def_syncfb
6566 $_def_fbdev
6567 $_def_dxr2
6568 $_def_dxr3
6569 $_def_dvb
6570 $_def_dvb_in
6571 $_def_svga
6572 $_def_vesa
6573 $_def_xdpms
6574 $_def_aa
6575 $_def_tga
6577 /* used by GUI: */
6578 $_def_xshape
6580 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
6581 #define X11_FULLSCREEN 1
6582 #endif
6584 #endif /* MPLAYER_CONFIG_H */
6587 #############################################################################
6589 echo "Creating libvo/config.mak"
6590 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
6591 cat > libvo/config.mak << EOF
6592 include ../config.mak
6593 OPTIONAL_SRCS = $_vosrc
6594 OPTIONAL_OBJS = $_voobj
6597 #############################################################################
6599 echo "Creating libao2/config.mak"
6600 _aoobj=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
6601 cat > libao2/config.mak << EOF
6602 include ../config.mak
6603 OPTIONAL_SRCS = $_aosrc
6604 OPTIONAL_OBJS = $_aoobj
6607 #############################################################################
6609 echo "Creating help_mp.h"
6610 cat > help_mp.h << EOF
6612 // WARNING! This is a generated file. Do NOT edit.
6613 // See the help/ subdir for the editable files.
6615 #include "$_mp_help"
6618 if test $_mp_help != "help/help_mp-en.h"; then
6619 echo "Adding untranslated messages to help_mp.h"
6620 echo '// untranslated messages from the english master-file:' >> help_mp.h
6621 help/help_diff.sh $_mp_help <help/help_mp-en.h >> help_mp.h
6624 #############################################################################
6626 cat << EOF
6628 Config files successfully generated by ./configure !
6630 Install prefix: $_prefix
6631 Data directory: $_datadir
6632 Config direct.: $_confdir
6634 Byte order: $_byte_order
6635 Optimizing for: $_optimizing
6637 Languages:
6638 Messages/GUI: $_language
6641 echo -n " Manual pages: $LANGUAGES"
6642 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
6643 echo
6645 cat << EOF
6647 Enabled optional drivers:
6648 Input: $_inputmodules
6649 Codecs: $_codecmodules
6650 Audio output: $_aomodules
6651 Video output: $_vomodules
6652 Disabled optional drivers:
6653 Input: $_noinputmodules
6654 Codecs: $_nocodecmodules
6655 Audio output: $_noaomodules
6656 Video output: $_novomodules
6658 'config.h' and 'config.mak' contain your configuration options.
6659 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
6660 compile *** DO NOT REPORT BUGS if you tweak these files ***
6662 'make' will now compile MPlayer and 'make install' will install it.
6663 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
6668 if test "$_mtrr" = yes ; then
6669 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/en/devices.html#mtrr)"
6670 echo
6673 if test "$_sdl" = "outdated" ; then
6674 cat <<EOF
6675 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
6676 support has therefore been disabled.
6678 Please upgrade to a more recent version (version 1.1.8 and above are known to
6679 work). You may get this library from: http://www.libsdl.org
6681 You need to rerun ./configure and recompile after updating SDL. If you are
6682 only interested in the libSDL audio drivers, then an older version might work.
6684 Use --enable-sdl to force usage of libSDL.
6689 if x86; then
6690 if test "$_win32" = no ; then
6691 if test "$_win32libdir" ; then
6692 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
6693 else
6694 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
6696 cat << EOF
6697 Create it and copy the DLL files there! You can download the codecs from our
6698 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
6702 else
6703 cat <<EOF
6704 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
6705 operating system ($system_name). You may encounter a few AVI files that
6706 cannot be played due to missing Open Source video/audio codec support.
6712 cat <<EOF
6714 Check $TMPLOG if you wonder why an autodetection failed (check whether
6715 the development headers/packages are installed).
6717 If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
6721 if test "$_vidix" = no ; then
6722 cat <<EOF
6723 You've disabled VIDIX. Although it would be better to PORT it instead.
6724 Have a look at the documentation for supported cards!
6729 # Last move:
6730 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"