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
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
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
30 cat "$TMPC" >> "$TMPLOG"
32 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $TMPC -o $TMPO $@" >> "$TMPLOG"
34 ( $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra "$TMPC" -o "$TMPO" "$@" ) >> "$TMPLOG" 2>&1
37 echo "ldd $TMPO" >> "$TMPLOG"
38 ( ldd
"$TMPO" ) >> "$TMPLOG" 2>&1
43 # Display error message, flushes tempfile, exit
48 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
49 echo "Check \"$TMPLOG\" if you do not understand why it failed."
53 # OS test booleans functions
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 "$?" ; }
71 # arch test boolean functions
72 # x86/x86pc is used by QNX
75 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
87 # not boolean test: implement the posix shell "!" operator for a
89 # usage: not {command}
90 # returns exit status "success" when the execution of "command"
97 # Use this before starting a check
99 echo "============ Checking for $@ ============" >> "$TMPLOG"
100 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
103 # Use this to echo the results of a check
105 echo "Result is: $@" >> "$TMPLOG"
106 echo "##########################################" >> "$TMPLOG"
110 #############################################################################
112 # Check how echo works in this /bin/sh
114 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
115 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
118 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"`
120 for parm
in "$@" ; do
121 if test "$parm" = "--help" ||
test "$parm" = "-help" ||
test "$parm" = "-h" ; then
124 Usage: $0 [OPTIONS]...
127 -h, --help display this help and exit
129 Installation directories:
130 --prefix=DIR use this prefix for installing mplayer [/usr/local]
131 --bindir=DIR use this prefix for installing mplayer binary
133 --datadir=DIR use this prefix for installing machine independent
134 data files (fonts, skins) [PREFIX/share/mplayer]
135 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
136 --confdir=DIR use this prefix for installing configuration files
138 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
141 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
142 --enable-gui enable gmplayer compilation (gtk-1.2 GUI) [disable]
143 --enable-largefiles enable support for files > 2 GBytes [disable]
144 --enable-linux-devfs set default devices to devfs ones [disable]
145 --enable-termcap use termcap database for key codes [autodetect]
146 --disable-iconv do not use iconv(3) function [autodetect]
147 --disable-setlocale disable setlocale using in mplayer [autodetect]
148 --enable-lirc enable LIRC (remote control) support [autodetect]
149 --enable-joystick enable joystick support [disable]
150 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
151 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
152 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
153 --disable-edl disable EDL (edit decision list) support [enable]
154 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
155 --disable-streaming disable network streaming support
156 (support for: http/mms/rtp) [enable]
157 --enable-smb enable Samba (SMB) input support [autodetect]
158 --enable-live enable LIVE.COM Streaming Media support [disable]
159 --enable-dvdnav enable dvdnav support [disable]
160 --disable-dvdread Disable libdvdread support [autodetect]
161 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
162 --disable-css Disable old-style libcss DVD support [autodetect]
163 --disable-cdparanoia Disable cdparanoia support [autodetect]
164 --disable-freetype Disable freetype2 font rendering support [autodetect]
165 --disable-unrarlib Disable Unique RAR File Library [enabled]
166 --disable-new-conf Disable new experimental config parser code [enabled]
167 --enable-menu Enable osd menu support (needs new config) [disabled]
168 --disable-sortsub Disable subtitles sorting [enabled]
169 --enable-fribidi Enable using the FriBiDi libs [disabled]
170 --disable-macosx Disable Mac OS X specific features [autodetect]
171 --disable-inet6 Disable IPv6 support [autodetect]
172 --disable-gethostbyname2
173 gethostbyname() is not provided by the c library [autodetect]
175 --enable-gif enable gif support [autodetect]
176 --enable-png enable png input/output support [autodetect]
177 --enable-jpeg enable jpeg input/output support [autodetect]
178 --enable-liblzo enable external liblzo support [autodetect]
179 --disable-win32 disable Win32 DLL support [autodetect]
180 --disable-dshow disable Win32/DirectShow support [autodetect]
181 --disable-qtx-codecs disable Quicktime codecs [autodetect]
182 --disable-xanim disable XAnim DLL support [autodetect]
183 --disable-real disable RealPlayer DLL support [autodetect]
184 --disable-xvid disable XviD codec [autodetect]
185 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
186 --enable-opendivx enable _old_ OpenDivx codec [disable]
187 --disable-libavcodec disable libavcodec [autodetect]
188 --enable-libfame enable libfame realtime encoder [autodetect]
189 --enable-vorbis build with OggVorbis support [autodetect]
190 --enable-tremor build with integer-only OggVorbis support [disabled]
191 --enable-faad build with FAAD2 (MP4/AAC) support [autodetect]
192 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
193 --disable-mad disable libmad (mpeg audio) support [autodetect]
194 --enable-xmms build with XMMS inputplugin support [disabled]
197 --disable-vidix disable VIDIX stuff [enable on x86 *nix]
198 --enable-gl build with OpenGL render support [autodetect]
199 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
200 --enable-vesa build with VESA support [autodetect]
201 --enable-svga build with SVGAlib support [autodetect]
202 --enable-sdl build with SDL render support [autodetect]
203 --enable-aa build with AAlib render support [autodetect]
204 --enable-ggi build with GGI render support [autodetect]
205 --enable-directx build with Directx support [autodetect]
206 --enable-dxr2 build with DXR2 render support [autodetect]
207 --enable-dxr3 build with DXR3/H+ render support [autodetect]
208 --enable-dvb build with support for output via DVB-Card [autodetect]
209 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
210 (check for /dev/mga_vid) [autodetect]
211 --enable-xmga build with mga_vid X Window support
212 (check for X & /dev/mga_vid) [autodetect]
213 --enable-xv build with Xv render support for X 4.x [autodetect]
214 --enable-vm build with XF86VidMode support for X11 [autodetect]
215 --enable-xinerama build with Xinerama support for X11 [autodetect]
216 --enable-x11 build with X11 render support [autodetect]
217 --enable-fbdev build with FBDev render support [autodetect]
218 --enable-fbdev=nocopy yuv12 converts directly into framebuffer
219 --enable-mlib build with MLIB support (Solaris only) [autodetect]
220 --enable-3dfx build with obsolete /dev/3dfx support [disable]
221 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
222 --enable-directfb build with DirectFB support [autodetect]
223 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
224 --enable-bl build with Blinkenlights support [disable]
225 --enable-tdfxvid build with tdfx vid support [disable]
228 --disable-ossaudio disable OSS sound support [autodetect]
229 --disable-arts disable aRts sound support [autodetect]
230 --disable-esd disable esd sound support [autodetect]
231 --disable-alsa disable alsa sound support [autodetect]
232 --disable-sunaudio disable Sun sound support [autodetect]
233 --disable-nas disable NAS sound support [autodetect]
234 --disable-win32waveout disable Windows waveout sound support [autodetect]
235 --disable-select disable using select() on audio device [enable]
237 Miscellaneous options:
238 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
239 --cc=COMPILER use this C compiler to build MPlayer [gcc]
240 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
241 --enable-static build a statically linked binary. Set further linking
242 options with --enable-static="-lslang -lncurses"
243 --language=list a white space or comma separated list of languages
244 for translated man pages, the first language is the
245 primary and therefore used for translated messages
246 and GUI (also the environment variable \$LINGUAS is
248 (Available: $LANGUAGES all)
249 --enable-shared-pp install & use shared postprocessing lib
250 --install-path=PATH the path to a custom install program (useful if
251 your OS uses a GNU-incompatible install utility by
252 default and you want to point to the GNU version)
255 --enable-mmx build with mmx support [autodetect]
256 --enable-mmx2 build with mmx2 support (PIII, Athlon) [autodetect]
257 --enable-3dnow build with 3dnow! support [autodetect]
258 --enable-3dnowex build with 3dnow-dsp! support (K7) [autodetect]
259 --enable-sse build with sse support [autodetect]
260 --enable-sse2 build with sse2 support [autodetect]
261 --disable-fastmemcpy disable 3dnow/sse/mmx optimized memcpy() [enable]
262 --disable-big-endian Force byte order to little endian [autodetect]
263 --enable-big-endian Force byte order to big endian [autodetect]
264 --enable-debug[=1-3] compile debugging information into mplayer [disable]
265 --enable-profile compile profiling information into mplayer [disable]
266 --disable-sighandler disable sighandler for crashes [enable]
267 --enable-i18n _experimental_ gnu gettext() support [autodetect]
268 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
270 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
271 --disable-gcc-checking disable gcc version checking [enable]
273 Use these options if autodetection fails:
274 --with-extraincdir=DIR extra headers (png, dvb, mad, sdl, css, ...) in DIR
275 --with-extralibdir=DIR extra library files (png, SDL, ...) in DIR
276 --with-x11incdir=DIR X headers in DIR
277 --with-x11libdir=DIR X library files in DIR
278 --with-dxr2incdir=DIR DXR2 headers in DIR
279 --with-csslibdir=DIR libcss in DIR
280 --with-madlibdir=DIR libmad (libmad shared library) in DIR
281 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
282 --with-libdvdnav=DIR libdvdnav in DIR
283 --with-win32libdir=DIR W*ndows DLL files in DIR
284 --with-xanimlibdir=DIR XAnim DLL files in DIR
285 --with-reallibdir=DIR RealPlayer DLL files in DIR
286 --with-xvidcore=PATH path to XviD libxvidcore.a
287 (e.g. /opt/lib/libxvidcore.a)
288 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
289 --with-freetype-config=PATH path to freetype-config
290 (e.g. /opt/bin/freetype-config)
291 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
292 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
293 --with-dvdnav-config=PATH path to dvdnav-config
294 --with-livelibdir=DIR path to LIVE.COM Streaming Media libraries
295 --with-xmmsplugindir=DIR path to xmms plugins
296 --with-xmmslibdir=DIR path to libxmms.so.1
297 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR
298 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR
299 --with-fribidi-config=PATH path to fribidi-config
300 (e.g. /opt/bin/fribidi-config)
305 done # for parm in ...
308 # 1st pass checking for vital options
312 test "$CC" && _cc
="$CC"
314 _runtime_cpudetection
=no
318 _target
=`echo $ac_option | cut -d '=' -f 2`
321 _cc
=`echo $ac_option | cut -d '=' -f 2`
324 _as
=`echo $ac_option | cut -d '=' -f 2`
326 --enable-gcc-checking)
329 --disable-gcc-checking)
339 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
341 --with-extraincdir=*)
342 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
344 --with-extralibdir=*)
345 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
346 # _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'`
348 --enable-runtime-cpudetection)
349 _runtime_cpudetection
=yes
351 --disable-runtime-cpudetection)
352 _runtime_cpudetection
=no
355 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
360 # Determine our OS name and CPU architecture
361 if test -z "$_target" ; then
363 system_name
=`( uname -s ) 2>&1`
364 case "$system_name" in
365 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU
)
373 [cC
][yY
][gG
][wW
][iI
][nN
]*)
377 system_name
="$system_name-UNKNOWN"
382 # host's CPU/instruction set
383 host_arch
=`( uname -p ) 2>&1`
385 i386|sparc|ppc|alpha|arm|mips
)
387 powerpc
) # Darwin returns 'powerpc'
390 *) # uname -p on Linux returns 'unknown' for the processor type,
391 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
393 # Maybe uname -m (machine hardware name) returns something we
396 # x86/x86pc is used by QNX
397 case "`( uname -m ) 2>&1`" in
398 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
;;
399 ia64
) host_arch
=ia64
;;
400 x86_64
) host_arch
=x86_64
;;
401 ppc
) host_arch
=ppc
;;
402 alpha
) host_arch
=alpha
;;
403 sparc
*) host_arch
=sparc
;;
404 9000*) host_arch
=hppa
;;
405 arm
*) host_arch
=arm
;;
406 s390
) host_arch
=s390
;;
407 s390x
) host_arch
=s390x
;;
408 mips
) host_arch
=mips
;;
409 *) host_arch
=UNKNOWN
;;
414 system_name
=`echo $_target | cut -d '-' -f 2`
415 case "`echo $system_name | tr A-Z a-z`" in
416 linux
) system_name
=Linux
;;
417 freebsd
) system_name
=FreeBSD
;;
418 netbsd
) system_name
=NetBSD
;;
419 bsd
/os
) system_name
=BSD
/OS
;;
420 openbsd
) system_name
=OpenBSD
;;
421 sunos
) system_name
=SunOS
;;
422 qnx
) system_name
=QNX
;;
424 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
425 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
428 echo "Detected operating system: $system_name"
429 echo "Detected host architecture: $host_arch"
431 # LGB: temporary files
432 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
436 TMPLOG
="configure.log"
438 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
439 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
440 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
441 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
445 # FIXME: A lot of stuff is installed under /usr/local
446 # NK: But we should never use this stuff implicitly since we call compiler
447 # from /usr we should be sure that there no effects from other compilers
448 # (libraries) which might be installed into /usr/local. Let users use this
449 # stuff explicitly as command line argument. In other words: It would be
450 # resonable to have only /usr/include or only /usr/local/include.
453 _ld_extra
="$_ld_extra -L/usr/local/lib"
454 _inc_extra
="$_inc_extra -I/usr/local/include"
458 # Checking CC version...
459 if test "$_skip_cc_check" != yes ; then
460 for _cc
in "$_cc" gcc-3.1 gcc3 gcc-3.0 cc
; do
461 echocheck
"$_cc version"
462 cc_name
=`( $_cc -v ) 2>&1 | tail -1 | cut -d ' ' -f 1`
463 cc_version
=`( $_cc -dumpversion ) 2>&1`
464 if test "$?" -gt 0; then
465 cc_version
="not found"
469 cc_version
="v. ?.??, bad"
472 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
3.
[0-9]|
3.
[0-9].
[0-9])
473 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
474 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
475 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
476 cc_version
="$cc_version, ok"
483 cc_version
="$cc_version, bad"
487 echores
"$cc_version"
488 (test "$cc_verc_fail" = "no") && break
490 if test "$cc_verc_fail" = yes ; then
493 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
495 You are not using a supported compiler. We do not have the time to make sure
496 everything works with compilers other than the ones we use. Use either the
497 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
498 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
500 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
501 mplayer and lame (which is used for mencoder). If you get compile errors,
502 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
503 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
506 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
508 *** For details please read DOCS/users_against_developers.html ***
511 die
"Bad gcc version"
516 ******************************************************************************
518 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
519 Ok. You know. Do it. Did you already read DOCS/users_against_developers.html???
521 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
522 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
523 Lame which is used by mencoder produces weird errors, too.
525 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
526 If the problem _still_ exists, then read DOCS/bugreports.html !
528 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
530 ******************************************************************************
539 # now that we know what compiler should be used for compilation, try to find
540 # out which assembler is used by the $_cc compiler
541 if test "$_as" = auto
; then
542 _as
=`$_cc -print-prog-name=as`
543 test -z "$_as" && _as
=as
546 # Try to find the available options for the current CPU
548 if test -r /proc
/cpuinfo
; then
549 # Linux with /proc mounted, extract CPU information from it
550 _cpuinfo
="cat /proc/cpuinfo"
551 elif test -r /compat
/linux
/proc
/cpuinfo
; then
552 # FreeBSD with Linux emulation /proc mounted,
553 # extract CPU information from it
554 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
556 # all other OSes try to extract CPU information from a small helper
557 # program TOOLS/cpuinfo instead
558 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
559 _cpuinfo
="TOOLS/cpuinfo"
562 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -1`
563 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
564 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
565 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
566 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
568 pparam
=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -1`
569 if test -z "$pparam" ; then
570 pparam
=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -1`
582 for i
in $pparam ; do
585 3dnowext
) _3dnow
=yes _3dnowex
=yes ;;
587 altivec
) _altivec
=yes ;;
589 mtrr|k6_mtrr|cyrix_arr
) _mtrr
=yes ;;
590 xmm|sse|kni
) _sse
=yes _mmx2
=yes ;;
595 echocheck
"CPU vendor"
596 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
601 # leaving this here because of the non-x86 optimizations
602 if test "$_runtime_cpudetection" = yes ; then
612 _optimizing
="Runtime CPU-Detection enabled"
618 if [ "$host_arch" = alpha
]; then
622 unsigned long ver, mask;
623 asm ("implver %0" : "=r" (ver));
624 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
625 printf("%ld-%x\n", ver, ~mask);
629 $_cc -o "$TMPO" "$TMPC"
634 1-101) proc
="pca56" ;;
636 2-307) proc
="ev67" ;;
637 2-1307) proc
="ev68" ;;
643 # x86/x86pc is used by QNX
645 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
646 _def_arch
="#define ARCH_X86 1"
647 _target_arch
="TARGET_ARCH_X86 = yes"
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 # TODO: how to determine if model 13 is a k6-2 or a k6-3? Couldn't find anything on amd.com
656 if test "$pmodel" -eq 9; then
658 elif test "$pmodel" -ge 8; then
660 elif test "$pmodel" -ge 6; then
668 if test "$pmodel" -ge 7; then
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
680 elif test "$pmodel" -ge 4; then
683 proc
=athlon
# TODO: should the Duron Spitfire be considered a Thunderbird instead?
687 *) proc
=athlon-xp iproc
=686 ;;
692 3) proc
=i386 iproc
=386 ;;
693 4) proc
=i486 iproc
=486 ;;
695 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
696 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
702 if test "$pmodel" -ge 7; then
704 elif test "$pmodel" -ge 3; then
710 15) proc
=pentium4 iproc
=686 ;;
711 *) proc
=pentium4 iproc
=686 ;;
716 3) proc
=i386 iproc
=386 ;;
717 4) proc
=i486 iproc
=486 ;;
718 *) proc
=i586 iproc
=586 ;;
722 proc
=i586 iproc
=586 ;;
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"
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
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'."
769 elif test "$proc" = "i586-i686"; then
774 _march
="-march=$proc"
779 # i686 is probably the most common CPU - optimize for it
781 # at least i486 required, for bswap instruction
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
795 _march
="-march=$host_arch"
796 _mcpu
="-mcpu=$host_arch"
804 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
805 i686|athlon
*|pentium
*) iproc
=686 ;;
814 _def_arch
='#define ARCH_IA64 1'
815 _target_arch
='TARGET_ARCH_IA64 = yes'
823 _def_arch
='#define ARCH_X86_64 1'
824 _target_arch
='TARGET_ARCH_X86_64 = yes'
832 _def_arch
='#define ARCH_SPARC 1'
833 _target_arch
='TARGET_ARCH_SPARC = yes'
841 _def_arch
='#define ARCH_ARM 1'
842 _target_arch
='TARGET_ARCH_ARM = yes'
850 _def_arch
='#define ARCH_POWERPC 1'
851 _target_arch
='TARGET_ARCH_POWERPC = yes'
856 cpu750
=`$_cpuinfo | grep "cpu.*750"`
857 if test -n "$cpu750"; then
862 if [[ $
(sysctl
-n hw.vectorunit
) == 1 ]]; then
869 _def_arch
='#define ARCH_ALPHA 1'
870 _target_arch
='TARGET_ARCH_ALPHA = yes'
873 echocheck
"GCC & CPU optimization abilities"
874 if test "$proc" = "ev68" ; then
875 cc_check
-mcpu=$proc || proc
=ev67
877 if test "$proc" = "ev67" ; then
878 cc_check
-mcpu=$proc || proc
=ev6
885 _def_arch
='#define ARCH_SGI_MIPS 1'
886 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
894 _def_arch
='#define ARCH_PA_RISC 1'
895 _target_arch
='TARGET_ARCH_PA_RISC = yes'
903 _def_arch
='#define ARCH_S390 1'
904 _target_arch
='TARGET_ARCH_S390 = yes'
912 _def_arch
='#define ARCH_S390X 1'
913 _target_arch
='TARGET_ARCH_S390X = yes'
921 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
922 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
923 die
"unsupported architecture $host_arch"
928 if x86
&& test "$_runtime_cpudetection" = no
; then
930 if test "$1" = yes ; then
931 echocheck
"kernel support of $2"
934 void catch() { exit(1); }
936 signal(SIGILL, catch);
937 __asm__ __volatile__ ("$3":::"memory");return(0);
941 if ( cc_check
&& $TMPO ) > /dev
/null
2>&1 ; then
943 _optimizing
="$_optimizing $2"
947 echo "It seems that your kernel does not correctly support $2."
948 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
955 extcheck
$_mmx "mmx" "emms" || _mmx
=no
956 extcheck
$_mmx2 "mmx2" "sfence" || _mmx2
=no
957 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
958 extcheck
$_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex
=no
959 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
960 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
961 echocheck
"mtrr support"
964 if test "$_mtrr" = yes ; then
965 _optimizing
="$_optimizing mtrr"
968 if test "$_gcc3_ext" != ""; then
969 # if we had to disable sse/sse2 because the active kernel does not
970 # support this instruction set extension, we also have to tell
971 # gcc3 to not generate sse/sse2 instructions for normal C code
973 int main(void) { return 0; }
975 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
983 # GOTCHA: the variables below defines the default behavior for autodetection
984 # and have - unless stated otherwise - at least 2 states : yes no
985 # If autodetection is available then the third state is: auto
992 _dga
=auto
# 1 2 no auto
1082 _freetypeconfig
='freetype-config'
1084 _fribidiconfig
='fribidi-config'
1086 _gethostbyname2
=auto
1088 case "$ac_option" in
1093 --enable-gcc-checking) ;;
1094 --disable-gcc-checking) ;;
1095 --enable-static*) ;;
1096 --disable-static*) ;;
1097 --with-extraincdir=*) ;;
1098 --with-extralibdir=*) ;;
1099 --enable-runtime-cpudetection) ;;
1100 --disable-runtime-cpudetection) ;;
1101 --install-path=*) ;;
1104 --enable-mencoder) _mencoder
=yes ;;
1105 --disable-mencoder) _mencoder
=no
;;
1106 --enable-i18n) _i18n
=yes ;;
1107 --disable-i18n) _i18n
=no
;;
1108 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1109 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1110 --enable-setlocale) _setlocale
=yes ;;
1111 --disable-setlocale) _setlocale
=no
;;
1112 --enable-x11) _x11
=yes ;;
1113 --disable-x11) _x11
=no
;;
1114 --enable-xv) _xv
=yes ;;
1115 --disable-xv) _xv
=no
;;
1116 --enable-sdl) _sdl
=yes ;;
1117 --disable-sdl) _sdl
=no
;;
1118 --enable-directx) _directx
=yes ;;
1119 --disable-directx) _directx
=no
;;
1120 --enable-win32waveout) _win32waveout
=yes ;;
1121 --disable-win32waveout) _win32waveout
=no
;;
1122 --enable-nas) _nas
=yes ;;
1123 --disable-nas) _nas
=no
;;
1124 --enable-png) _png
=yes ;;
1125 --disable-png) _png
=no
;;
1126 --enable-jpeg) _jpg
=yes ;;
1127 --disable-jpeg) _jpg
=no
;;
1128 --enable-gif) _gif
=yes ;;
1129 --disable-gif) _gif
=no
;;
1130 --enable-gl) _gl
=yes ;;
1131 --disable-gl) _gl
=no
;;
1132 --enable-ggi) _ggi
=yes ;;
1133 --disable-ggi) _ggi
=no
;;
1134 --enable-aa) _aa
=yes ;;
1135 --disable-aa) _aa
=no
;;
1136 --enable-svga) _svga
=yes ;;
1137 --disable-svga) _svga
=no
;;
1138 --enable-vesa) _vesa
=yes ;;
1139 --disable-vesa) _vesa
=no
;;
1140 --enable-fbdev) _fbdev
=yes ;;
1141 --enable-fbdev=nocopy
) _fbdev
=yes; _fbdev_nocopy
=yes ;;
1142 --disable-fbdev) _fbdev
=no
;;
1143 --enable-dvb) _dvb
=yes ;;
1144 --disable-dvb) _dvb
=no
;;
1145 --enable-dvbhead) _dvbhead
=yes ;;
1146 --disable-dvbhead) _dvbhead
=no
;;
1147 --enable-dxr2) _dxr2
=yes ;;
1148 --disable-dxr2) _dxr2
=no
;;
1149 --enable-dxr3) _dxr3
=yes ;;
1150 --disable-dxr3) _dxr3
=no
;;
1151 --enable-iconv) _iconv
=yes ;;
1152 --disable-iconv) _iconv
=no
;;
1153 --enable-rtc) _rtc
=yes ;;
1154 --disable-rtc) _rtc
=no
;;
1155 --enable-mp1e) _mp1e
=yes ;;
1156 --disable-mp1e) _mp1e
=no
;;
1157 --enable-libdv) _libdv
=yes ;;
1158 --disable-libdv) _libdv
=no
;;
1159 --enable-ossaudio) _ossaudio
=yes ;;
1160 --disable-ossaudio) _ossaudio
=no
;;
1161 --enable-arts) _arts
=yes ;;
1162 --disable-arts) _arts
=no
;;
1163 --enable-esd) _esd
=yes ;;
1164 --disable-esd) _esd
=no
;;
1165 --enable-mad) _mad
=yes ;;
1166 --disable-mad) _mad
=no
;;
1167 --enable-liblzo) _liblzo
=yes ;;
1168 --disable-liblzo) _liblzo
=no
;;
1169 --enable-vorbis) _vorbis
=yes ;;
1170 --disable-vorbis) _vorbis
=no
;;
1171 --enable-tremor) _tremor
=yes ;;
1172 --disable-tremor) _tremor
=no
;;
1173 --enable-faad) _faad
=yes ;;
1174 --disable-faad) _faad
=no
;;
1175 --enable-xmms) _xmms
=yes ;;
1176 --enable-css) _css
=yes ;;
1177 --disable-css) _css
=no
;;
1178 --enable-dvdread) _dvdread
=yes ;;
1179 --disable-dvdread) _dvdread
=no
;;
1180 --enable-mpdvdkit) _dvdkit
=yes ;;
1181 --disable-mpdvdkit) _dvdkit
=no
;;
1182 --enable-dvdnav) _dvdnav
=yes ;;
1183 --disable-dvdnav) _dvdnav
=no
;;
1184 --enable-xanim) _xanim
=yes ;;
1185 --disable-xanim) _xanim
=no
;;
1186 --enable-real) _real
=yes ;;
1187 --disable-real) _real
=no
;;
1188 --enable-live) _live
=yes ;;
1189 --disable-live) _live
=no
;;
1190 --enable-xinerama) _xinerama
=yes ;;
1191 --disable-xinerama) _xinerama
=no
;;
1192 --enable-mga) _mga
=yes ;;
1193 --disable-mga) _mga
=no
;;
1194 --enable-xmga) _xmga
=yes ;;
1195 --disable-xmga) _xmga
=no
;;
1196 --enable-vm) _vm
=yes ;;
1197 --disable-vm) _vm
=no
;;
1198 --enable-mlib) _mlib
=yes ;;
1199 --disable-mlib) _mlib
=no
;;
1200 --enable-sunaudio) _sunaudio
=yes ;;
1201 --disable-sunaudio) _sunaudio
=no
;;
1202 --enable-sgiaudio) _sgiaudio
=yes ;;
1203 --disable-sgiaudio) _sgiaudio
=no
;;
1204 --enable-alsa) _alsa
=yes ;;
1205 --disable-alsa) _alsa
=no
;;
1206 --enable-tv) _tv
=yes ;;
1207 --disable-tv) _tv
=no
;;
1208 --enable-edl) _edl
=yes ;;
1209 --disable-edl) _edl
=no
;;
1210 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1211 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1212 --enable-tv-v4l) _tv_v4l
=yes ;;
1213 --disable-tv-v4l) _tv_v4l
=no
;;
1214 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1215 --disable-fastmemcpy) _fastmemcpy
=no
;;
1216 --enable-streaming) _streaming
=yes ;;
1217 --disable-streaming) _streaming
=no
;;
1218 --enable-smb) _smbsupport
=yes ;;
1219 --disable-smb) _smbsupport
=no
;;
1220 --enable-vidix) _vidix
=yes ;;
1221 --disable-vidix) _vidix
=no
;;
1222 --enable-joystick) _joystick
=yes ;;
1223 --disable-joystick) _joystick
=no
;;
1224 --enable-xvid) _xvid
=yes ;;
1225 --disable-xvid) _xvid
=no
;;
1226 --enable-divx4linux) _divx4linux
=yes ;;
1227 --disable-divx4linux) _divx4linux
=no
;;
1228 --enable-opendivx) _opendivx
=yes ;;
1229 --disable-opendivx) _opendivx
=no
;;
1230 --enable-libavcodec) _libavcodec
=yes ;;
1231 --disable-libavcodec) _libavcodec
=no
;;
1232 --enable-libfame) _fame
=yes ;;
1233 --disable-libfame) _fame
=no
;;
1234 --enable-lirc) _lirc
=yes ;;
1235 --disable-lirc) _lirc
=no
;;
1236 --enable-gui) _gui
=yes ;;
1237 --disable-gui) _gui
=no
;;
1238 --enable-termcap) _termcap
=yes ;;
1239 --disable-termcap) _termcap
=no
;;
1240 --enable-termios) _termios
=yes ;;
1241 --disable-termios) _termios
=no
;;
1242 --enable-3dfx) _3dfx
=yes ;;
1243 --disable-3dfx) _3dfx
=no
;;
1244 --enable-tdfxfb) _tdfxfb
=yes ;;
1245 --disable-tdfxvid) _tdfxvid
=no
;;
1246 --enable-tdfxvid) _tdfxvid
=yes ;;
1247 --disable-tdfxfb) _tdfxfb
=no
;;
1248 --enable-directfb) _directfb
=yes ;;
1249 --disable-directfb) _directfb
=no
;;
1250 --enable-zr) _zr
=yes ;;
1251 --disable-zr) _zr
=no
;;
1252 --enable-bl) _bl
=yes ;;
1253 --disable-bl) _bl
=no
;;
1254 --enable-mtrr) _mtrr
=yes ;;
1255 --disable-mtrr) _mtrr
=no
;;
1256 --enable-largefiles) _largefiles
=yes ;;
1257 --disable-largefiles) _largefiles
=no
;;
1258 --enable-shm) _shm
=yes ;;
1259 --disable-shm) _shm
=no
;;
1260 --enable-select) _select
=yes ;;
1261 --disable-select) _select
=no
;;
1262 --enable-linux-devfs) _linux_devfs
=yes ;;
1263 --disable-linux-devfs) _linux_devfs
=no
;;
1264 --enable-cdparanoia) _cdparanoia
=yes ;;
1265 --disable-cdparanoia) _cdparanoia
=no
;;
1266 --enable-big-endian) _big_endian
=yes ;;
1267 --disable-big-endian) _big_endian
=no
;;
1268 --enable-freetype) _freetype
=yes ;;
1269 --disable-freetype) _freetype
=no
;;
1270 --enable-unrarlib) _unrarlib
=yes ;;
1271 --disable-unrarlib) _unrarlib
=no
;;
1273 --enable-fribidi) _fribidi
=yes ;;
1274 --disable-fribidi) _fribidi
=no
;;
1276 --enable-inet6) _inet6
=yes ;;
1277 --disable-inet6) _inet6
=no
;;
1279 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1280 --disable-gethostbyname2) _gethostbyname2
=no
;;
1282 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1283 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1284 --disable-dga) _dga
=no
;;
1286 --enable-shared-pp) _shared_pp
=yes ;;
1287 --disable-shared-pp) _shared_pp
=no
;;
1289 --enable-new-conf) _new_conf
=yes ;;
1290 --disable-new-conf) _new_conf
=no
;;
1292 --enable-menu) _menu
=yes ;;
1293 --disable-menu) _menu
=no
;;
1295 --enable-qtx-codecs) _qtx_codecs
=yes ;;
1296 --disable-qtx-codecs) _qtx_codecs
=no
;;
1298 --enable-macosx) _macosx
=yes ;;
1299 --disable-macosx) _macosx
=no
;;
1301 --enable-sortsub) _sortsub
=yes ;;
1302 --disable-sortsub) _sortsub
=no
;;
1305 _language
=`echo $ac_option | cut -d '=' -f 2`
1308 _dvdnavdir
=`echo $ac_option | cut -d '=' -f 2`
1312 --with-win32libdir=*)
1313 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1316 --with-xanimlibdir=*)
1317 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1320 --with-reallibdir=*)
1321 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1324 --with-livelibdir=*)
1325 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
1329 _csslibdir
=`echo $ac_option | cut -d '=' -f 2`
1333 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1337 --with-xmmslibdir=*)
1338 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1341 --with-xmmsplugindir=*)
1342 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1355 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1357 --disable-sighandler)
1361 --enable-sse) _sse
=yes ;;
1362 --disable-sse) _sse
=no
;;
1363 --enable-sse2) _sse2
=yes ;;
1364 --disable-sse2) _sse2
=no
;;
1365 --enable-mmx2) _mmx2
=yes ;;
1366 --disable-mmx2) _mmx2
=no
;;
1367 --enable-3dnow) _3dnow
=yes ;;
1368 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
1369 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
1370 --disable-3dnowex) _3dnowex
=no
;;
1371 --enable-altivec) _altivec
=yes ;;
1372 --disable-altivec) _altivec
=no
;;
1373 --enable-mmx) _mmx
=yes ;;
1374 --disable-mmx) # 3Dnow! and MMX2 require MMX
1375 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
1377 --enable-win32) _win32
=yes ;;
1378 --disable-win32) _win32
=no _dshow
=no
;;
1379 --enable-dshow) _win32
=yes _dshow
=yes ;;
1380 --disable-dshow) _dshow
=no
;;
1383 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1386 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1388 --with-dxr2incdir=*)
1389 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1392 _xvidcore
=`echo $ac_option | cut -d '=' -f 2`
1394 --with-sdl-config=*)
1395 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
1397 --with-freetype-config=*)
1398 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
1400 --with-fribidi-config=*)
1401 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
1403 --with-gtk-config=*)
1404 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
1406 --with-glib-config=*)
1407 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
1409 --with-dvdnav-config=*)
1410 _dvdnavconfig
=`echo $ac_option | cut -d '=' -f 2`
1413 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1415 --with-cdparanoiaincdir=*)
1416 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1418 --with-cdparanoialibdir=*)
1419 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1423 _prefix
=`echo $ac_option | cut -d '=' -f 2`
1426 _bindir
=`echo $ac_option | cut -d '=' -f 2`
1429 _datadir
=`echo $ac_option | cut -d '=' -f 2`
1432 _mandir
=`echo $ac_option | cut -d '=' -f 2`
1435 _confdir
=`echo $ac_option | cut -d '=' -f 2`
1438 _libdir
=`echo $ac_option | cut -d '=' -f 2`
1442 echo "Unknown parameter: $ac_option"
1449 # Atmos: moved this here, to be correct, if --prefix is specified
1450 test -z "$_bindir" && _bindir
="$_prefix/bin"
1451 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1452 test -z "$_mandir" && _mandir
="$_prefix/man"
1453 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1454 test -z "$_libdir" && _libdir
="$_prefix/lib"
1455 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
1458 # Checking assembler (_as) compatibility...
1459 # Added workaround for older as that reads from stdin by default - atmos
1460 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1461 echocheck
"assembler ($_as $as_version)"
1463 _pref_as_version
='2.9.1'
1465 if test "$_mmx" = yes ; then
1466 echo 'emms' >> $TMPS
1468 if test "$_3dnow" = yes ; then
1469 _pref_as_version
='2.10.1'
1470 echo 'femms' >> $TMPS
1472 if test "$_3dnowex" = yes ; then
1473 _pref_as_version
='2.10.1'
1474 echo 'pswapd %mm0, %mm0' >> $TMPS
1476 if test "$_mmx2" = yes ; then
1477 _pref_as_version
='2.10.1'
1478 echo 'movntq %mm0, (%eax)' >> $TMPS
1480 if test "$_sse" = yes ; then
1481 _pref_as_version
='2.10.1'
1482 echo 'xorps %xmm0, %xmm0' >> $TMPS
1484 #if test "$_sse2" = yes ; then
1485 # _pref_as_version='2.11'
1486 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1488 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
1490 if test "$as_verc_fail" != yes ; then
1494 echo "Upgrade binutils to ${_pref_as_version} ..."
1495 die
"obsolete binutils version"
1499 _def_mmx
='#undef HAVE_MMX'
1500 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
1501 _def_mmx2
='#undef HAVE_MMX2'
1502 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
1503 _def_3dnow
='#undef HAVE_3DNOW'
1504 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
1505 _def_3dnowex
='#undef HAVE_3DNOWEX'
1506 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
1507 _def_sse
='#undef HAVE_SSE'
1508 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
1509 _def_sse2
='#undef HAVE_SSE2'
1510 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
1511 _def_altivec
='#undef HAVE_ALTIVEC'
1512 test "$_altivec" = yes && _def_altivec
='#define HAVE_ALTIVEC 1'
1515 # Checking kernel version...
1516 if x86
&& linux
; then
1518 kernel_version
=`uname -r 2>&1`
1519 echocheck
"$system_name kernel version"
1520 case "$kernel_version" in
1521 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
1522 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
1523 _k_verc_problem
=yes;;
1525 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
1528 if test "$_k_verc_fail" ; then
1529 echores
"$kernel_version, fail"
1530 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
1531 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
1532 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
1533 echo "supports SSE, but you have been warned! If you are using a kernel older than"
1534 echo "2.2.x you must upgrade it to get SSE support!"
1535 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
1537 echores
"$kernel_version, ok"
1541 if test "$_vidix" = auto
; then
1543 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
1545 ppc
&& linux
&& _vidix
=yes
1551 # On QNX we must link to libph - Gabucino
1553 _ld_arch
="$_ld_arch -lph"
1556 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
1558 if test "$_vidix" = yes ; then
1561 for _awk
in mawk gawk nawk
awk; do
1562 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
1567 test "$_awk_verc_fail" = yes && _awk
=no
1569 if test "$_awk_verc_fail" = yes; then
1570 echo "VIDIX needs awk, but no working implementation was found!"
1571 echo "Try the GNU version, which can be downloaded from:"
1572 echo "ftp://ftp.gnu.org/gnu/gawk/"
1573 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
1578 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1583 ######################
1584 # MAIN TESTS GO HERE #
1585 ######################
1588 echocheck
"extra headers"
1589 if test "$_inc_extra" ; then
1590 echores
"$_inc_extra"
1596 echocheck
"extra libs"
1597 if test "$_ld_extra" ; then
1598 echores
"$_ld_extra"
1604 # Checking for localization ...
1605 # CSAK EGY MARADHAT - A HEGYLAKO
1607 if test "$_i18n" != no
; then
1609 #include <libintl.h>
1610 int main(void) { gettext("test"); return 0; }
1614 if test "$_i18n" = auto
; then
1615 cc_check
&& _i18n
=yes
1617 for i18n_lib
in "" "-lintl"; do
1618 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
1622 if test "$_i18n" = yes ; then
1623 _def_i18n
='#define USE_I18N 1'
1625 _def_i18n
='#undef USE_I18N'
1627 if test -z "$_i18n_libs" ; then
1630 echores
"$_i18n (using $_i18n_libs)"
1634 # Checking for setlocale() ...
1635 # CSAK EGY MARADHAT - A HEGYLAKO
1636 # Nemnem. a TV Maci !
1637 echocheck
"setlocale()"
1638 if test "$_setlocale" = auto
; then
1641 int main(void) { setlocale( LC_ALL,"" ); return 0; }
1644 cc_check
&& _setlocale
=yes
1646 if test "$_setlocale" = yes ; then
1647 _def_setlocale
='#define USE_SETLOCALE 1'
1649 _def_setlocale
='#undef USE_SETLOCALE'
1651 echores
"$_setlocale"
1654 echocheck
"language"
1655 test -z "$_language" && _language
=$LINGUAS
1656 _language
=`echo $_language | sed 's/,/ /g'`
1657 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
1658 for i
in $_language ; do
1659 test "$i" = all
&& i
=en
1660 if test -f "help/help_mp-${i}.h" ; then
1664 echo -n "$i not found, "
1665 _language
=`echo $_language | sed "s/$i *//g"`
1668 test -z "$_language" && _language
=en
1669 for i
in $LANGUAGES ; do
1670 if test -f "DOCS/$i/mplayer.1" ; then
1671 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
1673 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
1676 echores
"using $_language (man pages: $LANGUAGES)"
1677 _mp_help
="help/help_mp-${_language}.h"
1678 test -f $_mp_help || die
"$_mp_help not found"
1680 echocheck
"enable sighandler"
1681 if test "$_sighandler" = yes ; then
1682 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
1684 _def_sighandler
='#undef ENABLE_SIGHANDLER'
1686 echores
"$_sighandler"
1688 echocheck
"runtime cpudetection"
1689 if test "$_runtime_cpudetection" = yes ; then
1690 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
1692 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
1694 echores
"$_runtime_cpudetection"
1697 echocheck
"restrict keyword"
1698 for restrict_keyword
in restrict __restrict __restrict__
; do
1699 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
1701 _def_restrict_keyword
=$restrict_keyword
1705 if [ -n "$_def_restrict_keyword" ]; then
1706 echores
"$_def_restrict_keyword"
1715 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
1718 cc_check
-lkstat && _kstat
=yes
1719 if test "$_kstat" = yes ; then
1720 _ld_arch
="-lkstat $_ld_arch"
1722 if test "$_kstat" = yes ; then
1723 _def_kstat
="#define HAVE_LIBKSTAT 1"
1725 _def_kstat
="#undef HAVE_LIBKSTAT"
1731 # required for nanosleep on some systems
1734 int main(void) { (void) nanosleep(0, 0); return 0; }
1737 cc_check
-lposix4 && _posix4
=yes
1738 if test "$_posix4" = yes ; then
1739 _ld_arch
="-lposix4 $_ld_arch"
1747 int main(void) { (void) lrintf(0.0); return 0; }
1750 cc_check
-lm && _lrintf
=yes
1751 if test "$_lrintf" = yes ; then
1752 _def_lrintf
="#define HAVE_LRINTF 1"
1754 _def_lrintf
="#undef HAVE_LRINTF"
1759 echocheck
"nanosleep"
1760 # also check for nanosleep
1763 int main(void) { (void) nanosleep(0, 0); return 0; }
1766 cc_check
$_ld_arch && _nanosleep
=yes
1767 if test "$_nanosleep" = yes ; then
1768 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
1770 _def_nanosleep
='#undef HAVE_NANOSLEEP'
1772 echores
"$_nanosleep"
1776 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
1779 int main(void) { (void) gethostbyname(0); return 0; }
1781 cc_check
-lsocket && _ld_sock
="-lsocket"
1782 cc_check
-lnsl && _ld_sock
="-lnsl"
1783 cc_check
-lsocket -lnsl && _ld_sock
="-lsocket -lnsl"
1784 if test "$_ld_sock" ; then
1785 echores
"yes (using $_ld_sock)"
1792 echocheck
"inet_pton()"
1794 #include <sys/types.h>
1795 #include <sys/socket.h>
1796 #include <arpa/inet.h>
1797 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
1799 if cc_check
$_ld_sock ; then
1800 # NOTE: Linux has libresolv but does not need it
1802 echores
"yes (using $_ld_sock)"
1803 elif cc_check
$_ld_sock -lresolv ; then
1804 # NOTE: needed for SunOS at least
1805 _ld_sock
="$_ld_sock -lresolv"
1806 echores
"yes (using $_ld_sock)"
1808 echores
"no (=> i'll try inet_aton next)"
1810 echocheck
"inet_aton()"
1812 #include <sys/types.h>
1813 #include <sys/socket.h>
1814 #include <arpa/inet.h>
1815 int main(void) { (void) inet_aton(0, 0); return 0; }
1818 if cc_check
$_ld_sock ; then
1819 # NOTE: Linux has libresolv but does not need it
1821 echores
"yes (using $_ld_sock)"
1822 elif cc_check
$_ld_sock -lresolv ; then
1823 # NOTE: needed for SunOS at least
1824 _ld_sock
="$_ld_sock -lresolv"
1825 echores
"yes (using $_ld_sock)"
1829 echores
"no (=> streaming support disabled)"
1833 _def_use_aton
='#undef USE_ATON'
1834 if test "$_use_aton" != no
; then
1835 _def_use_aton
='#define USE_ATON 1'
1839 echocheck
"inttypes.h (required)"
1841 #include <inttypes.h>
1842 int main(void) { return 0; }
1845 cc_check
&& _inttypes
=yes
1846 if test "$_inttypes" = yes ; then
1850 die
"cannot find header inttypes.h (see DOCS/faq.html)"
1852 echores
"$_inttypes"
1855 echocheck
"word size"
1856 _mp_wordsize
="#undef MP_WORDSIZE"
1859 #include <sys/types.h>
1860 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
1862 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
1863 echores
"$_wordsize"
1866 echocheck
"stddef.h"
1869 int main(void) { return 0; }
1872 cc_check
&& _stddef
=yes
1873 if test "$_stddef" = yes ; then
1874 _def_stddef
='#define HAVE_STDDEF_H 1'
1876 _def_stddef
='#undef HAVE_STDDEF_H'
1881 echocheck
"malloc.h"
1884 int main(void) { (void) malloc(0); return 0; }
1887 cc_check
&& _malloc
=yes
1888 if test "$_malloc" = yes ; then
1889 _def_malloc
='#define HAVE_MALLOC_H 1'
1891 _def_malloc
='#undef HAVE_MALLOC_H'
1893 # malloc.h emits a warning in FreeBSD and OpenBSD
1894 (freebsd || openbsd
) && _def_malloc
='#undef HAVE_MALLOC_H'
1898 echocheck
"memalign()"
1899 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
1902 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
1905 cc_check
&& _memalign
=yes
1906 if test "$_memalign" = yes ; then
1907 _def_memalign
='#define HAVE_MEMALIGN 1'
1909 _def_memalign
='#undef HAVE_MEMALIGN'
1911 echores
"$_memalign"
1914 echocheck
"alloca.h"
1917 int main(void) { (void) alloca(0); return 0; }
1920 cc_check
&& _alloca
=yes
1922 _def_alloca
='#define HAVE_ALLOCA_H 1'
1924 _def_alloca
='#undef HAVE_ALLOCA_H'
1931 #include <sys/types.h>
1932 #include <sys/mman.h>
1933 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
1936 cc_check
&& _mman
=yes
1937 if test "$_mman" = yes ; then
1938 _def_mman
='#define HAVE_SYS_MMAN_H 1'
1940 _def_mman
='#undef HAVE_SYS_MMAN_H'
1945 echocheck
"dynamic loader"
1948 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
1953 elif cc_check
-ldl ; then
1957 if test "$_dl" = yes ; then
1958 _def_dl
='#define HAVE_LIBDL 1'
1960 _def_dl
='#undef HAVE_LIBDL'
1965 echocheck
"dynamic a/v plugins support"
1966 if test "$_dl" = no
; then
1967 _dynamic_plugins
= no
1969 if test "$_dynamic_plugins" = yes ; then
1970 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
1972 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
1974 echores
"$_dynamic_plugins"
1977 #echocheck "dynamic linking"
1978 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
1979 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
1981 #int main(void) { return 0; }
1983 #if cc_check -rdynamic ; then
1984 # _ld_dl_dynamic='-rdynamic'
1985 #elif cc_check -Bdynamic ; then
1986 # _ld_dl_dynamic='-Bdynamic'
1987 #elif cc_check ; then
1990 #echores "using $_ld_dl_dynamic"
1995 #include <pthread.h>
1996 void* func(void *arg) { return arg; }
1997 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
1999 if ( cc_check
&& $TMPO ) ; then # QNX
2001 elif ( cc_check
-lpthread && $TMPO ) ; then
2002 _ld_pthread
='-lpthread'
2003 elif ( cc_check
-pthread && $TMPO ) ; then
2004 _ld_pthread
='-pthread'
2006 if test "$_ld_static" ; then
2007 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2008 if ( cc_check
-lpthread ) ; then
2009 _ld_pthread
='-lpthread'
2010 elif ( cc_check
-pthread ) ; then
2011 _ld_pthread
='-pthread'
2013 die
"Static lib pthread not found (needed by Windows and networking stufff)."
2016 die
"Lib pthread not found (needed by Windows and networking stuff)."
2019 echores
"yes (using $_ld_pthread)"
2022 echocheck
"sys/soundcard.h"
2024 #include <sys/soundcard.h>
2025 int main(void) { return 0; }
2028 cc_check
&& _sys_soundcard
=yes
2029 if test "$_sys_soundcard" = yes ; then
2030 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2031 _inc_soundcard
='#include <sys/soundcard.h>'
2033 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2035 echores
"$_sys_soundcard"
2037 if test "$_sys_soundcard" != yes ; then
2038 echocheck
"soundcard.h"
2040 #include <soundcard.h>
2041 int main(void) { return 0; }
2044 cc_check
&& _soundcard
=yes
2045 if linux ||
test "$_ossaudio" != no
; then
2046 # use soundcard.h on Linux, or when OSS support is enabled
2047 echores
"$_soundcard"
2049 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2050 echores
"$_soundcard, but ignored!"
2053 if test "$_soundcard" = yes ; then
2054 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2055 _inc_soundcard
='#include <soundcard.h>'
2057 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2060 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2064 echocheck
"sys/dvdio.h"
2067 #include <sys/dvdio.h>
2068 int main(void) { return 0; }
2071 cc_check
&& _dvdio
=yes
2072 if test "$_dvdio" = yes ; then
2073 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2075 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2080 echocheck
"sys/cdio.h"
2083 #include <sys/cdio.h>
2084 int main(void) { return 0; }
2087 cc_check
&& _cdio
=yes
2088 if test "$_cdio" = yes ; then
2089 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2091 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2096 echocheck
"linux/cdrom.h"
2098 #include <sys/types.h>
2099 #include <linux/cdrom.h>
2100 int main(void) { return 0; }
2103 cc_check
&& _cdrom
=yes
2104 if test "$_cdrom" = yes ; then
2105 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2107 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2115 int main(void) { return 0; }
2118 cc_check
&& _dvd
=yes
2119 if test "$_dvd" = yes ; then
2120 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2122 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2127 echocheck
"BSDI dvd.h"
2130 int main(void) { return 0; }
2133 cc_check
&& _bsdi_dvd
=yes
2134 if test "$_bsdi_dvd" = yes ; then
2135 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2137 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2139 echores
"$_bsdi_dvd"
2142 echocheck
"HPUX SCSI header"
2144 #include <sys/scsi.h>
2145 int main(void) { return 0; }
2148 cc_check
&& _hpux_scsi_h
=yes
2149 if test "$_hpux_scsi_h" = yes ; then
2150 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2152 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2154 echores
"$_hpux_scsi_h"
2157 echocheck
"userspace SCSI headers (Solaris)"
2159 # include <unistd.h>
2160 # include <stropts.h>
2161 # include <sys/scsi/scsi_types.h>
2162 # include <sys/scsi/impl/uscsi.h>
2163 int main(void) { return 0; }
2166 cc_check
&& _sol_scsi_h
=yes
2167 if test "$_sol_scsi_h" = yes ; then
2168 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2170 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2172 echores
"$_sol_scsi_h"
2176 if test "$_termcap" = auto
; then
2178 int main(void) { return 0; }
2181 cc_check
-ltermcap && _termcap
=yes
2183 if test "$_termcap" = yes ; then
2184 _def_termcap
='#define USE_TERMCAP 1'
2185 _ld_termcap
='-ltermcap'
2187 _def_termcap
='#undef USE_TERMCAP'
2193 if test "$_termios" = auto
; then
2195 #include <sys/termios.h>
2196 int main(void) { return 0; }
2199 cc_check
&& _termios
=yes
2200 _def_termios_h_name
='sys/termios.h'
2203 if test "$_termios" = no
; then
2205 #include <termios.h>
2206 int main(void) { return 0; }
2209 cc_check
&& _termios
=yes
2210 _def_termios_h_name
='termios.h'
2213 if test "$_termios" = yes ; then
2214 _def_termios
='#define HAVE_TERMIOS 1'
2215 _def_termios_h
='#undef HAVE_TERMIOS_H'
2216 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
2218 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2219 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
2220 elif test "$_def_termios_h_name" = 'termios.h' ; then
2221 _def_termios_h
='#define HAVE_TERMIOS_H 1'
2223 echores
"yes (using $_def_termios_h_name)"
2225 _def_termios
='#undef HAVE_TERMIOS'
2226 _def_termios_h_name
=''
2232 if test "$_shm" = auto
; then
2234 #include <sys/types.h>
2235 #include <sys/shm.h>
2236 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2239 cc_check
&& _shm
=yes
2241 if test "$_shm" = yes ; then
2242 _def_shm
='#define HAVE_SHM 1'
2244 _def_shm
='#undef HAVE_SHM'
2249 # XXX: FIXME, add runtime checking
2250 echocheck
"linux devfs"
2251 echores
"$_linux_devfs"
2254 echocheck
"scandir()"
2256 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2259 cc_check
&& _scandir
=yes
2260 if test "$_scandir" = yes ; then
2261 _def_scandir
='#define HAVE_SCANDIR 1'
2263 _def_scandir
='#undef HAVE_SCANDIR'
2268 echocheck
"strsep()"
2271 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2274 cc_check
&& _strsep
=yes
2275 if test "$_strsep" = yes ; then
2276 _def_strsep
='#define HAVE_STRSEP 1'
2278 _def_strsep
='#undef HAVE_STRSEP'
2283 echocheck
"vsscanf()"
2286 int main(void) { vsscanf(); return 0; }
2289 cc_check
&& _vsscanf
=yes
2290 if test "$_vsscanf" = yes ; then
2291 _def_vsscanf
='#define HAVE_VSSCANF 1'
2293 _def_vsscanf
='#undef HAVE_VSSCANF'
2298 echocheck
"posix select()"
2302 #include <sys/types.h>
2304 #include <sys/time.h>
2306 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
2309 cc_check
&& _posix_select
=yes
2310 if test "$_posix_select" = no
; then
2311 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
2313 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
2315 echores
"$_posix_select"
2318 echocheck
"gettimeofday()"
2321 #include <sys/time.h>
2322 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
2325 cc_check
&& _gettimeofday
=yes
2326 if test "$_gettimeofday" = yes ; then
2327 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
2329 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
2331 echores
"$_gettimeofday"
2338 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
2341 cc_check
&& _glob
=yes
2342 if test "$_glob" = yes ; then
2343 _def_glob
='#define HAVE_GLOB 1'
2345 _def_glob
='#undef HAVE_GLOB'
2350 echocheck
"sys/sysinfo.h"
2352 #include <sys/sysinfo.h>
2354 struct sysinfo s_info;
2360 cc_check
&& _sys_sysinfo
=yes
2361 if test "$_sys_sysinfo" = yes ; then
2362 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
2363 _inc_sysinfo
='#include <sys/sysinfo.h>'
2365 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
2367 echores
"$_sys_sysinfo"
2370 echocheck
"Mac OS X APIs"
2371 if test "$_macosx" = auto
; then
2372 if darwin
&& ppc
; then
2376 _def_macosx
='#undef MACOSX'
2379 if test "$_macosx" = yes ; then
2381 #include <Carbon/Carbon.h>
2382 #include <QuickTime/QuickTime.h>
2386 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
2389 if cc_check
-framework Carbon
-framework QuickTime
; then
2391 _macosx_frameworks
="-framework Carbon -framework QuickTime"
2392 _def_macosx
='#define MACOSX 1'
2395 _def_macosx
='#undef MACOSX'
2401 echocheck
"Samba support (libsmbclient)"
2402 if test "$_smbsupport" = auto
; then
2405 #include <libsmbclient.h>
2406 int main(void) { smbc_opendir("smb://"); return 0; }
2408 if cc_check
-lsmbclient ; then
2409 # this is not working for me becouse it needs -ldl and some NIS (YP) libs
2410 # $_ld_dl and -lyp ? should be added
2415 if test "$_smbsupport" = yes; then
2416 _ld_smb
="-lsmbclient"
2417 _def_smbsupport
="#define LIBSMBCLIENT"
2418 _inputmodules
="smb $_inputmodules"
2420 _def_smbsupport
="#undef LIBSMBCLIENT"
2421 _noinputmodules
="smb $_noinputmodules"
2423 echores
"$_smbsupport"
2432 if test "$_3dfx" = yes ; then
2433 _def_3dfx
='#define HAVE_3DFX 1'
2434 _vosrc
="$_vosrc vo_3dfx.c"
2435 _vomodules
="3dfx $_vomodules"
2437 _def_3dfx
='#undef HAVE_3DFX'
2438 _novomodules
="3dfx $_novomodules"
2444 if test "$_tdfxfb" = yes ; then
2445 _def_tdfxfb
='#define HAVE_TDFXFB 1'
2446 _vosrc
="$_vosrc vo_tdfxfb.c"
2447 _vomodules
="tdfxfb $_vomodules"
2449 _def_tdfxfb
='#undef HAVE_TDFXFB'
2450 _novomodules
="tdfxfb $_novomodules"
2455 if test "$_tdfxvid" = yes ; then
2456 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
2457 _vosrc
="$_vosrc vo_tdfx_vid.c"
2458 _vomodules
="tdfx_vid $_vomodules"
2460 _def_tdfxvid
='#undef HAVE_TDFX_VID'
2461 _novomodules
="tdfx_vid $_novomodules"
2465 echocheck
"DirectFB headers presence"
2466 if test -z "$_inc_directfb" ; then
2467 for I
in /usr
/include
/usr
/local
/include
; do
2468 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
2469 _inc_directfb
="-I$I/directfb"
2470 echores
"yes (using $_inc_directfb)"
2473 if test -d "$I" && test -f "$I/directfb.h" ; then
2474 _inc_directfb
="-I$I"
2475 echores
"yes (using $_inc_directfb)"
2479 if test -z "$_inc_directfb" ; then
2484 echores
"yes (using $_inc_directfb)"
2486 if test "$_inc_directfb" = "-I/usr/include" ; then
2490 echocheck
"DirectFB"
2491 if test "$_directfb" = auto
; then
2494 #include <directfb.h>
2495 int main(void) { IDirectFB *foo; return 0; }
2497 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
2500 if test "$_directfb" = yes; then
2502 #include <directfb.h>
2504 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
2508 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
2509 _directfb_version
=`"$TMPO"`
2510 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
2511 echores
"yes ($_directfb_version)"
2514 echores
"no (failed to get version)"
2517 echores
"$_directfb"
2520 if test "$_directfb" = yes ; then
2521 _def_directfb
='#define HAVE_DIRECTFB 1'
2522 if test "$_directfb_version" -ge 913; then
2523 _vosrc
="$_vosrc vo_directfb2.c"
2525 _vosrc
="$_vosrc vo_directfb.c"
2527 _vomodules
="directfb $_vomodules"
2528 _ld_directfb
='-ldirectfb'
2530 if test "$_directfb_version" -ge 914; then
2531 _vosrc
="$_vosrc vo_dfbmga.c"
2532 _vomodules
="dfbmga $_vomodules"
2535 _def_directfb
='#undef HAVE_DIRECTFB'
2536 _novomodules
="directfb $_novomodules"
2541 echocheck
"X11 headers presence"
2542 if test -z "$_inc_x11" ; then
2543 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
2544 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
2546 echores
"yes (using $I)"
2550 if test -z "$_inc_x11" ; then
2552 echores
"not found (check if the dev(el) packages are installed)"
2555 echores
"yes (using $_inc_x11)"
2557 if test "$_inc_x11" = "-I/usr/include" ; then
2562 echocheck
"X11 libs presence"
2563 if test -z "$_ld_x11" ; then
2564 for I
in /usr
/X11R
6/lib
/usr
/lib
/X11R6
/usr
/X11
/lib
/usr
/lib32
/usr
/openwin
/lib
/usr
/X11R
6/lib64
; do
2565 if test -d "$I" && ( test -f "$I/libX11.so" ||
test -f "$I/libX11.a" ) ; then
2567 echores
"yes (using $I)"
2571 if test -z "$_ld_x11" ; then
2573 echores
"not found (check if the dev(el) packages are installed)"
2576 echores
"yes (using $_ld_x11)"
2578 _ld_x11
="$_ld_x11 -lXext -lX11 $_ld_sock"
2582 if test "$_x11" != no
; then
2584 #include <X11/Xlib.h>
2585 #include <X11/Xutil.h>
2586 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
2589 cc_check
$_inc_x11 $_ld_x11 && _x11
=yes
2591 if test "$_x11" = yes ; then
2592 _def_x11
='#define HAVE_X11 1'
2593 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
2594 _vomodules
="x11 xover $_vomodules"
2596 _def_x11
='#undef HAVE_X11'
2599 _novomodules
="x11 $_novomodules"
2606 if test "$_x11" = yes ; then
2608 #include <X11/Xmd.h>
2609 #include <X11/Xlib.h>
2610 #include <X11/Xutil.h>
2611 #include <X11/Xatom.h>
2612 #include <X11/extensions/dpms.h>
2614 (void) DPMSQueryExtension(0, 0, 0);
2617 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
2620 if test "$_x11" = yes ; then
2622 #include <X11/Xlib.h>
2623 #include <X11/extensions/dpms.h>
2625 (void) DPMSQueryExtension(0, 0, 0);
2628 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
2630 if test "$_xdpms4" = yes ; then
2631 _def_xdpms
='#define HAVE_XDPMS 1'
2632 echores
"yes (using Xdpms 4)"
2633 elif test "$_xdpms3" = yes ; then
2634 _def_xdpms
='#define HAVE_XDPMS 1'
2635 _ld_x11
="-lXdpms $_ld_x11"
2636 echores
"yes (using Xdpms 3)"
2638 _def_xdpms
='#undef HAVE_XDPMS'
2644 if test "$_x11" = yes && test "$_xv" != no
; then
2646 #include <X11/Xlib.h>
2647 #include <X11/extensions/Xvlib.h>
2648 int main(void) { (void) XvGetPortAttribute(0, 0, 0, 0); return 0; }
2651 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
2655 if test "$_xv" = yes ; then
2656 _def_xv
='#define HAVE_XV 1'
2658 _vosrc
="$_vosrc vo_xv.c"
2659 _vomodules
="xv $_vomodules"
2661 _def_xv
='#undef HAVE_XV'
2662 _novomodules
="xv $_novomodules"
2667 echocheck
"Xinerama"
2668 if test "$_x11" = yes && test "$_xinerama" != no
; then
2670 #include <X11/Xlib.h>
2671 #include <X11/extensions/Xinerama.h>
2672 int main(void) { (void) XineramaIsActive(0); return 0; }
2675 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
2679 if test "$_xinerama" = yes ; then
2680 _def_xinerama
='#define HAVE_XINERAMA 1'
2681 _ld_xinerama
='-lXinerama'
2683 _def_xinerama
='#undef HAVE_XINERAMA'
2685 echores
"$_xinerama"
2688 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
2689 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
2690 # named 'X extensions' or something similar.
2691 # This check may be useful for future mplayer versions (to change resolution)
2692 # If you run into problems, remove '-lXxf86vm'.
2694 if test "$_x11" = yes && test "$_vm" != no
; then
2696 #include <X11/Xlib.h>
2697 #include <X11/extensions/xf86vmode.h>
2698 #include <X11/XF86keysym.h>
2699 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
2702 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
2706 if test "$_vm" = yes ; then
2707 _def_vm
='#define HAVE_XF86VM 1'
2710 _def_vm
='#undef HAVE_XF86VM'
2716 # Version 2 is preferred to version 1 if available
2717 if test "$_dga" = auto
; then
2719 #include <X11/Xlib.h>
2720 #include <X11/extensions/xf86dga.h>
2721 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
2724 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
2727 #include <X11/Xlib.h>
2728 #include <X11/extensions/xf86dga.h>
2729 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
2731 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
2734 _def_dga
='#undef HAVE_DGA'
2735 _def_dga2
='#undef HAVE_DGA2'
2736 if test "$_dga" = 1 ; then
2737 _def_dga
='#define HAVE_DGA 1'
2738 _ld_dga
='-lXxf86dga'
2739 _vosrc
="$_vosrc vo_dga.c"
2740 _vomodules
="dga $_vomodules"
2741 echores
"yes (using DGA 1.0)"
2742 elif test "$_dga" = 2 ; then
2743 _def_dga
='#define HAVE_DGA 1'
2744 _def_dga2
='#define HAVE_DGA2 1'
2745 _ld_dga
='-lXxf86dga'
2746 _vosrc
="$_vosrc vo_dga.c"
2747 _vomodules
="dga $_vomodules"
2748 echores
"yes (using DGA 2.0)"
2749 elif test "$_dga" = no
; then
2751 _novomodules
="dga $_novomodules"
2753 die
"DGA version must be 1 or 2"
2759 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
2760 if test "$_x11" = yes && test "$_gl" != no
; then
2763 int main(void) { return 0; }
2766 if cc_check
$_inc_x11 $_ld_x11 -lGL -lm ; then
2769 elif cc_check
$_inc_x11 $_ld_x11 -lGL -lm $_ld_pthread ; then
2771 _ld_gl
="-lGL $_ld_pthread"
2776 if test "$_gl" = yes ; then
2777 _def_gl
='#define HAVE_GL 1'
2778 _vosrc
="$_vosrc vo_gl.c vo_gl2.c"
2779 _vomodules
="opengl $_vomodules"
2781 _def_gl
='#undef HAVE_GL'
2782 _novomodules
="opengl $_novomodules"
2787 echocheck
"/dev/mga_vid"
2788 if test "$_mga" = auto
; then
2790 test -c /dev
/mga_vid
&& _mga
=yes
2792 if test "$_mga" = yes ; then
2793 _def_mga
='#define HAVE_MGA 1'
2794 _vosrc
="$_vosrc vo_mga.c"
2795 _vomodules
="mga $_vomodules"
2797 _def_mga
='#undef HAVE_MGA'
2798 _novomodules
="mga $_novomodules"
2803 # echocheck "syncfb"
2805 # test "$_mga" = yes && _syncfb=yes
2806 # if test "$_syncfb" = yes ; then
2807 # _def_syncfb='#define HAVE_SYNCFB 1'
2808 # _vosrc="$_vosrc vo_syncfb.c"
2810 # _def_syncfb='#undef HAVE_SYNCFB'
2812 # echores "$_syncfb"
2816 if test "$_xmga" = auto
; then
2818 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
2820 if test "$_xmga" = yes ; then
2821 _def_xmga
='#define HAVE_XMGA 1'
2822 _vosrc
="$_vosrc vo_xmga.c"
2823 _vomodules
="xmga $_vomodules"
2825 _def_xmga
='#undef HAVE_XMGA'
2826 _novomodules
="xmga $_novomodules"
2832 if test "$_ggi" = auto
; then
2834 #include <ggi/ggi.h>
2835 int main(void) { return 0; }
2838 cc_check
-lggi && _ggi
=yes
2840 if test "$_ggi" = yes ; then
2841 _def_ggi
='#define HAVE_GGI 1'
2843 _vosrc
="$_vosrc vo_ggi.c"
2844 _vomodules
="ggi $_vomodules"
2846 _def_ggi
='#undef HAVE_GGI'
2847 _novomodules
="ggi $_novomodules"
2853 if test "$_aa" = auto
; then
2856 int main(void) { (void) aa_init(0, 0, 0); return 0; }
2859 cc_check
-laa && _aa
=yes
2861 if test "$_aa" = yes ; then
2862 _def_aa
='#define HAVE_AA 1'
2864 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
2868 _vosrc
="$_vosrc vo_aa.c"
2869 _vomodules
="aa $_vomodules"
2871 _def_aa
='#undef HAVE_AA'
2872 _novomodules
="aa $_novomodules"
2878 if test "$_svga" = auto
; then
2882 int main(void) { return 0; }
2885 cc_check
-lvgagl -lvga -lm && _svga
=yes
2887 if test "$_svga" = yes ; then
2888 _def_svga
='#define HAVE_SVGALIB 1'
2889 _ld_svga
='-lvgagl -lvga -lm'
2890 _vosrc
="$_vosrc vo_svga.c"
2891 _vomodules
="svga $_vomodules"
2893 _def_svga
='#undef HAVE_SVGALIB'
2894 _novomodules
="svga $_novomodules"
2900 if test "$_fbdev" = auto
; then
2902 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
2904 if test "$_fbdev" = yes ; then
2905 _def_fbdev
='#define HAVE_FBDEV 1'
2906 _vosrc
="$_vosrc vo_fbdev.c"
2907 _vomodules
="fbdev $_vomodules"
2909 if test "$_fbdev_nocopy" = yes ; then
2910 _def_fbdev_nocopy
='#define USE_CONVERT2FB 1'
2913 _def_fbdev
='#undef HAVE_FBDEV'
2914 _def_fbdev_nocopy
='#undef USE_CONVERT2FB'
2915 _novomodules
="fbdev $_novomodules"
2922 if test "$_dvb" != no
; then
2925 #include <sys/poll.h>
2926 #include <sys/ioctl.h>
2931 #include <ost/dmx.h>
2932 #include <ost/frontend.h>
2933 #include <ost/sec.h>
2934 #include <ost/video.h>
2935 #include <ost/audio.h>
2936 int main(void) {return 0;}
2942 for I
in "-I/usr/src/DVB/ost/include" "$_inc_extra/ost/include" ; do
2943 if cc_check
"$I" ; then
2946 echores
"yes (using $_inc_dvb)"
2950 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-extraincdir=DIR)"
2955 if test "$_dvb" = yes ; then
2956 _def_dvb
='#define HAVE_DVB 1'
2957 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
2958 _aomodules
="mpegpes(dvb) $_aomodules"
2959 _vomodules
="mpegpes(dvb) $_vomodules"
2961 if test "$_dvbhead" != no
; then
2962 echocheck
"DVB HEAD"
2963 if test "$_dvbhead" != no
; then
2967 #include <sys/poll.h>
2968 #include <sys/ioctl.h>
2973 #include <linux/dvb/dmx.h>
2974 #include <linux/dvb/frontend.h>
2975 #include <linux/dvb/video.h>
2976 #include <linux/dvb/audio.h>
2977 int main(void) {return 0;}
2983 for I
in "-I/usr/src/DVB/include" "$_inc_extra/include/linux" ; do
2984 if cc_check
"$I" ; then
2987 echores
"yes (using $_inc_dvb)"
2991 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-extraincdir=DIR)"
2996 if test "$_dvbhead" = yes ; then
2997 _def_dvb
='#define HAVE_DVB_HEAD 1'
2998 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
2999 _aomodules
="mpegpes(dvb) $_aomodules"
3000 _vomodules
="mpegpes(dvb) $_vomodules"
3003 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
3004 _def_dvb
='#undef HAVE_DVB'
3005 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
3006 _aomodules
="mpegpes(file) $_aomodules"
3007 _vomodules
="mpegpes(file) $_vomodules"
3010 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
3016 echocheck
"PNG support"
3017 if test "$_png" = auto
; then
3020 # Don't check for -lpng on irix since it has its own libpng
3021 # incompatible with the GNU libpng
3022 echores
"disabled on irix (not GNU libpng)"
3028 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3029 printf("libpng: %s\n", png_libpng_ver);
3030 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3033 if cc_check
-lpng -lz -lm ; then
3034 if "$TMPO" >> "$TMPLOG" ; then
3038 echores
"no (mismatch of library and header versions)"
3047 if test "$_png" = yes ; then
3048 _def_png
='#define HAVE_PNG 1'
3050 _vosrc
="$_vosrc vo_png.c"
3051 _vomodules
="png $_vomodules"
3054 _def_png
='#undef HAVE_PNG'
3055 _novomodules
="png $_novomodules"
3059 echocheck
"JPEG support"
3060 if test "$_jpg" = auto
; then
3067 #include <jpeglib.h>
3072 if cc_check
-ljpeg -lm ; then
3073 if "$TMPO" >> "$TMPLOG" ; then
3080 if test "$_jpg" = yes ; then
3081 _def_jpg
='#define HAVE_JPEG 1'
3082 _vosrc
="$_vosrc vo_jpeg.c"
3083 _vomodules
="jpeg $_vomodules"
3087 _def_jpg
='#undef HAVE_JPEG'
3088 _novomodules
="jpeg $_novomodules"
3093 echocheck
"GIF support"
3094 if test "$_gif" = auto
; then
3097 #include <gif_lib.h>
3102 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
3105 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3107 _ld_gif
="-lungif $_ld_x11"
3108 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
3111 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3113 _ld_gif
="-lgif $_ld_x11"
3117 if test "$_gif" = yes ; then
3118 _def_gif
='#define HAVE_GIF 1'
3119 _vosrc
="$_vosrc vo_gif89a.c"
3120 _codecmodules
="gif $_codecmodules"
3121 _vomodules
="gif89a $_vomodules"
3123 _gif
="yes (old version, some encoding functions disabled)"
3124 _def_gif_4
='#undef HAVE_GIF_4'
3128 #include <gif_lib.h>
3129 void catch() { exit(1); }
3131 signal(SIGSEGV, catch); // catch segfault
3132 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
3133 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
3137 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3138 _def_gif_4
='#define HAVE_GIF_4 1'
3142 _def_gif
='#undef HAVE_GIF'
3143 _def_gif_4
='#undef HAVE_GIF_4'
3144 _novomodules
="gif89a $_novomodules"
3145 _nocodecmodules
="gif $_codecmodules"
3151 case "$_gif" in yes*)
3152 echocheck
"broken giflib workaround"
3153 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
3156 #include <gif_lib.h>
3159 printf("UserData is at address %p\n", gif.UserData);
3163 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3164 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
3173 if test "$_vesa" != no
; then
3174 echocheck
"VESA support"
3175 if x86
&& linux
; then
3176 _def_vesa
='#define HAVE_VESA 1'
3177 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
3178 _vomodules
="vesa $_vomodules"
3181 _def_vesa
='#undef HAVE_VESA'
3182 _novomodules
="vesa $_novomodules"
3183 echores
"no (not supported on this OS/architecture)"
3186 _def_vesa
='#undef HAVE_VESA'
3196 if test -z "$_sdlconfig" ; then
3197 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
3198 _sdlconfig
="sdl-config"
3199 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
3200 _sdlconfig
="sdl11-config"
3205 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
3208 int main(int argc, char *argv[]) { return 0; }
3211 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
3212 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
3213 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
3214 if test "$_sdlversion" -gt 116 ; then
3215 if test "$_sdlversion" -lt 121 ; then
3216 _def_sdlbuggy
='#define BUGGY_SDL'
3218 _def_sdlbuggy
='#undef BUGGY_SDL'
3227 if test "$_sdl" = yes ; then
3228 _def_sdl
='#define HAVE_SDL 1'
3230 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
3231 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
3233 _ld_sdl
=`$_sdlconfig --libs`
3234 _inc_sdl
=`$_sdlconfig --cflags`
3236 _vosrc
="$_vosrc vo_sdl.c"
3237 _vomodules
="sdl $_vomodules"
3238 _aosrc
="$_aosrc ao_sdl.c"
3239 _aomodules
="sdl $_aomodules"
3240 echores
"yes (using $_sdlconfig)"
3242 _def_sdl
='#undef HAVE_SDL'
3243 _novomodules
="sdl $_novomodules"
3244 _noaomodules
="sdl $_noaomodules"
3248 echocheck
"Windows waveout"
3249 if test "$_win32waveout" = auto
; then
3251 #include <windows.h>
3252 #include <mmsystem.h>
3253 int main(void) { return 0; }
3256 cc_check
-lwinmm && _win32waveout
=yes
3258 if test "$_win32waveout" = yes ; then
3259 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
3260 _ld_win32libs
="-lwinmm $_ld_win32libs"
3261 _aosrc
="$_aosrc ao_win32.c"
3262 _aomodules
="win32 $_aomodules"
3264 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
3265 _noaomodules
="win32 $_noaomodules"
3267 echores
"$_win32waveout"
3270 if test "$_directx" = auto
; then
3272 #include <windows.h>
3274 int main(void) { return 0; }
3277 cc_check
-lgdi32 && _directx
=yes
3279 if test "$_directx" = yes ; then
3280 _def_directx
='#define HAVE_DIRECTX 1'
3281 _ld_win32libs
="-lgdi32 $_ld_win32libs"
3282 _vosrc
="$_vosrc vo_directx.c"
3283 _vomodules
="directx $_vomodules"
3285 _def_directx
='#undef HAVE_DIRECTX'
3286 _novomodules
="directx $_novomodules"
3291 if test "$_nas" = auto ||
test "$_nas" = yes ; then
3293 #include <audio/audiolib.h>
3294 int main(void) { return 0; }
3297 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 -lm && _nas
=yes
3299 if test "$_nas" = yes ; then
3300 _def_nas
='#define HAVE_NAS 1'
3301 _ld_nas
="-laudio -lXt $_ld_x11"
3302 _aosrc
="$_aosrc ao_nas.c"
3303 _aomodules
="nas $_aomodules"
3305 _noaomodules
="nas $_noaomodules"
3306 _def_nas
='#undef HAVE_NAS'
3311 if test "$_dxr2" = auto
; then
3313 for _inc_dxr2
in "$_inc_dxr2" \
3314 "-I/usr/local/include/dxr2" \
3315 "-I/usr/include/dxr2"; do
3317 #include <dxr2ioctl.h>
3318 int main(void) { return 0; }
3320 cc_check
$_inc_dxr2 && _dxr2
=yes && break
3323 if test "$_dxr2" = yes; then
3324 _def_dxr2
='#define HAVE_DXR2 1'
3325 _vosrc
="$_vosrc vo_dxr2.c"
3326 _aosrc
="$_aosrc ao_dxr2.c"
3327 _aomodules
="dxr2 $_aomodules"
3328 _vomodules
="dxr2 $_vomodules"
3329 echores
"yes (using $_inc_dxr2)"
3331 _def_dxr2
='#undef HAVE_DXR2'
3332 _noaomodules
="dxr2 $_noaomodules"
3333 _novomodules
="dxr2 $_novomodules"
3339 if test "$_dxr3" = auto
; then
3341 #include <linux/em8300.h>
3342 int main(void) { return 0; }
3345 cc_check
&& _dxr3
=yes
3347 if test "$_dxr3" = yes ; then
3348 _def_dxr3
='#define HAVE_DXR3 1'
3349 _vosrc
="$_vosrc vo_dxr3.c"
3350 _vomodules
="dxr3 $_vomodules"
3352 _def_dxr3
='#undef HAVE_DXR3'
3353 _novomodules
="dxr3 $_novomodules"
3354 if test "$_mp1e" = auto
; then
3355 # we don't need mp1e
3362 if test "$_mmx" = no
; then
3363 # mp1e REQUIRES mmx!
3366 if test "$_mp1e" != no
; then
3368 _def_mp1e
='#define USE_MP1E'
3369 _ld_mp1e
='libmp1e/libmp1e.a'
3370 _dep_mp1e
='libmp1e/libmp1e.a'
3373 _def_mp1e
='#undef USE_MP1E'
3381 if test "$_fame" = auto
; then
3383 test "$_dxr2" = yes && _fame
=auto
3384 test "$_dxr3" = yes && _fame
=auto
3385 test "$_dvb" = yes && _fame
=auto
3387 if test "$_fame" = auto
; then
3389 if test -d libfame
&& test -f libfame
/fame.h
; then
3390 # disable fame on cygwin as no sense to port - atmos
3394 echores
"no (no fame dir)"
3400 _def_fame
='#undef USE_LIBFAME'
3401 if test "$_fame" = yes ; then
3402 _def_fame
='#define USE_LIBFAME 1'
3403 _ld_fame
='libfame/libfame.a'
3412 echocheck
"OSS Audio"
3413 if test "$_ossaudio" = auto
; then
3415 #include <sys/ioctl.h>
3417 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
3420 cc_check
&& _ossaudio
=yes
3422 if test "$_ossaudio" = yes ; then
3423 _def_ossaudio
='#define USE_OSS_AUDIO 1'
3424 _aosrc
="$_aosrc ao_oss.c"
3425 _aomodules
="oss $_aomodules"
3426 if test "$_linux_devfs" = yes; then
3427 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
3428 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
3431 #include <sys/ioctl.h>
3433 #ifdef OPEN_SOUND_SYSTEM
3434 int main(void) { return 0; }
3436 #error Not the real thing
3440 cc_check
&& _real_ossaudio
=yes
3441 if test "$_real_ossaudio" = yes; then
3442 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3443 elif netbsd || openbsd
; then
3444 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
3445 _ld_arch
="$_ld_arch -lossaudio"
3447 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3449 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
3452 _def_ossaudio
='#undef USE_OSS_AUDIO'
3453 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
3454 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
3455 _noaomodules
="oss $_noaomodules"
3457 echores
"$_ossaudio"
3461 if test "$_arts" = auto
; then
3463 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
3467 int main(void) { return 0; }
3469 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
3474 if test "$_arts" = yes ; then
3475 _def_arts
='#define USE_ARTS 1'
3476 _aosrc
="$_aosrc ao_arts.c"
3477 _aomodules
="arts $_aomodules"
3478 _ld_arts
=`artsc-config --libs`
3479 _inc_arts
=`artsc-config --cflags`
3481 _noaomodules
="arts $_noaomodules"
3487 if test "$_esd" = auto
; then
3489 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
3493 int main(void) { return 0; }
3495 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
3500 if test "$_esd" = yes ; then
3501 _def_esd
='#define USE_ESD 1'
3502 _aosrc
="$_aosrc ao_esd.c"
3503 _aomodules
="esd $_aomodules"
3504 _ld_esd
=`esd-config --libs`
3505 _inc_esd
=`esd-config --cflags`
3507 _noaomodules
="esd $_noaomodules"
3512 echocheck
"ALSA audio"
3513 if test "$_alsa" != no
; then
3516 #include <sys/asoundlib.h>
3517 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
3519 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
3522 #include <sys/asoundlib.h>
3523 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3525 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-sys'
3527 #include <alsa/asoundlib.h>
3528 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3530 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
3532 _def_alsa5
='#undef HAVE_ALSA5'
3533 _def_alsa9
='#undef HAVE_ALSA9'
3534 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
3535 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
3536 if test "$_alsaver" ; then
3537 if test "$_alsaver" = '0.5.x' ; then
3538 _aosrc
="$_aosrc ao_alsa5.c"
3539 _aomodules
="alsa5 $_aomodules"
3540 _def_alsa5
='#define HAVE_ALSA5 1'
3541 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3542 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
3543 elif test "$_alsaver" = '0.9.x-sys' ; then
3544 _aosrc
="$_aosrc ao_alsa9.c"
3545 _aomodules
="alsa9 $_aomodules"
3546 _def_alsa9
='#define HAVE_ALSA9 1'
3547 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3548 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
3549 elif test "$_alsaver" = '0.9.x-alsa' ; then
3550 _aosrc
="$_aosrc ao_alsa9.c"
3551 _aomodules
="alsa9 $_aomodules"
3552 _def_alsa9
='#define HAVE_ALSA9 1'
3553 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
3554 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
3556 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
3558 _noaomodules
="alsa $_noaomodules"
3563 echocheck
"Sun audio"
3564 if test "$_sunaudio" = auto
; then
3566 #include <sys/types.h>
3567 #include <sys/audioio.h>
3568 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
3571 cc_check
&& _sunaudio
=yes
3573 if test "$_sunaudio" = yes ; then
3574 _def_sunaudio
='#define USE_SUN_AUDIO 1'
3575 _aosrc
="$_aosrc ao_sun.c"
3576 _aomodules
="sun $_aomodules"
3578 _def_sunaudio
='#undef USE_SUN_AUDIO'
3579 _noaomodules
="sun $_noaomodules"
3581 echores
"$_sunaudio"
3584 echocheck
"Sun mediaLib"
3585 if test "$_mlib" = auto
; then
3587 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
3590 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
3592 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
3594 if test "$_mlib" = yes ; then
3595 _def_mlib
='#define HAVE_MLIB 1'
3596 _inc_mlib
=" -I${_mlibdir}/include "
3597 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
3599 _def_mlib
='#undef HAVE_MLIB'
3604 echocheck
"SGI audio"
3605 if test "$_sgiaudio" = auto
; then
3606 # check for SGI audio
3608 #include <dmedia/audio.h>
3609 int main(void) { return 0; }
3612 cc_check
&& _sgiaudio
=yes
3614 if test "$_sgiaudio" = "yes" ; then
3615 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
3616 _ld_sgiaudio
='-laudio'
3617 _aosrc
="$_aosrc ao_sgi.c"
3618 _aomodules
="sgi $_aomodules"
3620 _def_sgiaudio
='#undef USE_SGI_AUDIO'
3621 _noaomodules
="sgi $_noaomodules"
3623 echores
"$_sgiaudio"
3626 echocheck
"VCD support"
3627 if linux || bsdos || freebsd || netbsd || sunos
; then
3628 _inputmodules
="vcd $_inputmodules"
3629 _def_vcd
='#define HAVE_VCD 1'
3632 _def_vcd
='#undef HAVE_VCD'
3633 _noinputmodules
="vcd $_noinputmodules"
3634 echores
"not supported on this OS"
3637 echocheck
"DVD support (libmpdvdkit)"
3638 if test "$_dvdkit" = auto
; then
3640 if linux || freebsd || netbsd || darwin || cygwin || openbsd || sunos || hpux
; then
3641 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
3642 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
3645 if test "$_dvdkit" = yes ; then
3646 if test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes ||
test "$_hpux_scsi_h" = yes || darwin || cygwin
; then
3647 if test -f "./libmpdvdkit2/Makefile" ; then
3648 _inputmodules
="mpdvdkit2 $_inputmodules"
3649 _dvdread
=libmpdvdkit2
3653 _inputmodules
="mpdvdkit $_inputmodules"
3654 _dvdread
=libmpdvdkit
3657 _noinputmodules
="mpdvdkit $_noinputmodules"
3659 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
3660 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
3661 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
3662 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
3663 if linux || netbsd || openbsd || bsdos
; then
3664 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
3666 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
3670 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
3673 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
3678 _noinputmodules
="mpdvdkit $_noinputmodules"
3680 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
3686 echocheck
"DVD support (libcss - old style)"
3687 if test "$_css" = auto
; then
3689 #include <sys/types.h>
3691 int main(void) { (void) CSSisEncrypted(0); return 0; }
3694 cc_check
-lcss $_ld_dl && _css
=yes
3696 if test "$_css" = yes ; then
3697 _def_css
='#define HAVE_LIBCSS 1'
3698 test "$_csslibdir" && _ld_css
="-L${_csslibdir} $_ld_css"
3699 _inputmodules
="dvdcss $_inputmodules"
3703 _def_css
='#undef HAVE_LIBCSS'
3704 _noinputmodules
="dvdcss $_noinputmodules"
3708 echocheck
"DVD support (libdvdread - new style)"
3709 if test "$_dvdread" = auto
; then
3711 #include <dvdread/dvd_reader.h>
3712 #include <dvdread/ifo_types.h>
3713 #include <dvdread/ifo_read.h>
3714 #include <dvdread/nav_read.h>
3715 int main(void) { return 0; }
3718 if test "$_dl" = yes; then
3720 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
3724 _def_mpdvdkit
="#undef USE_MPDVDKIT"
3728 _def_dvdread
='#define USE_DVDREAD 1'
3730 _inputmodules
="dvdread $_inputmodules"
3734 _def_dvdread
='#undef USE_DVDREAD'
3735 _noinputmodules
="dvdread $_noinputmodules"
3740 _def_dvdread
='#define USE_DVDREAD 1'
3741 _ld_css
='-Llibmpdvdkit -lmpdvdkit'
3742 _noinputmodules
="dvdread $_noinputmodules"
3743 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
3744 echores
"disabled by libmpdvdkit"
3748 _def_dvdread
='#define USE_DVDREAD 1'
3749 _ld_css
='-Llibmpdvdkit2 -lmpdvdkit'
3750 _noinputmodules
="dvdread $_noinputmodules"
3751 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
3752 echores
"disabled by libmpdvdkit2"
3756 echocheck
"DVD support (libdvdnav)"
3757 if test "$_dvdnav" = yes ; then
3760 int main(void) { dvdnav_t *dvd=0; return 0; }
3763 test -n "$_dvdnavdir" && _legal_dvdnavdir
=-L$_dvdnavdir/.libs
3764 if test -z "$_dvdnavconfig" ; then
3765 if ( dvdnav-config
--version ) >/dev
/null
2>&1 ; then
3766 _dvdnavconfig
="dvdnav-config"
3769 test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir
=`$_dvdnavconfig --cflags`
3771 test "$_dvdkit" = no
&& test "$_dvdkit2" = no
&& _used_css
=$_ld_css
3772 cc_check
$_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav
=yes
3774 if test "$_dvdnav" = yes ; then
3776 _def_dvdnav
='#define USE_DVDNAV 1'
3777 if test -n "$_legal_dvdnavdir" ; then
3778 _ld_css
="$_ld_css $_legal_dvdnavdir -ldvdnav"
3779 elif test -n "$_dvdnavconfig" ; then
3780 _ld_css
="$_ld_css `$_dvdnavconfig --libs`"
3782 _ld_css
="$_ld_css -ldvdnav"
3784 if test -n "$_dvdnavconfig" ; then
3785 _dvdnav_version
=`$_dvdnavconfig --version | sed "s/\.//g"`
3786 _def_dvdnav_version
="#define DVDNAVVERSION $_dvdnav_version"
3788 if test -n "$_dvdnavdir" ; then
3789 _inc_extra
="$_inc_extra -I$_dvdnavdir"
3791 _inputmodules
="dvdnav $_inputmodules"
3794 _def_dvdnav
='#undef USE_DVDNAV'
3795 _noinputmodules
="dvdnav $_noinputmodules"
3799 echocheck
"cdparanoia"
3800 if test "$_cdparanoia" = auto
; then
3802 #include <cdda_interface.h>
3803 #include <cdda_paranoia.h>
3804 // This need a better test. How ?
3805 int main(void) { return 1; }
3808 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
3811 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
3812 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
3813 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
3818 if test "$_cdparanoia" = yes ; then
3819 _def_cdparanoia
='#define HAVE_CDDA'
3820 _inputmodules
="cdda $_inputmodules"
3821 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
3822 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
3824 _def_cdparanoia
='#undef HAVE_CDDA'
3825 _noinputmodules
="cdda $_noinputmodules"
3827 echores
"$_cdparanoia"
3829 echocheck
"freetype >= 2.0.9"
3830 if test "$_freetype" = auto
; then
3831 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
3834 #include <freetype/freetype.h>
3835 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
3836 #error "Need FreeType 2.0.9 or newer"
3841 FT_Int major=-1,minor=-1,patch=-1;
3842 int err=FT_Init_FreeType(&library);
3844 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
3847 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
3848 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
3849 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
3850 (int)major,(int)minor,(int)patch );
3851 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
3852 printf("Library and header version mismatch! Fix it in your distribution!\n");
3859 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
3864 if test "$_freetype" = yes ; then
3865 _def_freetype
='#define HAVE_FREETYPE'
3866 _inc_freetype
=`$_freetypeconfig --cflags`
3867 _ld_freetype
=`$_freetypeconfig --libs`
3869 _def_freetype
='#undef HAVE_FREETYPE'
3871 echores
"$_freetype"
3874 echocheck
"fribidi with charsets"
3875 if test "$_fribidi" = yes ; then
3876 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
3879 #include <fribidi/fribidi.h>
3882 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
3883 printf("Fribidi headers are not consistents with the library!\n");
3890 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
3895 if test "$_fribidi" = yes ; then
3896 _def_fribidi
='#define USE_FRIBIDI'
3897 _inc_fribidi
=`$_fribidiconfig --cflags`
3898 _ld_fribidi
=`$_fribidiconfig --libs`
3900 _def_fribidi
='#undef USE_FRIBIDI'
3908 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
3911 cc_check
-lz && _zlib
=yes
3912 if test "$_zlib" = yes ; then
3913 _def_zlib
='#define HAVE_ZLIB 1'
3916 _def_zlib
='#undef HAVE_ZLIB'
3923 if test "$_rtc" = auto
; then
3925 #include <sys/ioctl.h>
3926 #include <linux/rtc.h>
3927 int main(void) { return RTC_IRQP_READ; }
3930 cc_check
&& _rtc
=yes
3935 echores
"no (Linux specific feature)"
3937 if test "$_rtc" = yes ; then
3938 _def_rtc
='#define HAVE_RTC 1'
3940 _def_rtc
='#undef HAVE_RTC'
3944 echocheck
"external liblzo support"
3945 if test "$_liblzo" = auto
; then
3949 int main(void) { lzo_init();return 0; }
3951 cc_check
-llzo && _liblzo
=yes
3953 if test "$_liblzo" = yes ; then
3954 _def_liblzo
='#define USE_LIBLZO 1'
3956 _codecmodules
="liblzo $_codecmodules"
3958 _def_liblzo
='#undef USE_LIBLZO'
3959 _nocodecmodules
="liblzo $_nocodecmodules"
3964 echocheck
"mad support"
3965 if test "$_mad" = auto
; then
3969 int main(void) { return 0; }
3971 cc_check
$_madlibdir -lmad && _mad
=yes
3973 if test "$_mad" = yes ; then
3974 _def_mad
='#define USE_LIBMAD 1'
3976 _codecmodules
="libmad $_codecmodules"
3978 _def_mad
='#undef USE_LIBMAD'
3979 _nocodecmodules
="libmad $_nocodecmodules"
3984 echocheck
"OggVorbis support"
3985 if test "$_vorbis" = auto
; then
3988 #include <vorbis/codec.h>
3989 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
3991 cc_check
-lvorbis -logg -lm && _vorbis
=yes
3993 if test "$_vorbis" = yes ; then
3994 _def_vorbis
='#define HAVE_OGGVORBIS 1'
3995 if test "$_tremor" = yes ; then
3996 _def_tremor
='#define TREMOR 1'
3997 _ld_vorbis
='-lvorbisidec'
3999 _def_tremor
='#undef TREMOR'
4000 _ld_vorbis
='-lvorbis -logg'
4002 _codecmodules
="libvorbis $_codecmodules"
4004 _def_vorbis
='#undef HAVE_OGGVORBIS'
4005 _def_tremor
='#undef TREMOR'
4006 _nocodecmodules
="libvorbis $_nocodecmodules"
4011 echocheck
"faad2 (AAC) support"
4012 if test "$_faad" = auto
; then
4016 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
4018 cc_check
-lfaad -lm && _faad
=yes
4020 if test "$_faad" = yes ; then
4021 _def_faad
='#define HAVE_FAAD 1'
4024 _def_faad
='#undef HAVE_FAAD'
4027 if test "$_faad" = yes; then
4030 #ifndef FAAD_MIN_STREAMSIZE
4031 #error Too old version
4034 #ifdef FAAD2_VERSION
4035 printf("%s",FAAD2_VERSION);
4042 if cc_check
$_ld_faad -lm && "$TMPO" >> "$TMPLOG" ; then
4043 _faad_version
=`"$TMPO"`
4044 _faad_tempversion
=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
4045 _def_faad_version
="#define FAADVERSION $_faad_tempversion"
4046 echores
"yes ($_faad_version)"
4049 echores
"no (failed to get version)"
4055 if test "$_win32" = auto
; then
4057 cygwin
&& _win32
=no
# Win32 DLLs not supported under Cygwin
4060 _win32
=no
# x86 arch only
4064 if test "$_win32" != no
; then
4065 echocheck
"Win32 codec DLL files path"
4066 if test -z "$_win32libdir" ; then
4067 for I
in "$_libdir/win32" /usr
/local
/lib
/win32
/usr
/lib
/win32
; do
4068 if test -d "$I" ; then
4074 echores
"$_win32libdir"
4077 echocheck
"Win32 codec DLL support"
4078 if test "$_win32" = auto
; then
4080 test -n "$_win32libdir" && _win32
=yes
4082 if test "$_win32" = yes ; then
4083 _def_win32
='#define USE_WIN32DLL 1'
4086 _def_win32
='#undef USE_WIN32DLL'
4087 _nocodecmodules
="win32 $_nocodecmodules"
4092 if test "$_win32" != no
; then
4093 _def_win32_loader
='#undef WIN32_LOADER'
4094 echocheck
"Win32 loader support"
4095 if not cygwin
; then
4096 _ld_win32
='loader/libloader.a'
4097 _dep_win32
='loader/libloader.a'
4098 _codecmodules
="win32 $_codecmodules"
4100 x86
&& _ld_win32
="$_ld_win32 -li386"
4102 _def_win32_loader
='#define WIN32_LOADER 1'
4105 echores
"no (using native windows)"
4109 echocheck
"DirectShow"
4112 if test "$_dshow" != no
; then
4114 # check if compiler supports C++ and C++-libs are installed correctly
4115 cat > "$TMPCPP" << EOF
4119 public: int myreturn(void);
4121 int myclass::myreturn(void) { ret = 0; return ret ; }
4122 int main(void) { myclass myobject; return myobject.myreturn(); }
4124 echo "------------------------------------------------" >> "$TMPLOG"
4125 cat "$TMPCPP" >> "$TMPLOG"
4126 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
4128 echores
"yes (C++ is ok)"
4133 Your C++ runtime environment is broken.
4135 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
4136 Are the C++ libraries correctly installed?
4137 Check for libstdc++ and in (/etc/)ld.so.conf.
4139 If you do not need DirectShow support, you can also use:
4140 ./configure --disable-dshow <your-normal-configure-options>
4141 to disable building the C++ based DirectShow code.
4144 die
"$_cc's C++ is broken"
4152 if test "$_dshow" = yes ; then
4153 _def_dshow
='#define USE_DIRECTSHOW 1'
4154 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4155 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4156 _codecmodules
="dshow/dmo $_codecmodules"
4158 _def_dshow
='#undef USE_DIRECTSHOW'
4159 _nocodecmodules
="dshow/dmo $_nocodecmodules"
4163 echocheck
"XAnim DLL"
4164 if test "$_xanim" = auto
; then
4166 if test "$_dl" = yes ; then
4167 if test -z "$_xanimlibdir" ; then
4168 for I
in /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
4169 if test -d "$I" ; then
4175 test "$_xanimlibdir" && _xanim
=yes
4176 if test "$_xanim" = yes ; then
4177 echores
"yes (using $_xanimlibdir)"
4179 echores
"no (no suitable directory found - see DOCS/codecs.html)"
4182 echores
"no (dynamic loader support needed)"
4187 if test "$_xanim" = yes ; then
4188 _def_xanim
='#define USE_XANIM 1'
4189 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
4190 _codecmodules
="xanim $_codecmodules"
4192 _def_xanim
='#undef USE_XANIM'
4193 _def_xanim_path
='#undef XACODEC_PATH'
4194 _nocodecmodules
="xanim $_nocodecmodules"
4197 echocheck
"RealPlayer DLL"
4198 if test "$_real" = auto
; then
4200 if test "$_dl" = yes ||
test "$_win32" = yes ; then
4201 # if test "$_dl" = yes ; then
4202 if linux || freebsd || netbsd || cygwin
; then
4205 echores
"no (tested only on Linux/FreeBSD/NetBSD/CygWin)"
4207 if test "$_real" = yes ; then
4208 if test -z "$_reallibdir" ; then
4209 for I
in $_libdir/real
/usr
/lib
/real
/usr
/lib
/RealPlayer
*/Codecs \
4210 /usr
/local
/RealPlayer
*/Codecs
/usr
/local
/lib
/RealPlayer
*/Codecs \
4211 /opt
/RealPlayer
*/Codecs
; do
4212 if test -d "$I" ; then
4218 test "$_reallibdir" || _real
=no
4219 if test "$_real" = yes ; then
4220 echores
"yes (using $_reallibdir)"
4222 echores
"no (no suitable directory found - see DOCS/codecs.html)"
4226 echores
"no (dynamic loader support needed)"
4231 if test "$_real" = yes ; then
4232 _def_real
='#define USE_REALCODECS 1'
4233 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
4234 _codecmodules
="real $_codecmodules"
4236 _def_real
='#undef USE_REALCODECS'
4237 _def_real_path
="#undef REALCODEC_PATH"
4238 _nocodecmodules
="real $_nocodecmodules"
4242 if test -z "$_livelibdir" ; then
4243 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
4244 if test -d "$I" ; then
4251 echocheck
"LIVE.COM Streaming Media libraries"
4252 if test "$_live" = auto
&& test "$_streaming" = yes ; then
4254 test "$_livelibdir" || _live
=no
4255 # TODO: deeper, more reliable test of libs, and version!
4256 # (users may have empty live/ dir or something different there, for
4257 # example 'live config files', or they may have old, incompatibel version)
4259 if test "$_live" = yes && test "$_streaming" = yes ; then
4260 echores
"yes (using $_livelibdir)"
4261 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
4262 _live_libs_def
="# LIVE.COM Streaming Media libraries:
4263 LIVE_LIB_DIR = $_livelibdir
4264 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
4265 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
4266 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
4267 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
4268 LIVE_LIBS += -lstdc++"
4269 _ld_live
='$(LIVE_LIBS)'
4272 _def_live
='#undef STREAMING_LIVE_DOT_COM'
4277 if test "$_iconv" = auto
; then
4278 _iconv_tmp
='#include <iconv.h>'
4284 #define INBUFSIZE 1024
4285 #define OUTBUFSIZE 4096
4287 char inbuffer[INBUFSIZE];
4288 char outbuffer[OUTBUFSIZE];
4293 char *tocode="UTF-8";
4294 char *fromcode="cp1250";
4295 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
4296 while ((numread = read (0, inbuffer, INBUFSIZE))) {
4297 char *iptr=inbuffer;
4298 char *optr=outbuffer;
4299 size_t inleft=numread;
4300 size_t outleft=OUTBUFSIZE;
4301 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
4303 write (1, outbuffer, OUTBUFSIZE - outleft);
4306 if (iconv_close(icdsc) == -1)
4312 if cc_check
-lm -liconv ; then
4316 cc_check
-lm && _iconv
=yes
4319 if test "$_iconv" = yes ; then
4320 _def_iconv
='#define USE_ICONV 1'
4322 _def_iconv
='#undef USE_ICONV'
4327 echocheck
"FFmpeg libavcodec (static)"
4328 if test "$_libavcodec" = auto
; then
4329 # Note: static linking is preferred to dynamic linking
4331 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
4332 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
4336 echores
"no (old ffmpeg version, use CVS !)"
4339 echores
"no (see DOCS/codecs.html)"
4342 echores
"$_libavcodec"
4345 if test "$_libavcodec" != yes ; then
4346 echocheck
"FFmpeg libavcodec (dynamic)"
4347 if test "$_libavcodecso" = auto
; then
4349 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
4351 #define FF_POSTPROCESS 1
4352 #include <ffmpeg/avcodec.h>
4354 avcodec_find_encoder_by_name("");
4358 if cc_check
-lavcodec -lm ; then
4360 echores
"yes (using libavcodec.so)"
4362 echores
"no (libavcodec.so is broken/obsolete)"
4365 echores
"$_libavcodecso"
4369 _def_libavcodec
='#undef USE_LIBAVCODEC'
4370 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
4371 _def_ffpostprocess
='#undef FF_POSTPROCESS'
4372 if test "$_libavcodec" = yes ; then
4373 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4374 _ld_libavcodec
='libavcodec/libavcodec.a'
4375 _dep_libavcodec
='libavcodec/libavcodec.a'
4376 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
4377 _codecmodules
="libavcodec $_codecmodules"
4378 elif test "$_libavcodecso" = yes ; then
4379 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4380 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
4381 _ld_libavcodec
='-lavcodec'
4382 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
4383 _codecmodules
="libavcodec.so $_codecmodules"
4385 _nocodecmodules
="libavcodec $_nocodecmodules"
4388 echocheck
"libdv-0.9.5+"
4389 if test "$_libdv" = auto
; then
4392 #include <libdv/dv.h>
4393 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
4395 cc_check
-ldv -lm && _libdv
=yes
4397 if test "$_libdv" = yes ; then
4398 _def_libdv
='#define HAVE_LIBDV095 1'
4400 _codecmodules
="libdv $_codecmodules"
4402 _def_libdv
='#undef HAVE_LIBDV095'
4403 _nocodecmodules
="libdv $_nocodecmodules"
4408 if test "$_zr" = auto
; then
4409 #36067's seem to identify themselves as 36057PQC's, so the line
4410 #below should work for 36067's and 36057's.
4411 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
4417 if test "$_zr" = yes ; then
4418 if test "$_libavcodec" = yes ; then
4419 _def_zr
='#define HAVE_ZR 1'
4420 _vosrc
="$_vosrc vo_zr.c jpeg_enc.c"
4421 _vomodules
="zr $_vomodules"
4424 echores
"libavcodec (static) is required by zr, sorry"
4425 _novomodules
="zr $_novomodules"
4426 _def_zr
='#undef HAVE_ZR'
4429 _def_zr
='#undef HAVE_ZR'
4430 _novomodules
="zr $_novomodules"
4435 if test "$_bl" = yes ; then
4436 _def_bl
='#define HAVE_BL 1'
4437 _vosrc
="$_vosrc vo_bl.c"
4438 _vomodules
="bl $_vomodules"
4440 _def_bl
='#undef HAVE_BL'
4441 _novomodules
="bl $_novomodules"
4448 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
4450 if test "$_xvid" != no
&& cc_check
"$_xvidcore" -lm ; then
4452 _ld_xvid
="$_xvidcore"
4453 _def_xvid
='#define HAVE_XVID 1'
4454 _codecmodules
="xvid $_codecmodules"
4455 elif test "$_xvid" != no
&& cc_check
-lxvidcore -lm ; then
4457 _ld_xvid
='-lxvidcore'
4458 _def_xvid
='#define HAVE_XVID 1'
4459 _codecmodules
="xvid $_codecmodules"
4463 _def_xvid
='#undef HAVE_XVID'
4464 _nocodecmodules
="xvid $_nocodecmodules"
4469 _def_decore_xvid
='#undef DECORE_XVID'
4470 _def_encore_xvid
='#undef ENCORE_XVID'
4471 if test "$_xvid" = yes ; then
4472 echocheck
"DivX4 compatibility in XviD"
4475 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
4477 cc_check
-lm "$_ld_xvid" && _xvidcompat
=yes
4478 echores
"$_xvidcompat"
4482 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
4483 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
4486 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
4488 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
4490 _ld_decore
='-ldivxdecore'
4491 _def_decore
='#define NEW_DECORE 1'
4492 _def_divx
='#define USE_DIVX'
4493 _def_divx5
='#undef DECORE_DIVX5'
4494 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
4495 _codecmodules
="divx4linux $_codecmodules"
4496 echores
"DivX4linux (with libdivxdecore.so)"
4498 # if test "$_divx4linux" != no ; then
4500 # OdivxPP disabled because of:
4501 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
4504 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_MEMORY_REQS; }
4506 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
4508 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
4509 _ld_decore
='-ldivxdecore'
4510 _def_decore
='#define NEW_DECORE 1'
4511 _def_divx
='#define USE_DIVX'
4512 _def_divx5
='#define DECORE_DIVX5 1'
4513 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
4514 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
4515 _codecmodules
="divx5linux $_codecmodules"
4516 _nocodecmodules
="divx4linux $_nocodecmodules"
4517 echores
"DivX5linux (with libdivxdecore.so)"
4518 elif test "$_opendivx" != no
; then
4520 _ld_decore
='opendivx/libdecore.a'
4521 _def_decore
='#undef NEW_DECORE'
4522 _def_divx
='#define USE_DIVX'
4523 _def_divx5
='#undef DECORE_DIVX5'
4524 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
4525 _codecmodules
="opendivx $_codecmodules"
4526 _nocodecmodules
="divx5linux $_nocodecmodules"
4528 elif test "$_xvidcompat" = yes ; then
4531 _def_decore
='#define NEW_DECORE 1'
4532 _def_divx
='#define USE_DIVX 1'
4533 _def_divx5
='#undef DECORE_DIVX5'
4534 _def_decore_xvid
='#define DECORE_XVID 1'
4535 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
4536 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
4537 echores
"XviD compat."
4541 _def_decore
='#undef NEW_DECORE'
4542 _def_divx
='#undef USE_DIVX'
4543 _def_divx5
='#undef DECORE_DIVX5'
4544 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
4545 _nocodecmodules
="opendivx $_nocodecmodules"
4551 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
4552 if test "$_mencoder" != no
; then
4554 echocheck
"libmp3lame (for mencoder)"
4557 #include <lame/lame.h>
4558 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; }
4560 # Note: libmp3lame usually depends on vorbis
4561 cc_check
-lmp3lame $_ld_vorbis -lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
4562 if test "$_mp3lame" = yes ; then
4563 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
4564 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
4566 _def_mp3lame
='#undef HAVE_MP3LAME'
4571 echocheck
"DivX4linux encore (for mencoder)"
4573 #include <encore2.h>
4574 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
4576 if test "$_divx4linux" != no
&& cc_check
-ldivxencore -lm ; then
4577 _def_encore
='#define HAVE_DIVX4ENCORE 1'
4578 _ld_encore
='-ldivxencore'
4579 echores
"DivX4linux (with libdivxencore.so)"
4580 elif test "$_xvidcompat" = yes ; then
4581 _def_encore
='#define HAVE_DIVX4ENCORE 1'
4583 _def_encore_xvid
='#define ENCORE_XVID 1'
4584 echores
"XviD compat."
4586 _def_encore
='#undef HAVE_DIVX4ENCORE'
4592 echocheck
"mencoder"
4593 _mencoder_flag
='#undef HAVE_MENCODER'
4594 if test "$_mencoder" = yes ; then
4595 _mencoder_flag
='#define HAVE_MENCODER'
4597 echores
"$_mencoder"
4599 echocheck
"fastmemcpy"
4600 # fastmemcpy check is done earlier with tests of CPU & binutils features
4601 if test "$_fastmemcpy" = yes ; then
4602 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
4604 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
4606 echores
"$_fastmemcpy"
4608 echocheck
"UniquE RAR File Library"
4609 if test "$_unrarlib" = yes ; then
4610 _def_unrarlib
='#define USE_UNRARLIB 1'
4612 _def_unrarlib
='#undef USE_UNRARLIB'
4614 echores
"$_unrarlib"
4616 echocheck
"TV interface"
4617 if test "$_tv" = yes ; then
4618 _def_tv
='#define USE_TV 1'
4619 _inputmodules
="tv $_inputmodules"
4621 _noinputmodules
="tv $_noinputmodules"
4622 _def_tv
='#undef USE_TV'
4626 echocheck
"EDL support"
4627 if test "$_edl" = yes ; then
4628 _def_edl
='#define USE_EDL'
4629 _inputmodules
="edl $_inputmodules"
4631 _noinputmodules
="edl $_noinputmodules"
4632 _def_edl
='#undef USE_EDL'
4636 echocheck
"*BSD BrookTree 848 TV interface"
4637 if test "$_tv_bsdbt848" = auto
; then
4639 if test "$_tv" = yes ; then
4641 #include <sys/types.h>
4642 #if defined(__NetBSD__)
4643 #include <dev/ic/bt8xx.h>
4645 #include <machine/ioctl_bt848.h>
4647 int main(void) { return 0; }
4649 cc_check
&& _tv_bsdbt848
=yes
4652 if test "$_tv_bsdbt848" = yes ; then
4653 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
4654 _inputmodules
="tv-bsdbt848 $_inputmodules"
4656 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
4657 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
4659 echores
"$_tv_bsdbt848"
4661 echocheck
"Video 4 Linux TV interface"
4662 if test "$_tv_v4l" = auto
; then
4664 if test "$_tv" = yes && linux
; then
4665 for I
in /dev
/video
/dev
/video?
; do
4666 if test -c $I ; then
4669 #include <linux/videodev.h>
4670 int main(void) { return 0; }
4672 cc_check
&& _tv_v4l
=yes
4678 if test "$_tv_v4l" = yes ; then
4679 _def_tv_v4l
='#define HAVE_TV_V4L 1'
4680 _inputmodules
="tv-v4l $_inputmodules"
4682 _noinputmodules
="tv-v4l $_noinputmodules"
4683 _def_tv_v4l
='#undef HAVE_TV_V4L'
4688 echocheck
"audio select()"
4689 if test "$_select" = no
; then
4690 _def_select
='#undef HAVE_AUDIO_SELECT'
4691 elif test "$_select" = yes ; then
4692 _def_select
='#define HAVE_AUDIO_SELECT 1'
4697 echocheck
"streaming"
4698 # FIXME streaming check
4699 if test "$_streaming" != no
; then
4700 _def_streaming
='#define STREAMING 1'
4701 _ld_streaming
="$_ld_sock"
4702 _inputmodules
="streaming $_inputmodules"
4704 _noinputmodules
="streaming $_noinputmodules"
4705 _def_streaming
='#undef STREAMING'
4707 echores
"$_streaming"
4710 echocheck
"byte order"
4711 if test "$_big_endian" = auto
; then
4713 #include <inttypes.h>
4715 volatile uint32_t i=0x01234567;
4716 return (*((uint8_t*)(&i))) == 0x67;
4726 echo -n "failed to autodetect byte order, defaulting to "
4729 if test "$_big_endian" = yes ; then
4730 _byte_order
='Big Endian'
4731 _def_words_endian
='#define WORDS_BIGENDIAN 1'
4733 _byte_order
='Little Endian'
4734 _def_words_endian
='#undef WORDS_BIGENDIAN'
4736 echores
"$_byte_order"
4738 echocheck
"shared postprocess lib"
4739 echores
"$_shared_pp"
4741 echocheck
"New config"
4742 if test "$_new_conf" = yes ; then
4743 _def_new_conf
='#define NEW_CONFIG 1'
4745 _def_new_conf
='#undef NEW_CONFIG'
4747 echores
"$_new_conf"
4749 echocheck
"OSD menu"
4750 if test "$_menu" = yes ; then
4751 test "$_new_conf" != yes && die
"New config support needed for the OSD menu (--enable-new-conf)."
4752 _def_menu
='#define HAVE_MENU 1'
4754 _def_menu
='#undef HAVE_MENU'
4758 # Check to see if they want QTX codecs enabled
4759 echocheck
"QTX codecs"
4760 if test "$_qtx_codecs" = auto
; then
4763 if test "$_qtx_codecs" = yes ; then
4764 _def_qtx_codecs
='#define USE_QTX_CODECS 1'
4765 _codecmodules
="qtx $_codecmodules"
4767 _def_qtx_codecs
='#undef USE_QTX_CODECS'
4768 _nocodecmodules
="qtx $_nocodecmodules"
4770 echores
"$_qtx_codecs"
4773 echocheck
"Subtitles sorting"
4774 if test "$_sortsub" = yes ; then
4775 _def_sortsub
='#define USE_SORTSUB 1'
4777 _def_sortsub
='#undef USE_SORTSUB'
4782 echocheck
"XMMS inputplugin support"
4783 if test "$_xmms" = yes ; then
4785 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
4786 if test -z "$_xmmsplugindir" ; then
4787 _xmmsplugindir
=`xmms-config --input-plugin-dir`
4789 if test -z "$_xmmslibdir" ; then
4790 _xmmslibdir
=`xmms-config --exec-prefix`/lib
4793 if test -z "$_xmmsplugindir" ; then
4794 _xmmsplugindir
=/usr
/lib
/xmms
/Input
4796 if test -z "$_xmmslibdir" ; then
4797 _xmmslibdir
=/usr
/lib
4801 _def_xmms
='#define HAVE_XMMS 1'
4802 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
4804 _def_xmms
='#undef HAVE_XMMS'
4810 if test "$_inet6" = auto
; then
4812 #include <sys/types.h>
4813 #include <sys/socket.h>
4814 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
4821 if test "$_inet6" = yes ; then
4822 _def_inet6
='#define HAVE_AF_INET6 1'
4824 _def_inet6
='#undef HAVE_AF_INET6'
4829 echocheck
"gethostbyname2"
4830 if test "$_gethostbyname2" = auto
; then
4832 #include <sys/types.h>
4833 #include <sys/socket.h>
4835 int main(void) { gethostbyname2("", AF_INET); }
4843 if test "$_gethostbyname2" = yes ; then
4844 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
4846 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
4848 echores
"$_gethostbyname2"
4850 # --------------- GUI specific tests begin -------------------
4853 if test "$_gui" = yes ; then
4855 # Required libraries
4856 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
4857 test "$_x11" != yes && die
"X11 support required for GUI compilation"
4859 echocheck
"XShape extension"
4861 if test "$_x11" = yes ; then
4863 #include <X11/Xlib.h>
4864 #include <X11/Xproto.h>
4865 #include <X11/Xutil.h>
4866 #include <X11/extensions/shape.h>
4869 char *name = ":0.0";
4872 int eventbase, errorbase;
4873 if (getenv("DISPLAY"))
4874 name=getenv("DISPLAY");
4875 wsDisplay=XOpenDisplay(name);
4876 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
4878 XCloseDisplay(wsDisplay);
4882 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
4884 if test "$_xshape" = yes ; then
4885 _def_xshape
='#define HAVE_XSHAPE 1'
4887 die
"the GUI requires the X11 extension XShape (which was not found)"
4893 echocheck
"gtk version"
4894 if test -z "$_gtkconfig" ; then
4895 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
4896 _gtkconfig
="gtk-config"
4897 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
4898 _gtkconfig
="gtk12-config"
4900 die
"the GUI requires GTK (which was not found)"
4903 _gtk
=`$_gtkconfig --version 2>&1`
4904 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
4905 _ld_gtk
=`$_gtkconfig --libs 2>&1`
4906 echores
"$_gtk (using $_gtkconfig)"
4909 echocheck
"glib version"
4910 if test -z "$_glibconfig" ; then
4911 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
4912 _glibconfig
="glib-config"
4913 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
4914 _glibconfig
="glib12-config"
4916 die
"the GUI requires GLIB (which was not found)"
4919 _glib
=`$_glibconfig --version 2>&1`
4920 _inc_glib
=`$_glibconfig --cflags 2>&1`
4921 _ld_glib
=`$_glibconfig --libs 2>&1`
4922 echores
"$_glib (using $_glibconfig)"
4924 _def_gui
='#define HAVE_NEW_GUI 1'
4925 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
4927 echo "Creating Gui/config.mak"
4928 cat > Gui
/config.mak
<< EOF
4929 # -------- Generated by configure -----------
4933 GLIBINC = $_inc_glib
4934 GLIBLIBS = $_ld_glib
4939 _def_gui
='#undef HAVE_NEW_GUI'
4941 # --------------- GUI specific tests end -------------------
4945 #############################################################################
4947 # Checking for CFLAGS
4949 if test "$_profile" != "" ||
test "$_debug" != "" ; then
4950 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
4951 if test "$_cc_major" -ge "3" ; then
4952 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
4955 elif test -z "$CFLAGS" ; then
4956 if test "$host_arch" != "mips" ; then
4957 CFLAGS
="-O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer"
4959 CFLAGS
="-O4 $_march $_mcpu -ffast-math -fomit-frame-pointer"
4961 # always compile with '-g' if .developer:
4962 if test -f ".developer" ; then
4969 MPlayer compilation will use the CFLAGS set by you, but:
4971 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
4973 It is strongly recommended to let MPlayer choose the correct CFLAGS!
4974 To do so, execute 'CFLAGS= ./configure <options>'
4979 # use gnu style cpp on Darwin
4980 CFLAGS
="$CFLAGS -no-cpp-precomp -DSYS_DARWIN"
4981 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
4982 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
4985 # use flag for HPUX missing setenv()
4986 CFLAGS
="$CFLAGS -DHPUX"
4990 CFLAGS
="$CFLAGS -D_REENTRANT"
4992 # FIXME bsd needs this so maybe other OS'es
4993 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
4995 # 64 bit file offsets?
4996 if test "$_largefiles" = yes || freebsd
; then
4997 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
4998 if test "$_dvdread" = yes ; then
4999 # dvdread support requires this (for off64_t)
5000 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
5004 echocheck
"ftello()"
5005 # if we dont have ftello map it to ftell
5008 int main (void) { ftello(stdin); return 0; }
5011 cc_check
&& _ftello
=yes
5012 if test "$_ftello" = yes ; then
5013 _def_ftello
='#define HAVE_FTELLO 1'
5015 _def_ftello
='#undef HAVE_FTELLO'
5019 # Determine OS dependent libs
5021 _confcygwin
='TARGET_CYGWIN = yes'
5022 _def_confwin32
='#define WIN32'
5023 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
5024 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
5025 CFLAGS
="$CFLAGS -D__CYGWIN__"
5027 _confcygwin
="TARGET_CYGWIN = no"
5030 # Dynamic linking flags
5031 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
5033 bsd
&& _ld_dl_dynamic
='-rdynamic'
5034 test "$_xanim" = yes && _ld_dl_dynamic
='-rdynamic'
5035 test "$_real" = yes && _ld_dl_dynamic
='-rdynamic'
5037 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
5038 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
5040 x86
&& _ld_arch
="$_ld_arch -li386"
5043 _def_debug
='#undef MP_DEBUG'
5044 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
5046 _def_linux
='#undef TARGET_LINUX'
5047 linux
&& _def_linux
='#define TARGET_LINUX 1'
5049 # TODO cleanup the VIDIX stuff here
5050 _def_vidix
='#define CONFIG_VIDIX 1'
5051 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
5052 if test "$_vidix" = yes && test "$_x11" = yes; then
5053 _vosrc
="$_vosrc vo_xvidix.c"
5054 _vomodules
="xvidix $_vomodules"
5056 _novomodules
="xvidix $_novomodules"
5058 echo Checking
for vidix ...
"$_vidix"
5060 _def_joystick
='#undef HAVE_JOYSTICK'
5061 if test "$_joystick" = yes ; then
5063 # TODO add some check
5064 _def_joystick
='#define HAVE_JOYSTICK 1'
5066 _joystick
="no (unsupported under $system_name)"
5069 echo Checking
for joystick ...
"$_joystick"
5072 if test "$_lirc" = auto
; then
5074 if test -c /dev
/lirc
; then
5076 #include <lirc/lirc_client.h>
5077 int main(void) { return 0; }
5079 cc_check
-llirc_client && _lirc
=yes
5082 if test "$_lirc" = yes ; then
5083 _def_lirc
='#define HAVE_LIRC 1'
5084 _ld_lirc
='-llirc_client'
5086 _def_lirc
='#undef HAVE_LIRC'
5091 #############################################################################
5092 echo "Creating config.mak"
5093 cat > config.mak
<< EOF
5094 # -------- Generated by configure -----------
5097 LANGUAGES = $LANGUAGES
5098 TARGET_OS = $system_name
5100 prefix = \$(DESTDIR)$_prefix
5101 BINDIR = \$(DESTDIR)$_bindir
5102 DATADIR = \$(DESTDIR)$_datadir
5103 MANDIR = \$(DESTDIR)$_mandir
5104 CONFDIR = \$(DESTDIR)$_confdir
5105 LIBDIR = \$(DESTDIR)$_libdir
5111 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu -pipe -fomit-frame-pointer -ffast-math
5113 EXTRA_INC = $_inc_extra $_inc_gtk
5114 STRIPBINARIES = $_stripbinaries
5118 STREAMING = $_streaming
5119 STREAMING_LIVE_DOT_COM = $_live
5120 STREAMING_LIB = $_ld_streaming $_ld_live
5123 SHARED_PP = $_shared_pp
5127 I18NLIBS = $_i18n_libs
5129 OPENDIVX = $_opendivx
5131 UNRARLIB = $_unrarlib
5137 EXTRA_LIB = $_ld_extra
5138 Z_LIB = $_ld_static $_ld_zlib
5140 WIN32_LIB = $_ld_win32libs
5141 STATIC_LIB = $_ld_static
5150 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_vm $_ld_xinerama $_ld_x11 $_ld_mad $_ld_sock
5152 MLIB_LIB = $_ld_mlib
5153 MLIB_INC = $_inc_mlib
5154 DXR2_INC = $_inc_dxr2
5160 SVGA_LIB = $_ld_svga
5164 ALSA_LIB = $_ld_alsa
5166 ARTS_LIB = $_ld_arts
5167 ARTS_INC = $_inc_arts
5170 SGIAUDIO_LIB = $_ld_sgiaudio
5172 # input/demuxer/codecs
5173 TERMCAP_LIB = $_ld_termcap
5174 LIRC_LIB = $_ld_lirc
5181 W32_DEP = $_dep_win32
5182 W32_LIB = $_ld_win32
5183 DS_DEP = $_dep_dshow
5185 AV_DEP = $_dep_libavcodec
5186 AV_LIB = $_ld_libavcodec
5188 FAME_LIB = $_ld_fame
5189 MP1E_DEP = $_dep_mp1e
5190 MP1E_LIB = $_ld_mp1e
5191 ARCH_LIB = $_ld_arch $_ld_iconv
5193 XVID_LIB = $_ld_xvid
5194 DECORE_LIB = $_ld_decore
5195 MENCODER = $_mencoder
5196 ENCORE_LIB = $_ld_encore $_ld_mp3lame
5197 DIRECTFB_INC = $_inc_directfb
5198 DIRECTFB_LIB = $_ld_directfb
5199 CDPARANOIA_INC = $_inc_cdparanoia
5200 CDPARANOIA_LIB = $_ld_cdparanoia
5201 FREETYPE_INC = $_inc_freetype
5202 FREETYPE_LIB = $_ld_freetype
5203 FRIBIDI_INC = $_inc_fribidi
5204 FRIBIDI_LIB = $_ld_fribidi
5205 LIBLZO_LIB= $_ld_liblzo
5207 VORBIS_LIB = $_ld_vorbis $_ld_libdv
5208 FAAD_LIB = $_ld_faad
5209 SMBSUPPORT_LIB = $_ld_smb
5210 XMMS_PLUGINS = $_xmms
5211 XMMS_LIB = $_xmms_lib
5213 MACOSX_FRAMEWORKS = $_macosx_frameworks
5215 # --- Some stuff for autoconfigure ----
5220 TARGET_MMX2 = $_mmx2
5221 TARGET_3DNOW = $_3dnow
5222 TARGET_3DNOWEX = $_3dnowex
5224 TARGET_ALTIVEC = $_altivec
5227 GTKLIB = $_ld_static $_ld_gtk
5228 GLIBLIB = $_ld_static $_ld_glib
5229 GTK_LIBS = $_ld_static $_ld_gui
5235 #############################################################################
5236 echo "Creating config.h"
5237 cat > config.h
<< EOF
5238 /* -------- This file has been automatically generated by configure ---------
5239 Note: Any changes in it will be lost when you run configure again. */
5241 /* use GNU internationalization */
5244 /* use setlocale() function */
5247 /* Runtime CPU detection */
5248 $_def_runtime_cpudetection
5250 /* Dynamic a/v plugins */
5251 $_def_dynamic_plugins
5253 /* "restrict" keyword */
5254 #define restrict $_def_restrict_keyword
5256 #define PREFIX "$_prefix"
5258 /* define this to use simple idct with patched libavcodec */
5259 #define SIMPLE_IDCT 1
5264 /* enable/disable SIGHANDLER */
5267 /* Toggles debugging informations */
5270 /* Indicates that Ogle's libdvdread is available for DVD playback */
5273 /* Indicates that dvdread is from libmpdvdkit */
5276 /* Additional options for libmpdvdkit*/
5290 /* Common data directory (for fonts, etc) */
5291 #define DATADIR "$_datadir"
5292 #define CONFDIR "$_confdir"
5293 #define LIBDIR "$_libdir"
5295 /* Define this to compile stream-caching support, it can be enabled via
5296 -cache <kilobytes> */
5297 #define USE_STREAM_CACHE 1
5299 /* Define to include support for XviD/Divx4Linux/OpenDivx */
5302 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
5303 /* You have to change DECORE_LIBS in config.mak, too! */
5306 /* Define if you are using DivX5Linux Decore library */
5309 /* Define if you are using XviD library */
5314 /* Define to include support for libdv-0.9.5 */
5317 /* If build mencoder */
5320 /* Indicates if XviD/Divx4linux encore is available
5321 Note: for mencoder */
5324 /* Indicates if libmp3lame is available
5325 Note: for mencoder */
5328 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
5331 /* Define this to enable avg. byte/sec-based AVI sync method by default:
5332 (use -bps or -nobps commandline option for run-time method selection)
5333 -bps gives better sync for vbr mp3 audio, it is now default */
5334 #define AVI_SYNC_BPS 1
5336 /* Undefine this if you do not want to select mono audio (left or right)
5337 with a stereo MPEG layer 2/3 audio stream. The command line option
5338 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
5339 right-only), with 0 being the default.
5341 #define USE_FAKE_MONO 1
5343 /* Undefine this if your sound card driver has no working select().
5344 If you have kernel Oops, player hangups, or just no audio, you should
5345 try to recompile MPlayer with this option disabled! */
5348 /* define this to use iconv(3) function to codepage conversions */
5351 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
5354 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
5355 #define MAX_OUTBURST 65536
5357 /* set up audio OUTBURST. Do not change this! */
5358 #define OUTBURST 512
5360 /* Define this if your system has the header file for the OSS sound interface */
5363 /* Define this if your system has the header file for the OSS sound interface
5364 * in /usr/include */
5367 /* Define this if your system has the sysinfo header */
5370 /* Define this if your system uses ftello() for off_t seeking */
5374 # define ftello(a) ftell(a)
5377 /* Define this if your system has the "malloc.h" header file */
5380 /* memalign is mapped to malloc if unsupported */
5382 #ifndef HAVE_MEMALIGN
5383 # define memalign(a,b) malloc(b)
5386 /* Define this if your system has the "alloca.h" header file */
5389 /* Define this if your system has the "sys/mman.h" header file */
5392 /* Define this if you have the elf dynamic linker -ldl library */
5395 /* Define this if you have the kstat kernel statistics library */
5398 /* Define this if you have zlib */
5401 /* Define this if you have shm support */
5404 /* Define this if your system has scandir & alphasort */
5407 /* Define this if your system has strsep */
5410 /* Define this if your system has vsscanf */
5413 /* Define this if your system has no posix select */
5414 $_def_no_posix_select
5416 /* Define this if your system has gettimeofday */
5419 /* Define this if your system has glob */
5422 /* LIRC (remote control, see www.lirc.org) support: */
5425 /* DeCSS support using libcss */
5428 /* DVD navigation support using libdvdnav */
5430 $_def_dvdnav_version
5432 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
5433 #define MPEG12_POSTPROC 1
5435 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
5438 /* Define to include support for OpenDivx postprocessing */
5439 $_def_odivx_postprocess
5441 /* Win32 DLL support */
5443 #define WIN32_PATH "$_win32libdir"
5445 /* DirectShow support */
5448 /* Mac OS X specific features */
5451 /* Build our Win32-loader */
5454 /* ffmpeg's libavcodec support (requires libavcodec source) */
5459 #define CONFIG_RISKY 1
5461 /* Use libavcodec's decoders */
5462 #define CONFIG_DECODERS 1
5463 /* Use libavcodec's encoders */
5464 #define CONFIG_ENCODERS 1
5466 /* Use codec libs included in mplayer CVS / source dist: */
5469 #define USE_LIBMPEG2
5471 /* Use the SVQ1 decoder in libmpcodecs - we don't want/need it with libavcodec */
5472 #ifndef USE_LIBAVCODEC
5476 /* Use libfame encoder filter */
5479 /* XAnim DLL support */
5481 /* Default search path */
5484 /* RealPlayer DLL support */
5486 /* Default search path */
5489 /* LIVE.COM Streaming Media library support */
5492 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
5495 /* Use unrarlib for Vobsubs */
5498 /* gui support, please do not edit this option */
5501 /* Audio output drivers */
5503 $_def_ossaudio_devdsp
5504 $_def_ossaudio_devmixer
5509 $_def_sys_asoundlib_h
5510 $_def_alsa_asoundlib_h
5516 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
5518 #undef FAST_OSD_TABLE
5520 /* Enable TV Interface support */
5523 /* Enable EDL support */
5526 /* Enable Video 4 Linux TV interface support */
5529 /* Enable *BSD BrookTree TV interface support */
5532 /* Define if your processor stores words with the most significant
5533 byte first (like Motorola and SPARC, unlike Intel and VAX). */
5538 /* Define this for Cygwin build for win32 */
5541 /* Define this to any prefered value from 386 up to infinity with step 100 */
5542 #define __CPU__ $iproc
5551 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
5552 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
5554 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
5555 #define DEFAULT_DVD_DEVICE "/dev/dvd"
5556 #elif defined(WIN32)
5557 #define DEFAULT_CDROM_DEVICE "D:"
5558 #define DEFAULT_DVD_DEVICE "D:"
5559 #elif defined(SYS_DARWIN)
5560 #define DEFAULT_CDROM_DEVICE "/dev/rdiskN"
5561 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
5563 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
5564 #define DEFAULT_DVD_DEVICE "/dev/dvd"
5568 /*----------------------------------------------------------------------------
5570 ** NOTE: Instead of modifying these definitions here, use the
5571 ** --enable/--disable options of the ./configure script!
5572 ** See ./configure --help for details.
5574 *---------------------------------------------------------------------------*/
5576 /* C99 lrintf function available */
5579 /* nanosleep support */
5585 /* termcap flag for getch2.c */
5588 /* termios flag for getch2.c */
5593 /* enable PNG support */
5596 /* enable JPEG support */
5599 /* enable GIF support */
5604 /* enable FreeType support */
5607 /* enable FriBiDi usage */
5610 /* liblzo support */
5613 /* libmad support */
5616 /* enable OggVorbis support */
5619 /* enable Tremor as vorbis decoder */
5622 /* enable FAAD (AAC) support */
5626 /* enable streaming */
5629 /* define this to use inet_aton() instead of inet_pton() */
5632 /* enables / disables cdparanoia support */
5635 /* enables / disables VIDIX usage */
5638 /* enables / disables new input joystick support */
5641 /* enables / disables new config */
5644 /* enables / disables QTX codecs */
5647 /* enables / disables osd menu */
5650 /* enables / disables subtitles sorting */
5653 /* XMMS input plugin support */
5655 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
5657 /* enables inet6 support */
5660 /* do we have gethostbyname2? */
5661 $_def_gethostbyname2
5663 /* Extension defines */
5664 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
5665 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
5666 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
5667 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
5668 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
5669 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
5670 $_def_altivec // only define if you have Altivec (G4)
5673 #define USE_MMX_IDCT 1
5676 $_def_mlib // Sun mediaLib, available only on solaris
5678 /* libmpeg2 uses a different feature test macro for mediaLib */
5680 #define LIBMPEG2_MLIB 1
5684 #define SCREEN_SIZE_X 1
5685 #define SCREEN_SIZE_Y 1
5694 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
5702 $_def_directfb_version
5722 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
5723 #define X11_FULLSCREEN 1
5728 #############################################################################
5730 echo "Creating libvo/config.mak"
5731 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
5732 cat > libvo
/config.mak
<< EOF
5733 include ../config.mak
5734 OPTIONAL_SRCS = $_vosrc
5735 OPTIONAL_OBJS = $_voobj
5738 #############################################################################
5740 echo "Creating libao2/config.mak"
5741 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
5742 cat > libao
2/config.mak
<< EOF
5743 include ../config.mak
5744 OPTIONAL_SRCS = $_aosrc
5745 OPTIONAL_OBJS = $_aoobj
5748 #############################################################################
5750 echo "Creating help_mp.h"
5751 cat > help_mp.h
<< EOF
5753 // WARNING! This is a generated file. Do NOT edit.
5754 // See the help/ subdir for the editable files.
5756 #include "$_mp_help"
5759 if test $_mp_help != "help/help_mp-en.h"; then
5760 echo "Adding untranslated messages to help_mp.h"
5761 echo '// untranslated messages from the english master-file:' >> help_mp.h
5762 help
/help_diff.sh
$_mp_help <help
/help_mp-en.h
>> help_mp.h
5765 #############################################################################
5769 Config files successfully generated by ./configure !
5771 Install prefix: $_prefix
5772 Data directory: $_datadir
5773 Config direct.: $_confdir
5775 Byte order: $_byte_order
5776 Optimizing for: $_optimizing
5779 Messages/GUI: $_language
5782 echo -n " Manual pages: $LANGUAGES"
5783 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
5788 Enabled optional drivers:
5789 Input: $_inputmodules
5790 Codecs: $_codecmodules
5791 Audio output: $_aomodules
5792 Video output: $_vomodules
5793 Disabled optional drivers:
5794 Input: $_noinputmodules
5795 Codecs: $_nocodecmodules
5796 Audio output: $_noaomodules
5797 Video output: $_novomodules
5799 'config.h' and 'config.mak' contain your configuration options.
5800 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
5801 compile *** DO NOT REPORT BUGS if you tweak these files ***
5803 'make' will now compile MPlayer and 'make install' will install it.
5804 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
5809 if test "$_mtrr" = yes ; then
5810 echo "Please check mtrr settings at /proc/mtrr (see DOCS/video.html#mtrr)"
5814 if test "$_sdl" = "outdated" ; then
5816 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
5817 support has therefore been disabled.
5819 Please upgrade to a more recent version (version 1.1.8 and above are known to
5820 work). You may get this library from: http://www.libsdl.org
5822 You need to rerun ./configure and recompile after updating SDL. If you are
5823 only interested in the libSDL audio drivers, then an older version might work.
5825 Use --enable-sdl to force usage of libSDL.
5830 if x86
&& not cygwin
; then
5831 if test "$_win32" = no
; then
5832 if test "$_win32libdir" ; then
5834 Failed to find a Win32 codecs dir at $_win32libdir!
5835 Create it and copy the DLL files there! (You can get them from your Windows
5836 directory or download them from:
5837 ftp://ftp.MPlayerHQ.hu/MPlayer/releases/w32codec.tar.bz2
5842 if test "$_win32libdir" ; then
5843 # echo "Ok, found Win32 codecs directory at $_win32libdir."
5847 Failed to find a Win32 codecs directory!
5848 Create it and copy the DLL files there! (You can get them from your Windows
5849 directory or download them from:
5850 ftp://ftp.MPlayerHQ.hu/MPlayer/releases/w32codec.tar.bz2
5857 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
5858 operating system ($system_name). Why don't you help us port it?
5859 You may encounter a few AVI files that cannot be played due to missing
5860 Open Source video/audio codec support.
5868 Check $TMPLOG if you wonder why an autodetection failed (check whether
5869 the development headers/packages are installed).
5871 If you suspect a bug, please read DOCS/bugreports.html.
5875 if test "$_vidix" = no
; then
5877 You've disabled VIDIX. Although it would be better to PORT it instead.
5878 Have a look at the documentation for supported cards!
5884 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"