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 "$?" ; }
70 mingw32
() { issystem
"MINGW32" ; return "$?" ; }
71 morphos
() { issystem
"MorphOS" ; return "$?" ; }
73 # arch test boolean functions
74 # x86/x86pc is used by QNX
77 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
96 # not boolean test: implement the posix shell "!" operator for a
98 # usage: not {command}
99 # returns exit status "success" when the execution of "command"
106 # Use this before starting a check
108 echo "============ Checking for $@ ============" >> "$TMPLOG"
109 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
112 # Use this to echo the results of a check
114 echo "Result is: $@" >> "$TMPLOG"
115 echo "##########################################" >> "$TMPLOG"
119 #############################################################################
121 # Check how echo works in this /bin/sh
123 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
124 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
127 LANGUAGES
=`echo help/help_mp-??.h help/help_mp-??_??.h | sed "s/help\/help_mp-\(..\).h/\1/g" |sed "s/help\/help_mp-\(.....\).h/\1/g"`
129 for parm
in "$@" ; do
130 if test "$parm" = "--help" ||
test "$parm" = "-help" ||
test "$parm" = "-h" ; then
133 Usage: $0 [OPTIONS]...
136 -h, --help display this help and exit
138 Installation directories:
139 --prefix=DIR use this prefix for installing mplayer [/usr/local]
140 --bindir=DIR use this prefix for installing mplayer binary
142 --datadir=DIR use this prefix for installing machine independent
143 data files (fonts, skins) [PREFIX/share/mplayer]
144 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
145 --confdir=DIR use this prefix for installing configuration files
147 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
150 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
151 --enable-gui enable gmplayer compilation (gtk-1.2 GUI) [disable]
152 --enable-largefiles enable support for files > 2 GBytes [disable]
153 --enable-linux-devfs set default devices to devfs ones [disable]
154 --enable-termcap use termcap database for key codes [autodetect]
155 --with-termcaplib=NAME name of library with termcap functionality
156 name shuld be given without leading "lib"
157 checks for "termcap" and "tinfo"
158 --disable-iconv do not use iconv(3) function [autodetect]
159 --disable-setlocale disable setlocale using in mplayer [autodetect]
160 --enable-lirc enable LIRC (remote control) support [autodetect]
161 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
162 --enable-joystick enable joystick support [disable]
163 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
164 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
165 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
166 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
167 --disable-edl disable EDL (edit decision list) support [enable]
168 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
169 --disable-network disable network support (for: http/mms/rtp) [enable]
170 --enable-winsock2 enable winsock2 usage [autodetect]
171 --enable-smb enable Samba (SMB) input support [autodetect]
172 --enable-live enable LIVE.COM Streaming Media support [disable]
173 --disable-dvdread Disable libdvdread support [autodetect]
174 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
175 --disable-css Disable old-style libcss DVD support [autodetect]
176 --disable-cdparanoia Disable cdparanoia support [autodetect]
177 --disable-freetype Disable freetype2 font rendering support [autodetect]
178 --disable-unrarlib Disable Unique RAR File Library [enabled]
179 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
180 --disable-sortsub Disable subtitles sorting [enabled]
181 --enable-fribidi Enable using the FriBiDi libs [disabled]
182 --disable-macosx Disable Mac OS X specific features [autodetect]
183 --disable-inet6 Disable IPv6 support [autodetect]
184 --disable-gethostbyname2 gethostbyname() function is not provided by the C
186 --disable-ftp Disable ftp support [enabled]
189 --enable-gif enable gif support [autodetect]
190 --enable-png enable png input/output support [autodetect]
191 --enable-jpeg enable jpeg input/output support [autodetect]
192 --enable-liblzo enable external liblzo support [autodetect]
193 --disable-win32 disable Win32 DLL support [autodetect]
194 --disable-dshow disable Win32/DirectShow support [autodetect]
195 --disable-qtx disable Quicktime codecs [autodetect]
196 --disable-xanim disable XAnim DLL support [autodetect]
197 --disable-real disable RealPlayer DLL support [autodetect]
198 --disable-xvid disable XviD codec [autodetect]
199 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
200 --enable-opendivx enable _old_ OpenDivx codec [disable]
201 --disable-libavcodec disable libavcodec [autodetect]
202 --enable-libfame enable libfame realtime encoder [autodetect]
203 --enable-vorbis build with OggVorbis support [autodetect]
204 --enable-tremor build with integer-only OggVorbis support [disabled]
205 --enable-theora build with OggTheora support [autodetect]
206 --enable-matroska build with Matroska support [autodetect]
207 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
208 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
209 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
210 --disable-mad disable libmad (MPEG audio) support [autodetect]
211 --enable-xmms build with XMMS inputplugin support [disabled]
212 --enable-flac build with FLAC support [autodetect]
213 --enable-external-flac build with external libFLAC [disable]
216 --disable-vidix disable VIDIX stuff [enable on x86 *nix]
217 --enable-gl build with OpenGL render support [autodetect]
218 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
219 --enable-vesa build with VESA support [autodetect]
220 --enable-svga build with SVGAlib support [autodetect]
221 --enable-sdl build with SDL render support [autodetect]
222 --enable-aa build with AAlib render support [autodetect]
223 --enable-ggi build with GGI render support [autodetect]
224 --enable-directx build with DirectX support [autodetect]
225 --enable-dxr2 build with DXR2 render support [autodetect]
226 --enable-dxr3 build with DXR3/H+ render support [autodetect]
227 --enable-dvb build with support for output via DVB-Card [autodetect]
228 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
229 (check for /dev/mga_vid) [autodetect]
230 --enable-xmga build with mga_vid X Window support
231 (check for X & /dev/mga_vid) [autodetect]
232 --enable-xv build with Xv render support for X 4.x [autodetect]
233 --enable-xvmc build with XvMC acceleration for X 4.x [autodetect]
234 --enable-vm build with XF86VidMode support for X11 [autodetect]
235 --enable-xinerama build with Xinerama support for X11 [autodetect]
236 --enable-x11 build with X11 render support [autodetect]
237 --enable-fbdev build with FBDev render support [autodetect]
238 --enable-mlib build with MLIB support (Solaris only) [autodetect]
239 --enable-3dfx build with obsolete /dev/3dfx support [disable]
240 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
241 --enable-directfb build with DirectFB support [autodetect]
242 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
243 --enable-bl build with Blinkenlights support [disable]
244 --enable-tdfxvid build with tdfx vid support [disable]
245 --disable-tga disable targa output support [enable]
248 --disable-ossaudio disable OSS sound support [autodetect]
249 --disable-arts disable aRts sound support [autodetect]
250 --disable-esd disable esd sound support [autodetect]
251 --disable-alsa disable alsa sound support [autodetect]
252 --disable-sunaudio disable Sun sound support [autodetect]
253 --disable-nas disable NAS sound support [autodetect]
254 --disable-win32waveout disable Windows waveout sound support [autodetect]
255 --disable-select disable using select() on audio device [enable]
257 Miscellaneous options:
258 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
259 --cc=COMPILER use this C compiler to build MPlayer [gcc]
260 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
261 --enable-static build a statically linked binary. Set further linking
262 options with --enable-static="-lslang -lncurses"
263 --language=list a white space or comma separated list of languages
264 for translated man pages, the first language is the
265 primary and therefore used for translated messages
266 and GUI (also the environment variable \$LINGUAS is
268 (Available: $LANGUAGES all)
269 --enable-shared-pp install & use shared postprocessing lib
270 --with-install=PATH use a custom install program (useful if your OS uses
271 a GNU-incompatible install utility by default and
272 you want to use GNU version)
273 --install-path=PATH the path to a custom install program
274 this option is obsolete and will be removed soon,
275 use --with-install instead.
278 --enable-mmx build with MMX support [autodetect]
279 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
280 --enable-3dnow build with 3DNow! support [autodetect]
281 --enable-3dnowex build with extended 3DNow! support [autodetect]
282 --enable-sse build with SSE support [autodetect]
283 --enable-sse2 build with SSE2 support [autodetect]
284 --enable-altivec build with Altivec support (PowerPC) [autodetect]
285 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
286 --enable-big-endian Force byte order to big endian [autodetect]
287 --enable-debug[=1-3] compile debugging information into mplayer [disable]
288 --enable-profile compile profiling information into mplayer [disable]
289 --disable-sighandler disable sighandler for crashes [enable]
290 --enable-i18n _experimental_ gnu gettext() support [autodetect]
291 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
293 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
294 --disable-gcc-checking disable gcc version checking [enable]
296 Use these options if autodetection fails:
297 --with-extraincdir=DIR extra headers (png, mad, sdl, css, ...) in DIR
298 --with-extralibdir=DIR extra library files (png, SDL, ...) in DIR
299 --with-x11incdir=DIR X headers in DIR
300 --with-x11libdir=DIR X library files in DIR
301 --with-dxr2incdir=DIR DXR2 headers in DIR
302 --with-dvbincdir=DIR DVB headers in DIR
303 --with-csslibdir=DIR libcss in DIR
304 --with-madlibdir=DIR libmad (libmad shared library) in DIR
305 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
306 --with-codecsdir=DIR Binary codec files in DIR
307 --with-win32libdir=DIR W*ndows DLL files in DIR
308 --with-xanimlibdir=DIR XAnim DLL files in DIR
309 --with-reallibdir=DIR RealPlayer DLL files in DIR
310 --with-xvmclib=PATH path to adapter specific XvMCxxxxx.so (e.g. NVIDIA)
311 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR
312 --with-xvidincdir=DIR XviD header in DIR
314 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
315 --with-freetype-config=PATH path to freetype-config
316 (e.g. /opt/bin/freetype-config)
317 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
318 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
319 --with-livelibdir=DIR path to LIVE.COM Streaming Media libraries
320 --with-xmmsplugindir=DIR path to XMMS plugins
321 --with-xmmslibdir=DIR path to libxmms.so.1
322 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR
323 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR
324 --with-fribidi-config=PATH path to fribidi-config
325 (e.g. /opt/bin/fribidi-config)
330 done # for parm in ...
333 # 1st pass checking for vital options
337 test "$CC" && _cc
="$CC"
339 _runtime_cpudetection
=no
343 _target
=`echo $ac_option | cut -d '=' -f 2`
346 _cc
=`echo $ac_option | cut -d '=' -f 2`
349 _as
=`echo $ac_option | cut -d '=' -f 2`
351 --enable-gcc-checking)
354 --disable-gcc-checking)
364 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
366 --with-extraincdir=*)
367 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
369 --with-extralibdir=*)
370 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
371 # _ld_extra="${_ld_extra} -Wl,-R"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -Wl\,-R,g'`" -L"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
373 --enable-runtime-cpudetection)
374 _runtime_cpudetection
=yes
376 --disable-runtime-cpudetection)
377 _runtime_cpudetection
=no
380 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
383 _install
=`echo $ac_option | cut -d '=' -f 2 `
388 # Determine our OS name and CPU architecture
389 if test -z "$_target" ; then
391 system_name
=`( uname -s ) 2>&1`
392 case "$system_name" in
393 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU
)
401 [cC
][yY
][gG
][wW
][iI
][nN
]*)
411 system_name
="$system_name-UNKNOWN"
416 # host's CPU/instruction set
417 host_arch
=`( uname -p ) 2>&1`
419 i386|sparc|ppc|alpha|arm|mips
)
421 powerpc
) # Darwin returns 'powerpc'
424 *) # uname -p on Linux returns 'unknown' for the processor type,
425 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
427 # Maybe uname -m (machine hardware name) returns something we
430 # x86/x86pc is used by QNX
431 case "`( uname -m ) 2>&1`" in
432 i
[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium
*|athlon
*|i586_i686|i586-i686
) host_arch
=i386
;;
433 ia64
) host_arch
=ia64
;;
434 x86_64
) host_arch
=x86_64
;;
435 ppc
) host_arch
=ppc
;;
436 alpha
) host_arch
=alpha
;;
437 sparc
*) host_arch
=sparc
;;
438 9000*) host_arch
=hppa
;;
439 arm
*) host_arch
=arm
;;
440 s390
) host_arch
=s390
;;
441 s390x
) host_arch
=s390x
;;
442 mips
) host_arch
=mips
;;
443 *) host_arch
=UNKNOWN
;;
448 system_name
=`echo $_target | cut -d '-' -f 2`
449 case "`echo $system_name | tr A-Z a-z`" in
450 linux
) system_name
=Linux
;;
451 freebsd
) system_name
=FreeBSD
;;
452 netbsd
) system_name
=NetBSD
;;
453 bsd
/os
) system_name
=BSD
/OS
;;
454 openbsd
) system_name
=OpenBSD
;;
455 sunos
) system_name
=SunOS
;;
456 qnx
) system_name
=QNX
;;
457 morphos
) system_name
=MorphOS
;;
459 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
460 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
463 echo "Detected operating system: $system_name"
464 echo "Detected host architecture: $host_arch"
466 # LGB: temporary files
467 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
471 TMPLOG
="configure.log"
473 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
474 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
475 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
476 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
480 # FIXME: A lot of stuff is installed under /usr/local
481 # NK: But we should never use this stuff implicitly since we call compiler
482 # from /usr we should be sure that there no effects from other compilers
483 # (libraries) which might be installed into /usr/local. Let users use this
484 # stuff explicitly as command line argument. In other words: It would be
485 # resonable to have only /usr/include or only /usr/local/include.
488 _ld_extra
="$_ld_extra -L/usr/local/lib"
489 _inc_extra
="$_inc_extra -I/usr/local/include"
497 # Checking CC version...
498 if test "$_skip_cc_check" != yes ; then
499 for _cc
in "$_cc" gcc gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
500 echocheck
"$_cc version"
501 cc_name
=`( $_cc -v ) 2>&1 | tail -1 | cut -d ' ' -f 1`
502 cc_version
=`( $_cc -dumpversion ) 2>&1`
503 if test "$?" -gt 0; then
504 cc_version
="not found"
508 cc_version
="v. ?.??, bad"
511 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
3.
[0-9]|
3.
[0-9].
[0-9])
512 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
513 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
514 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
515 cc_version
="$cc_version, ok"
522 cc_version
="$cc_version, bad"
526 echores
"$cc_version"
527 (test "$cc_verc_fail" = "no") && break
529 if test "$cc_verc_fail" = yes ; then
532 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
534 You are not using a supported compiler. We do not have the time to make sure
535 everything works with compilers other than the ones we use. Use either the
536 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
537 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
539 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
540 mplayer and lame (which is used for mencoder). If you get compile errors,
541 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
542 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
545 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
547 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
550 die
"Bad gcc version"
555 ******************************************************************************
557 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
558 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
560 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
561 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
562 Lame which is used by mencoder produces weird errors, too.
564 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
565 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
567 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
569 ******************************************************************************
578 # now that we know what compiler should be used for compilation, try to find
579 # out which assembler is used by the $_cc compiler
580 if test "$_as" = auto
; then
581 _as
=`$_cc -print-prog-name=as`
582 test -z "$_as" && _as
=as
585 # XXX: this should be ok..
587 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
588 # FIXME: Remove the cygwin check once AMD CPUs are supported
589 if test -r /proc
/cpuinfo
&& not cygwin
; then
590 # Linux with /proc mounted, extract CPU information from it
591 _cpuinfo
="cat /proc/cpuinfo"
592 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
593 # FreeBSD with Linux emulation /proc mounted,
594 # extract CPU information from it
595 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
597 # use hostinfo on Darwin
600 # all other OSes try to extract CPU information from a small helper
601 # program TOOLS/cpuinfo instead
602 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
603 _cpuinfo
="TOOLS/cpuinfo"
607 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
608 _def_arch
="#define ARCH_X86 1"
609 _target_arch
="TARGET_ARCH_X86 = yes"
611 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -1`
612 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
613 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
614 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
615 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
617 pparam
=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -1`
618 if test -z "$pparam" ; then
619 pparam
=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -1`
630 for i
in $pparam ; do
633 3dnowext
) _3dnow
=yes _3dnowex
=yes ;;
636 mtrr|k6_mtrr|cyrix_arr
) _mtrr
=yes ;;
637 xmm|sse|kni
) _sse
=yes _mmx2
=yes ;;
642 echocheck
"CPU vendor"
643 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
651 3) proc
=i386 iproc
=386 ;;
652 4) proc
=i486 iproc
=486 ;;
653 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
654 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
655 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
657 elif test "$pmodel" -ge 8; then
659 elif test "$pmodel" -ge 6; then
667 if test "$pmodel" -ge 7; then
669 elif test "$pmodel" -ge 6; then
670 # only Athlon XP supports ssem MP, Duron etc not
671 # but most of them are CPUID 666, so check if sse detected
672 # btw. there is also athlon-mp opt, but we need extended
673 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
674 if test "$_sse" = yes && test "$pstepping" -ge 2; then
679 elif test "$pmodel" -ge 4; then
682 proc
=athlon
# TODO: should the Duron Spitfire be considered a Thunderbird instead?
686 *) proc
=athlon-xp iproc
=686 ;;
691 3) proc
=i386 iproc
=386 ;;
692 4) proc
=i486 iproc
=486 ;;
694 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
695 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
701 if test "$pmodel" -ge 7; then
703 elif test "$pmodel" -ge 3; then
709 15) proc
=pentium4 iproc
=686 ;;
710 *) proc
=pentium4 iproc
=686 ;;
715 3) proc
=i386 iproc
=386 ;;
716 4) proc
=i486 iproc
=486 ;;
717 *) proc
=i586 iproc
=586 ;;
721 proc
=i586 iproc
=586 ;;
724 # check that gcc supports our CPU, if not, fall back to earlier ones
725 # LGB: check -mcpu and -march swithing step by step with enabling
726 # to fall back till 386.
728 echocheck
"GCC & CPU optimization abilities"
730 int main(void) { return 0; }
732 if test "$_runtime_cpudetection" = no
; then
733 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ||
test "$proc" = "athlon-tbird"; then
734 cc_check
-march=$proc -mcpu=$proc || proc
=athlon
736 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
737 cc_check
-march=$proc -mcpu=$proc || proc
=k6
739 if test "$proc" = "k6"; then
740 if not cc_check
-march=$proc -mcpu=$proc; then
741 if cc_check
-march=i586
-mcpu=i686
; then
748 if test "$proc" = "pentium4" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon"; then
749 cc_check
-march=$proc -mcpu=$proc || proc
=i686
751 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx"; then
752 cc_check
-march=$proc -mcpu=$proc || proc
=i586
754 if test "$proc" = "i586" ; then
755 cc_check
-march=$proc -mcpu=$proc || proc
=i486
757 if test "$proc" = "i486" ; then
758 cc_check
-march=$proc -mcpu=$proc || proc
=i386
760 if test "$proc" = "i386" ; then
761 cc_check
-march=$proc -mcpu=$proc || proc
=error
763 if test "$proc" = "error" ; then
764 echores
"Your $_cc does not even support \"i386\" for '-march' and '-mcpu'."
768 elif test "$proc" = "i586-i686"; then
773 _march
="-march=$proc"
778 # i686 is probably the most common CPU - optimize for it
780 # at least i486 required, for bswap instruction
782 cc_check
$_mcpu || _mcpu
=""
783 cc_check
$_march $_mcpu || _march
=""
786 ## Gabucino : --target takes effect here (hopefully...) by overwriting
787 ## autodetected mcpu/march parameters
788 if test "$_target" ; then
789 # TODO: it may be a good idea to check GCC and fall back in all cases
790 if test "$host_arch" = "i586-i686"; then
794 _march
="-march=$host_arch"
795 _mcpu
="-mcpu=$host_arch"
803 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
804 i686|athlon
*|pentium
*) iproc
=686 ;;
813 _def_arch
='#define ARCH_IA64 1'
814 _target_arch
='TARGET_ARCH_IA64 = yes'
823 _def_arch
='#define ARCH_X86_64 1'
824 _target_arch
='TARGET_ARCH_X86_64 = yes'
833 _def_arch
='#define ARCH_SPARC 1'
834 _target_arch
='TARGET_ARCH_SPARC = yes'
843 _def_arch
='#define ARCH_ARMV4L 1'
844 _target_arch
='TARGET_ARCH_ARMV4L = yes'
853 _def_arch
='#define ARCH_POWERPC 1'
854 _target_arch
='TARGET_ARCH_POWERPC = yes'
863 if linux
&& test -n "$_cpuinfo"; then
864 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -1`
865 if test -n "`$_cpuinfo | grep altivec`"; then
870 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
871 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
874 if [ `sysctl -n hw.optional.altivec` -eq 1 ]; then
878 if test "$_altivec" = yes; then
879 echores
"$proc altivec"
884 echocheck
"GCC & CPU optimization abilities"
886 if test -n "$proc"; then
888 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
889 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
890 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
891 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
892 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
893 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
896 # gcc 3.1(.1) and up supports 7400 and 7450
897 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1"; then
899 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
900 7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
906 if test -n "$_mcpu"; then
907 _optimizing
=`echo $_mcpu | cut -c 8-`
908 echores
"$_optimizing"
916 _def_arch
='#define ARCH_ALPHA 1'
917 _target_arch
='TARGET_ARCH_ALPHA = yes'
924 unsigned long ver, mask;
925 asm ("implver %0" : "=r" (ver));
926 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
927 printf("%ld-%x\n", ver, ~mask);
931 $_cc -o "$TMPO" "$TMPC"
934 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
935 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
936 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
937 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
938 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
939 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
940 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
944 echocheck
"GCC & CPU optimization abilities"
945 if test "$proc" = "ev68" ; then
946 cc_check
-mcpu=$proc || proc
=ev67
948 if test "$proc" = "ev67" ; then
949 cc_check
-mcpu=$proc || proc
=ev6
956 echocheck
"MVI instruction support in GCC"
957 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
958 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
961 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
962 echores
"no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
967 _def_arch
='#define ARCH_SGI_MIPS 1'
968 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
977 _def_arch
='#define ARCH_PA_RISC 1'
978 _target_arch
='TARGET_ARCH_PA_RISC = yes'
987 _def_arch
='#define ARCH_S390 1'
988 _target_arch
='TARGET_ARCH_S390 = yes'
997 _def_arch
='#define ARCH_S390X 1'
998 _target_arch
='TARGET_ARCH_S390X = yes'
1007 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1008 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1009 die
"unsupported architecture $host_arch"
1013 if test "$_runtime_cpudetection" = yes ; then
1028 if x86
&& test "$_runtime_cpudetection" = no
; then
1030 if test "$1" = yes ; then
1031 echocheck
"kernel support of $2"
1034 void catch() { exit(1); }
1036 signal(SIGILL, catch);
1037 __asm__ __volatile__ ("$3":::"memory");return(0);
1041 if ( cc_check
&& $TMPO ) > /dev
/null
2>&1 ; then
1043 _optimizing
="$_optimizing $2"
1047 echo "It seems that your kernel does not correctly support $2."
1048 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1055 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1056 extcheck
$_mmx2 "mmx2" "sfence" || _mmx2
=no
1057 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1058 extcheck
$_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex
=no
1059 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1060 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1061 echocheck
"mtrr support"
1064 if test "$_mtrr" = yes ; then
1065 _optimizing
="$_optimizing mtrr"
1068 if test "$_gcc3_ext" != ""; then
1069 # if we had to disable sse/sse2 because the active kernel does not
1070 # support this instruction set extension, we also have to tell
1071 # gcc3 to not generate sse/sse2 instructions for normal C code
1073 int main(void) { return 0; }
1075 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1081 _prefix
="/usr/local"
1082 _xvmclib
="XvMCNVIDIA"
1084 # GOTCHA: the variables below defines the default behavior for autodetection
1085 # and have - unless stated otherwise - at least 2 states : yes no
1086 # If autodetection is available then the third state is: auto
1093 _dga
=auto
# 1 2 no auto
1095 _xvmc
=no
#auto when complete
1130 # dvdnav disabled, it does not work
1192 _freetypeconfig
='freetype-config'
1194 _fribidiconfig
='fribidi-config'
1196 _gethostbyname2
=auto
1199 case "$ac_option" in
1204 --enable-gcc-checking) ;;
1205 --disable-gcc-checking) ;;
1206 --enable-static*) ;;
1207 --disable-static*) ;;
1208 --with-extraincdir=*) ;;
1209 --with-extralibdir=*) ;;
1210 --enable-runtime-cpudetection) ;;
1211 --disable-runtime-cpudetection) ;;
1212 --install-path=*) ;;
1213 --with-install=*) ;;
1216 --enable-mencoder) _mencoder
=yes ;;
1217 --disable-mencoder) _mencoder
=no
;;
1218 --enable-i18n) _i18n
=yes ;;
1219 --disable-i18n) _i18n
=no
;;
1220 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1221 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1222 --enable-setlocale) _setlocale
=yes ;;
1223 --disable-setlocale) _setlocale
=no
;;
1224 --enable-x11) _x11
=yes ;;
1225 --disable-x11) _x11
=no
;;
1226 --enable-xv) _xv
=yes ;;
1227 --disable-xv) _xv
=no
;;
1228 --enable-xvmc) _xvmc
=yes ;;
1229 --disable-xvmc) _xvmc
=no
;;
1230 --enable-sdl) _sdl
=yes ;;
1231 --disable-sdl) _sdl
=no
;;
1232 --enable-directx) _directx
=yes ;;
1233 --disable-directx) _directx
=no
;;
1234 --enable-win32waveout) _win32waveout
=yes ;;
1235 --disable-win32waveout) _win32waveout
=no
;;
1236 --enable-nas) _nas
=yes ;;
1237 --disable-nas) _nas
=no
;;
1238 --enable-png) _png
=yes ;;
1239 --disable-png) _png
=no
;;
1240 --enable-jpeg) _jpg
=yes ;;
1241 --disable-jpeg) _jpg
=no
;;
1242 --enable-gif) _gif
=yes ;;
1243 --disable-gif) _gif
=no
;;
1244 --enable-gl) _gl
=yes ;;
1245 --disable-gl) _gl
=no
;;
1246 --enable-ggi) _ggi
=yes ;;
1247 --disable-ggi) _ggi
=no
;;
1248 --enable-aa) _aa
=yes ;;
1249 --disable-aa) _aa
=no
;;
1250 --enable-svga) _svga
=yes ;;
1251 --disable-svga) _svga
=no
;;
1252 --enable-vesa) _vesa
=yes ;;
1253 --disable-vesa) _vesa
=no
;;
1254 --enable-fbdev) _fbdev
=yes ;;
1255 --disable-fbdev) _fbdev
=no
;;
1256 --enable-dvb) _dvb
=yes ;;
1257 --disable-dvb) _dvb
=no
;;
1258 --enable-dvbhead) _dvbhead
=yes ;;
1259 --disable-dvbhead) _dvbhead
=no
;;
1260 --enable-dxr2) _dxr2
=yes ;;
1261 --disable-dxr2) _dxr2
=no
;;
1262 --enable-dxr3) _dxr3
=yes ;;
1263 --disable-dxr3) _dxr3
=no
;;
1264 --enable-iconv) _iconv
=yes ;;
1265 --disable-iconv) _iconv
=no
;;
1266 --enable-rtc) _rtc
=yes ;;
1267 --disable-rtc) _rtc
=no
;;
1268 --enable-mp1e) _mp1e
=yes ;;
1269 --disable-mp1e) _mp1e
=no
;;
1270 --enable-libdv) _libdv
=yes ;;
1271 --disable-libdv) _libdv
=no
;;
1272 --enable-ossaudio) _ossaudio
=yes ;;
1273 --disable-ossaudio) _ossaudio
=no
;;
1274 --enable-arts) _arts
=yes ;;
1275 --disable-arts) _arts
=no
;;
1276 --enable-esd) _esd
=yes ;;
1277 --disable-esd) _esd
=no
;;
1278 --enable-mad) _mad
=yes ;;
1279 --disable-mad) _mad
=no
;;
1280 --enable-liblzo) _liblzo
=yes ;;
1281 --disable-liblzo) _liblzo
=no
;;
1282 --enable-vorbis) _vorbis
=yes ;;
1283 --disable-vorbis) _vorbis
=no
;;
1284 --enable-tremor) _tremor
=yes ;;
1285 --disable-tremor) _tremor
=no
;;
1286 --enable-theora) _theora
=yes ;;
1287 --disable-theora) _theora
=no
;;
1288 --enable-matroska) _matroska
=yes ;;
1289 --disable-matroska) _matroska
=no
;;
1290 --enable-internal-faad) _faad_internal
=yes _faad_external
=no
;;
1291 --disable-internal-faad) _faad_internal
=no
;;
1292 --enable-external-faad) _faad_external
=yes _faad_internal
=no
;;
1293 --disable-external-faad) _faad_external
=no
;;
1294 --enable-xmms) _xmms
=yes ;;
1295 --enable-flac) _flac
=yes ;;
1296 --disable-flac) _flac
=no
;;
1297 --enable-external-flac) _external_flac
=yes ;;
1298 --disable-external-flac) _external_flac
=no
;;
1299 --enable-css) _css
=yes ;;
1300 --disable-css) _css
=no
;;
1301 --enable-dvdread) _dvdread
=yes ;;
1302 --disable-dvdread) _dvdread
=no
;;
1303 --enable-mpdvdkit) _dvdkit
=yes ;;
1304 --disable-mpdvdkit) _dvdkit
=no
;;
1305 # dvdnav disabled, it does not work
1306 # --enable-dvdnav) _dvdnav=yes ;;
1307 # --disable-dvdnav) _dvdnav=no ;;
1308 --enable-xanim) _xanim
=yes ;;
1309 --disable-xanim) _xanim
=no
;;
1310 --enable-real) _real
=yes ;;
1311 --disable-real) _real
=no
;;
1312 --enable-live) _live
=yes ;;
1313 --disable-live) _live
=no
;;
1314 --enable-xinerama) _xinerama
=yes ;;
1315 --disable-xinerama) _xinerama
=no
;;
1316 --enable-mga) _mga
=yes ;;
1317 --disable-mga) _mga
=no
;;
1318 --enable-xmga) _xmga
=yes ;;
1319 --disable-xmga) _xmga
=no
;;
1320 --enable-vm) _vm
=yes ;;
1321 --disable-vm) _vm
=no
;;
1322 --enable-mlib) _mlib
=yes ;;
1323 --disable-mlib) _mlib
=no
;;
1324 --enable-sunaudio) _sunaudio
=yes ;;
1325 --disable-sunaudio) _sunaudio
=no
;;
1326 --enable-sgiaudio) _sgiaudio
=yes ;;
1327 --disable-sgiaudio) _sgiaudio
=no
;;
1328 --enable-alsa) _alsa
=yes ;;
1329 --disable-alsa) _alsa
=no
;;
1330 --enable-tv) _tv
=yes ;;
1331 --disable-tv) _tv
=no
;;
1332 --enable-edl) _edl
=yes ;;
1333 --disable-edl) _edl
=no
;;
1334 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1335 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1336 --enable-tv-v4l) _tv_v4l
=yes ;;
1337 --disable-tv-v4l) _tv_v4l
=no
;;
1338 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1339 --disable-tv-v4l2) _tv_v4l2
=no
;;
1340 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1341 --disable-fastmemcpy) _fastmemcpy
=no
;;
1342 --enable-network) _network
=yes ;;
1343 --disable-network) _network
=no
;;
1344 --enable-winsock2) _winsock2
=yes ;;
1345 --disable-winsock2) _winsock2
=no
;;
1346 --enable-smb) _smbsupport
=yes ;;
1347 --disable-smb) _smbsupport
=no
;;
1348 --enable-vidix) _vidix
=yes ;;
1349 --disable-vidix) _vidix
=no
;;
1350 --enable-joystick) _joystick
=yes ;;
1351 --disable-joystick) _joystick
=no
;;
1352 --enable-xvid) _xvid
=yes ;;
1353 --disable-xvid) _xvid
=no
;;
1354 --enable-divx4linux) _divx4linux
=yes ;;
1355 --disable-divx4linux) _divx4linux
=no
;;
1356 --enable-opendivx) _opendivx
=yes ;;
1357 --disable-opendivx) _opendivx
=no
;;
1358 --enable-libavcodec) _libavcodec
=yes ;;
1359 --disable-libavcodec) _libavcodec
=no
;;
1360 --enable-libfame) _fame
=yes ;;
1361 --disable-libfame) _fame
=no
;;
1362 --enable-lirc) _lirc
=yes ;;
1363 --disable-lirc) _lirc
=no
;;
1364 --enable-lircc) _lircc
=yes ;;
1365 --disable-lircc) _lircc
=no
;;
1366 --enable-gui) _gui
=yes ;;
1367 --disable-gui) _gui
=no
;;
1368 --enable-termcap) _termcap
=yes ;;
1369 --disable-termcap) _termcap
=no
;;
1370 --enable-termios) _termios
=yes ;;
1371 --disable-termios) _termios
=no
;;
1372 --enable-3dfx) _3dfx
=yes ;;
1373 --disable-3dfx) _3dfx
=no
;;
1374 --enable-tdfxfb) _tdfxfb
=yes ;;
1375 --disable-tdfxvid) _tdfxvid
=no
;;
1376 --enable-tdfxvid) _tdfxvid
=yes ;;
1377 --disable-tga) _tga
=no
;;
1378 --enable-tga) _tga
=yes ;;
1379 --disable-tdfxfb) _tdfxfb
=no
;;
1380 --enable-directfb) _directfb
=yes ;;
1381 --disable-directfb) _directfb
=no
;;
1382 --enable-zr) _zr
=yes ;;
1383 --disable-zr) _zr
=no
;;
1384 --enable-bl) _bl
=yes ;;
1385 --disable-bl) _bl
=no
;;
1386 --enable-mtrr) _mtrr
=yes ;;
1387 --disable-mtrr) _mtrr
=no
;;
1388 --enable-largefiles) _largefiles
=yes ;;
1389 --disable-largefiles) _largefiles
=no
;;
1390 --enable-shm) _shm
=yes ;;
1391 --disable-shm) _shm
=no
;;
1392 --enable-select) _select
=yes ;;
1393 --disable-select) _select
=no
;;
1394 --enable-linux-devfs) _linux_devfs
=yes ;;
1395 --disable-linux-devfs) _linux_devfs
=no
;;
1396 --enable-cdparanoia) _cdparanoia
=yes ;;
1397 --disable-cdparanoia) _cdparanoia
=no
;;
1398 --enable-big-endian) _big_endian
=yes ;;
1399 --disable-big-endian) _big_endian
=no
;;
1400 --enable-freetype) _freetype
=yes ;;
1401 --disable-freetype) _freetype
=no
;;
1402 --enable-unrarlib) _unrarlib
=yes ;;
1403 --disable-unrarlib) _unrarlib
=no
;;
1404 --enable-ftp) _ftp
=yes ;;
1405 --disable-ftp) _ftp
=no
;;
1407 --enable-fribidi) _fribidi
=yes ;;
1408 --disable-fribidi) _fribidi
=no
;;
1410 --enable-inet6) _inet6
=yes ;;
1411 --disable-inet6) _inet6
=no
;;
1413 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1414 --disable-gethostbyname2) _gethostbyname2
=no
;;
1416 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1417 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1418 --disable-dga) _dga
=no
;;
1420 --enable-shared-pp) _shared_pp
=yes ;;
1421 --disable-shared-pp) _shared_pp
=no
;;
1423 --enable-menu) _menu
=yes ;;
1424 --disable-menu) _menu
=no
;;
1426 --enable-qtx) _qtx
=yes ;;
1427 --disable-qtx) _qtx
=no
;;
1429 --enable-macosx) _macosx
=yes ;;
1430 --disable-macosx) _macosx
=no
;;
1432 --enable-sortsub) _sortsub
=yes ;;
1433 --disable-sortsub) _sortsub
=no
;;
1436 _language
=`echo $ac_option | cut -d '=' -f 2`
1438 # dvdnav disabled, it does not work
1439 # --with-libdvdnav=*)
1440 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1445 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1446 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1447 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1449 --with-win32libdir=*)
1450 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1453 --with-xanimlibdir=*)
1454 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1457 --with-reallibdir=*)
1458 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1461 --with-livelibdir=*)
1462 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
1466 _csslibdir
=`echo $ac_option | cut -d '=' -f 2`
1470 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1474 --with-xmmslibdir=*)
1475 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1478 --with-xmmsplugindir=*)
1479 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1492 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1494 --disable-sighandler)
1498 --enable-sse) _sse
=yes ;;
1499 --disable-sse) _sse
=no
;;
1500 --enable-sse2) _sse2
=yes ;;
1501 --disable-sse2) _sse2
=no
;;
1502 --enable-mmx2) _mmx2
=yes ;;
1503 --disable-mmx2) _mmx2
=no
;;
1504 --enable-3dnow) _3dnow
=yes ;;
1505 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
1506 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
1507 --disable-3dnowex) _3dnowex
=no
;;
1508 --enable-altivec) _altivec
=yes ;;
1509 --disable-altivec) _altivec
=no
;;
1510 --enable-mmx) _mmx
=yes ;;
1511 --disable-mmx) # 3Dnow! and MMX2 require MMX
1512 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
1514 --enable-win32) _win32
=yes ;;
1515 --disable-win32) _win32
=no _dshow
=no
;;
1516 --enable-dshow) _win32
=yes _dshow
=yes ;;
1517 --disable-dshow) _dshow
=no
;;
1520 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1523 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1525 --with-dxr2incdir=*)
1526 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1529 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
1532 _inc_dvb
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1534 --with-xvidlibdir=*)
1535 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1537 --with-xvidincdir=*)
1538 _inc_xvid
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1540 --with-sdl-config=*)
1541 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
1543 --with-freetype-config=*)
1544 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
1546 --with-fribidi-config=*)
1547 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
1549 --with-gtk-config=*)
1550 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
1552 --with-glib-config=*)
1553 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
1555 # dvdnav disabled, it does not work
1556 # --with-dvdnav-config=*)
1557 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1560 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1562 --with-cdparanoiaincdir=*)
1563 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1565 --with-cdparanoialibdir=*)
1566 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1568 --with-termcaplib=*)
1569 _ld_termcap
=-l`echo $ac_option | cut -d '=' -f 2`
1573 _prefix
=`echo $ac_option | cut -d '=' -f 2`
1576 _bindir
=`echo $ac_option | cut -d '=' -f 2`
1579 _datadir
=`echo $ac_option | cut -d '=' -f 2`
1582 _mandir
=`echo $ac_option | cut -d '=' -f 2`
1585 _confdir
=`echo $ac_option | cut -d '=' -f 2`
1588 _libdir
=`echo $ac_option | cut -d '=' -f 2`
1592 echo "Unknown parameter: $ac_option"
1599 # Atmos: moved this here, to be correct, if --prefix is specified
1600 test -z "$_bindir" && _bindir
="$_prefix/bin"
1601 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1602 test -z "$_mandir" && _mandir
="$_prefix/man"
1603 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1604 test -z "$_libdir" && _libdir
="$_prefix/lib"
1605 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
1608 # Checking assembler (_as) compatibility...
1609 # Added workaround for older as that reads from stdin by default - atmos
1610 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1611 echocheck
"assembler ($_as $as_version)"
1613 _pref_as_version
='2.9.1'
1615 if test "$_mmx" = yes ; then
1616 echo 'emms' >> $TMPS
1618 if test "$_3dnow" = yes ; then
1619 _pref_as_version
='2.10.1'
1620 echo 'femms' >> $TMPS
1622 if test "$_3dnowex" = yes ; then
1623 _pref_as_version
='2.10.1'
1624 echo 'pswapd %mm0, %mm0' >> $TMPS
1626 if test "$_mmx2" = yes ; then
1627 _pref_as_version
='2.10.1'
1628 echo 'movntq %mm0, (%eax)' >> $TMPS
1630 if test "$_sse" = yes ; then
1631 _pref_as_version
='2.10.1'
1632 echo 'xorps %xmm0, %xmm0' >> $TMPS
1634 #if test "$_sse2" = yes ; then
1635 # _pref_as_version='2.11'
1636 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1638 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
1640 if test "$as_verc_fail" != yes ; then
1644 echo "Upgrade binutils to ${_pref_as_version} ..."
1645 die
"obsolete binutils version"
1651 # check if altivec is supported by the compiler, and how to enable it
1653 _altivec_gcc_flags
=''
1655 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1656 echocheck
"GCC altivec support"
1664 FSF_flags
='-maltivec -mabi=altivec'
1665 Darwin_flags
='-faltivec'
1667 # check for Darwin-style flags first, since
1668 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1669 # accepts but ignores FSF-style flags...
1671 if test -z "$p"; then
1672 cc_check
$Darwin_flags && p
='Darwin'
1674 if test -z "$p"; then
1675 cc_check
$FSF_flags && p
='FSF'
1679 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
1680 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
1684 if test -z "$p"; then
1687 p
="$p-style ($_altivec_gcc_flags)"
1693 # check if <altivec.h> should be included
1695 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
1697 if test "$_altivec" = yes ; then
1698 echocheck
"altivec.h"
1700 #include <altivec.h>
1701 int main(void) { return 0; }
1704 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
1705 if test "$_have_altivec_h" = yes ; then
1706 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
1708 echores
"$_have_altivec_h"
1711 # disable runtime cpudetection if
1712 # - we cannot generate altivec code
1713 # - altivec is disabled by the user
1715 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
1716 _runtime_cpudetection
=no
1719 # show that we are optimizing for altivec (if enabled and supported)
1721 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
1722 _optimizing
="$_optimizing altivec"
1725 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1727 if test "$_altivec" = yes ; then
1728 _mcpu
="$_mcpu $_altivec_gcc_flags"
1731 # setup _def_altivec correctly
1733 if test "$_altivec" = yes ; then
1734 _def_altivec
='#define HAVE_ALTIVEC 1'
1736 _def_altivec
='#undef HAVE_ALTIVEC'
1740 _def_mmx
='#undef HAVE_MMX'
1741 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
1742 _def_mmx2
='#undef HAVE_MMX2'
1743 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
1744 _def_3dnow
='#undef HAVE_3DNOW'
1745 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
1746 _def_3dnowex
='#undef HAVE_3DNOWEX'
1747 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
1748 _def_sse
='#undef HAVE_SSE'
1749 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
1750 _def_sse2
='#undef HAVE_SSE2'
1751 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
1753 # Checking kernel version...
1754 if x86
&& linux
; then
1756 kernel_version
=`uname -r 2>&1`
1757 echocheck
"$system_name kernel version"
1758 case "$kernel_version" in
1759 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
1760 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
1761 _k_verc_problem
=yes;;
1763 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
1766 if test "$_k_verc_fail" ; then
1767 echores
"$kernel_version, fail"
1768 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
1769 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
1770 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
1771 echo "supports SSE, but you have been warned! If you are using a kernel older than"
1772 echo "2.2.x you must upgrade it to get SSE support!"
1773 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
1775 echores
"$kernel_version, ok"
1779 if test "$_vidix" = auto
; then
1781 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
1783 ppc
&& linux
&& _vidix
=yes
1784 alpha
&& linux
&& _vidix
=yes
1786 mingw32
&& _vidix
=no
1791 # On QNX we must link to libph - Gabucino
1793 _ld_arch
="$_ld_arch -lph"
1796 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
1798 if test "$_vidix" = yes ; then
1801 for _awk
in mawk gawk nawk
awk; do
1802 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
1807 test "$_awk_verc_fail" = yes && _awk
=no
1809 if test "$_awk_verc_fail" = yes; then
1810 echo "VIDIX needs awk, but no working implementation was found!"
1811 echo "Try the GNU version, which can be downloaded from:"
1812 echo "ftp://ftp.gnu.org/gnu/gawk/"
1813 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
1818 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1823 ######################
1824 # MAIN TESTS GO HERE #
1825 ######################
1828 echocheck
"extra headers"
1829 if test "$_inc_extra" ; then
1830 echores
"$_inc_extra"
1836 echocheck
"extra libs"
1837 if test "$_ld_extra" ; then
1838 echores
"$_ld_extra"
1844 # Checking for localization ...
1845 # CSAK EGY MARADHAT - A HEGYLAKO
1847 if test "$_i18n" != no
; then
1849 #include <libintl.h>
1850 int main(void) { gettext("test"); return 0; }
1854 if test "$_i18n" = auto
; then
1855 cc_check
&& _i18n
=yes
1857 for i18n_lib
in "" "-lintl"; do
1858 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
1862 if test "$_i18n" = yes ; then
1863 _def_i18n
='#define USE_I18N 1'
1865 _def_i18n
='#undef USE_I18N'
1867 if test -z "$_i18n_libs" ; then
1870 echores
"$_i18n (using $_i18n_libs)"
1874 # Checking for setlocale() ...
1875 # CSAK EGY MARADHAT - A HEGYLAKO
1876 # Nemnem. a TV Maci !
1877 echocheck
"setlocale()"
1878 if test "$_setlocale" = auto
; then
1881 int main(void) { setlocale( LC_ALL,"" ); return 0; }
1884 cc_check
&& _setlocale
=yes
1886 if test "$_setlocale" = yes ; then
1887 _def_setlocale
='#define USE_SETLOCALE 1'
1889 _def_setlocale
='#undef USE_SETLOCALE'
1891 echores
"$_setlocale"
1894 echocheck
"language"
1895 test -z "$_language" && _language
=$LINGUAS
1896 _language
=`echo $_language | sed 's/,/ /g'`
1897 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
1898 for i
in $_language ; do
1899 test "$i" = all
&& i
=en
1900 if test -f "help/help_mp-${i}.h" ; then
1904 echo -n "$i not found, "
1905 _language
=`echo $_language | sed "s/$i *//g"`
1908 test -z "$_language" && _language
=en
1909 for i
in $LANGUAGES ; do
1910 if test -f "DOCS/man/$i/mplayer.1" ; then
1911 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
1913 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
1916 echores
"using $_language (man pages: $LANGUAGES)"
1917 _mp_help
="help/help_mp-${_language}.h"
1918 test -f $_mp_help || die
"$_mp_help not found"
1920 echocheck
"enable sighandler"
1921 if test "$_sighandler" = yes ; then
1922 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
1924 _def_sighandler
='#undef ENABLE_SIGHANDLER'
1926 echores
"$_sighandler"
1928 echocheck
"runtime cpudetection"
1929 if test "$_runtime_cpudetection" = yes ; then
1930 _optimizing
="Runtime CPU-Detection enabled"
1931 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
1933 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
1935 echores
"$_runtime_cpudetection"
1938 echocheck
"restrict keyword"
1939 for restrict_keyword
in restrict __restrict __restrict__
; do
1940 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
1942 _def_restrict_keyword
=$restrict_keyword
1946 if [ -n "$_def_restrict_keyword" ]; then
1947 echores
"$_def_restrict_keyword"
1956 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
1959 cc_check
-lkstat && _kstat
=yes
1960 if test "$_kstat" = yes ; then
1961 _ld_arch
="-lkstat $_ld_arch"
1963 if test "$_kstat" = yes ; then
1964 _def_kstat
="#define HAVE_LIBKSTAT 1"
1966 _def_kstat
="#undef HAVE_LIBKSTAT"
1972 # required for nanosleep on some systems
1975 int main(void) { (void) nanosleep(0, 0); return 0; }
1978 cc_check
-lposix4 && _posix4
=yes
1979 if test "$_posix4" = yes ; then
1980 _ld_arch
="-lposix4 $_ld_arch"
1988 int main(void) { (void) lrintf(0.0); return 0; }
1991 cc_check
-lm && _lrintf
=yes
1992 if test "$_lrintf" = yes ; then
1993 _def_lrintf
="#define HAVE_LRINTF 1"
1995 _def_lrintf
="#undef HAVE_LRINTF"
2000 echocheck
"nanosleep"
2001 # also check for nanosleep
2004 int main(void) { (void) nanosleep(0, 0); return 0; }
2007 cc_check
$_ld_arch && _nanosleep
=yes
2008 if test "$_nanosleep" = yes ; then
2009 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2011 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2013 echores
"$_nanosleep"
2017 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2020 int main(void) { (void) gethostbyname(0); return 0; }
2022 cc_check
-lsocket && _ld_sock
="-lsocket"
2023 cc_check
-lnsl && _ld_sock
="-lnsl"
2024 cc_check
-lsocket -lnsl && _ld_sock
="-lsocket -lnsl"
2025 cc_check
-lsocket -ldnet && _ld_sock
="-lsocket -ldnet"
2026 if test $_winsock2 = auto
&& not cygwin
; then
2029 #include <winsock2.h>
2030 int main(void) { (void) gethostbyname(0); return 0; }
2032 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2034 if test "$_ld_sock" ; then
2035 echores
"yes (using $_ld_sock)"
2041 if test $_winsock2 = yes ; then
2043 _def_winsock2
='#define HAVE_WINSOCK2 1'
2045 _def_winsock2
='#undef HAVE_WINSOCK2'
2050 echocheck
"inet_pton()"
2052 #include <sys/types.h>
2053 #include <sys/socket.h>
2054 #include <arpa/inet.h>
2055 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2057 if test "$_winsock2" = yes ; then
2058 echores
"not needed (using winsock2 functions)"
2059 elif cc_check
$_ld_sock ; then
2060 # NOTE: Linux has libresolv but does not need it
2062 echores
"yes (using $_ld_sock)"
2063 elif cc_check
$_ld_sock -lresolv ; then
2064 # NOTE: needed for SunOS at least
2065 _ld_sock
="$_ld_sock -lresolv"
2066 echores
"yes (using $_ld_sock)"
2068 echores
"no (=> i'll try inet_aton next)"
2070 echocheck
"inet_aton()"
2072 #include <sys/types.h>
2073 #include <sys/socket.h>
2074 #include <arpa/inet.h>
2075 int main(void) { (void) inet_aton(0, 0); return 0; }
2078 if cc_check
$_ld_sock ; then
2079 # NOTE: Linux has libresolv but does not need it
2081 echores
"yes (using $_ld_sock)"
2082 elif cc_check
$_ld_sock -lresolv ; then
2083 # NOTE: needed for SunOS at least
2084 _ld_sock
="$_ld_sock -lresolv"
2085 echores
"yes (using $_ld_sock)"
2089 echores
"no (=> network support disabled)"
2093 _def_use_aton
='#undef USE_ATON'
2094 if test "$_use_aton" != no
; then
2095 _def_use_aton
='#define USE_ATON 1'
2099 echocheck
"inttypes.h (required)"
2101 #include <inttypes.h>
2102 int main(void) { return 0; }
2105 cc_check
&& _inttypes
=yes
2106 if test "$_inttypes" = yes ; then
2111 echocheck
"bitypes.h (inttypes.h predecessor)"
2113 #include <sys/bitypes.h>
2114 int main(void) { return 0; }
2117 cc_check
&& _inttypes
=yes
2118 if test "$_inttypes" = yes ; then
2119 die
"you don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h.link into the include path, rename it to inttypes.h and re-run configure."
2121 die
"cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/en/faq.html)"
2124 echores
"$_inttypes"
2127 echocheck
"int_fastXY_t in inttypes.h"
2129 #include <inttypes.h>
2131 volatile int_fast16_t v= 0;
2135 cc_check
&& _fast_inttypes
=yes
2136 if test "$_fast_inttypes" = yes ; then
2140 _def_fast_inttypes
='
2141 typedef signed char int_fast8_t;
2142 typedef signed int int_fast16_t;
2143 typedef signed int int_fast32_t;
2144 typedef unsigned char uint_fast8_t;
2145 typedef unsigned int uint_fast16_t;
2146 typedef unsigned int uint_fast32_t;'
2148 echores
"$_fast_inttypes"
2151 echocheck
"word size"
2152 _mp_wordsize
="#undef MP_WORDSIZE"
2155 #include <sys/types.h>
2156 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2158 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2159 echores
"$_wordsize"
2162 echocheck
"stddef.h"
2165 int main(void) { return 0; }
2168 cc_check
&& _stddef
=yes
2169 if test "$_stddef" = yes ; then
2170 _def_stddef
='#define HAVE_STDDEF_H 1'
2172 _def_stddef
='#undef HAVE_STDDEF_H'
2177 echocheck
"malloc.h"
2180 int main(void) { (void) malloc(0); return 0; }
2183 cc_check
&& _malloc
=yes
2184 if test "$_malloc" = yes ; then
2185 _def_malloc
='#define HAVE_MALLOC_H 1'
2187 _def_malloc
='#undef HAVE_MALLOC_H'
2189 # malloc.h emits a warning in FreeBSD and OpenBSD
2190 (freebsd || openbsd
) && _def_malloc
='#undef HAVE_MALLOC_H'
2194 echocheck
"memalign()"
2195 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2198 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2201 cc_check
&& _memalign
=yes
2202 if test "$_memalign" = yes ; then
2203 _def_memalign
='#define HAVE_MEMALIGN 1'
2205 _def_memalign
='#undef HAVE_MEMALIGN'
2207 echores
"$_memalign"
2210 echocheck
"alloca.h"
2213 int main(void) { (void) alloca(0); return 0; }
2216 cc_check
&& _alloca
=yes
2218 _def_alloca
='#define HAVE_ALLOCA_H 1'
2220 _def_alloca
='#undef HAVE_ALLOCA_H'
2227 #include <sys/types.h>
2228 #include <sys/mman.h>
2229 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2232 cc_check
&& _mman
=yes
2233 if test "$_mman" = yes ; then
2234 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2236 _def_mman
='#undef HAVE_SYS_MMAN_H'
2240 echocheck
"dynamic loader"
2243 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2248 elif cc_check
-ldl ; then
2252 if test "$_dl" = yes ; then
2253 _def_dl
='#define HAVE_LIBDL 1'
2255 _def_dl
='#undef HAVE_LIBDL'
2260 echocheck
"dynamic a/v plugins support"
2261 if test "$_dl" = no
; then
2264 if test "$_dynamic_plugins" = yes ; then
2265 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2267 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2269 echores
"$_dynamic_plugins"
2272 #echocheck "dynamic linking"
2273 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2274 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2276 #int main(void) { return 0; }
2278 #if cc_check -rdynamic ; then
2279 # _ld_dl_dynamic='-rdynamic'
2280 #elif cc_check -Bdynamic ; then
2281 # _ld_dl_dynamic='-Bdynamic'
2282 #elif cc_check ; then
2285 #echores "using $_ld_dl_dynamic"
2290 #include <pthread.h>
2291 void* func(void *arg) { return arg; }
2292 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2296 elif ( cc_check
&& $TMPO ) ; then # QNX
2298 elif ( cc_check
-lpthread && $TMPO ) ; then
2299 _ld_pthread
='-lpthread'
2300 elif ( cc_check
-pthread && $TMPO ) ; then
2301 _ld_pthread
='-pthread'
2303 if test "$_ld_static" ; then
2304 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2305 if ( cc_check
-lpthread ) ; then
2306 _ld_pthread
='-lpthread'
2307 elif ( cc_check
-pthread ) ; then
2308 _ld_pthread
='-pthread'
2310 echores
"no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2311 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2314 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2315 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2318 if test "$_ld_pthread" != '' ; then
2319 echores
"yes (using $_ld_pthread)"
2322 echocheck
"sys/soundcard.h"
2324 #include <sys/soundcard.h>
2325 int main(void) { return 0; }
2328 cc_check
&& _sys_soundcard
=yes
2329 if test "$_sys_soundcard" = yes ; then
2330 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2331 _inc_soundcard
='#include <sys/soundcard.h>'
2333 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2335 echores
"$_sys_soundcard"
2337 if test "$_sys_soundcard" != yes ; then
2338 echocheck
"soundcard.h"
2340 #include <soundcard.h>
2341 int main(void) { return 0; }
2344 cc_check
&& _soundcard
=yes
2345 if linux ||
test "$_ossaudio" != no
; then
2346 # use soundcard.h on Linux, or when OSS support is enabled
2347 echores
"$_soundcard"
2349 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2350 echores
"$_soundcard, but ignored!"
2353 if test "$_soundcard" = yes ; then
2354 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2355 _inc_soundcard
='#include <soundcard.h>'
2357 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2360 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2364 echocheck
"sys/dvdio.h"
2367 #include <sys/dvdio.h>
2368 int main(void) { return 0; }
2371 cc_check
&& _dvdio
=yes
2372 if test "$_dvdio" = yes ; then
2373 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2375 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2380 echocheck
"sys/cdio.h"
2383 #include <sys/cdio.h>
2384 int main(void) { return 0; }
2387 cc_check
&& _cdio
=yes
2388 if test "$_cdio" = yes ; then
2389 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2391 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2396 echocheck
"linux/cdrom.h"
2398 #include <sys/types.h>
2399 #include <linux/cdrom.h>
2400 int main(void) { return 0; }
2403 cc_check
&& _cdrom
=yes
2404 if test "$_cdrom" = yes ; then
2405 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2407 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2415 int main(void) { return 0; }
2418 cc_check
&& _dvd
=yes
2419 if test "$_dvd" = yes ; then
2420 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2422 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2427 echocheck
"BSDI dvd.h"
2430 int main(void) { return 0; }
2433 cc_check
&& _bsdi_dvd
=yes
2434 if test "$_bsdi_dvd" = yes ; then
2435 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2437 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2439 echores
"$_bsdi_dvd"
2442 echocheck
"HPUX SCSI header"
2444 #include <sys/scsi.h>
2445 int main(void) { return 0; }
2448 cc_check
&& _hpux_scsi_h
=yes
2449 if test "$_hpux_scsi_h" = yes ; then
2450 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2452 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2454 echores
"$_hpux_scsi_h"
2457 echocheck
"userspace SCSI headers (Solaris)"
2459 # include <unistd.h>
2460 # include <stropts.h>
2461 # include <sys/scsi/scsi_types.h>
2462 # include <sys/scsi/impl/uscsi.h>
2463 int main(void) { return 0; }
2466 cc_check
&& _sol_scsi_h
=yes
2467 if test "$_sol_scsi_h" = yes ; then
2468 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2470 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2472 echores
"$_sol_scsi_h"
2476 if test "$_termcap" = auto
; then
2478 int main(void) { return 0; }
2481 cc_check
-ltermcap && _termcap
=yes && _ld_termcap
='-ltermcap'
2482 cc_check
-ltinfo && _termcap
=yes && _ld_termcap
='-ltinfo'
2484 if test "$_termcap" = yes ; then
2485 _def_termcap
='#define USE_TERMCAP 1'
2486 echores
"yes (using $_ld_termcap)"
2488 _def_termcap
='#undef USE_TERMCAP'
2494 if test "$_termios" = auto
; then
2496 #include <sys/termios.h>
2497 int main(void) { return 0; }
2500 cc_check
&& _termios
=yes
2501 _def_termios_h_name
='sys/termios.h'
2504 if test "$_termios" = no
; then
2506 #include <termios.h>
2507 int main(void) { return 0; }
2510 cc_check
&& _termios
=yes
2511 _def_termios_h_name
='termios.h'
2514 if test "$_termios" = yes ; then
2515 _def_termios
='#define HAVE_TERMIOS 1'
2516 _def_termios_h
='#undef HAVE_TERMIOS_H'
2517 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
2519 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2520 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
2521 elif test "$_def_termios_h_name" = 'termios.h' ; then
2522 _def_termios_h
='#define HAVE_TERMIOS_H 1'
2524 echores
"yes (using $_def_termios_h_name)"
2526 _def_termios
='#undef HAVE_TERMIOS'
2527 _def_termios_h_name
=''
2533 if test "$_shm" = auto
; then
2535 #include <sys/types.h>
2536 #include <sys/shm.h>
2537 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2540 cc_check
&& _shm
=yes
2542 if test "$_shm" = yes ; then
2543 _def_shm
='#define HAVE_SHM 1'
2545 _def_shm
='#undef HAVE_SHM'
2550 # XXX: FIXME, add runtime checking
2551 echocheck
"linux devfs"
2552 echores
"$_linux_devfs"
2555 echocheck
"scandir()"
2557 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2560 cc_check
&& _scandir
=yes
2561 if test "$_scandir" = yes ; then
2562 _def_scandir
='#define HAVE_SCANDIR 1'
2564 _def_scandir
='#undef HAVE_SCANDIR'
2569 echocheck
"strsep()"
2572 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2575 cc_check
&& _strsep
=yes
2576 if test "$_strsep" = yes ; then
2577 _def_strsep
='#define HAVE_STRSEP 1'
2579 _def_strsep
='#undef HAVE_STRSEP'
2584 echocheck
"vsscanf()"
2587 int main(void) { vsscanf(0, 0, 0); return 0; }
2590 cc_check
&& _vsscanf
=yes
2591 if test "$_vsscanf" = yes ; then
2592 _def_vsscanf
='#define HAVE_VSSCANF 1'
2594 _def_vsscanf
='#undef HAVE_VSSCANF'
2599 echocheck
"posix select()"
2603 #include <sys/types.h>
2605 #include <sys/time.h>
2607 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
2610 cc_check
&& _posix_select
=yes
2611 if test "$_posix_select" = no
; then
2612 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
2614 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
2616 echores
"$_posix_select"
2619 echocheck
"gettimeofday()"
2622 #include <sys/time.h>
2623 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
2626 cc_check
&& _gettimeofday
=yes
2627 if test "$_gettimeofday" = yes ; then
2628 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
2630 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
2632 echores
"$_gettimeofday"
2639 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
2642 cc_check
&& _glob
=yes
2643 if test "$_glob" = yes ; then
2644 _def_glob
='#define HAVE_GLOB 1'
2646 _def_glob
='#undef HAVE_GLOB'
2651 echocheck
"sys/sysinfo.h"
2653 #include <sys/sysinfo.h>
2655 struct sysinfo s_info;
2661 cc_check
&& _sys_sysinfo
=yes
2662 if test "$_sys_sysinfo" = yes ; then
2663 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
2664 _inc_sysinfo
='#include <sys/sysinfo.h>'
2666 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
2668 echores
"$_sys_sysinfo"
2671 echocheck
"Mac OS X APIs"
2672 if test "$_macosx" = auto
; then
2673 if darwin
&& ppc
; then
2677 _def_macosx
='#undef MACOSX'
2678 _noaomodules
="macosx $_noaomodules"
2681 if test "$_macosx" = yes ; then
2683 #include <Carbon/Carbon.h>
2684 #include <QuickTime/QuickTime.h>
2685 #include <CoreAudio/CoreAudio.h>
2689 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
2692 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
2694 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio"
2695 _def_macosx
='#define MACOSX 1'
2696 _aosrc
="$_aosrc ao_macosx.c"
2697 _aomodules
="macosx $_aomodules"
2700 _def_macosx
='#undef MACOSX'
2701 _noaomodules
="macosx $_noaomodules"
2707 echocheck
"Samba support (libsmbclient)"
2708 if test "$_smbsupport" = yes; then
2709 _ld_smb
="-lsmbclient"
2711 if test "$_smbsupport" = auto
; then
2714 #include <libsmbclient.h>
2715 int main(void) { smbc_opendir("smb://"); return 0; }
2717 if cc_check
-lsmbclient ; then
2719 _ld_smb
="-lsmbclient"
2721 if cc_check
-lsmbclient $_ld_dl ; then
2723 _ld_smb
="-lsmbclient $_ld_dl"
2725 if cc_check
-lsmbclient $_ld_dl -lnsl ; then
2727 _ld_smb
="-lsmbclient $_ld_dl -lnsl"
2733 if test "$_smbsupport" = yes; then
2734 _def_smbsupport
="#define LIBSMBCLIENT"
2735 _inputmodules
="smb $_inputmodules"
2737 _def_smbsupport
="#undef LIBSMBCLIENT"
2738 _noinputmodules
="smb $_noinputmodules"
2740 echores
"$_smbsupport"
2749 if test "$_3dfx" = yes ; then
2750 _def_3dfx
='#define HAVE_3DFX 1'
2751 _vosrc
="$_vosrc vo_3dfx.c"
2752 _vomodules
="3dfx $_vomodules"
2754 _def_3dfx
='#undef HAVE_3DFX'
2755 _novomodules
="3dfx $_novomodules"
2761 if test "$_tdfxfb" = yes ; then
2762 _def_tdfxfb
='#define HAVE_TDFXFB 1'
2763 _vosrc
="$_vosrc vo_tdfxfb.c"
2764 _vomodules
="tdfxfb $_vomodules"
2766 _def_tdfxfb
='#undef HAVE_TDFXFB'
2767 _novomodules
="tdfxfb $_novomodules"
2772 if test "$_tdfxvid" = yes ; then
2773 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
2774 _vosrc
="$_vosrc vo_tdfx_vid.c"
2775 _vomodules
="tdfx_vid $_vomodules"
2777 _def_tdfxvid
='#undef HAVE_TDFX_VID'
2778 _novomodules
="tdfx_vid $_novomodules"
2783 if test "$_tga" = yes ; then
2784 _def_tga
='#define HAVE_TGA 1'
2785 _vosrc
="$_vosrc vo_tga.c"
2786 _vomodules
="tga $_vomodules"
2788 _def_tga
='#undef HAVE_TGA'
2789 _novomodules
="tga $_novomodules"
2793 echocheck
"DirectFB headers presence"
2794 if test -z "$_inc_directfb" ; then
2795 for I
in /usr
/include
/usr
/local
/include
; do
2796 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
2797 _inc_directfb
="-I$I/directfb"
2798 echores
"yes (using $_inc_directfb)"
2801 if test -d "$I" && test -f "$I/directfb.h" ; then
2802 _inc_directfb
="-I$I"
2803 echores
"yes (using $_inc_directfb)"
2807 if test -z "$_inc_directfb" ; then
2812 echores
"yes (using $_inc_directfb)"
2814 if test "$_inc_directfb" = "-I/usr/include" ; then
2818 echocheck
"DirectFB"
2819 if test "$_directfb" = auto
; then
2822 #include <directfb.h>
2823 int main(void) { IDirectFB *foo; return 0; }
2825 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
2828 if test "$_directfb" = yes; then
2830 #include <directfb.h>
2832 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
2836 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
2837 _directfb_version
=`"$TMPO"`
2838 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
2839 echores
"yes ($_directfb_version)"
2842 echores
"no (failed to get version)"
2845 echores
"$_directfb"
2848 if test "$_directfb" = yes ; then
2849 _def_directfb
='#define HAVE_DIRECTFB 1'
2850 if test "$_directfb_version" -ge 913; then
2851 _vosrc
="$_vosrc vo_directfb2.c"
2853 _vosrc
="$_vosrc vo_directfb.c"
2855 _vomodules
="directfb $_vomodules"
2856 _ld_directfb
='-ldirectfb'
2858 if test "$_directfb_version" -ge 915; then
2859 _vosrc
="$_vosrc vo_dfbmga.c"
2860 _vomodules
="dfbmga $_vomodules"
2863 _def_directfb
='#undef HAVE_DIRECTFB'
2864 _novomodules
="directfb $_novomodules"
2869 echocheck
"X11 headers presence"
2870 if test -z "$_inc_x11" ; then
2871 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
2872 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
2874 echores
"yes (using $I)"
2878 if test -z "$_inc_x11" ; then
2880 echores
"not found (check if the dev(el) packages are installed)"
2883 echores
"yes (using $_inc_x11)"
2885 if test "$_inc_x11" = "-I/usr/include" ; then
2890 echocheck
"X11 libs presence"
2891 if test -z "$_ld_x11" ; then
2892 for I
in /usr
/X11R
6/lib
/usr
/lib
/X11R6
/usr
/X11
/lib
/usr
/lib32
/usr
/openwin
/lib
/usr
/X11R
6/lib64
; do
2893 if test -d "$I" && ( test -f "$I/libX11.so" ||
test -f "$I/libX11.a" ) ; then
2895 echores
"yes (using $I)"
2899 if test -z "$_ld_x11" ; then
2901 echores
"not found (check if the dev(el) packages are installed)"
2904 echores
"yes (using $_ld_x11)"
2906 _ld_x11
="$_ld_x11 -lXext -lX11 $_ld_sock"
2910 if test "$_x11" != no
; then
2912 #include <X11/Xlib.h>
2913 #include <X11/Xutil.h>
2914 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
2917 cc_check
$_inc_x11 $_ld_x11 && _x11
=yes
2919 if test "$_x11" = yes ; then
2920 _def_x11
='#define HAVE_X11 1'
2921 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
2922 _vomodules
="x11 xover $_vomodules"
2924 _def_x11
='#undef HAVE_X11'
2927 _novomodules
="x11 $_novomodules"
2934 if test "$_x11" = yes ; then
2936 #include <X11/Xmd.h>
2937 #include <X11/Xlib.h>
2938 #include <X11/Xutil.h>
2939 #include <X11/Xatom.h>
2940 #include <X11/extensions/dpms.h>
2942 (void) DPMSQueryExtension(0, 0, 0);
2945 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
2948 if test "$_x11" = yes ; then
2950 #include <X11/Xlib.h>
2951 #include <X11/extensions/dpms.h>
2953 (void) DPMSQueryExtension(0, 0, 0);
2956 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
2958 if test "$_xdpms4" = yes ; then
2959 _def_xdpms
='#define HAVE_XDPMS 1'
2960 echores
"yes (using Xdpms 4)"
2961 elif test "$_xdpms3" = yes ; then
2962 _def_xdpms
='#define HAVE_XDPMS 1'
2963 _ld_x11
="-lXdpms $_ld_x11"
2964 echores
"yes (using Xdpms 3)"
2966 _def_xdpms
='#undef HAVE_XDPMS'
2972 if test "$_x11" = yes && test "$_xv" != no
; then
2974 #include <X11/Xlib.h>
2975 #include <X11/extensions/Xvlib.h>
2976 int main(void) { (void) XvGetPortAttribute(0, 0, 0, 0); return 0; }
2979 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
2983 if test "$_xv" = yes ; then
2984 _def_xv
='#define HAVE_XV 1'
2986 _vosrc
="$_vosrc vo_xv.c"
2987 _vomodules
="xv $_vomodules"
2989 _def_xv
='#undef HAVE_XV'
2990 _novomodules
="xv $_novomodules"
2996 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
2999 #include <X11/Xlib.h>
3000 #include <X11/extensions/Xvlib.h>
3001 #include <X11/extensions/XvMClib.h>
3003 (void) XvMCQueryExtension(0,0,0);
3004 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3007 cc_check
$_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc
=yes
3009 if test "$_xvmc" = yes ; then
3010 _def_xvmc
='#define HAVE_XVMC 1'
3011 _ld_xvmc
="-lXvMC -l$_xvmclib"
3012 _vosrc
="$_vosrc vo_xvmc.c"
3013 _vomodules
="xvmc $_vomodules"
3015 _def_xvmc
='#undef HAVE_XVMC'
3016 _novomodules
="xvmc $_novomodules"
3021 echocheck
"Xinerama"
3022 if test "$_x11" = yes && test "$_xinerama" != no
; then
3024 #include <X11/Xlib.h>
3025 #include <X11/extensions/Xinerama.h>
3026 int main(void) { (void) XineramaIsActive(0); return 0; }
3029 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3033 if test "$_xinerama" = yes ; then
3034 _def_xinerama
='#define HAVE_XINERAMA 1'
3035 _ld_xinerama
='-lXinerama'
3037 _def_xinerama
='#undef HAVE_XINERAMA'
3039 echores
"$_xinerama"
3042 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3043 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3044 # named 'X extensions' or something similar.
3045 # This check may be useful for future mplayer versions (to change resolution)
3046 # If you run into problems, remove '-lXxf86vm'.
3048 if test "$_x11" = yes && test "$_vm" != no
; then
3050 #include <X11/Xlib.h>
3051 #include <X11/extensions/xf86vmode.h>
3052 #include <X11/XF86keysym.h>
3053 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3056 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3060 if test "$_vm" = yes ; then
3061 _def_vm
='#define HAVE_XF86VM 1'
3064 _def_vm
='#undef HAVE_XF86VM'
3070 # Version 2 is preferred to version 1 if available
3071 if test "$_dga" = auto
; then
3073 #include <X11/Xlib.h>
3074 #include <X11/extensions/xf86dga.h>
3075 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3078 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3081 #include <X11/Xlib.h>
3082 #include <X11/extensions/xf86dga.h>
3083 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3085 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3088 _def_dga
='#undef HAVE_DGA'
3089 _def_dga2
='#undef HAVE_DGA2'
3090 if test "$_dga" = 1 ; then
3091 _def_dga
='#define HAVE_DGA 1'
3092 _ld_dga
='-lXxf86dga'
3093 _vosrc
="$_vosrc vo_dga.c"
3094 _vomodules
="dga $_vomodules"
3095 echores
"yes (using DGA 1.0)"
3096 elif test "$_dga" = 2 ; then
3097 _def_dga
='#define HAVE_DGA 1'
3098 _def_dga2
='#define HAVE_DGA2 1'
3099 _ld_dga
='-lXxf86dga'
3100 _vosrc
="$_vosrc vo_dga.c"
3101 _vomodules
="dga $_vomodules"
3102 echores
"yes (using DGA 2.0)"
3103 elif test "$_dga" = no
; then
3105 _novomodules
="dga $_novomodules"
3107 die
"DGA version must be 1 or 2"
3112 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3113 if (test "$_x11" = yes || mingw32 || cygwin
) && test "$_gl" != no
; then
3116 int main(void) { return 0; }
3119 if cc_check
$_inc_x11 $_ld_x11 -lGL -lm ; then
3122 elif cc_check
$_inc_x11 $_ld_x11 -lGL -lm $_ld_pthread ; then
3124 _ld_gl
="-lGL $_ld_pthread"
3125 elif cc_check
-lopengl32 ; then
3128 _ld_gl
="-lopengl32 -lgdi32"
3133 if test "$_gl" = yes ; then
3134 _def_gl
='#define HAVE_GL 1'
3135 if test "$_gl_win32" = yes ; then
3136 _def_gl_win32
='#define GL_WIN32 1'
3137 _vosrc
="$_vosrc vo_gl2.c w32_common.c"
3139 _vosrc
="$_vosrc vo_gl.c vo_gl2.c"
3141 _vomodules
="opengl $_vomodules"
3143 _def_gl
='#undef HAVE_GL'
3144 _def_gl_win32
='#undef GL_WIN32'
3145 _novomodules
="opengl $_novomodules"
3150 echocheck
"/dev/mga_vid"
3151 if test "$_mga" = auto
; then
3153 test -c /dev
/mga_vid
&& _mga
=yes
3155 if test "$_mga" = yes ; then
3156 _def_mga
='#define HAVE_MGA 1'
3157 _vosrc
="$_vosrc vo_mga.c"
3158 _vomodules
="mga $_vomodules"
3160 _def_mga
='#undef HAVE_MGA'
3161 _novomodules
="mga $_novomodules"
3166 # echocheck "syncfb"
3168 # test "$_mga" = yes && _syncfb=yes
3169 # if test "$_syncfb" = yes ; then
3170 # _def_syncfb='#define HAVE_SYNCFB 1'
3171 # _vosrc="$_vosrc vo_syncfb.c"
3173 # _def_syncfb='#undef HAVE_SYNCFB'
3175 # echores "$_syncfb"
3179 if test "$_xmga" = auto
; then
3181 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3183 if test "$_xmga" = yes ; then
3184 _def_xmga
='#define HAVE_XMGA 1'
3185 _vosrc
="$_vosrc vo_xmga.c"
3186 _vomodules
="xmga $_vomodules"
3188 _def_xmga
='#undef HAVE_XMGA'
3189 _novomodules
="xmga $_novomodules"
3195 if test "$_ggi" = auto
; then
3197 #include <ggi/ggi.h>
3198 int main(void) { return 0; }
3201 cc_check
-lggi && _ggi
=yes
3203 if test "$_ggi" = yes ; then
3204 _def_ggi
='#define HAVE_GGI 1'
3206 _vosrc
="$_vosrc vo_ggi.c"
3207 _vomodules
="ggi $_vomodules"
3209 _def_ggi
='#undef HAVE_GGI'
3210 _novomodules
="ggi $_novomodules"
3216 if test "$_aa" = auto
; then
3219 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3222 cc_check
-laa && _aa
=yes
3224 if test "$_aa" = yes ; then
3225 _def_aa
='#define HAVE_AA 1'
3227 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
3231 _vosrc
="$_vosrc vo_aa.c"
3232 _vomodules
="aa $_vomodules"
3234 _def_aa
='#undef HAVE_AA'
3235 _novomodules
="aa $_novomodules"
3241 if test "$_svga" = auto
; then
3245 int main(void) { return 0; }
3248 cc_check
-lvgagl -lvga -lm && _svga
=yes
3250 if test "$_svga" = yes ; then
3251 _def_svga
='#define HAVE_SVGALIB 1'
3252 _ld_svga
='-lvgagl -lvga -lm'
3253 _vosrc
="$_vosrc vo_svga.c"
3254 _vomodules
="svga $_vomodules"
3256 _def_svga
='#undef HAVE_SVGALIB'
3257 _novomodules
="svga $_novomodules"
3263 if test "$_fbdev" = auto
; then
3265 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
3267 if test "$_fbdev" = yes ; then
3268 _def_fbdev
='#define HAVE_FBDEV 1'
3269 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
3270 _vomodules
="fbdev $_vomodules"
3272 _def_fbdev
='#undef HAVE_FBDEV'
3273 _novomodules
="fbdev $_novomodules"
3280 if test "$_dvb" != no
; then
3283 #include <sys/poll.h>
3284 #include <sys/ioctl.h>
3289 #include <ost/dmx.h>
3290 #include <ost/frontend.h>
3291 #include <ost/sec.h>
3292 #include <ost/video.h>
3293 #include <ost/audio.h>
3294 int main(void) {return 0;}
3300 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3301 if cc_check
"$I" ; then
3304 echores
"yes (using $_inc_dvb)"
3308 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3313 if test "$_dvb" = yes ; then
3314 _def_dvb
='#define HAVE_DVB 1'
3315 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3316 _aomodules
="mpegpes(dvb) $_aomodules"
3317 _vomodules
="mpegpes(dvb) $_vomodules"
3319 if test "$_dvbhead" != no
; then
3320 echocheck
"DVB HEAD"
3321 if test "$_dvbhead" != no
; then
3325 #include <sys/poll.h>
3326 #include <sys/ioctl.h>
3331 #include <linux/dvb/dmx.h>
3332 #include <linux/dvb/frontend.h>
3333 #include <linux/dvb/video.h>
3334 #include <linux/dvb/audio.h>
3335 int main(void) {return 0;}
3341 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3342 if cc_check
"$I" ; then
3345 echores
"yes (using $_inc_dvb)"
3349 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3354 if test "$_dvbhead" = yes ; then
3355 _def_dvb
='#define HAVE_DVB_HEAD 1'
3356 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3357 _aomodules
="mpegpes(dvb) $_aomodules"
3358 _vomodules
="mpegpes(dvb) $_vomodules"
3361 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
3362 _def_dvb
='#undef HAVE_DVB'
3363 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
3364 _aomodules
="mpegpes(file) $_aomodules"
3365 _vomodules
="mpegpes(file) $_vomodules"
3368 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
3370 _inputmodules
="dvb $_inputmodules"
3375 echocheck
"PNG support"
3376 if test "$_png" = auto
; then
3379 # Don't check for -lpng on irix since it has its own libpng
3380 # incompatible with the GNU libpng
3381 echores
"disabled on irix (not GNU libpng)"
3387 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3388 printf("libpng: %s\n", png_libpng_ver);
3389 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3392 if cc_check
-lpng -lz -lm ; then
3393 if "$TMPO" >> "$TMPLOG" ; then
3397 echores
"no (mismatch of library and header versions)"
3406 if test "$_png" = yes ; then
3407 _def_png
='#define HAVE_PNG 1'
3409 _vosrc
="$_vosrc vo_png.c"
3410 _vomodules
="png $_vomodules"
3413 _def_png
='#undef HAVE_PNG'
3414 _novomodules
="png $_novomodules"
3418 echocheck
"JPEG support"
3419 if test "$_jpg" = auto
; then
3426 #include <jpeglib.h>
3431 if cc_check
-ljpeg -lm ; then
3432 if "$TMPO" >> "$TMPLOG" ; then
3439 if test "$_jpg" = yes ; then
3440 _def_jpg
='#define HAVE_JPEG 1'
3441 _vosrc
="$_vosrc vo_jpeg.c"
3442 _vomodules
="jpeg $_vomodules"
3446 _def_jpg
='#undef HAVE_JPEG'
3447 _novomodules
="jpeg $_novomodules"
3452 echocheck
"GIF support"
3453 if test "$_gif" = auto
; then
3456 #include <gif_lib.h>
3461 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
3464 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3466 _ld_gif
="-lungif $_ld_x11"
3467 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
3470 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3472 _ld_gif
="-lgif $_ld_x11"
3476 if test "$_gif" = yes ; then
3477 _def_gif
='#define HAVE_GIF 1'
3478 _vosrc
="$_vosrc vo_gif89a.c"
3479 _codecmodules
="gif $_codecmodules"
3480 _vomodules
="gif89a $_vomodules"
3482 _gif
="yes (old version, some encoding functions disabled)"
3483 _def_gif_4
='#undef HAVE_GIF_4'
3487 #include <gif_lib.h>
3488 void catch() { exit(1); }
3490 signal(SIGSEGV, catch); // catch segfault
3491 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
3492 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
3496 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3497 _def_gif_4
='#define HAVE_GIF_4 1'
3501 _def_gif
='#undef HAVE_GIF'
3502 _def_gif_4
='#undef HAVE_GIF_4'
3503 _novomodules
="gif89a $_novomodules"
3504 _nocodecmodules
="gif $_codecmodules"
3510 case "$_gif" in yes*)
3511 echocheck
"broken giflib workaround"
3512 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
3515 #include <gif_lib.h>
3518 printf("UserData is at address %p\n", gif.UserData);
3522 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3523 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
3532 echocheck
"VESA support"
3533 if test "$_vesa" = auto
; then
3534 if x86
&& linux
; then
3538 int main(void) { return 0; }
3540 cc_check
&& _vesa
=yes
3543 if test "$_vesa" = yes ; then
3544 _def_vesa
='#define HAVE_VESA 1'
3545 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
3546 _vomodules
="vesa $_vomodules"
3549 _def_vesa
='#undef HAVE_VESA'
3550 echores
"no (not supported on this OS/architecture)"
3551 _novomodules
="vesa $_novomodules"
3560 if test -z "$_sdlconfig" ; then
3561 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
3562 _sdlconfig
="sdl-config"
3563 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
3564 _sdlconfig
="sdl11-config"
3569 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
3572 int main(int argc, char *argv[]) { return 0; }
3575 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
3576 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
3577 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
3578 if test "$_sdlversion" -gt 116 ; then
3579 if test "$_sdlversion" -lt 121 ; then
3580 _def_sdlbuggy
='#define BUGGY_SDL'
3582 _def_sdlbuggy
='#undef BUGGY_SDL'
3591 if test "$_sdl" = yes ; then
3592 _def_sdl
='#define HAVE_SDL 1'
3594 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
3595 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
3597 _ld_sdl
=`$_sdlconfig --libs`
3598 _inc_sdl
=`$_sdlconfig --cflags`
3600 _vosrc
="$_vosrc vo_sdl.c"
3601 _vomodules
="sdl $_vomodules"
3602 _aosrc
="$_aosrc ao_sdl.c"
3603 _aomodules
="sdl $_aomodules"
3604 echores
"yes (using $_sdlconfig)"
3606 _def_sdl
='#undef HAVE_SDL'
3607 _novomodules
="sdl $_novomodules"
3608 _noaomodules
="sdl $_noaomodules"
3612 echocheck
"Windows waveout"
3613 if test "$_win32waveout" = auto
; then
3615 #include <windows.h>
3616 #include <mmsystem.h>
3617 int main(void) { return 0; }
3620 cc_check
-lwinmm && _win32waveout
=yes
3622 if test "$_win32waveout" = yes ; then
3623 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
3624 _ld_win32libs
="-lwinmm $_ld_win32libs"
3625 _aosrc
="$_aosrc ao_win32.c"
3626 _aomodules
="win32 $_aomodules"
3628 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
3629 _noaomodules
="win32 $_noaomodules"
3631 echores
"$_win32waveout"
3634 if test "$_directx" = auto
; then
3636 #include <windows.h>
3638 int main(void) { return 0; }
3641 cc_check
-lgdi32 && _directx
=yes
3643 if test "$_directx" = yes ; then
3644 _def_directx
='#define HAVE_DIRECTX 1'
3645 _ld_win32libs
="-lgdi32 $_ld_win32libs"
3646 _vosrc
="$_vosrc vo_directx.c"
3647 _vomodules
="directx $_vomodules"
3649 _def_directx
='#undef HAVE_DIRECTX'
3650 _novomodules
="directx $_novomodules"
3655 if test "$_nas" = auto ||
test "$_nas" = yes ; then
3657 #include <audio/audiolib.h>
3658 int main(void) { return 0; }
3661 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 -lm && _nas
=yes
3663 if test "$_nas" = yes ; then
3664 _def_nas
='#define HAVE_NAS 1'
3665 _ld_nas
="-laudio -lXt $_ld_x11"
3666 _aosrc
="$_aosrc ao_nas.c"
3667 _aomodules
="nas $_aomodules"
3669 _noaomodules
="nas $_noaomodules"
3670 _def_nas
='#undef HAVE_NAS'
3675 if test "$_dxr2" = auto
; then
3677 for _inc_dxr2
in "$_inc_dxr2" \
3678 "-I/usr/local/include/dxr2" \
3679 "-I/usr/include/dxr2"; do
3681 #include <dxr2ioctl.h>
3682 int main(void) { return 0; }
3684 cc_check
$_inc_dxr2 && _dxr2
=yes && break
3687 if test "$_dxr2" = yes; then
3688 _def_dxr2
='#define HAVE_DXR2 1'
3689 _vosrc
="$_vosrc vo_dxr2.c"
3690 _aosrc
="$_aosrc ao_dxr2.c"
3691 _aomodules
="dxr2 $_aomodules"
3692 _vomodules
="dxr2 $_vomodules"
3693 echores
"yes (using $_inc_dxr2)"
3695 _def_dxr2
='#undef HAVE_DXR2'
3696 _noaomodules
="dxr2 $_noaomodules"
3697 _novomodules
="dxr2 $_novomodules"
3703 if test "$_dxr3" = auto
; then
3705 #include <linux/em8300.h>
3706 int main(void) { return 0; }
3709 cc_check
&& _dxr3
=yes
3711 if test "$_dxr3" = yes ; then
3712 _def_dxr3
='#define HAVE_DXR3 1'
3713 _vosrc
="$_vosrc vo_dxr3.c"
3714 _vomodules
="dxr3 $_vomodules"
3716 _def_dxr3
='#undef HAVE_DXR3'
3717 _novomodules
="dxr3 $_novomodules"
3718 if test "$_mp1e" = auto
; then
3719 # we don't need mp1e
3726 if test "$_mmx" = no
; then
3727 # mp1e REQUIRES mmx!
3730 if test "$_mp1e" != no
; then
3732 _def_mp1e
='#define USE_MP1E'
3733 _ld_mp1e
='libmp1e/libmp1e.a'
3734 _dep_mp1e
='libmp1e/libmp1e.a'
3737 _def_mp1e
='#undef USE_MP1E'
3745 if test "$_fame" = auto
; then
3747 test "$_dxr2" = yes && _fame
=auto
3748 test "$_dxr3" = yes && _fame
=auto
3749 test "$_dvb" = yes && _fame
=auto
3751 if test "$_fame" = auto
; then
3753 if test -d libfame
&& test -f libfame
/fame.h
; then
3754 # disable fame on cygwin as no sense to port - atmos
3758 echores
"no (no fame dir)"
3764 _def_fame
='#undef USE_LIBFAME'
3765 if test "$_fame" = yes ; then
3766 _def_fame
='#define USE_LIBFAME 1'
3767 _ld_fame
='libfame/libfame.a'
3776 echocheck
"OSS Audio"
3777 if test "$_ossaudio" = auto
; then
3779 #include <sys/ioctl.h>
3781 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
3784 cc_check
&& _ossaudio
=yes
3786 if test "$_ossaudio" = yes ; then
3787 _def_ossaudio
='#define USE_OSS_AUDIO 1'
3788 _aosrc
="$_aosrc ao_oss.c"
3789 _aomodules
="oss $_aomodules"
3790 if test "$_linux_devfs" = yes; then
3791 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
3792 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
3795 #include <sys/ioctl.h>
3797 #ifdef OPEN_SOUND_SYSTEM
3798 int main(void) { return 0; }
3800 #error Not the real thing
3804 cc_check
&& _real_ossaudio
=yes
3805 if test "$_real_ossaudio" = yes; then
3806 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3807 elif netbsd || openbsd
; then
3808 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
3809 _ld_arch
="$_ld_arch -lossaudio"
3811 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3813 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
3816 _def_ossaudio
='#undef USE_OSS_AUDIO'
3817 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
3818 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
3819 _noaomodules
="oss $_noaomodules"
3821 echores
"$_ossaudio"
3825 if test "$_arts" = auto
; then
3827 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
3831 int main(void) { return 0; }
3833 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
3838 if test "$_arts" = yes ; then
3839 _def_arts
='#define USE_ARTS 1'
3840 _aosrc
="$_aosrc ao_arts.c"
3841 _aomodules
="arts $_aomodules"
3842 _ld_arts
=`artsc-config --libs`
3843 _inc_arts
=`artsc-config --cflags`
3845 _noaomodules
="arts $_noaomodules"
3851 if test "$_esd" = auto
; then
3853 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
3857 int main(void) { return 0; }
3859 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
3865 if test "$_esd" = yes ; then
3866 _def_esd
='#define USE_ESD 1'
3867 _aosrc
="$_aosrc ao_esd.c"
3868 _aomodules
="esd $_aomodules"
3869 _ld_esd
=`esd-config --libs`
3870 _inc_esd
=`esd-config --cflags`
3872 echocheck
"esd_get_latency()"
3875 int main(void) { return esd_get_latency(0); }
3877 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
3878 echores
"$_esd_latency"
3880 _def_esd
='#undef USE_ESD'
3881 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
3882 _noaomodules
="esd $_noaomodules"
3885 echocheck
"ALSA audio"
3886 if test "$_alsa" != no
; then
3889 #include <sys/asoundlib.h>
3890 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
3892 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
3895 #include <sys/asoundlib.h>
3896 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3898 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-sys'
3900 #include <alsa/asoundlib.h>
3901 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3903 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
3905 _def_alsa5
='#undef HAVE_ALSA5'
3906 _def_alsa9
='#undef HAVE_ALSA9'
3907 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
3908 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
3909 if test "$_alsaver" ; then
3910 if test "$_alsaver" = '0.5.x' ; then
3911 _aosrc
="$_aosrc ao_alsa5.c"
3912 _aomodules
="alsa5 $_aomodules"
3913 _def_alsa5
='#define HAVE_ALSA5 1'
3914 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3915 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
3916 elif test "$_alsaver" = '0.9.x-sys' ; then
3917 _aosrc
="$_aosrc ao_alsa9.c"
3918 _aomodules
="alsa9 $_aomodules"
3919 _def_alsa9
='#define HAVE_ALSA9 1'
3920 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3921 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
3922 elif test "$_alsaver" = '0.9.x-alsa' ; then
3923 _aosrc
="$_aosrc ao_alsa9.c"
3924 _aomodules
="alsa9 $_aomodules"
3925 _def_alsa9
='#define HAVE_ALSA9 1'
3926 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
3927 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
3929 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
3931 _noaomodules
="alsa $_noaomodules"
3936 echocheck
"Sun audio"
3937 if test "$_sunaudio" = auto
; then
3939 #include <sys/types.h>
3940 #include <sys/audioio.h>
3941 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
3944 cc_check
&& _sunaudio
=yes
3946 if test "$_sunaudio" = yes ; then
3947 _def_sunaudio
='#define USE_SUN_AUDIO 1'
3948 _aosrc
="$_aosrc ao_sun.c"
3949 _aomodules
="sun $_aomodules"
3951 _def_sunaudio
='#undef USE_SUN_AUDIO'
3952 _noaomodules
="sun $_noaomodules"
3954 echores
"$_sunaudio"
3957 echocheck
"Sun mediaLib"
3958 if test "$_mlib" = auto
; then
3960 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
3963 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
3965 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
3967 if test "$_mlib" = yes ; then
3968 _def_mlib
='#define HAVE_MLIB 1'
3969 _inc_mlib
=" -I${_mlibdir}/include "
3970 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
3972 _def_mlib
='#undef HAVE_MLIB'
3977 echocheck
"SGI audio"
3978 if test "$_sgiaudio" = auto
; then
3979 # check for SGI audio
3981 #include <dmedia/audio.h>
3982 int main(void) { return 0; }
3985 cc_check
&& _sgiaudio
=yes
3987 if test "$_sgiaudio" = "yes" ; then
3988 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
3989 _ld_sgiaudio
='-laudio'
3990 _aosrc
="$_aosrc ao_sgi.c"
3991 _aomodules
="sgi $_aomodules"
3993 _def_sgiaudio
='#undef USE_SGI_AUDIO'
3994 _noaomodules
="sgi $_noaomodules"
3996 echores
"$_sgiaudio"
3999 echocheck
"VCD support"
4000 if linux || bsdos || freebsd || netbsd || sunos
; then
4001 _inputmodules
="vcd $_inputmodules"
4002 _def_vcd
='#define HAVE_VCD 1'
4005 _def_vcd
='#undef HAVE_VCD'
4006 _noinputmodules
="vcd $_noinputmodules"
4007 echores
"not supported on this OS"
4010 echocheck
"DVD support (libmpdvdkit)"
4011 if test "$_dvdkit" = auto
; then
4013 if linux || freebsd || netbsd || darwin || cygwin || mingw32 || openbsd || sunos || hpux
; then
4014 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
4015 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
4018 if test "$_dvdkit" = yes ; then
4019 if test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes ||
test "$_hpux_scsi_h" = yes || darwin || cygwin || mingw32
; then
4020 if test -f "./libmpdvdkit2/Makefile" ; then
4021 _inputmodules
="mpdvdkit2 $_inputmodules"
4022 _dvdread
=libmpdvdkit2
4026 _inputmodules
="mpdvdkit $_inputmodules"
4027 _dvdread
=libmpdvdkit
4030 _noinputmodules
="mpdvdkit $_noinputmodules"
4032 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
4033 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
4034 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
4035 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
4036 if linux || netbsd || openbsd || bsdos
; then
4037 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
4039 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
4043 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
4046 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
4051 _noinputmodules
="mpdvdkit $_noinputmodules"
4053 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
4059 echocheck
"DVD support (libcss - old style)"
4060 if test "$_css" = auto
; then
4062 #include <sys/types.h>
4064 int main(void) { (void) CSSisEncrypted(0); return 0; }
4067 cc_check
-lcss $_ld_dl && _css
=yes
4069 if test "$_css" = yes ; then
4070 _def_css
='#define HAVE_LIBCSS 1'
4071 test "$_csslibdir" && _ld_css
="-L${_csslibdir} $_ld_css"
4072 _inputmodules
="dvdcss $_inputmodules"
4076 _def_css
='#undef HAVE_LIBCSS'
4077 _noinputmodules
="dvdcss $_noinputmodules"
4081 echocheck
"DVD support (libdvdread - new style)"
4082 if test "$_dvdread" = auto
; then
4084 #include <inttypes.h>
4085 #include <dvdread/dvd_reader.h>
4086 #include <dvdread/ifo_types.h>
4087 #include <dvdread/ifo_read.h>
4088 #include <dvdread/nav_read.h>
4089 int main(void) { return 0; }
4092 if test "$_dl" = yes; then
4094 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4098 _def_mpdvdkit
="#undef USE_MPDVDKIT"
4102 _def_dvdread
='#define USE_DVDREAD 1'
4104 _inputmodules
="dvdread $_inputmodules"
4108 _def_dvdread
='#undef USE_DVDREAD'
4109 _noinputmodules
="dvdread $_noinputmodules"
4114 _def_dvdread
='#define USE_DVDREAD 1'
4115 _ld_css
='-Llibmpdvdkit -lmpdvdkit'
4116 _noinputmodules
="dvdread $_noinputmodules"
4117 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
4118 echores
"disabled by libmpdvdkit"
4122 _def_dvdread
='#define USE_DVDREAD 1'
4123 _ld_css
='-Llibmpdvdkit2 -lmpdvdkit'
4124 _noinputmodules
="dvdread $_noinputmodules"
4125 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
4126 echores
"disabled by libmpdvdkit2"
4130 # dvdnav disabled, it does not work
4131 # echocheck "DVD support (libdvdnav)"
4132 # if test "$_dvdnav" = yes ; then
4134 # #include <dvdnav.h>
4135 # int main(void) { dvdnav_t *dvd=0; return 0; }
4138 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4139 # if test -z "$_dvdnavconfig" ; then
4140 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4141 # _dvdnavconfig="dvdnav-config"
4144 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4146 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4147 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4149 # if test "$_dvdnav" = yes ; then
4151 # _def_dvdnav='#define USE_DVDNAV 1'
4152 # if test -n "$_legal_dvdnavdir" ; then
4153 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4154 # elif test -n "$_dvdnavconfig" ; then
4155 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4157 # _ld_css="$_ld_css -ldvdnav"
4159 # if test -n "$_dvdnavconfig" ; then
4160 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4161 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4163 # if test -n "$_dvdnavdir" ; then
4164 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4166 # _inputmodules="dvdnav $_inputmodules"
4169 # _def_dvdnav='#undef USE_DVDNAV'
4170 # _noinputmodules="dvdnav $_noinputmodules"
4174 echocheck
"cdparanoia"
4175 if test "$_cdparanoia" = auto
; then
4177 #include <cdda_interface.h>
4178 #include <cdda_paranoia.h>
4179 // This need a better test. How ?
4180 int main(void) { return 1; }
4183 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4186 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
4187 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4188 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
4193 if test "$_cdparanoia" = yes ; then
4194 _def_cdparanoia
='#define HAVE_CDDA'
4195 _inputmodules
="cdda $_inputmodules"
4196 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4197 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
4199 _def_cdparanoia
='#undef HAVE_CDDA'
4200 _noinputmodules
="cdda $_noinputmodules"
4202 echores
"$_cdparanoia"
4204 echocheck
"freetype >= 2.0.9"
4205 if test "$_freetype" = auto
; then
4206 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
4209 #include <freetype/freetype.h>
4210 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4211 #error "Need FreeType 2.0.9 or newer"
4216 FT_Int major=-1,minor=-1,patch=-1;
4217 int err=FT_Init_FreeType(&library);
4219 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4222 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4223 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4224 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4225 (int)major,(int)minor,(int)patch );
4226 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4227 printf("Library and header version mismatch! Fix it in your distribution!\n");
4234 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
4239 if test "$_freetype" = yes ; then
4240 _def_freetype
='#define HAVE_FREETYPE'
4241 _inc_freetype
=`$_freetypeconfig --cflags`
4242 _ld_freetype
=`$_freetypeconfig --libs`
4244 _def_freetype
='#undef HAVE_FREETYPE'
4246 echores
"$_freetype"
4249 echocheck
"fribidi with charsets"
4250 if test "$_fribidi" = yes ; then
4251 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
4254 #include <fribidi/fribidi.h>
4257 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4258 printf("Fribidi headers are not consistents with the library!\n");
4265 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
4270 if test "$_fribidi" = yes ; then
4271 _def_fribidi
='#define USE_FRIBIDI'
4272 _inc_fribidi
=`$_fribidiconfig --cflags`
4273 _ld_fribidi
=`$_fribidiconfig --libs`
4275 _def_fribidi
='#undef USE_FRIBIDI'
4283 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4286 cc_check
-lz && _zlib
=yes
4287 if test "$_zlib" = yes ; then
4288 _def_zlib
='#define HAVE_ZLIB 1'
4291 _def_zlib
='#undef HAVE_ZLIB'
4298 if test "$_rtc" = auto
; then
4300 #include <sys/ioctl.h>
4301 #include <linux/rtc.h>
4302 int main(void) { return RTC_IRQP_READ; }
4305 cc_check
&& _rtc
=yes
4310 echores
"no (Linux specific feature)"
4312 if test "$_rtc" = yes ; then
4313 _def_rtc
='#define HAVE_RTC 1'
4315 _def_rtc
='#undef HAVE_RTC'
4319 echocheck
"external liblzo support"
4320 if test "$_liblzo" = auto
; then
4324 int main(void) { lzo_init();return 0; }
4326 cc_check
-llzo && _liblzo
=yes
4328 if test "$_liblzo" = yes ; then
4329 _def_liblzo
='#define USE_LIBLZO 1'
4331 _codecmodules
="liblzo $_codecmodules"
4333 _def_liblzo
='#undef USE_LIBLZO'
4334 _nocodecmodules
="liblzo $_nocodecmodules"
4339 echocheck
"mad support"
4340 if test "$_mad" = auto
; then
4344 int main(void) { return 0; }
4346 cc_check
$_madlibdir -lmad && _mad
=yes
4348 if test "$_mad" = yes ; then
4349 _def_mad
='#define USE_LIBMAD 1'
4351 _codecmodules
="libmad $_codecmodules"
4353 _def_mad
='#undef USE_LIBMAD'
4354 _nocodecmodules
="libmad $_nocodecmodules"
4359 echocheck
"OggVorbis support"
4360 if test "$_vorbis" = auto
; then
4363 #include <vorbis/codec.h>
4364 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
4366 cc_check
-lvorbis -logg -lm && _vorbis
=yes
4368 if test "$_vorbis" = yes ; then
4369 _def_vorbis
='#define HAVE_OGGVORBIS 1'
4370 if test "$_tremor" = yes ; then
4371 _def_tremor
='#define TREMOR 1'
4372 _ld_vorbis
='-lvorbisidec'
4374 _def_tremor
='#undef TREMOR'
4375 _ld_vorbis
='-lvorbis -logg'
4377 _codecmodules
="libvorbis $_codecmodules"
4379 _def_vorbis
='#undef HAVE_OGGVORBIS'
4380 _def_tremor
='#undef TREMOR'
4381 _nocodecmodules
="libvorbis $_nocodecmodules"
4383 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
4384 echores
"$_vorbis (Tremor)"
4389 echocheck
"OggTheora support (only the CVS version!)"
4390 if test "$_theora" = auto
; then
4393 #include <theora/theora.h>
4397 /* theora is in flux, make sure that all interface routines and
4398 * datatypes exist and work the way we expect it, so we don't break
4408 theora_info_init (&inf);
4409 theora_comment_init (&tc);
4413 /* we don't want to execute this kind of nonsense; just for making sure
4414 * that compilation works... */
4415 memset(&op, 0, sizeof(op));
4416 r = theora_decode_header (&inf, &tc, &op);
4417 r = theora_decode_init (&st, &inf);
4418 t = theora_granule_time (&st, op.granulepos);
4419 r = theora_decode_packetin (&st, &op);
4420 r = theora_decode_YUVout (&st, &yuv);
4426 cc_check
-ltheora -logg -lm && _theora
=yes
4428 if test "$_theora" = yes ; then
4429 _def_theora
='#define HAVE_OGGTHEORA 1'
4430 _codecmodules
="libtheora $_codecmodules"
4431 _ld_theora
="-ltheora -logg"
4433 _def_theora
='#undef HAVE_OGGTHEORA'
4434 _nocodecmodules
="libtheora $_nocodecmodules"
4439 echocheck
"Matroska support (0.6.0 or later)"
4440 if test "$_matroska" != no
; then
4445 #include <ebml/EbmlVersion.h>
4446 #include <matroska/KaxVersion.h>
4448 #if LIBEBML_VERSION < 000600
4449 #error libebml is too old
4452 #if LIBMATROSKA_VERSION < 000600
4453 #error libmatroska is too old
4456 int main(void) { return 0; }
4458 cc_check
-lmatroska -lebml -lstdc++ && _matroska
=yes
4459 if test "$_matroska" = no
; then
4460 _saved_inc_extra
=$_inc_extra
4461 _inc_extra
="$_inc_extra -I/usr/local/include"
4462 cc_check
-lmatroska -lebml -lstdc++ && _matroska
=yes
4463 if test "$_matroska" = no
; then
4464 _inc_extra
=$_saved_inc_extra
4467 rm ${TMPC} > /dev
/null
2> /dev
/null
4470 if test "$_matroska" = yes ; then
4471 _def_matroska
='#define HAVE_MATROSKA 1'
4472 _inputmodules
="matroska $_inputmodules"
4473 _ld_matroska
="-lmatroska -lebml -lstdc++"
4475 _def_matroska
='#undef HAVE_MATROSKA'
4476 _noinputmodules
="matroska $_noinputmodules"
4478 echores
"$_matroska"
4482 echocheck
"internal FAAD2 (AAC) support"
4483 _inc_faad
="-I`pwd`/libfaad2"
4484 if test "$_faad_internal" = auto
; then
4485 # the faad check needs a config.h file
4486 if not
test -f "config.h" ; then
4489 # internal faad: check if our dear gcc is able to compile it...
4490 cp "`pwd`/libfaad2/cfft.c" $TMPC
4491 if ( cc_check
-c -O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
4494 _faad_internal
="no (broken gcc)"
4497 if test "$_faad_internal" = yes ; then
4498 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
4501 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
4504 echores
"$_faad_internal"
4507 echocheck
"external FAAD2 (AAC) support"
4508 if test "$_faad_external" != no
; then
4510 _inc_faad
="$_inc_extra"
4511 # external faad: check if it's really faad2 :)
4512 if test "$_faad_external" = auto
; then
4516 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
4518 cc_check
$_inc_faad $_ld_faad -lm && _faad_external
=yes
4520 echores
"$_faad_external"
4525 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
4526 echocheck
"FAAD2 version"
4529 #ifndef FAAD_MIN_STREAMSIZE
4530 #error Too old version
4533 #ifdef FAAD2_VERSION
4534 printf("%s\n",FAAD2_VERSION);
4541 if cc_check
-I- $_inc_faad $_ld_faad -lm && "$TMPO" >> "$TMPLOG" ; then
4542 _faad_version
=`"$TMPO"`
4543 _faad_tempversion
=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
4544 _def_faad_version
="#define FAADVERSION $_faad_tempversion"
4545 echores
"$_faad_version"
4549 echores
"failed to get version"
4553 if test "$_faad_external" = yes; then
4554 _def_faad
='#define HAVE_FAAD 1'
4555 _codecmodules
="faad2(external) $_codecmodules"
4556 elif test "$_faad_internal" = yes; then
4557 _def_faad
='#define HAVE_FAAD 1'
4558 _codecmodules
="faad2(internal) $_codecmodules"
4560 _def_faad
='#undef HAVE_FAAD'
4561 _nocodecmodules
="faad2 $_nocodecmodules"
4567 if test "$_win32" = auto
; then
4571 _win32
=no
# x86 arch only
4575 if test "$_win32" != no
; then
4576 if test -z "$_win32libdir" ; then
4577 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/win32
/usr
/lib
/win32
; do
4578 if test -d "$I" ; then
4586 echocheck
"Win32 codec DLL support"
4587 if test "$_win32" = auto
; then
4589 test -n "$_win32libdir" && _win32
=yes
4591 if test "$_win32" = yes ; then
4592 _def_win32
='#define USE_WIN32DLL 1'
4593 echores
"yes (using $_win32libdir)"
4595 _def_win32
='#undef USE_WIN32DLL'
4596 _nocodecmodules
="win32 $_nocodecmodules"
4601 if test "$_win32" != no
; then
4602 _def_win32_loader
='#undef WIN32_LOADER'
4603 echocheck
"Win32 loader support"
4604 if not cygwin
&& not mingw32
; then
4605 _ld_win32
='loader/libloader.a'
4606 _dep_win32
='loader/libloader.a'
4607 _codecmodules
="win32 $_codecmodules"
4609 x86
&& _ld_win32
="$_ld_win32 -li386"
4611 _def_win32_loader
='#define WIN32_LOADER 1'
4614 _ld_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4615 _dep_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4616 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
4617 _codecmodules
="win32 $_codecmodules"
4618 echores
"no (using native windows)"
4622 echocheck
"DirectShow"
4625 if test "$_dshow" != no
; then
4627 # check if compiler supports C++ and C++-libs are installed correctly
4628 cat > "$TMPCPP" << EOF
4632 public: int myreturn(void);
4634 int myclass::myreturn(void) { ret = 0; return ret ; }
4635 int main(void) { myclass myobject; return myobject.myreturn(); }
4637 echo "------------------------------------------------" >> "$TMPLOG"
4638 cat "$TMPCPP" >> "$TMPLOG"
4639 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
4641 echores
"yes (C++ is ok)"
4646 Your C++ runtime environment is broken.
4648 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
4649 Are the C++ libraries correctly installed?
4650 Check for libstdc++ and in (/etc/)ld.so.conf.
4652 If you do not need DirectShow support, you can also use:
4653 ./configure --disable-dshow <your-normal-configure-options>
4654 to disable building the C++ based DirectShow code.
4657 die
"$_cc's C++ is broken"
4665 if test "$_dshow" = yes ; then
4666 _def_dshow
='#define USE_DIRECTSHOW 1'
4667 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4668 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4669 _codecmodules
="dshow/dmo $_codecmodules"
4671 _def_dshow
='#undef USE_DIRECTSHOW'
4672 _nocodecmodules
="dshow/dmo $_nocodecmodules"
4676 echocheck
"XAnim DLL"
4677 if test "$_xanim" = auto
; then
4679 if test "$_dl" = yes ; then
4680 if test -z "$_xanimlibdir" ; then
4681 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
4682 if test -d "$I" ; then
4688 test "$_xanimlibdir" && _xanim
=yes
4689 if test "$_xanim" = yes ; then
4690 echores
"yes (using $_xanimlibdir)"
4692 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4695 echores
"no (dynamic loader support needed)"
4698 echores
"$_xanim (using $_xanimlibdir)"
4700 if test "$_xanim" = yes ; then
4701 _def_xanim
='#define USE_XANIM 1'
4702 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
4703 _codecmodules
="xanim $_codecmodules"
4705 _def_xanim
='#undef USE_XANIM'
4706 _def_xanim_path
='#undef XACODEC_PATH'
4707 _nocodecmodules
="xanim $_nocodecmodules"
4710 echocheck
"RealPlayer DLL"
4711 if test "$_real" = auto
; then
4713 if test "$_dl" = yes ||
test "$_win32" = yes ; then
4714 # if test "$_dl" = yes ; then
4715 if linux || freebsd || netbsd || cygwin || mingw32
; then
4718 echores
"no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW)"
4720 if test "$_real" = yes ; then
4721 if test -z "$_reallibdir" ; then
4722 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
4723 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
4724 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
4726 if test -d "$I" ; then
4732 test "$_reallibdir" || _real
=no
4733 if test "$_real" = yes ; then
4734 echores
"yes (using $_reallibdir)"
4736 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4740 echores
"no (dynamic loader support needed)"
4743 echores
"$_real (using $_reallibdir)"
4745 if test "$_real" = yes ; then
4746 _def_real
='#define USE_REALCODECS 1'
4747 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
4748 _codecmodules
="real $_codecmodules"
4750 _def_real
='#undef USE_REALCODECS'
4751 _def_real_path
="#undef REALCODEC_PATH"
4752 _nocodecmodules
="real $_nocodecmodules"
4756 if test -z "$_livelibdir" ; then
4757 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
4758 if test -d "$I" ; then
4765 echocheck
"LIVE.COM Streaming Media libraries"
4766 if test "$_live" = auto
&& test "$_network" = yes ; then
4768 test "$_livelibdir" || _live
=no
4769 # TODO: deeper, more reliable test of libs, and version!
4770 # (users may have empty live/ dir or something different there, for
4771 # example 'live config files', or they may have old, incompatibel version)
4773 if test "$_live" = yes && test "$_network" = yes ; then
4774 echores
"yes (using $_livelibdir)"
4775 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
4776 _live_libs_def
="# LIVE.COM Streaming Media libraries:
4777 LIVE_LIB_DIR = $_livelibdir
4778 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
4779 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
4780 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
4781 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
4782 LIVE_LIBS += -lstdc++"
4783 _ld_live
='$(LIVE_LIBS)'
4784 _inputmodules
="live.com $_inputmodules"
4787 _def_live
='#undef STREAMING_LIVE_DOT_COM'
4788 _noinputmodules
="live.com $_noinputmodules"
4793 if test "$_iconv" = auto
; then
4794 _iconv_tmp
='#include <iconv.h>'
4800 #define INBUFSIZE 1024
4801 #define OUTBUFSIZE 4096
4803 char inbuffer[INBUFSIZE];
4804 char outbuffer[OUTBUFSIZE];
4809 char *tocode="UTF-8";
4810 char *fromcode="cp1250";
4811 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
4812 while ((numread = read (0, inbuffer, INBUFSIZE))) {
4813 char *iptr=inbuffer;
4814 char *optr=outbuffer;
4815 size_t inleft=numread;
4816 size_t outleft=OUTBUFSIZE;
4817 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
4819 write (1, outbuffer, OUTBUFSIZE - outleft);
4822 if (iconv_close(icdsc) == -1)
4828 if cc_check
-lm -liconv ; then
4832 cc_check
-lm && _iconv
=yes
4835 if test "$_iconv" = yes ; then
4836 _def_iconv
='#define USE_ICONV 1'
4838 _def_iconv
='#undef USE_ICONV'
4843 echocheck
"FFmpeg libavcodec (static)"
4844 if test "$_libavcodec" = auto
; then
4845 # Note: static linking is preferred to dynamic linking
4847 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
4848 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
4852 echores
"no (old ffmpeg version, use CVS !)"
4855 echores
"no (see DOCS/HTML/en/codecs.html)"
4858 echores
"$_libavcodec"
4861 _def_haveffpostprocess
='no'
4862 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
4863 _def_haveffpostprocess
='yes'
4866 if test "$_libavcodec" != yes ; then
4867 echocheck
"FFmpeg libavcodec (dynamic)"
4868 if test "$_libavcodecso" = auto
; then
4870 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
4872 #define FF_POSTPROCESS 1
4873 #include <ffmpeg/avcodec.h>
4875 avcodec_find_encoder_by_name("");
4879 if cc_check
-lavcodec -lm ; then
4881 echores
"yes (using libavcodec.so)"
4883 echores
"no (libavcodec.so is broken/obsolete)"
4886 echores
"$_libavcodecso"
4890 _def_libavcodec
='#undef USE_LIBAVCODEC'
4891 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
4892 _def_ffpostprocess
='#undef FF_POSTPROCESS'
4893 if test "$_libavcodec" = yes ; then
4894 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4895 _ld_libavcodec
='libavcodec/libavcodec.a'
4896 _dep_libavcodec
='libavcodec/libavcodec.a'
4897 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
4898 _codecmodules
="libavcodec $_codecmodules"
4899 elif test "$_libavcodecso" = yes ; then
4900 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4901 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
4902 _ld_libavcodec
='-lavcodec'
4903 _codecmodules
="libavcodec.so $_codecmodules"
4905 _nocodecmodules
="libavcodec $_nocodecmodules"
4908 echocheck
"libdv-0.9.5+"
4909 if test "$_libdv" = auto
; then
4912 #include <libdv/dv.h>
4913 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
4915 cc_check
-ldv -lm && _libdv
=yes
4917 if test "$_libdv" = yes ; then
4918 _def_libdv
='#define HAVE_LIBDV095 1'
4920 _codecmodules
="libdv $_codecmodules"
4922 _def_libdv
='#undef HAVE_LIBDV095'
4923 _nocodecmodules
="libdv $_nocodecmodules"
4928 if test "$_zr" = auto
; then
4929 #36067's seem to identify themselves as 36057PQC's, so the line
4930 #below should work for 36067's and 36057's.
4931 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
4937 if test "$_zr" = yes ; then
4938 if test "$_libavcodec" = yes ; then
4939 _def_zr
='#define HAVE_ZR 1'
4940 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
4941 _vomodules
="zr zr2 $_vomodules"
4944 echores
"libavcodec (static) is required by zr, sorry"
4945 _novomodules
="zr $_novomodules"
4946 _def_zr
='#undef HAVE_ZR'
4949 _def_zr
='#undef HAVE_ZR'
4950 _novomodules
="zr zr2 $_novomodules"
4955 if test "$_bl" = yes ; then
4956 _def_bl
='#define HAVE_BL 1'
4957 _vosrc
="$_vosrc vo_bl.c"
4958 _vomodules
="bl $_vomodules"
4960 _def_bl
='#undef HAVE_BL'
4961 _novomodules
="bl $_novomodules"
4968 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
4970 _ld_xvid
="$_ld_xvid -lxvidcore -lm"
4971 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
4973 _def_xvid3
='#define HAVE_XVID3 1'
4974 _def_xvid4
='#undef HAVE_XVID4'
4975 _codecmodules
="xvid $_codecmodules"
4979 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
4981 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
4983 _def_xvid3
='#undef HAVE_XVID3'
4984 _def_xvid4
='#define HAVE_XVID4 1'
4985 _codecmodules
="xvid $_codecmodules"
4989 _def_xvid3
='#undef HAVE_XVID3'
4990 _def_xvid4
='#undef HAVE_XVID4'
4991 _nocodecmodules
="xvid $_nocodecmodules"
4997 _def_decore_xvid
='#undef DECORE_XVID'
4998 _def_encore_xvid
='#undef ENCORE_XVID'
4999 if test "$_xvid" = yes ; then
5000 echocheck
"DivX4 compatibility in XviD"
5003 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5005 cc_check
-lm "$_ld_xvid" && _xvidcompat
=yes
5006 echores
"$_xvidcompat"
5010 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
5011 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5014 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5016 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5018 _ld_decore
='-ldivxdecore'
5019 _def_decore
='#define NEW_DECORE 1'
5020 _def_divx
='#define USE_DIVX'
5021 _def_divx5
='#undef DECORE_DIVX5'
5022 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5023 _codecmodules
="divx4linux $_codecmodules"
5024 echores
"DivX4linux (with libdivxdecore.so)"
5026 # if test "$_divx4linux" != no ; then
5028 # OdivxPP disabled because of:
5029 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5032 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5034 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5036 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5037 _ld_decore
='-ldivxdecore'
5038 _def_decore
='#define NEW_DECORE 1'
5039 _def_divx
='#define USE_DIVX'
5040 _def_divx5
='#define DECORE_DIVX5 1'
5041 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5042 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5043 _codecmodules
="divx5linux $_codecmodules"
5044 _nocodecmodules
="divx4linux $_nocodecmodules"
5045 echores
"DivX5linux (with libdivxdecore.so)"
5046 elif test "$_opendivx" != no
; then
5048 _ld_decore
='opendivx/libdecore.a'
5049 _def_decore
='#undef NEW_DECORE'
5050 _def_divx
='#define USE_DIVX'
5051 _def_divx5
='#undef DECORE_DIVX5'
5052 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
5053 _codecmodules
="opendivx $_codecmodules"
5054 _nocodecmodules
="divx5linux $_nocodecmodules"
5056 elif test "$_xvidcompat" = yes ; then
5059 _def_decore
='#define NEW_DECORE 1'
5060 _def_divx
='#define USE_DIVX 1'
5061 _def_divx5
='#undef DECORE_DIVX5'
5062 _def_decore_xvid
='#define DECORE_XVID 1'
5063 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5064 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
5065 echores
"XviD compat."
5069 _def_decore
='#undef NEW_DECORE'
5070 _def_divx
='#undef USE_DIVX'
5071 _def_divx5
='#undef DECORE_DIVX5'
5072 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5073 _nocodecmodules
="opendivx $_nocodecmodules"
5079 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5080 if test "$_mencoder" != no
; then
5082 echocheck
"libmp3lame (for mencoder)"
5085 #include <lame/lame.h>
5086 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; }
5088 # Note: libmp3lame usually depends on vorbis
5089 cc_check
-lmp3lame $_ld_vorbis -lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
5090 if test "$_mp3lame" = yes ; then
5091 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
5092 _def_cfg_mp3lame
="#define CONFIG_MP3LAME `$TMPO`"
5093 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
5095 _def_mp3lame
='#undef HAVE_MP3LAME'
5096 _def_cfg_mp3lame
='#undef CONFIG_MP3LAME'
5101 echocheck
"DivX4linux encore (for mencoder)"
5103 #include <encore2.h>
5104 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5106 if test "$_divx4linux" != no
&& cc_check
-ldivxencore -lm ; then
5107 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5108 _ld_encore
='-ldivxencore'
5109 echores
"DivX4linux (with libdivxencore.so)"
5110 elif test "$_xvidcompat" = yes ; then
5111 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5113 _def_encore_xvid
='#define ENCORE_XVID 1'
5114 echores
"XviD compat."
5116 _def_encore
='#undef HAVE_DIVX4ENCORE'
5122 echocheck
"mencoder"
5123 _mencoder_flag
='#undef HAVE_MENCODER'
5124 if test "$_mencoder" = yes ; then
5125 _mencoder_flag
='#define HAVE_MENCODER'
5127 echores
"$_mencoder"
5129 echocheck
"fastmemcpy"
5130 # fastmemcpy check is done earlier with tests of CPU & binutils features
5131 if test "$_fastmemcpy" = yes ; then
5132 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
5134 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
5136 echores
"$_fastmemcpy"
5138 echocheck
"UniquE RAR File Library"
5139 if test "$_unrarlib" = yes ; then
5140 _def_unrarlib
='#define USE_UNRARLIB 1'
5142 _def_unrarlib
='#undef USE_UNRARLIB'
5144 echores
"$_unrarlib"
5146 echocheck
"TV interface"
5147 if test "$_tv" = yes ; then
5148 _def_tv
='#define USE_TV 1'
5149 _inputmodules
="tv $_inputmodules"
5151 _noinputmodules
="tv $_noinputmodules"
5152 _def_tv
='#undef USE_TV'
5156 echocheck
"EDL support"
5157 if test "$_edl" = yes ; then
5158 _def_edl
='#define USE_EDL'
5159 _inputmodules
="edl $_inputmodules"
5161 _noinputmodules
="edl $_noinputmodules"
5162 _def_edl
='#undef USE_EDL'
5166 echocheck
"*BSD BrookTree 848 TV interface"
5167 if test "$_tv_bsdbt848" = auto
; then
5169 if test "$_tv" = yes ; then
5171 #include <sys/types.h>
5172 #if defined(__NetBSD__)
5173 #include <dev/ic/bt8xx.h>
5175 #include <machine/ioctl_bt848.h>
5177 int main(void) { return 0; }
5179 cc_check
&& _tv_bsdbt848
=yes
5182 if test "$_tv_bsdbt848" = yes ; then
5183 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
5184 _inputmodules
="tv-bsdbt848 $_inputmodules"
5186 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
5187 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
5189 echores
"$_tv_bsdbt848"
5191 echocheck
"Video 4 Linux TV interface"
5192 if test "$_tv_v4l" = auto
; then
5194 if test "$_tv" = yes && linux
; then
5195 for I
in /dev
/video
/dev
/video?
; do
5196 if test -c $I ; then
5199 #include <linux/videodev.h>
5200 int main(void) { return 0; }
5202 cc_check
&& _tv_v4l
=yes
5208 if test "$_tv_v4l" = yes ; then
5209 _def_tv_v4l
='#define HAVE_TV_V4L 1'
5210 _inputmodules
="tv-v4l $_inputmodules"
5212 _noinputmodules
="tv-v4l $_noinputmodules"
5213 _def_tv_v4l
='#undef HAVE_TV_V4L'
5218 echocheck
"Video 4 Linux 2 TV interface"
5219 if test "$_tv_v4l2" = auto
; then
5221 if test "$_tv" = yes && linux
; then
5222 for I
in /dev
/video
/dev
/video?
; do
5223 if test -c $I ; then
5230 if test "$_tv_v4l2" = yes ; then
5231 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
5232 _inputmodules
="tv-v4l2 $_inputmodules"
5234 _noinputmodules
="tv-v4l2 $_noinputmodules"
5235 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
5240 echocheck
"audio select()"
5241 if test "$_select" = no
; then
5242 _def_select
='#undef HAVE_AUDIO_SELECT'
5243 elif test "$_select" = yes ; then
5244 _def_select
='#define HAVE_AUDIO_SELECT 1'
5250 # FIXME network check
5251 if test "$_network" != no
; then
5252 _def_network
='#define MPLAYER_NETWORK 1'
5253 _ld_network
="$_ld_sock"
5254 _inputmodules
="network $_inputmodules"
5256 _noinputmodules
="network $_noinputmodules"
5257 _def_network
='#undef MPLAYER_NETWORK'
5262 if test "$_ftp" != no
; then
5263 _def_ftp
='#define HAVE_FTP 1'
5264 _inputmodules
="ftp $_inputmodules"
5266 _noinputmodules
="ftp $_noinputmodules"
5267 _def_ftp
='#undef HAVE_FTP'
5272 echocheck
"byte order"
5273 if test "$_big_endian" = auto
; then
5275 #include <inttypes.h>
5277 volatile uint32_t i=0x01234567;
5278 return (*((uint8_t*)(&i))) == 0x67;
5288 echo -n "failed to autodetect byte order, defaulting to "
5291 if test "$_big_endian" = yes ; then
5292 _byte_order
='Big Endian'
5293 _def_words_endian
='#define WORDS_BIGENDIAN 1'
5295 _byte_order
='Little Endian'
5296 _def_words_endian
='#undef WORDS_BIGENDIAN'
5298 echores
"$_byte_order"
5300 echocheck
"shared postprocess lib"
5301 echores
"$_shared_pp"
5303 echocheck
"OSD menu"
5304 if test "$_menu" = yes ; then
5305 _def_menu
='#define HAVE_MENU 1'
5307 _def_menu
='#undef HAVE_MENU'
5311 # Check to see if they want QTX codecs enabled
5312 echocheck
"QTX codecs"
5313 if test "$_qtx" = auto
; then
5316 if test "$_qtx" = yes ; then
5317 _def_qtx
='#define USE_QTX_CODECS 1'
5318 _codecmodules
="qtx $_codecmodules"
5320 _def_qtx
='#undef USE_QTX_CODECS'
5321 _nocodecmodules
="qtx $_nocodecmodules"
5326 echocheck
"Subtitles sorting"
5327 if test "$_sortsub" = yes ; then
5328 _def_sortsub
='#define USE_SORTSUB 1'
5330 _def_sortsub
='#undef USE_SORTSUB'
5335 echocheck
"XMMS inputplugin support"
5336 if test "$_xmms" = yes ; then
5338 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
5339 if test -z "$_xmmsplugindir" ; then
5340 _xmmsplugindir
=`xmms-config --input-plugin-dir`
5342 if test -z "$_xmmslibdir" ; then
5343 _xmmslibdir
=`xmms-config --exec-prefix`/lib
5346 if test -z "$_xmmsplugindir" ; then
5347 _xmmsplugindir
=/usr
/lib
/xmms
/Input
5349 if test -z "$_xmmslibdir" ; then
5350 _xmmslibdir
=/usr
/lib
5354 _def_xmms
='#define HAVE_XMMS 1'
5356 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
5358 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
5361 _def_xmms
='#undef HAVE_XMMS'
5365 echocheck
"FLAC support"
5366 if ! test "$_flac" = "no" ; then
5367 if ! test -f libmpflac
/dither.c
; then
5369 echores
"no (necessary files missing)"
5372 if ! test -f libmpflac
/stream_decoder.c
; then
5375 if test "$_external_flac" = "yes" ; then
5377 #include <FLAC/stream_decoder.h>
5382 FLAC__StreamDecoder *fdec = FLAC__stream_decoder_new();
5383 return fdec != NULL;
5387 if cc_check
-lFLAC -lm ; then
5395 if test "$_flac" = external
; then
5396 _def_flac
='#define HAVE_FLAC 1'
5397 #Still use dither.c & replay_gain from libmpflac
5398 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5400 _ld_flac
='-lFLAC -lm -Llibmpflac -lmpflac'
5401 _codecmodules
="flac(external) $_codecmodules"
5402 echores
"yes (using external libFLAC)"
5404 if test "$_flac" = yes ; then
5405 _def_flac
='#define HAVE_FLAC 1'
5406 #use decoder, dither.c & replay_gain from libmpflac
5407 _def_mpflac
='#define USE_MPFLAC_DECODER 1'
5409 _ld_flac
='-Llibmpflac -lmpflac'
5410 _codecmodules
="flac(internal) $_codecmodules"
5411 echores
"yes (using internal libmpflac)"
5413 _def_flac
='#undef HAVE_FLAC'
5414 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5417 _nocodecmodules
="flac $_nocodecmodules"
5423 if test "$_inet6" = auto
; then
5425 #include <sys/types.h>
5426 #include <sys/socket.h>
5427 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
5434 if test "$_inet6" = yes ; then
5435 _def_inet6
='#define HAVE_AF_INET6 1'
5437 _def_inet6
='#undef HAVE_AF_INET6'
5442 echocheck
"gethostbyname2"
5443 if test "$_gethostbyname2" = auto
; then
5445 #include <sys/types.h>
5446 #include <sys/socket.h>
5448 int main(void) { gethostbyname2("", AF_INET); }
5456 if test "$_gethostbyname2" = yes ; then
5457 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
5459 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
5461 echores
"$_gethostbyname2"
5463 # --------------- GUI specific tests begin -------------------
5466 if test "$_gui" = yes ; then
5468 # Required libraries
5469 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
5470 test "$_x11" != yes && die
"X11 support required for GUI compilation"
5472 echocheck
"XShape extension"
5474 if test "$_x11" = yes ; then
5476 #include <X11/Xlib.h>
5477 #include <X11/Xproto.h>
5478 #include <X11/Xutil.h>
5479 #include <X11/extensions/shape.h>
5482 char *name = ":0.0";
5485 int eventbase, errorbase;
5486 if (getenv("DISPLAY"))
5487 name=getenv("DISPLAY");
5488 wsDisplay=XOpenDisplay(name);
5489 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
5491 XCloseDisplay(wsDisplay);
5495 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
5497 if test "$_xshape" = yes ; then
5498 _def_xshape
='#define HAVE_XSHAPE 1'
5500 die
"the GUI requires the X11 extension XShape (which was not found)"
5506 echocheck
"gtk version"
5507 if test -z "$_gtkconfig" ; then
5508 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
5509 _gtkconfig
="gtk-config"
5510 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
5511 _gtkconfig
="gtk12-config"
5513 die
"the GUI requires GTK (which was not found)"
5516 _gtk
=`$_gtkconfig --version 2>&1`
5517 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
5518 _ld_gtk
=`$_gtkconfig --libs 2>&1`
5519 echores
"$_gtk (using $_gtkconfig)"
5522 echocheck
"glib version"
5523 if test -z "$_glibconfig" ; then
5524 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
5525 _glibconfig
="glib-config"
5526 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
5527 _glibconfig
="glib12-config"
5529 die
"the GUI requires GLIB (which was not found)"
5532 _glib
=`$_glibconfig --version 2>&1`
5533 _inc_glib
=`$_glibconfig --cflags 2>&1`
5534 _ld_glib
=`$_glibconfig --libs 2>&1`
5535 echores
"$_glib (using $_glibconfig)"
5537 _def_gui
='#define HAVE_NEW_GUI 1'
5538 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
5540 echo "Creating Gui/config.mak"
5541 cat > Gui
/config.mak
<< EOF
5542 # -------- Generated by configure -----------
5546 GLIBINC = $_inc_glib
5547 GLIBLIBS = $_ld_glib
5552 _def_gui
='#undef HAVE_NEW_GUI'
5554 # --------------- GUI specific tests end -------------------
5558 #############################################################################
5560 # Checking for CFLAGS
5562 if test "$_profile" != "" ||
test "$_debug" != "" ; then
5563 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
5564 if test "$_cc_major" -ge "3" ; then
5565 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
5568 elif test -z "$CFLAGS" ; then
5569 if test "$host_arch" != "mips" ; then
5570 CFLAGS
="-O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer"
5572 CFLAGS
="-O4 $_march $_mcpu -ffast-math -fomit-frame-pointer"
5574 # always compile with '-g' if .developer:
5575 if test -f ".developer" ; then
5582 MPlayer compilation will use the CFLAGS set by you, but:
5584 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
5586 It is strongly recommended to let MPlayer choose the correct CFLAGS!
5587 To do so, execute 'CFLAGS= ./configure <options>'
5592 # use gnu style cpp on Darwin
5593 CFLAGS
="$CFLAGS -no-cpp-precomp -DSYS_DARWIN -Wl,-bind_at_load"
5594 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
5595 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
5598 # use flag for HPUX missing setenv()
5599 CFLAGS
="$CFLAGS -DHPUX"
5603 CFLAGS
="$CFLAGS -D_REENTRANT"
5605 # FIXME bsd needs this so maybe other OS'es
5606 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
5608 # 64 bit file offsets?
5609 if test "$_largefiles" = yes || freebsd
; then
5610 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
5611 if test "$_dvdread" = yes ; then
5612 # dvdread support requires this (for off64_t)
5613 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
5617 echocheck
"ftello()"
5618 # if we don't have ftello map it to ftell
5621 int main (void) { ftello(stdin); return 0; }
5624 cc_check
&& _ftello
=yes
5625 if test "$_ftello" = yes ; then
5626 _def_ftello
='#define HAVE_FTELLO 1'
5628 _def_ftello
='#undef HAVE_FTELLO'
5632 # Determine OS dependent libs
5634 _confcygwin
='TARGET_CYGWIN = yes'
5635 _def_confwin32
='#define WIN32'
5636 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
5637 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
5638 CFLAGS
="$CFLAGS -D__CYGWIN__"
5640 _confcygwin
="TARGET_CYGWIN = no"
5644 _confmingw32
='TARGET_MINGW32 = yes'
5646 _confmingw32
='TARGET_MINGW32 = no'
5649 # Dynamic linking flags
5650 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
5652 bsd
&& _ld_dl_dynamic
='-rdynamic'
5653 test "$_xanim" = yes && _ld_dl_dynamic
='-rdynamic'
5654 test "$_real" = yes && _ld_dl_dynamic
='-rdynamic'
5656 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
5657 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
5659 x86
&& _ld_arch
="$_ld_arch -li386"
5662 _def_debug
='#undef MP_DEBUG'
5663 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
5665 _def_linux
='#undef TARGET_LINUX'
5666 linux
&& _def_linux
='#define TARGET_LINUX 1'
5668 # TODO cleanup the VIDIX stuff here
5669 _def_vidix
='#define CONFIG_VIDIX 1'
5670 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
5671 if test "$_vidix" = yes; then
5672 _vosrc
="$_vosrc vo_cvidix.c"
5673 _vomodules
="cvidix $_vomodules"
5675 _novomodules
="cvidix $_novomodules"
5677 if test "$_vidix" = yes && (cygwin || mingw32
); then
5678 _vosrc
="$_vosrc vo_winvidix.c"
5679 _vomodules
="winvidix $_vomodules"
5681 _novomodules
="winvidix $_novomodules"
5683 if test "$_vidix" = yes && test "$_x11" = yes; then
5684 _vosrc
="$_vosrc vo_xvidix.c"
5685 _vomodules
="xvidix $_vomodules"
5687 _novomodules
="xvidix $_novomodules"
5689 echo Checking
for VIDIX ...
"$_vidix"
5691 _def_joystick
='#undef HAVE_JOYSTICK'
5692 if test "$_joystick" = yes ; then
5694 # TODO add some check
5695 _def_joystick
='#define HAVE_JOYSTICK 1'
5697 _joystick
="no (unsupported under $system_name)"
5700 echo Checking
for joystick ...
"$_joystick"
5703 if test "$_lirc" = auto
; then
5705 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
5707 #include <lirc/lirc_client.h>
5708 int main(void) { return 0; }
5710 cc_check
-llirc_client && _lirc
=yes
5713 if test "$_lirc" = yes ; then
5714 _def_lirc
='#define HAVE_LIRC 1'
5715 _ld_lirc
='-llirc_client'
5717 _def_lirc
='#undef HAVE_LIRC'
5722 if test "$_lircc" = auto
; then
5725 #include <lirc/lircc.h>
5726 int main(void) { return 0; }
5728 cc_check
-llircc && _lircc
=yes
5730 if test "$_lircc" = yes ; then
5731 _def_lircc
='#define HAVE_LIRCC 1'
5734 _def_lircc
='#undef HAVE_LIRCC'
5738 #############################################################################
5739 echo "Creating config.mak"
5740 cat > config.mak
<< EOF
5741 # -------- Generated by configure -----------
5744 LANGUAGES = $LANGUAGES
5745 TARGET_OS = $system_name
5747 prefix = \$(DESTDIR)$_prefix
5748 BINDIR = \$(DESTDIR)$_bindir
5749 DATADIR = \$(DESTDIR)$_datadir
5750 MANDIR = \$(DESTDIR)$_mandir
5751 CONFDIR = \$(DESTDIR)$_confdir
5752 LIBDIR = \$(DESTDIR)$_libdir
5758 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu -pipe -fomit-frame-pointer -ffast-math
5759 EXTRA_INC = $_inc_extra $_inc_gtk
5760 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
5761 STRIPBINARIES = $_stripbinaries
5765 MPLAYER_NETWORK = $_network
5766 STREAMING_LIVE_DOT_COM = $_live
5767 MPLAYER_NETWORK_LIB = $_ld_network $_ld_live
5770 SHARED_PP = $_shared_pp
5773 CONFIG_MP3LAME = $_mp3lame
5775 I18NLIBS = $_i18n_libs
5776 MATROSKA = $_matroska
5777 MATROSKA_LIB = $_ld_matroska
5779 OPENDIVX = $_opendivx
5781 UNRARLIB = $_unrarlib
5782 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
5787 EXTRA_LIB = $_ld_extra
5788 Z_LIB = $_ld_static $_ld_zlib
5790 WIN32_LIB = $_ld_win32libs
5791 STATIC_LIB = $_ld_static
5796 HAVE_XVMC_ACCEL = $_xvmc
5806 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_mad $_ld_sock
5808 MLIB_LIB = $_ld_mlib
5809 MLIB_INC = $_inc_mlib
5810 DXR2_INC = $_inc_dxr2
5816 SVGA_LIB = $_ld_svga
5820 ALSA_LIB = $_ld_alsa
5822 ARTS_LIB = $_ld_arts
5823 ARTS_INC = $_inc_arts
5826 SGIAUDIO_LIB = $_ld_sgiaudio
5828 # input/demuxer/codecs
5829 TERMCAP_LIB = $_ld_termcap
5830 LIRC_LIB = $_ld_lirc
5831 LIRCC_LIB = $_ld_lircc
5838 W32_DEP = $_dep_win32
5839 W32_LIB = $_ld_win32
5840 DS_DEP = $_dep_dshow
5842 AV_DEP = $_dep_libavcodec
5843 AV_LIB = $_ld_libavcodec
5845 FAME_LIB = $_ld_fame
5846 MP1E_DEP = $_dep_mp1e
5847 MP1E_LIB = $_ld_mp1e
5848 ARCH_LIB = $_ld_arch $_ld_iconv
5850 XVID_INC = $_inc_xvid
5851 XVID_LIB = $_ld_xvid
5852 DECORE_LIB = $_ld_decore $_ld_mp3lame
5853 MENCODER = $_mencoder
5854 ENCORE_LIB = $_ld_encore $_ld_mp3lame
5855 DIRECTFB_INC = $_inc_directfb
5856 DIRECTFB_LIB = $_ld_directfb
5857 CDPARANOIA_INC = $_inc_cdparanoia
5858 CDPARANOIA_LIB = $_ld_cdparanoia
5859 FREETYPE_INC = $_inc_freetype
5860 FREETYPE_LIB = $_ld_freetype
5861 FRIBIDI_INC = $_inc_fribidi
5862 FRIBIDI_LIB = $_ld_fribidi
5863 LIBLZO_LIB= $_ld_liblzo
5865 VORBIS_LIB = $_ld_vorbis $_ld_libdv
5866 THEORA_LIB = $_ld_theora
5867 FAAD_LIB = $_ld_faad
5868 INTERNAL_FAAD = $_faad_internal
5869 SMBSUPPORT_LIB = $_ld_smb
5870 XMMS_PLUGINS = $_xmms
5871 XMMS_LIB = $_xmms_lib
5873 MACOSX_FRAMEWORKS = $_macosx_frameworks
5874 FLAC_LIB = $_ld_flac
5877 # --- Some stuff for autoconfigure ----
5883 TARGET_MMX2 = $_mmx2
5884 TARGET_3DNOW = $_3dnow
5885 TARGET_3DNOWEX = $_3dnowex
5887 TARGET_ALTIVEC = $_altivec
5890 GTKLIB = $_ld_static $_ld_gtk
5891 GLIBLIB = $_ld_static $_ld_glib
5892 GTK_LIBS = $_ld_static $_ld_gui
5898 #############################################################################
5899 echo "Creating config.h"
5900 cat > config.h
<< EOF
5901 /* -------- This file has been automatically generated by configure ---------
5902 Note: Any changes in it will be lost when you run configure again. */
5904 /* Protect against multiple inclusion */
5905 #ifndef MPLAYER_CONFIG_H
5906 #define MPLAYER_CONFIG_H 1
5908 /* use GNU internationalization */
5911 /* missing mmap function on libc5 systems */
5913 # define MAP_FAILED ((void *) -1)
5916 /* use setlocale() function */
5919 /* Runtime CPU detection */
5920 $_def_runtime_cpudetection
5922 /* Dynamic a/v plugins */
5923 $_def_dynamic_plugins
5925 /* "restrict" keyword */
5926 #define restrict $_def_restrict_keyword
5928 #define PREFIX "$_prefix"
5930 /* define this to use simple idct with patched libavcodec */
5931 #define SIMPLE_IDCT 1
5936 /* enable/disable SIGHANDLER */
5939 /* Toggles debugging informations */
5942 /* Indicates that Ogle's libdvdread is available for DVD playback */
5945 /* Indicates that dvdread is from libmpdvdkit */
5948 /* Additional options for libmpdvdkit*/
5962 /* Common data directory (for fonts, etc) */
5963 #define MPLAYER_DATADIR "$_datadir"
5964 #define MPLAYER_CONFDIR "$_confdir"
5965 #define MPLAYER_LIBDIR "$_libdir"
5967 /* Define this to compile stream-caching support, it can be enabled via
5968 -cache <kilobytes> */
5969 #define USE_STREAM_CACHE 1
5971 /* Define to include support for XviD/Divx4Linux/OpenDivx */
5974 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
5975 /* You have to change DECORE_LIBS in config.mak, too! */
5978 /* Define if you are using DivX5Linux Decore library */
5981 /* Define if you are using XviD library */
5987 /* Define to include support for libdv-0.9.5 */
5990 /* If build mencoder */
5993 /* Indicates if XviD/Divx4linux encore is available
5994 Note: for mencoder */
5997 /* Indicates if libmp3lame is available
5998 Note: for mencoder */
6002 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6005 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6006 (use -bps or -nobps commandline option for run-time method selection)
6007 -bps gives better sync for vbr mp3 audio, it is now default */
6008 #define AVI_SYNC_BPS 1
6010 /* Undefine this if you do not want to select mono audio (left or right)
6011 with a stereo MPEG layer 2/3 audio stream. The command line option
6012 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6013 right-only), with 0 being the default.
6015 #define USE_FAKE_MONO 1
6017 /* Undefine this if your sound card driver has no working select().
6018 If you have kernel Oops, player hangups, or just no audio, you should
6019 try to recompile MPlayer with this option disabled! */
6022 /* define this to use iconv(3) function to codepage conversions */
6025 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6028 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6029 #define MAX_OUTBURST 65536
6031 /* set up audio OUTBURST. Do not change this! */
6032 #define OUTBURST 512
6034 /* Define this if your system has the header file for the OSS sound interface */
6037 /* Define this if your system has the header file for the OSS sound interface
6038 * in /usr/include */
6041 /* Define this if your system has the sysinfo header */
6044 /* Define this if your system uses ftello() for off_t seeking */
6048 # define ftello(a) ftell(a)
6051 /* Define this if your system has the "malloc.h" header file */
6054 /* memalign is mapped to malloc if unsupported */
6056 #ifndef HAVE_MEMALIGN
6057 # define memalign(a,b) malloc(b)
6060 /* Define this if your system has the "alloca.h" header file */
6063 /* Define this if your system has the "sys/mman.h" header file */
6066 /* Define this if you have the elf dynamic linker -ldl library */
6069 /* Define this if you have the kstat kernel statistics library */
6072 /* Define this if you have zlib */
6075 /* Define this if you have shm support */
6078 /* Define this if your system has scandir & alphasort */
6081 /* Define this if your system has strsep */
6084 /* Define this if your system has vsscanf */
6087 /* Define this if your system has no posix select */
6088 $_def_no_posix_select
6090 /* Define this if your system has gettimeofday */
6093 /* Define this if your system has glob */
6096 /* LIRC (remote control, see www.lirc.org) support: */
6100 * LIRCCD (LIRC client daemon)
6101 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6111 /* DeCSS support using libcss */
6114 /* DVD navigation support using libdvdnav */
6116 $_def_dvdnav_version
6118 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6119 #define MPEG12_POSTPROC 1
6121 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6124 /* Define to include support for OpenDivx postprocessing */
6125 $_def_odivx_postprocess
6127 /* Win32 DLL support */
6129 #define WIN32_PATH "$_win32libdir"
6131 /* DirectShow support */
6134 /* Mac OS X specific features */
6137 /* Build our Win32-loader */
6140 /* ffmpeg's libavcodec support (requires libavcodec source) */
6145 #define CONFIG_RISKY 1
6147 /* Use libavcodec's decoders */
6148 #define CONFIG_DECODERS 1
6149 /* Use libavcodec's encoders */
6150 #define CONFIG_ENCODERS 1
6152 /* Use codec libs included in mplayer CVS / source dist: */
6155 #define USE_LIBMPEG2
6157 /* Use the SVQ1 decoder in libmpcodecs - we don't want/need it with libavcodec */
6158 #ifndef USE_LIBAVCODEC
6162 /* Use libfame encoder filter */
6165 /* XAnim DLL support */
6167 /* Default search path */
6170 /* RealPlayer DLL support */
6172 /* Default search path */
6175 /* LIVE.COM Streaming Media library support */
6178 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6181 /* Use unrarlib for Vobsubs */
6184 /* gui support, please do not edit this option */
6187 /* Audio output drivers */
6189 $_def_ossaudio_devdsp
6190 $_def_ossaudio_devmixer
6196 $_def_sys_asoundlib_h
6197 $_def_alsa_asoundlib_h
6203 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6205 #undef FAST_OSD_TABLE
6207 /* Enable TV Interface support */
6210 /* Enable EDL support */
6213 /* Enable Video 4 Linux TV interface support */
6216 /* Enable Video 4 Linux 2 TV interface support */
6219 /* Enable *BSD BrookTree TV interface support */
6222 /* Define if your processor stores words with the most significant
6223 byte first (like Motorola and SPARC, unlike Intel and VAX). */
6228 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
6229 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
6235 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
6240 /* only gcc3 can compile mvi instructions */
6241 $_def_gcc_mvi_support
6243 /* Define this for Cygwin build for win32 */
6246 /* Define this to any prefered value from 386 up to infinity with step 100 */
6247 #define __CPU__ $iproc
6256 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
6257 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6259 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6260 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6261 #elif defined(WIN32)
6262 #define DEFAULT_CDROM_DEVICE "D:"
6263 #define DEFAULT_DVD_DEVICE "D:"
6264 #elif defined(SYS_DARWIN)
6265 #define DEFAULT_CDROM_DEVICE "/dev/rdiskN"
6266 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6268 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6269 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6273 /*----------------------------------------------------------------------------
6275 ** NOTE: Instead of modifying these definitions here, use the
6276 ** --enable/--disable options of the ./configure script!
6277 ** See ./configure --help for details.
6279 *---------------------------------------------------------------------------*/
6281 /* C99 lrintf function available */
6284 /* int_fastXY_t emulation */
6287 /* nanosleep support */
6293 /* termcap flag for getch2.c */
6296 /* termios flag for getch2.c */
6301 /* enable PNG support */
6304 /* enable JPEG support */
6307 /* enable GIF support */
6312 /* enable FreeType support */
6315 /* enable FriBiDi usage */
6318 /* liblzo support */
6321 /* libmad support */
6324 /* enable OggVorbis support */
6327 /* enable Tremor as vorbis decoder */
6330 /* enable OggTheora support */
6333 /* enable Matroska support */
6336 /* enable FAAD (AAC) support */
6341 /* enable network */
6344 /* enable ftp support */
6347 /* enable winsock2 instead of Unix functions*/
6350 /* define this to use inet_aton() instead of inet_pton() */
6353 /* enables / disables cdparanoia support */
6356 /* enables / disables VIDIX usage */
6359 /* enables / disables new input joystick support */
6362 /* enables / disables QTX codecs */
6365 /* enables / disables osd menu */
6368 /* enables / disables subtitles sorting */
6371 /* XMMS input plugin support */
6373 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
6375 /* enables inet6 support */
6378 /* do we have gethostbyname2? */
6379 $_def_gethostbyname2
6381 /* Extension defines */
6382 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
6383 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
6384 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
6385 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
6386 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
6387 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
6388 $_def_altivec // only define if you have Altivec (G4)
6391 #define USE_MMX_IDCT 1
6394 $_def_altivec_h // enables usage of altivec.h
6397 $_def_mlib // Sun mediaLib, available only on solaris
6399 /* libmpeg2 uses a different feature test macro for mediaLib */
6401 #define LIBMPEG2_MLIB 1
6405 #define SCREEN_SIZE_X 1
6406 #define SCREEN_SIZE_Y 1
6417 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
6425 $_def_directfb_version
6445 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
6446 #define X11_FULLSCREEN 1
6449 #endif /* MPLAYER_CONFIG_H */
6452 #############################################################################
6454 echo "Creating libvo/config.mak"
6455 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
6456 cat > libvo
/config.mak
<< EOF
6457 include ../config.mak
6458 OPTIONAL_SRCS = $_vosrc
6459 OPTIONAL_OBJS = $_voobj
6462 #############################################################################
6464 echo "Creating libao2/config.mak"
6465 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
6466 cat > libao
2/config.mak
<< EOF
6467 include ../config.mak
6468 OPTIONAL_SRCS = $_aosrc
6469 OPTIONAL_OBJS = $_aoobj
6472 #############################################################################
6474 echo "Creating help_mp.h"
6475 cat > help_mp.h
<< EOF
6477 // WARNING! This is a generated file. Do NOT edit.
6478 // See the help/ subdir for the editable files.
6480 #include "$_mp_help"
6483 if test $_mp_help != "help/help_mp-en.h"; then
6484 echo "Adding untranslated messages to help_mp.h"
6485 echo '// untranslated messages from the english master-file:' >> help_mp.h
6486 help
/help_diff.sh
$_mp_help <help
/help_mp-en.h
>> help_mp.h
6489 #############################################################################
6493 Config files successfully generated by ./configure !
6495 Install prefix: $_prefix
6496 Data directory: $_datadir
6497 Config direct.: $_confdir
6499 Byte order: $_byte_order
6500 Optimizing for: $_optimizing
6503 Messages/GUI: $_language
6506 echo -n " Manual pages: $LANGUAGES"
6507 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
6512 Enabled optional drivers:
6513 Input: $_inputmodules
6514 Codecs: $_codecmodules
6515 Audio output: $_aomodules
6516 Video output: $_vomodules
6517 Disabled optional drivers:
6518 Input: $_noinputmodules
6519 Codecs: $_nocodecmodules
6520 Audio output: $_noaomodules
6521 Video output: $_novomodules
6523 'config.h' and 'config.mak' contain your configuration options.
6524 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
6525 compile *** DO NOT REPORT BUGS if you tweak these files ***
6527 'make' will now compile MPlayer and 'make install' will install it.
6528 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
6533 if test "$_mtrr" = yes ; then
6534 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/en/devices.html#mtrr)"
6538 if test "$_sdl" = "outdated" ; then
6540 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
6541 support has therefore been disabled.
6543 Please upgrade to a more recent version (version 1.1.8 and above are known to
6544 work). You may get this library from: http://www.libsdl.org
6546 You need to rerun ./configure and recompile after updating SDL. If you are
6547 only interested in the libSDL audio drivers, then an older version might work.
6549 Use --enable-sdl to force usage of libSDL.
6555 if test "$_win32" = no
; then
6556 if test "$_win32libdir" ; then
6557 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
6559 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
6562 Create it and copy the DLL files there! You can download the codecs from our
6563 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
6569 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
6570 operating system ($system_name). You may encounter a few AVI files that
6571 cannot be played due to missing Open Source video/audio codec support.
6579 Check $TMPLOG if you wonder why an autodetection failed (check whether
6580 the development headers/packages are installed).
6582 If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
6586 if test "$_vidix" = no
; then
6588 You've disabled VIDIX. Although it would be better to PORT it instead.
6589 Have a look at the documentation for supported cards!
6595 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"