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-cdparanoia Disable cdparanoia support [autodetect]
176 --disable-freetype Disable freetype2 font rendering support [autodetect]
177 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
178 --disable-unrarlib Disable Unique RAR File Library [enabled]
179 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
180 --disable-sortsub Disable subtitles sorting [enabled]
181 --enable-fribidi Enable using the FriBiDi libs [disabled]
182 --disable-macosx Disable Mac OS X specific features [autodetect]
183 --disable-inet6 Disable IPv6 support [autodetect]
184 --disable-gethostbyname2 gethostbyname() function is not provided by the C
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 [enable on x86 *nix]
217 --enable-gl build with OpenGL render support [autodetect]
218 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
219 --enable-vesa build with VESA support [autodetect]
220 --enable-svga build with SVGAlib support [autodetect]
221 --enable-sdl build with SDL render support [autodetect]
222 --enable-aa build with AAlib render support [autodetect]
223 --enable-ggi build with GGI render support [autodetect]
224 --enable-directx build with DirectX support [autodetect]
225 --enable-dxr2 build with DXR2 render support [autodetect]
226 --enable-dxr3 build with DXR3/H+ render support [autodetect]
227 --enable-dvb build with support for output via DVB-Card [autodetect]
228 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
229 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
230 (check for /dev/mga_vid) [autodetect]
231 --enable-xmga build with mga_vid X Window support
232 (check for X & /dev/mga_vid) [autodetect]
233 --enable-xv build with Xv render support for X 4.x [autodetect]
234 --enable-xvmc build with XvMC acceleration for X 4.x [autodetect]
235 --enable-vm build with XF86VidMode support for X11 [autodetect]
236 --enable-xinerama build with Xinerama support for X11 [autodetect]
237 --enable-x11 build with X11 render support [autodetect]
238 --enable-fbdev build with FBDev render support [autodetect]
239 --enable-mlib build with MLIB support (Solaris only) [autodetect]
240 --enable-3dfx build with obsolete /dev/3dfx support [disable]
241 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
242 --enable-directfb build with DirectFB support [autodetect]
243 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
244 --enable-bl build with Blinkenlights support [disable]
245 --enable-tdfxvid build with tdfx vid support [disable]
246 --disable-tga disable targa output support [enable]
249 --disable-ossaudio disable OSS sound support [autodetect]
250 --disable-arts disable aRts sound support [autodetect]
251 --disable-esd disable esd sound support [autodetect]
252 --disable-alsa disable alsa sound support [autodetect]
253 --disable-sunaudio disable Sun sound support [autodetect]
254 --disable-nas disable NAS sound support [autodetect]
255 --disable-win32waveout disable Windows waveout sound support [autodetect]
256 --disable-select disable using select() on audio device [enable]
258 Miscellaneous options:
259 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
260 --cc=COMPILER use this C compiler to build MPlayer [gcc]
261 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
262 --enable-static build a statically linked binary. Set further linking
263 options with --enable-static="-lslang -lncurses"
264 --language=list a white space or comma separated list of languages
265 for translated man pages, the first language is the
266 primary and therefore used for translated messages
267 and GUI (also the environment variable \$LINGUAS is
269 (Available: $LANGUAGES all)
270 --enable-shared-pp install & use shared postprocessing lib
271 --with-install=PATH use a custom install program (useful if your OS uses
272 a GNU-incompatible install utility by default and
273 you want to use GNU version)
274 --install-path=PATH the path to a custom install program
275 this option is obsolete and will be removed soon,
276 use --with-install instead.
279 --enable-mmx build with MMX support [autodetect]
280 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
281 --enable-3dnow build with 3DNow! support [autodetect]
282 --enable-3dnowex build with extended 3DNow! support [autodetect]
283 --enable-sse build with SSE support [autodetect]
284 --enable-sse2 build with SSE2 support [autodetect]
285 --enable-altivec build with Altivec support (PowerPC) [autodetect]
286 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
287 --enable-big-endian Force byte order to big endian [autodetect]
288 --enable-debug[=1-3] compile debugging information into mplayer [disable]
289 --enable-profile compile profiling information into mplayer [disable]
290 --disable-sighandler disable sighandler for crashes [enable]
291 --enable-i18n _experimental_ gnu gettext() support [autodetect]
292 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
294 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
295 --disable-gcc-checking disable gcc version checking [enable]
297 Use these options if autodetection fails:
298 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR
299 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR
300 --with-x11incdir=DIR X headers in DIR
301 --with-x11libdir=DIR X library files in DIR
302 --with-dxr2incdir=DIR DXR2 headers in DIR
303 --with-dvbincdir=DIR DVB headers in DIR
304 --with-madlibdir=DIR libmad (libmad shared library) in DIR
305 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
306 --with-codecsdir=DIR Binary codec files in DIR
307 --with-win32libdir=DIR W*ndows DLL files in DIR
308 --with-xanimlibdir=DIR XAnim DLL files in DIR
309 --with-reallibdir=DIR RealPlayer DLL files in DIR
310 --with-xvmclib=PATH path to adapter specific XvMCxxxxx.so (e.g. NVIDIA)
311 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR
312 --with-xvidincdir=DIR XviD header in DIR
314 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
315 --with-freetype-config=PATH path to freetype-config
316 (e.g. /opt/bin/freetype-config)
317 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
318 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
319 --with-livelibdir=DIR path to LIVE.COM Streaming Media libraries
320 --with-xmmsplugindir=DIR path to XMMS plugins
321 --with-xmmslibdir=DIR path to libxmms.so.1
322 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR
323 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR
324 --with-fribidi-config=PATH path to fribidi-config
325 (e.g. /opt/bin/fribidi-config)
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
1129 # 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-dvdread) _dvdread
=yes ;;
1300 --disable-dvdread) _dvdread
=no
;;
1301 --enable-mpdvdkit) _dvdkit
=yes ;;
1302 --disable-mpdvdkit) _dvdkit
=no
;;
1303 # dvdnav disabled, it does not work
1304 # --enable-dvdnav) _dvdnav=yes ;;
1305 # --disable-dvdnav) _dvdnav=no ;;
1306 --enable-xanim) _xanim
=yes ;;
1307 --disable-xanim) _xanim
=no
;;
1308 --enable-real) _real
=yes ;;
1309 --disable-real) _real
=no
;;
1310 --enable-live) _live
=yes ;;
1311 --disable-live) _live
=no
;;
1312 --enable-xinerama) _xinerama
=yes ;;
1313 --disable-xinerama) _xinerama
=no
;;
1314 --enable-mga) _mga
=yes ;;
1315 --disable-mga) _mga
=no
;;
1316 --enable-xmga) _xmga
=yes ;;
1317 --disable-xmga) _xmga
=no
;;
1318 --enable-vm) _vm
=yes ;;
1319 --disable-vm) _vm
=no
;;
1320 --enable-mlib) _mlib
=yes ;;
1321 --disable-mlib) _mlib
=no
;;
1322 --enable-sunaudio) _sunaudio
=yes ;;
1323 --disable-sunaudio) _sunaudio
=no
;;
1324 --enable-sgiaudio) _sgiaudio
=yes ;;
1325 --disable-sgiaudio) _sgiaudio
=no
;;
1326 --enable-alsa) _alsa
=yes ;;
1327 --disable-alsa) _alsa
=no
;;
1328 --enable-tv) _tv
=yes ;;
1329 --disable-tv) _tv
=no
;;
1330 --enable-edl) _edl
=yes ;;
1331 --disable-edl) _edl
=no
;;
1332 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1333 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1334 --enable-tv-v4l) _tv_v4l
=yes ;;
1335 --disable-tv-v4l) _tv_v4l
=no
;;
1336 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1337 --disable-tv-v4l2) _tv_v4l2
=no
;;
1338 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1339 --disable-fastmemcpy) _fastmemcpy
=no
;;
1340 --enable-network) _network
=yes ;;
1341 --disable-network) _network
=no
;;
1342 --enable-winsock2) _winsock2
=yes ;;
1343 --disable-winsock2) _winsock2
=no
;;
1344 --enable-smb) _smbsupport
=yes ;;
1345 --disable-smb) _smbsupport
=no
;;
1346 --enable-vidix) _vidix
=yes ;;
1347 --disable-vidix) _vidix
=no
;;
1348 --enable-joystick) _joystick
=yes ;;
1349 --disable-joystick) _joystick
=no
;;
1350 --enable-xvid) _xvid
=yes ;;
1351 --disable-xvid) _xvid
=no
;;
1352 --enable-divx4linux) _divx4linux
=yes ;;
1353 --disable-divx4linux) _divx4linux
=no
;;
1354 --enable-opendivx) _opendivx
=yes ;;
1355 --disable-opendivx) _opendivx
=no
;;
1356 --enable-libavcodec) _libavcodec
=yes ;;
1357 --disable-libavcodec) _libavcodec
=no
;;
1358 --enable-libfame) _fame
=yes ;;
1359 --disable-libfame) _fame
=no
;;
1360 --enable-lirc) _lirc
=yes ;;
1361 --disable-lirc) _lirc
=no
;;
1362 --enable-lircc) _lircc
=yes ;;
1363 --disable-lircc) _lircc
=no
;;
1364 --enable-gui) _gui
=yes ;;
1365 --disable-gui) _gui
=no
;;
1366 --enable-termcap) _termcap
=yes ;;
1367 --disable-termcap) _termcap
=no
;;
1368 --enable-termios) _termios
=yes ;;
1369 --disable-termios) _termios
=no
;;
1370 --enable-3dfx) _3dfx
=yes ;;
1371 --disable-3dfx) _3dfx
=no
;;
1372 --enable-tdfxfb) _tdfxfb
=yes ;;
1373 --disable-tdfxvid) _tdfxvid
=no
;;
1374 --enable-tdfxvid) _tdfxvid
=yes ;;
1375 --disable-tga) _tga
=no
;;
1376 --enable-tga) _tga
=yes ;;
1377 --disable-tdfxfb) _tdfxfb
=no
;;
1378 --enable-directfb) _directfb
=yes ;;
1379 --disable-directfb) _directfb
=no
;;
1380 --enable-zr) _zr
=yes ;;
1381 --disable-zr) _zr
=no
;;
1382 --enable-bl) _bl
=yes ;;
1383 --disable-bl) _bl
=no
;;
1384 --enable-mtrr) _mtrr
=yes ;;
1385 --disable-mtrr) _mtrr
=no
;;
1386 --enable-largefiles) _largefiles
=yes ;;
1387 --disable-largefiles) _largefiles
=no
;;
1388 --enable-shm) _shm
=yes ;;
1389 --disable-shm) _shm
=no
;;
1390 --enable-select) _select
=yes ;;
1391 --disable-select) _select
=no
;;
1392 --enable-linux-devfs) _linux_devfs
=yes ;;
1393 --disable-linux-devfs) _linux_devfs
=no
;;
1394 --enable-cdparanoia) _cdparanoia
=yes ;;
1395 --disable-cdparanoia) _cdparanoia
=no
;;
1396 --enable-big-endian) _big_endian
=yes ;;
1397 --disable-big-endian) _big_endian
=no
;;
1398 --enable-freetype) _freetype
=yes ;;
1399 --disable-freetype) _freetype
=no
;;
1400 --enable-fontconfig) _fontconfig
=yes ;;
1401 --disable-fontconfig) _fontconfig
=no
;;
1402 --enable-unrarlib) _unrarlib
=yes ;;
1403 --disable-unrarlib) _unrarlib
=no
;;
1404 --enable-ftp) _ftp
=yes ;;
1405 --disable-ftp) _ftp
=no
;;
1407 --enable-fribidi) _fribidi
=yes ;;
1408 --disable-fribidi) _fribidi
=no
;;
1410 --enable-inet6) _inet6
=yes ;;
1411 --disable-inet6) _inet6
=no
;;
1413 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1414 --disable-gethostbyname2) _gethostbyname2
=no
;;
1416 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1417 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1418 --disable-dga) _dga
=no
;;
1420 --enable-shared-pp) _shared_pp
=yes ;;
1421 --disable-shared-pp) _shared_pp
=no
;;
1423 --enable-menu) _menu
=yes ;;
1424 --disable-menu) _menu
=no
;;
1426 --enable-qtx) _qtx
=yes ;;
1427 --disable-qtx) _qtx
=no
;;
1429 --enable-macosx) _macosx
=yes ;;
1430 --disable-macosx) _macosx
=no
;;
1432 --enable-sortsub) _sortsub
=yes ;;
1433 --disable-sortsub) _sortsub
=no
;;
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 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1470 --with-xmmslibdir=*)
1471 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1474 --with-xmmsplugindir=*)
1475 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1488 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1490 --disable-sighandler)
1494 --enable-sse) _sse
=yes ;;
1495 --disable-sse) _sse
=no
;;
1496 --enable-sse2) _sse2
=yes ;;
1497 --disable-sse2) _sse2
=no
;;
1498 --enable-mmx2) _mmx2
=yes ;;
1499 --disable-mmx2) _mmx2
=no
;;
1500 --enable-3dnow) _3dnow
=yes ;;
1501 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
1502 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
1503 --disable-3dnowex) _3dnowex
=no
;;
1504 --enable-altivec) _altivec
=yes ;;
1505 --disable-altivec) _altivec
=no
;;
1506 --enable-mmx) _mmx
=yes ;;
1507 --disable-mmx) # 3Dnow! and MMX2 require MMX
1508 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
1510 --enable-win32) _win32
=yes ;;
1511 --disable-win32) _win32
=no _dshow
=no
;;
1512 --enable-dshow) _win32
=yes _dshow
=yes ;;
1513 --disable-dshow) _dshow
=no
;;
1516 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1519 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1521 --with-dxr2incdir=*)
1522 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1525 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
1528 _inc_dvb
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1530 --with-xvidlibdir=*)
1531 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1533 --with-xvidincdir=*)
1534 _inc_xvid
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1536 --with-sdl-config=*)
1537 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
1539 --with-freetype-config=*)
1540 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
1542 --with-fribidi-config=*)
1543 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
1545 --with-gtk-config=*)
1546 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
1548 --with-glib-config=*)
1549 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
1551 # dvdnav disabled, it does not work
1552 # --with-dvdnav-config=*)
1553 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1556 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1558 --with-cdparanoiaincdir=*)
1559 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1561 --with-cdparanoialibdir=*)
1562 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1564 --with-termcaplib=*)
1565 _ld_termcap
=-l`echo $ac_option | cut -d '=' -f 2`
1569 _prefix
=`echo $ac_option | cut -d '=' -f 2`
1572 _bindir
=`echo $ac_option | cut -d '=' -f 2`
1575 _datadir
=`echo $ac_option | cut -d '=' -f 2`
1578 _mandir
=`echo $ac_option | cut -d '=' -f 2`
1581 _confdir
=`echo $ac_option | cut -d '=' -f 2`
1584 _libdir
=`echo $ac_option | cut -d '=' -f 2`
1588 echo "Unknown parameter: $ac_option"
1595 # Atmos: moved this here, to be correct, if --prefix is specified
1596 test -z "$_bindir" && _bindir
="$_prefix/bin"
1597 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1598 test -z "$_mandir" && _mandir
="$_prefix/man"
1599 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1600 test -z "$_libdir" && _libdir
="$_prefix/lib"
1601 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
1604 # Checking assembler (_as) compatibility...
1605 # Added workaround for older as that reads from stdin by default - atmos
1606 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1607 echocheck
"assembler ($_as $as_version)"
1609 _pref_as_version
='2.9.1'
1611 if test "$_mmx" = yes ; then
1612 echo 'emms' >> $TMPS
1614 if test "$_3dnow" = yes ; then
1615 _pref_as_version
='2.10.1'
1616 echo 'femms' >> $TMPS
1618 if test "$_3dnowex" = yes ; then
1619 _pref_as_version
='2.10.1'
1620 echo 'pswapd %mm0, %mm0' >> $TMPS
1622 if test "$_mmx2" = yes ; then
1623 _pref_as_version
='2.10.1'
1624 echo 'movntq %mm0, (%eax)' >> $TMPS
1626 if test "$_sse" = yes ; then
1627 _pref_as_version
='2.10.1'
1628 echo 'xorps %xmm0, %xmm0' >> $TMPS
1630 #if test "$_sse2" = yes ; then
1631 # _pref_as_version='2.11'
1632 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1634 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
1636 if test "$as_verc_fail" != yes ; then
1640 echo "Upgrade binutils to ${_pref_as_version} ..."
1641 die
"obsolete binutils version"
1647 # check if altivec is supported by the compiler, and how to enable it
1649 _altivec_gcc_flags
=''
1651 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1652 echocheck
"GCC altivec support"
1660 FSF_flags
='-maltivec -mabi=altivec'
1661 Darwin_flags
='-faltivec'
1663 # check for Darwin-style flags first, since
1664 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1665 # accepts but ignores FSF-style flags...
1667 if test -z "$p"; then
1668 cc_check
$Darwin_flags && p
='Darwin'
1670 if test -z "$p"; then
1671 cc_check
$FSF_flags && p
='FSF'
1675 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
1676 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
1680 if test -z "$p"; then
1683 p
="$p-style ($_altivec_gcc_flags)"
1689 # check if <altivec.h> should be included
1691 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
1693 if test "$_altivec" = yes ; then
1694 echocheck
"altivec.h"
1696 #include <altivec.h>
1697 int main(void) { return 0; }
1700 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
1701 if test "$_have_altivec_h" = yes ; then
1702 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
1704 echores
"$_have_altivec_h"
1707 # disable runtime cpudetection if
1708 # - we cannot generate altivec code
1709 # - altivec is disabled by the user
1711 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
1712 _runtime_cpudetection
=no
1715 # show that we are optimizing for altivec (if enabled and supported)
1717 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
1718 _optimizing
="$_optimizing altivec"
1721 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1723 if test "$_altivec" = yes ; then
1724 _mcpu
="$_mcpu $_altivec_gcc_flags"
1727 # setup _def_altivec correctly
1729 if test "$_altivec" = yes ; then
1730 _def_altivec
='#define HAVE_ALTIVEC 1'
1732 _def_altivec
='#undef HAVE_ALTIVEC'
1736 _def_mmx
='#undef HAVE_MMX'
1737 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
1738 _def_mmx2
='#undef HAVE_MMX2'
1739 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
1740 _def_3dnow
='#undef HAVE_3DNOW'
1741 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
1742 _def_3dnowex
='#undef HAVE_3DNOWEX'
1743 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
1744 _def_sse
='#undef HAVE_SSE'
1745 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
1746 _def_sse2
='#undef HAVE_SSE2'
1747 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
1749 # Checking kernel version...
1750 if x86
&& linux
; then
1752 kernel_version
=`uname -r 2>&1`
1753 echocheck
"$system_name kernel version"
1754 case "$kernel_version" in
1755 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
1756 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
1757 _k_verc_problem
=yes;;
1759 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
1762 if test "$_k_verc_fail" ; then
1763 echores
"$kernel_version, fail"
1764 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
1765 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
1766 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
1767 echo "supports SSE, but you have been warned! If you are using a kernel older than"
1768 echo "2.2.x you must upgrade it to get SSE support!"
1769 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
1771 echores
"$kernel_version, ok"
1775 if test "$_vidix" = auto
; then
1777 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
1779 ppc
&& linux
&& _vidix
=yes
1780 alpha
&& linux
&& _vidix
=yes
1782 mingw32
&& _vidix
=no
1787 # On QNX we must link to libph - Gabucino
1789 _ld_arch
="$_ld_arch -lph"
1792 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
1794 if test "$_vidix" = yes ; then
1797 for _awk
in mawk gawk nawk
awk; do
1798 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
1803 test "$_awk_verc_fail" = yes && _awk
=no
1805 if test "$_awk_verc_fail" = yes; then
1806 echo "VIDIX needs awk, but no working implementation was found!"
1807 echo "Try the GNU version, which can be downloaded from:"
1808 echo "ftp://ftp.gnu.org/gnu/gawk/"
1809 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
1814 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1819 ######################
1820 # MAIN TESTS GO HERE #
1821 ######################
1824 echocheck
"extra headers"
1825 if test "$_inc_extra" ; then
1826 echores
"$_inc_extra"
1832 echocheck
"extra libs"
1833 if test "$_ld_extra" ; then
1834 echores
"$_ld_extra"
1840 # Checking for localization ...
1841 # CSAK EGY MARADHAT - A HEGYLAKO
1843 if test "$_i18n" != no
; then
1845 #include <libintl.h>
1846 int main(void) { gettext("test"); return 0; }
1850 if test "$_i18n" = auto
; then
1851 cc_check
&& _i18n
=yes
1853 for i18n_lib
in "" "-lintl"; do
1854 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
1858 if test "$_i18n" = yes ; then
1859 _def_i18n
='#define USE_I18N 1'
1861 _def_i18n
='#undef USE_I18N'
1863 if test -z "$_i18n_libs" ; then
1866 echores
"$_i18n (using $_i18n_libs)"
1870 # Checking for setlocale() ...
1871 # CSAK EGY MARADHAT - A HEGYLAKO
1872 # Nemnem. a TV Maci !
1873 echocheck
"setlocale()"
1874 if test "$_setlocale" = auto
; then
1877 int main(void) { setlocale( LC_ALL,"" ); return 0; }
1880 cc_check
&& _setlocale
=yes
1882 if test "$_setlocale" = yes ; then
1883 _def_setlocale
='#define USE_SETLOCALE 1'
1885 _def_setlocale
='#undef USE_SETLOCALE'
1887 echores
"$_setlocale"
1890 echocheck
"language"
1891 test -z "$_language" && _language
=$LINGUAS
1892 _language
=`echo $_language | sed 's/,/ /g'`
1893 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
1894 for i
in $_language ; do
1895 test "$i" = all
&& i
=en
1896 if test -f "help/help_mp-${i}.h" ; then
1900 echo -n "$i not found, "
1901 _language
=`echo $_language | sed "s/$i *//g"`
1904 test -z "$_language" && _language
=en
1905 for i
in $LANGUAGES ; do
1906 if test -f "DOCS/man/$i/mplayer.1" ; then
1907 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
1909 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
1912 echores
"using $_language (man pages: $LANGUAGES)"
1913 _mp_help
="help/help_mp-${_language}.h"
1914 test -f $_mp_help || die
"$_mp_help not found"
1916 echocheck
"enable sighandler"
1917 if test "$_sighandler" = yes ; then
1918 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
1920 _def_sighandler
='#undef ENABLE_SIGHANDLER'
1922 echores
"$_sighandler"
1924 echocheck
"runtime cpudetection"
1925 if test "$_runtime_cpudetection" = yes ; then
1926 _optimizing
="Runtime CPU-Detection enabled"
1927 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
1929 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
1931 echores
"$_runtime_cpudetection"
1934 echocheck
"restrict keyword"
1935 for restrict_keyword
in restrict __restrict __restrict__
; do
1936 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
1938 _def_restrict_keyword
=$restrict_keyword
1942 if [ -n "$_def_restrict_keyword" ]; then
1943 echores
"$_def_restrict_keyword"
1952 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
1955 cc_check
-lkstat && _kstat
=yes
1956 if test "$_kstat" = yes ; then
1957 _ld_arch
="-lkstat $_ld_arch"
1959 if test "$_kstat" = yes ; then
1960 _def_kstat
="#define HAVE_LIBKSTAT 1"
1962 _def_kstat
="#undef HAVE_LIBKSTAT"
1968 # required for nanosleep on some systems
1971 int main(void) { (void) nanosleep(0, 0); return 0; }
1974 cc_check
-lposix4 && _posix4
=yes
1975 if test "$_posix4" = yes ; then
1976 _ld_arch
="-lposix4 $_ld_arch"
1984 int main(void) { (void) lrintf(0.0); return 0; }
1987 cc_check
-lm && _lrintf
=yes
1988 if test "$_lrintf" = yes ; then
1989 _def_lrintf
="#define HAVE_LRINTF 1"
1991 _def_lrintf
="#undef HAVE_LRINTF"
1996 echocheck
"nanosleep"
1997 # also check for nanosleep
2000 int main(void) { (void) nanosleep(0, 0); return 0; }
2003 cc_check
$_ld_arch && _nanosleep
=yes
2004 if test "$_nanosleep" = yes ; then
2005 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2007 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2009 echores
"$_nanosleep"
2013 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2016 int main(void) { (void) gethostbyname(0); return 0; }
2018 cc_check
-lsocket && _ld_sock
="-lsocket"
2019 cc_check
-lnsl && _ld_sock
="-lnsl"
2020 cc_check
-lsocket -lnsl && _ld_sock
="-lsocket -lnsl"
2021 cc_check
-lsocket -ldnet && _ld_sock
="-lsocket -ldnet"
2022 if test $_winsock2 = auto
&& not cygwin
; then
2025 #include <winsock2.h>
2026 int main(void) { (void) gethostbyname(0); return 0; }
2028 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2030 if test "$_ld_sock" ; then
2031 echores
"yes (using $_ld_sock)"
2037 if test $_winsock2 = yes ; then
2039 _def_winsock2
='#define HAVE_WINSOCK2 1'
2041 _def_winsock2
='#undef HAVE_WINSOCK2'
2046 echocheck
"inet_pton()"
2048 #include <sys/types.h>
2049 #include <sys/socket.h>
2050 #include <arpa/inet.h>
2051 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2053 if test "$_winsock2" = yes ; then
2054 echores
"not needed (using winsock2 functions)"
2055 elif cc_check
$_ld_sock ; then
2056 # NOTE: Linux has libresolv but does not need it
2058 echores
"yes (using $_ld_sock)"
2059 elif cc_check
$_ld_sock -lresolv ; then
2060 # NOTE: needed for SunOS at least
2061 _ld_sock
="$_ld_sock -lresolv"
2062 echores
"yes (using $_ld_sock)"
2064 echores
"no (=> i'll try inet_aton next)"
2066 echocheck
"inet_aton()"
2068 #include <sys/types.h>
2069 #include <sys/socket.h>
2070 #include <arpa/inet.h>
2071 int main(void) { (void) inet_aton(0, 0); return 0; }
2074 if cc_check
$_ld_sock ; then
2075 # NOTE: Linux has libresolv but does not need it
2077 echores
"yes (using $_ld_sock)"
2078 elif cc_check
$_ld_sock -lresolv ; then
2079 # NOTE: needed for SunOS at least
2080 _ld_sock
="$_ld_sock -lresolv"
2081 echores
"yes (using $_ld_sock)"
2085 echores
"no (=> network support disabled)"
2089 _def_use_aton
='#undef USE_ATON'
2090 if test "$_use_aton" != no
; then
2091 _def_use_aton
='#define USE_ATON 1'
2095 echocheck
"inttypes.h (required)"
2097 #include <inttypes.h>
2098 int main(void) { return 0; }
2101 cc_check
&& _inttypes
=yes
2102 if test "$_inttypes" = yes ; then
2107 echocheck
"bitypes.h (inttypes.h predecessor)"
2109 #include <sys/bitypes.h>
2110 int main(void) { return 0; }
2113 cc_check
&& _inttypes
=yes
2114 if test "$_inttypes" = yes ; then
2115 die
"you don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h.link into the include path, rename it to inttypes.h and re-run configure."
2117 die
"cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/en/faq.html)"
2120 echores
"$_inttypes"
2123 echocheck
"int_fastXY_t in inttypes.h"
2125 #include <inttypes.h>
2127 volatile int_fast16_t v= 0;
2131 cc_check
&& _fast_inttypes
=yes
2132 if test "$_fast_inttypes" = yes ; then
2136 _def_fast_inttypes
='
2137 typedef signed char int_fast8_t;
2138 typedef signed int int_fast16_t;
2139 typedef signed int int_fast32_t;
2140 typedef unsigned char uint_fast8_t;
2141 typedef unsigned int uint_fast16_t;
2142 typedef unsigned int uint_fast32_t;'
2144 echores
"$_fast_inttypes"
2147 echocheck
"word size"
2148 _mp_wordsize
="#undef MP_WORDSIZE"
2151 #include <sys/types.h>
2152 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2154 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2155 echores
"$_wordsize"
2158 echocheck
"stddef.h"
2161 int main(void) { return 0; }
2164 cc_check
&& _stddef
=yes
2165 if test "$_stddef" = yes ; then
2166 _def_stddef
='#define HAVE_STDDEF_H 1'
2168 _def_stddef
='#undef HAVE_STDDEF_H'
2173 echocheck
"malloc.h"
2176 int main(void) { (void) malloc(0); return 0; }
2179 cc_check
&& _malloc
=yes
2180 if test "$_malloc" = yes ; then
2181 _def_malloc
='#define HAVE_MALLOC_H 1'
2183 _def_malloc
='#undef HAVE_MALLOC_H'
2185 # malloc.h emits a warning in FreeBSD and OpenBSD
2186 (freebsd || openbsd
) && _def_malloc
='#undef HAVE_MALLOC_H'
2190 echocheck
"memalign()"
2191 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2194 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2197 cc_check
&& _memalign
=yes
2198 if test "$_memalign" = yes ; then
2199 _def_memalign
='#define HAVE_MEMALIGN 1'
2201 _def_memalign
='#undef HAVE_MEMALIGN'
2203 echores
"$_memalign"
2206 echocheck
"alloca.h"
2209 int main(void) { (void) alloca(0); return 0; }
2212 cc_check
&& _alloca
=yes
2214 _def_alloca
='#define HAVE_ALLOCA_H 1'
2216 _def_alloca
='#undef HAVE_ALLOCA_H'
2223 #include <sys/types.h>
2224 #include <sys/mman.h>
2225 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2228 cc_check
&& _mman
=yes
2229 if test "$_mman" = yes ; then
2230 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2232 _def_mman
='#undef HAVE_SYS_MMAN_H'
2236 echocheck
"dynamic loader"
2239 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2244 elif cc_check
-ldl ; then
2248 if test "$_dl" = yes ; then
2249 _def_dl
='#define HAVE_LIBDL 1'
2251 _def_dl
='#undef HAVE_LIBDL'
2256 echocheck
"dynamic a/v plugins support"
2257 if test "$_dl" = no
; then
2260 if test "$_dynamic_plugins" = yes ; then
2261 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2263 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2265 echores
"$_dynamic_plugins"
2268 #echocheck "dynamic linking"
2269 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2270 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2272 #int main(void) { return 0; }
2274 #if cc_check -rdynamic ; then
2275 # _ld_dl_dynamic='-rdynamic'
2276 #elif cc_check -Bdynamic ; then
2277 # _ld_dl_dynamic='-Bdynamic'
2278 #elif cc_check ; then
2281 #echores "using $_ld_dl_dynamic"
2286 #include <pthread.h>
2287 void* func(void *arg) { return arg; }
2288 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2292 elif ( cc_check
&& $TMPO ) ; then # QNX
2294 elif ( cc_check
-lpthread && $TMPO ) ; then
2295 _ld_pthread
='-lpthread'
2296 elif ( cc_check
-pthread && $TMPO ) ; then
2297 _ld_pthread
='-pthread'
2299 if test "$_ld_static" ; then
2300 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2301 if ( cc_check
-lpthread ) ; then
2302 _ld_pthread
='-lpthread'
2303 elif ( cc_check
-pthread ) ; then
2304 _ld_pthread
='-pthread'
2306 echores
"no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2307 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2310 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2311 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2314 if test "$_ld_pthread" != '' ; then
2315 echores
"yes (using $_ld_pthread)"
2318 echocheck
"sys/soundcard.h"
2320 #include <sys/soundcard.h>
2321 int main(void) { return 0; }
2324 cc_check
&& _sys_soundcard
=yes
2325 if test "$_sys_soundcard" = yes ; then
2326 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2327 _inc_soundcard
='#include <sys/soundcard.h>'
2329 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2331 echores
"$_sys_soundcard"
2333 if test "$_sys_soundcard" != yes ; then
2334 echocheck
"soundcard.h"
2336 #include <soundcard.h>
2337 int main(void) { return 0; }
2340 cc_check
&& _soundcard
=yes
2341 if linux ||
test "$_ossaudio" != no
; then
2342 # use soundcard.h on Linux, or when OSS support is enabled
2343 echores
"$_soundcard"
2345 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2346 echores
"$_soundcard, but ignored!"
2349 if test "$_soundcard" = yes ; then
2350 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2351 _inc_soundcard
='#include <soundcard.h>'
2353 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2356 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2360 echocheck
"sys/dvdio.h"
2363 #include <sys/dvdio.h>
2364 int main(void) { return 0; }
2367 cc_check
&& _dvdio
=yes
2368 if test "$_dvdio" = yes ; then
2369 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2371 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2376 echocheck
"sys/cdio.h"
2379 #include <sys/cdio.h>
2380 int main(void) { return 0; }
2383 cc_check
&& _cdio
=yes
2384 if test "$_cdio" = yes ; then
2385 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2387 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2392 echocheck
"linux/cdrom.h"
2394 #include <sys/types.h>
2395 #include <linux/cdrom.h>
2396 int main(void) { return 0; }
2399 cc_check
&& _cdrom
=yes
2400 if test "$_cdrom" = yes ; then
2401 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2403 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2411 int main(void) { return 0; }
2414 cc_check
&& _dvd
=yes
2415 if test "$_dvd" = yes ; then
2416 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2418 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2423 echocheck
"BSDI dvd.h"
2426 int main(void) { return 0; }
2429 cc_check
&& _bsdi_dvd
=yes
2430 if test "$_bsdi_dvd" = yes ; then
2431 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2433 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2435 echores
"$_bsdi_dvd"
2438 echocheck
"HPUX SCSI header"
2440 #include <sys/scsi.h>
2441 int main(void) { return 0; }
2444 cc_check
&& _hpux_scsi_h
=yes
2445 if test "$_hpux_scsi_h" = yes ; then
2446 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2448 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2450 echores
"$_hpux_scsi_h"
2453 echocheck
"userspace SCSI headers (Solaris)"
2455 # include <unistd.h>
2456 # include <stropts.h>
2457 # include <sys/scsi/scsi_types.h>
2458 # include <sys/scsi/impl/uscsi.h>
2459 int main(void) { return 0; }
2462 cc_check
&& _sol_scsi_h
=yes
2463 if test "$_sol_scsi_h" = yes ; then
2464 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2466 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2468 echores
"$_sol_scsi_h"
2472 if test "$_termcap" = auto
; then
2474 int main(void) { return 0; }
2477 cc_check
-ltermcap && _termcap
=yes && _ld_termcap
='-ltermcap'
2478 cc_check
-ltinfo && _termcap
=yes && _ld_termcap
='-ltinfo'
2480 if test "$_termcap" = yes ; then
2481 _def_termcap
='#define USE_TERMCAP 1'
2482 echores
"yes (using $_ld_termcap)"
2484 _def_termcap
='#undef USE_TERMCAP'
2490 if test "$_termios" = auto
; then
2492 #include <sys/termios.h>
2493 int main(void) { return 0; }
2496 cc_check
&& _termios
=yes
2497 _def_termios_h_name
='sys/termios.h'
2500 if test "$_termios" = no
; then
2502 #include <termios.h>
2503 int main(void) { return 0; }
2506 cc_check
&& _termios
=yes
2507 _def_termios_h_name
='termios.h'
2510 if test "$_termios" = yes ; then
2511 _def_termios
='#define HAVE_TERMIOS 1'
2512 _def_termios_h
='#undef HAVE_TERMIOS_H'
2513 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
2515 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2516 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
2517 elif test "$_def_termios_h_name" = 'termios.h' ; then
2518 _def_termios_h
='#define HAVE_TERMIOS_H 1'
2520 echores
"yes (using $_def_termios_h_name)"
2522 _def_termios
='#undef HAVE_TERMIOS'
2523 _def_termios_h_name
=''
2529 if test "$_shm" = auto
; then
2531 #include <sys/types.h>
2532 #include <sys/shm.h>
2533 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2536 cc_check
&& _shm
=yes
2538 if test "$_shm" = yes ; then
2539 _def_shm
='#define HAVE_SHM 1'
2541 _def_shm
='#undef HAVE_SHM'
2546 # XXX: FIXME, add runtime checking
2547 echocheck
"linux devfs"
2548 echores
"$_linux_devfs"
2551 echocheck
"scandir()"
2553 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2556 cc_check
&& _scandir
=yes
2557 if test "$_scandir" = yes ; then
2558 _def_scandir
='#define HAVE_SCANDIR 1'
2560 _def_scandir
='#undef HAVE_SCANDIR'
2565 echocheck
"strsep()"
2568 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2571 cc_check
&& _strsep
=yes
2572 if test "$_strsep" = yes ; then
2573 _def_strsep
='#define HAVE_STRSEP 1'
2575 _def_strsep
='#undef HAVE_STRSEP'
2580 echocheck
"vsscanf()"
2583 int main(void) { vsscanf(0, 0, 0); return 0; }
2586 cc_check
&& _vsscanf
=yes
2587 if test "$_vsscanf" = yes ; then
2588 _def_vsscanf
='#define HAVE_VSSCANF 1'
2590 _def_vsscanf
='#undef HAVE_VSSCANF'
2595 echocheck
"posix select()"
2599 #include <sys/types.h>
2601 #include <sys/time.h>
2603 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
2606 cc_check
&& _posix_select
=yes
2607 if test "$_posix_select" = no
; then
2608 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
2610 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
2612 echores
"$_posix_select"
2615 echocheck
"gettimeofday()"
2618 #include <sys/time.h>
2619 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
2622 cc_check
&& _gettimeofday
=yes
2623 if test "$_gettimeofday" = yes ; then
2624 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
2626 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
2628 echores
"$_gettimeofday"
2635 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
2638 cc_check
&& _glob
=yes
2639 if test "$_glob" = yes ; then
2640 _def_glob
='#define HAVE_GLOB 1'
2642 _def_glob
='#undef HAVE_GLOB'
2647 echocheck
"sys/sysinfo.h"
2649 #include <sys/sysinfo.h>
2651 struct sysinfo s_info;
2657 cc_check
&& _sys_sysinfo
=yes
2658 if test "$_sys_sysinfo" = yes ; then
2659 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
2660 _inc_sysinfo
='#include <sys/sysinfo.h>'
2662 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
2664 echores
"$_sys_sysinfo"
2667 echocheck
"Mac OS X APIs"
2668 if test "$_macosx" = auto
; then
2669 if darwin
&& ppc
; then
2673 _def_macosx
='#undef MACOSX'
2674 _noaomodules
="macosx $_noaomodules"
2677 if test "$_macosx" = yes ; then
2679 #include <Carbon/Carbon.h>
2680 #include <QuickTime/QuickTime.h>
2681 #include <CoreAudio/CoreAudio.h>
2685 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
2688 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
2690 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio"
2691 _def_macosx
='#define MACOSX 1'
2692 _aosrc
="$_aosrc ao_macosx.c"
2693 _aomodules
="macosx $_aomodules"
2696 _def_macosx
='#undef MACOSX'
2697 _noaomodules
="macosx $_noaomodules"
2703 echocheck
"Samba support (libsmbclient)"
2704 if test "$_smbsupport" = yes; then
2705 _ld_smb
="-lsmbclient"
2707 if test "$_smbsupport" = auto
; then
2710 #include <libsmbclient.h>
2711 int main(void) { smbc_opendir("smb://"); return 0; }
2713 if cc_check
-lsmbclient ; then
2715 _ld_smb
="-lsmbclient"
2717 if cc_check
-lsmbclient $_ld_dl ; then
2719 _ld_smb
="-lsmbclient $_ld_dl"
2721 if cc_check
-lsmbclient $_ld_dl -lnsl ; then
2723 _ld_smb
="-lsmbclient $_ld_dl -lnsl"
2729 if test "$_smbsupport" = yes; then
2730 _def_smbsupport
="#define LIBSMBCLIENT"
2731 _inputmodules
="smb $_inputmodules"
2733 _def_smbsupport
="#undef LIBSMBCLIENT"
2734 _noinputmodules
="smb $_noinputmodules"
2736 echores
"$_smbsupport"
2745 if test "$_3dfx" = yes ; then
2746 _def_3dfx
='#define HAVE_3DFX 1'
2747 _vosrc
="$_vosrc vo_3dfx.c"
2748 _vomodules
="3dfx $_vomodules"
2750 _def_3dfx
='#undef HAVE_3DFX'
2751 _novomodules
="3dfx $_novomodules"
2757 if test "$_tdfxfb" = yes ; then
2758 _def_tdfxfb
='#define HAVE_TDFXFB 1'
2759 _vosrc
="$_vosrc vo_tdfxfb.c"
2760 _vomodules
="tdfxfb $_vomodules"
2762 _def_tdfxfb
='#undef HAVE_TDFXFB'
2763 _novomodules
="tdfxfb $_novomodules"
2768 if test "$_tdfxvid" = yes ; then
2769 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
2770 _vosrc
="$_vosrc vo_tdfx_vid.c"
2771 _vomodules
="tdfx_vid $_vomodules"
2773 _def_tdfxvid
='#undef HAVE_TDFX_VID'
2774 _novomodules
="tdfx_vid $_novomodules"
2779 if test "$_tga" = yes ; then
2780 _def_tga
='#define HAVE_TGA 1'
2781 _vosrc
="$_vosrc vo_tga.c"
2782 _vomodules
="tga $_vomodules"
2784 _def_tga
='#undef HAVE_TGA'
2785 _novomodules
="tga $_novomodules"
2789 echocheck
"DirectFB headers presence"
2790 if test -z "$_inc_directfb" ; then
2791 for I
in /usr
/include
/usr
/local
/include
; do
2792 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
2793 _inc_directfb
="-I$I/directfb"
2794 echores
"yes (using $_inc_directfb)"
2797 if test -d "$I" && test -f "$I/directfb.h" ; then
2798 _inc_directfb
="-I$I"
2799 echores
"yes (using $_inc_directfb)"
2803 if test -z "$_inc_directfb" ; then
2808 echores
"yes (using $_inc_directfb)"
2810 if test "$_inc_directfb" = "-I/usr/include" ; then
2814 echocheck
"DirectFB"
2815 if test "$_directfb" = auto
; then
2818 #include <directfb.h>
2819 int main(void) { IDirectFB *foo; return 0; }
2821 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
2824 if test "$_directfb" = yes; then
2826 #include <directfb.h>
2828 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
2832 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
2833 _directfb_version
=`"$TMPO"`
2834 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
2835 echores
"yes ($_directfb_version)"
2838 echores
"no (failed to get version)"
2841 echores
"$_directfb"
2844 if test "$_directfb" = yes ; then
2845 _def_directfb
='#define HAVE_DIRECTFB 1'
2846 if test "$_directfb_version" -ge 913; then
2847 _vosrc
="$_vosrc vo_directfb2.c"
2849 _vosrc
="$_vosrc vo_directfb.c"
2851 _vomodules
="directfb $_vomodules"
2852 _ld_directfb
='-ldirectfb'
2854 if test "$_directfb_version" -ge 915; then
2855 _vosrc
="$_vosrc vo_dfbmga.c"
2856 _vomodules
="dfbmga $_vomodules"
2859 _def_directfb
='#undef HAVE_DIRECTFB'
2860 _novomodules
="directfb $_novomodules"
2865 echocheck
"X11 headers presence"
2866 if test -z "$_inc_x11" ; then
2867 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
2868 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
2870 echores
"yes (using $I)"
2874 if test -z "$_inc_x11" ; then
2876 echores
"not found (check if the dev(el) packages are installed)"
2879 echores
"yes (using $_inc_x11)"
2881 if test "$_inc_x11" = "-I/usr/include" ; then
2886 echocheck
"X11 libs presence"
2887 if test -z "$_ld_x11" ; then
2888 for I
in /usr
/X11R
6/lib
/usr
/lib
/X11R6
/usr
/X11
/lib
/usr
/lib32
/usr
/openwin
/lib
/usr
/X11R
6/lib64
; do
2889 if test -d "$I" && ( test -f "$I/libX11.so" ||
test -f "$I/libX11.a" ) ; then
2891 echores
"yes (using $I)"
2895 if test -z "$_ld_x11" ; then
2897 echores
"not found (check if the dev(el) packages are installed)"
2900 echores
"yes (using $_ld_x11)"
2902 _ld_x11
="$_ld_x11 -lXext -lX11 $_ld_sock"
2906 if test "$_x11" != no
; then
2908 #include <X11/Xlib.h>
2909 #include <X11/Xutil.h>
2910 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
2913 cc_check
$_inc_x11 $_ld_x11 && _x11
=yes
2915 if test "$_x11" = yes ; then
2916 _def_x11
='#define HAVE_X11 1'
2917 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
2918 _vomodules
="x11 xover $_vomodules"
2920 _def_x11
='#undef HAVE_X11'
2923 _novomodules
="x11 $_novomodules"
2930 if test "$_x11" = yes ; then
2932 #include <X11/Xmd.h>
2933 #include <X11/Xlib.h>
2934 #include <X11/Xutil.h>
2935 #include <X11/Xatom.h>
2936 #include <X11/extensions/dpms.h>
2938 (void) DPMSQueryExtension(0, 0, 0);
2941 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
2944 if test "$_x11" = yes ; then
2946 #include <X11/Xlib.h>
2947 #include <X11/extensions/dpms.h>
2949 (void) DPMSQueryExtension(0, 0, 0);
2952 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
2954 if test "$_xdpms4" = yes ; then
2955 _def_xdpms
='#define HAVE_XDPMS 1'
2956 echores
"yes (using Xdpms 4)"
2957 elif test "$_xdpms3" = yes ; then
2958 _def_xdpms
='#define HAVE_XDPMS 1'
2959 _ld_x11
="-lXdpms $_ld_x11"
2960 echores
"yes (using Xdpms 3)"
2962 _def_xdpms
='#undef HAVE_XDPMS'
2968 if test "$_x11" = yes && test "$_xv" != no
; then
2970 #include <X11/Xlib.h>
2971 #include <X11/extensions/Xvlib.h>
2972 int main(void) { (void) XvGetPortAttribute(0, 0, 0, 0); return 0; }
2975 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
2979 if test "$_xv" = yes ; then
2980 _def_xv
='#define HAVE_XV 1'
2982 _vosrc
="$_vosrc vo_xv.c"
2983 _vomodules
="xv $_vomodules"
2985 _def_xv
='#undef HAVE_XV'
2986 _novomodules
="xv $_novomodules"
2992 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
2995 #include <X11/Xlib.h>
2996 #include <X11/extensions/Xvlib.h>
2997 #include <X11/extensions/XvMClib.h>
2999 (void) XvMCQueryExtension(0,0,0);
3000 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3003 cc_check
$_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc
=yes
3005 if test "$_xvmc" = yes ; then
3006 _def_xvmc
='#define HAVE_XVMC 1'
3007 _ld_xvmc
="-lXvMC -l$_xvmclib"
3008 _vosrc
="$_vosrc vo_xvmc.c"
3009 _vomodules
="xvmc $_vomodules"
3011 _def_xvmc
='#undef HAVE_XVMC'
3012 _novomodules
="xvmc $_novomodules"
3017 echocheck
"Xinerama"
3018 if test "$_x11" = yes && test "$_xinerama" != no
; then
3020 #include <X11/Xlib.h>
3021 #include <X11/extensions/Xinerama.h>
3022 int main(void) { (void) XineramaIsActive(0); return 0; }
3025 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3029 if test "$_xinerama" = yes ; then
3030 _def_xinerama
='#define HAVE_XINERAMA 1'
3031 _ld_xinerama
='-lXinerama'
3033 _def_xinerama
='#undef HAVE_XINERAMA'
3035 echores
"$_xinerama"
3038 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3039 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3040 # named 'X extensions' or something similar.
3041 # This check may be useful for future mplayer versions (to change resolution)
3042 # If you run into problems, remove '-lXxf86vm'.
3044 if test "$_x11" = yes && test "$_vm" != no
; then
3046 #include <X11/Xlib.h>
3047 #include <X11/extensions/xf86vmode.h>
3048 #include <X11/XF86keysym.h>
3049 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3052 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3056 if test "$_vm" = yes ; then
3057 _def_vm
='#define HAVE_XF86VM 1'
3060 _def_vm
='#undef HAVE_XF86VM'
3066 # Version 2 is preferred to version 1 if available
3067 if test "$_dga" = auto
; then
3069 #include <X11/Xlib.h>
3070 #include <X11/extensions/xf86dga.h>
3071 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3074 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3077 #include <X11/Xlib.h>
3078 #include <X11/extensions/xf86dga.h>
3079 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3081 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3084 _def_dga
='#undef HAVE_DGA'
3085 _def_dga2
='#undef HAVE_DGA2'
3086 if test "$_dga" = 1 ; then
3087 _def_dga
='#define HAVE_DGA 1'
3088 _ld_dga
='-lXxf86dga'
3089 _vosrc
="$_vosrc vo_dga.c"
3090 _vomodules
="dga $_vomodules"
3091 echores
"yes (using DGA 1.0)"
3092 elif test "$_dga" = 2 ; then
3093 _def_dga
='#define HAVE_DGA 1'
3094 _def_dga2
='#define HAVE_DGA2 1'
3095 _ld_dga
='-lXxf86dga'
3096 _vosrc
="$_vosrc vo_dga.c"
3097 _vomodules
="dga $_vomodules"
3098 echores
"yes (using DGA 2.0)"
3099 elif test "$_dga" = no
; then
3101 _novomodules
="dga $_novomodules"
3103 die
"DGA version must be 1 or 2"
3108 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3109 if (test "$_x11" = yes || mingw32 || cygwin
) && test "$_gl" != no
; then
3112 int main(void) { return 0; }
3115 if cc_check
$_inc_x11 $_ld_x11 -lGL -lm ; then
3118 elif cc_check
$_inc_x11 $_ld_x11 -lGL -lm $_ld_pthread ; then
3120 _ld_gl
="-lGL $_ld_pthread"
3121 elif cc_check
-lopengl32 ; then
3124 _ld_gl
="-lopengl32 -lgdi32"
3129 if test "$_gl" = yes ; then
3130 _def_gl
='#define HAVE_GL 1'
3131 if test "$_gl_win32" = yes ; then
3132 _def_gl_win32
='#define GL_WIN32 1'
3133 _vosrc
="$_vosrc vo_gl2.c w32_common.c"
3135 _vosrc
="$_vosrc vo_gl.c vo_gl2.c"
3137 _vomodules
="opengl $_vomodules"
3139 _def_gl
='#undef HAVE_GL'
3140 _def_gl_win32
='#undef GL_WIN32'
3141 _novomodules
="opengl $_novomodules"
3146 echocheck
"/dev/mga_vid"
3147 if test "$_mga" = auto
; then
3149 test -c /dev
/mga_vid
&& _mga
=yes
3151 if test "$_mga" = yes ; then
3152 _def_mga
='#define HAVE_MGA 1'
3153 _vosrc
="$_vosrc vo_mga.c"
3154 _vomodules
="mga $_vomodules"
3156 _def_mga
='#undef HAVE_MGA'
3157 _novomodules
="mga $_novomodules"
3162 # echocheck "syncfb"
3164 # test "$_mga" = yes && _syncfb=yes
3165 # if test "$_syncfb" = yes ; then
3166 # _def_syncfb='#define HAVE_SYNCFB 1'
3167 # _vosrc="$_vosrc vo_syncfb.c"
3169 # _def_syncfb='#undef HAVE_SYNCFB'
3171 # echores "$_syncfb"
3175 if test "$_xmga" = auto
; then
3177 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3179 if test "$_xmga" = yes ; then
3180 _def_xmga
='#define HAVE_XMGA 1'
3181 _vosrc
="$_vosrc vo_xmga.c"
3182 _vomodules
="xmga $_vomodules"
3184 _def_xmga
='#undef HAVE_XMGA'
3185 _novomodules
="xmga $_novomodules"
3191 if test "$_ggi" = auto
; then
3193 #include <ggi/ggi.h>
3194 int main(void) { return 0; }
3197 cc_check
-lggi && _ggi
=yes
3199 if test "$_ggi" = yes ; then
3200 _def_ggi
='#define HAVE_GGI 1'
3202 _vosrc
="$_vosrc vo_ggi.c"
3203 _vomodules
="ggi $_vomodules"
3205 _def_ggi
='#undef HAVE_GGI'
3206 _novomodules
="ggi $_novomodules"
3212 if test "$_aa" = auto
; then
3215 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3218 cc_check
-laa && _aa
=yes
3220 if test "$_aa" = yes ; then
3221 _def_aa
='#define HAVE_AA 1'
3223 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
3227 _vosrc
="$_vosrc vo_aa.c"
3228 _vomodules
="aa $_vomodules"
3230 _def_aa
='#undef HAVE_AA'
3231 _novomodules
="aa $_novomodules"
3237 if test "$_svga" = auto
; then
3241 int main(void) { return 0; }
3244 cc_check
-lvgagl -lvga -lm && _svga
=yes
3246 if test "$_svga" = yes ; then
3247 _def_svga
='#define HAVE_SVGALIB 1'
3248 _ld_svga
='-lvgagl -lvga -lm'
3249 _vosrc
="$_vosrc vo_svga.c"
3250 _vomodules
="svga $_vomodules"
3252 _def_svga
='#undef HAVE_SVGALIB'
3253 _novomodules
="svga $_novomodules"
3259 if test "$_fbdev" = auto
; then
3261 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
3263 if test "$_fbdev" = yes ; then
3264 _def_fbdev
='#define HAVE_FBDEV 1'
3265 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
3266 _vomodules
="fbdev $_vomodules"
3268 _def_fbdev
='#undef HAVE_FBDEV'
3269 _novomodules
="fbdev $_novomodules"
3276 if test "$_dvb" != no
; then
3279 #include <sys/poll.h>
3280 #include <sys/ioctl.h>
3285 #include <ost/dmx.h>
3286 #include <ost/frontend.h>
3287 #include <ost/sec.h>
3288 #include <ost/video.h>
3289 #include <ost/audio.h>
3290 int main(void) {return 0;}
3296 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3297 if cc_check
"$I" ; then
3300 echores
"yes (using $_inc_dvb)"
3304 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3309 if test "$_dvb" = yes ; then
3310 _def_dvb
='#define HAVE_DVB 1'
3311 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3312 _aomodules
="mpegpes(dvb) $_aomodules"
3313 _vomodules
="mpegpes(dvb) $_vomodules"
3315 if test "$_dvbhead" != no
; then
3316 echocheck
"DVB HEAD"
3317 if test "$_dvbhead" != no
; then
3321 #include <sys/poll.h>
3322 #include <sys/ioctl.h>
3327 #include <linux/dvb/dmx.h>
3328 #include <linux/dvb/frontend.h>
3329 #include <linux/dvb/video.h>
3330 #include <linux/dvb/audio.h>
3331 int main(void) {return 0;}
3337 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3338 if cc_check
"$I" ; then
3341 echores
"yes (using $_inc_dvb)"
3345 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3350 if test "$_dvbhead" = yes ; then
3351 _def_dvb
='#define HAVE_DVB_HEAD 1'
3352 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3353 _aomodules
="mpegpes(dvb) $_aomodules"
3354 _vomodules
="mpegpes(dvb) $_vomodules"
3357 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
3358 _def_dvb
='#undef HAVE_DVB'
3359 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
3360 _aomodules
="mpegpes(file) $_aomodules"
3361 _vomodules
="mpegpes(file) $_vomodules"
3364 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
3366 _inputmodules
="dvb $_inputmodules"
3371 echocheck
"PNG support"
3372 if test "$_png" = auto
; then
3375 # Don't check for -lpng on irix since it has its own libpng
3376 # incompatible with the GNU libpng
3377 echores
"disabled on irix (not GNU libpng)"
3383 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3384 printf("libpng: %s\n", png_libpng_ver);
3385 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3388 if cc_check
-lpng -lz -lm ; then
3389 if "$TMPO" >> "$TMPLOG" ; then
3393 echores
"no (mismatch of library and header versions)"
3402 if test "$_png" = yes ; then
3403 _def_png
='#define HAVE_PNG 1'
3405 _vosrc
="$_vosrc vo_png.c"
3406 _vomodules
="png $_vomodules"
3409 _def_png
='#undef HAVE_PNG'
3410 _novomodules
="png $_novomodules"
3414 echocheck
"JPEG support"
3415 if test "$_jpg" = auto
; then
3422 #include <jpeglib.h>
3427 if cc_check
-ljpeg -lm ; then
3428 if "$TMPO" >> "$TMPLOG" ; then
3435 if test "$_jpg" = yes ; then
3436 _def_jpg
='#define HAVE_JPEG 1'
3437 _vosrc
="$_vosrc vo_jpeg.c"
3438 _vomodules
="jpeg $_vomodules"
3442 _def_jpg
='#undef HAVE_JPEG'
3443 _novomodules
="jpeg $_novomodules"
3448 echocheck
"GIF support"
3449 if test "$_gif" = auto
; then
3452 #include <gif_lib.h>
3457 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
3460 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3462 _ld_gif
="-lungif $_ld_x11"
3463 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
3466 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3468 _ld_gif
="-lgif $_ld_x11"
3472 if test "$_gif" = yes ; then
3473 _def_gif
='#define HAVE_GIF 1'
3474 _vosrc
="$_vosrc vo_gif89a.c"
3475 _codecmodules
="gif $_codecmodules"
3476 _vomodules
="gif89a $_vomodules"
3478 _gif
="yes (old version, some encoding functions disabled)"
3479 _def_gif_4
='#undef HAVE_GIF_4'
3483 #include <gif_lib.h>
3484 void catch() { exit(1); }
3486 signal(SIGSEGV, catch); // catch segfault
3487 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
3488 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
3492 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3493 _def_gif_4
='#define HAVE_GIF_4 1'
3497 _def_gif
='#undef HAVE_GIF'
3498 _def_gif_4
='#undef HAVE_GIF_4'
3499 _novomodules
="gif89a $_novomodules"
3500 _nocodecmodules
="gif $_codecmodules"
3506 case "$_gif" in yes*)
3507 echocheck
"broken giflib workaround"
3508 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
3511 #include <gif_lib.h>
3514 printf("UserData is at address %p\n", gif.UserData);
3518 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3519 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
3528 echocheck
"VESA support"
3529 if test "$_vesa" = auto
; then
3530 if x86
&& linux
; then
3534 int main(void) { return 0; }
3536 cc_check
&& _vesa
=yes
3539 if test "$_vesa" = yes ; then
3540 _def_vesa
='#define HAVE_VESA 1'
3541 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
3542 _vomodules
="vesa $_vomodules"
3545 _def_vesa
='#undef HAVE_VESA'
3546 echores
"no (not supported on this OS/architecture)"
3547 _novomodules
="vesa $_novomodules"
3556 if test -z "$_sdlconfig" ; then
3557 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
3558 _sdlconfig
="sdl-config"
3559 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
3560 _sdlconfig
="sdl11-config"
3565 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
3568 int main(int argc, char *argv[]) { return 0; }
3571 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
3572 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
3573 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
3574 if test "$_sdlversion" -gt 116 ; then
3575 if test "$_sdlversion" -lt 121 ; then
3576 _def_sdlbuggy
='#define BUGGY_SDL'
3578 _def_sdlbuggy
='#undef BUGGY_SDL'
3587 if test "$_sdl" = yes ; then
3588 _def_sdl
='#define HAVE_SDL 1'
3590 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
3591 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
3593 _ld_sdl
=`$_sdlconfig --libs`
3594 _inc_sdl
=`$_sdlconfig --cflags`
3596 _vosrc
="$_vosrc vo_sdl.c"
3597 _vomodules
="sdl $_vomodules"
3598 _aosrc
="$_aosrc ao_sdl.c"
3599 _aomodules
="sdl $_aomodules"
3600 echores
"yes (using $_sdlconfig)"
3602 _def_sdl
='#undef HAVE_SDL'
3603 _novomodules
="sdl $_novomodules"
3604 _noaomodules
="sdl $_noaomodules"
3608 echocheck
"Windows waveout"
3609 if test "$_win32waveout" = auto
; then
3611 #include <windows.h>
3612 #include <mmsystem.h>
3613 int main(void) { return 0; }
3616 cc_check
-lwinmm && _win32waveout
=yes
3618 if test "$_win32waveout" = yes ; then
3619 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
3620 _ld_win32libs
="-lwinmm $_ld_win32libs"
3621 _aosrc
="$_aosrc ao_win32.c"
3622 _aomodules
="win32 $_aomodules"
3624 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
3625 _noaomodules
="win32 $_noaomodules"
3627 echores
"$_win32waveout"
3630 if test "$_directx" = auto
; then
3632 #include <windows.h>
3634 int main(void) { return 0; }
3637 cc_check
-lgdi32 && _directx
=yes
3639 if test "$_directx" = yes ; then
3640 _def_directx
='#define HAVE_DIRECTX 1'
3641 _ld_win32libs
="-lgdi32 $_ld_win32libs"
3642 _vosrc
="$_vosrc vo_directx.c"
3643 _vomodules
="directx $_vomodules"
3645 _def_directx
='#undef HAVE_DIRECTX'
3646 _novomodules
="directx $_novomodules"
3651 if test "$_nas" = auto ||
test "$_nas" = yes ; then
3653 #include <audio/audiolib.h>
3654 int main(void) { return 0; }
3657 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 -lm && _nas
=yes
3659 if test "$_nas" = yes ; then
3660 _def_nas
='#define HAVE_NAS 1'
3661 _ld_nas
="-laudio -lXt $_ld_x11"
3662 _aosrc
="$_aosrc ao_nas.c"
3663 _aomodules
="nas $_aomodules"
3665 _noaomodules
="nas $_noaomodules"
3666 _def_nas
='#undef HAVE_NAS'
3671 if test "$_dxr2" = auto
; then
3673 for _inc_dxr2
in "$_inc_dxr2" \
3674 "-I/usr/local/include/dxr2" \
3675 "-I/usr/include/dxr2"; do
3677 #include <dxr2ioctl.h>
3678 int main(void) { return 0; }
3680 cc_check
$_inc_dxr2 && _dxr2
=yes && break
3683 if test "$_dxr2" = yes; then
3684 _def_dxr2
='#define HAVE_DXR2 1'
3685 _vosrc
="$_vosrc vo_dxr2.c"
3686 _aosrc
="$_aosrc ao_dxr2.c"
3687 _aomodules
="dxr2 $_aomodules"
3688 _vomodules
="dxr2 $_vomodules"
3689 echores
"yes (using $_inc_dxr2)"
3691 _def_dxr2
='#undef HAVE_DXR2'
3692 _noaomodules
="dxr2 $_noaomodules"
3693 _novomodules
="dxr2 $_novomodules"
3699 if test "$_dxr3" = auto
; then
3701 #include <linux/em8300.h>
3702 int main(void) { return 0; }
3705 cc_check
&& _dxr3
=yes
3707 if test "$_dxr3" = yes ; then
3708 _def_dxr3
='#define HAVE_DXR3 1'
3709 _vosrc
="$_vosrc vo_dxr3.c"
3710 _vomodules
="dxr3 $_vomodules"
3712 _def_dxr3
='#undef HAVE_DXR3'
3713 _novomodules
="dxr3 $_novomodules"
3714 if test "$_mp1e" = auto
; then
3715 # we don't need mp1e
3722 if test "$_mmx" = no
; then
3723 # mp1e REQUIRES mmx!
3726 if test "$_mp1e" != no
; then
3728 _def_mp1e
='#define USE_MP1E'
3729 _ld_mp1e
='libmp1e/libmp1e.a'
3730 _dep_mp1e
='libmp1e/libmp1e.a'
3733 _def_mp1e
='#undef USE_MP1E'
3741 if test "$_fame" = auto
; then
3743 test "$_dxr2" = yes && _fame
=auto
3744 test "$_dxr3" = yes && _fame
=auto
3745 test "$_dvb" = yes && _fame
=auto
3747 if test "$_fame" = auto
; then
3749 if test -d libfame
&& test -f libfame
/fame.h
; then
3750 # disable fame on cygwin as no sense to port - atmos
3754 echores
"no (no fame dir)"
3760 _def_fame
='#undef USE_LIBFAME'
3761 if test "$_fame" = yes ; then
3762 _def_fame
='#define USE_LIBFAME 1'
3763 _ld_fame
='libfame/libfame.a'
3772 echocheck
"OSS Audio"
3773 if test "$_ossaudio" = auto
; then
3775 #include <sys/ioctl.h>
3777 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
3780 cc_check
&& _ossaudio
=yes
3782 if test "$_ossaudio" = yes ; then
3783 _def_ossaudio
='#define USE_OSS_AUDIO 1'
3784 _aosrc
="$_aosrc ao_oss.c"
3785 _aomodules
="oss $_aomodules"
3786 if test "$_linux_devfs" = yes; then
3787 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
3788 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
3791 #include <sys/ioctl.h>
3793 #ifdef OPEN_SOUND_SYSTEM
3794 int main(void) { return 0; }
3796 #error Not the real thing
3800 cc_check
&& _real_ossaudio
=yes
3801 if test "$_real_ossaudio" = yes; then
3802 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3803 elif netbsd || openbsd
; then
3804 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
3805 _ld_arch
="$_ld_arch -lossaudio"
3807 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3809 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
3812 _def_ossaudio
='#undef USE_OSS_AUDIO'
3813 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
3814 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
3815 _noaomodules
="oss $_noaomodules"
3817 echores
"$_ossaudio"
3821 if test "$_arts" = auto
; then
3823 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
3827 int main(void) { return 0; }
3829 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
3834 if test "$_arts" = yes ; then
3835 _def_arts
='#define USE_ARTS 1'
3836 _aosrc
="$_aosrc ao_arts.c"
3837 _aomodules
="arts $_aomodules"
3838 _ld_arts
=`artsc-config --libs`
3839 _inc_arts
=`artsc-config --cflags`
3841 _noaomodules
="arts $_noaomodules"
3847 if test "$_esd" = auto
; then
3849 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
3853 int main(void) { return 0; }
3855 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
3861 if test "$_esd" = yes ; then
3862 _def_esd
='#define USE_ESD 1'
3863 _aosrc
="$_aosrc ao_esd.c"
3864 _aomodules
="esd $_aomodules"
3865 _ld_esd
=`esd-config --libs`
3866 _inc_esd
=`esd-config --cflags`
3868 echocheck
"esd_get_latency()"
3871 int main(void) { return esd_get_latency(0); }
3873 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
3874 echores
"$_esd_latency"
3876 _def_esd
='#undef USE_ESD'
3877 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
3878 _noaomodules
="esd $_noaomodules"
3881 echocheck
"ALSA audio"
3882 if test "$_alsa" != no
; then
3885 #include <sys/asoundlib.h>
3886 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
3888 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
3891 #include <sys/asoundlib.h>
3892 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3894 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-sys'
3896 #include <alsa/asoundlib.h>
3897 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3899 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
3902 #include <sys/asoundlib.h>
3903 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3905 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-sys'
3907 #include <alsa/asoundlib.h>
3908 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3910 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-alsa'
3912 _def_alsa5
='#undef HAVE_ALSA5'
3913 _def_alsa9
='#undef HAVE_ALSA9'
3914 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
3915 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
3916 if test "$_alsaver" ; then
3917 if test "$_alsaver" = '0.5.x' ; then
3918 _aosrc
="$_aosrc ao_alsa5.c"
3919 _aomodules
="alsa5 $_aomodules"
3920 _def_alsa5
='#define HAVE_ALSA5 1'
3921 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3922 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
3923 elif test "$_alsaver" = '0.9.x-sys' ; then
3924 _aosrc
="$_aosrc ao_alsa9.c"
3925 _aomodules
="alsa9 $_aomodules"
3926 _def_alsa9
='#define HAVE_ALSA9 1'
3927 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3928 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
3929 elif test "$_alsaver" = '0.9.x-alsa' ; then
3930 _aosrc
="$_aosrc ao_alsa9.c"
3931 _aomodules
="alsa9 $_aomodules"
3932 _def_alsa9
='#define HAVE_ALSA9 1'
3933 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
3934 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
3935 elif test "$_alsaver" = '1.0.x-sys' ; then
3936 _aosrc
="$_aosrc ao_alsa9.c"
3937 _aomodules
="alsa9 $_aomodules"
3938 _def_alsa9
="#define ALSA_PCM_OLD_HW_PARAMS_API 1
3939 #define ALSA_PCM_OLD_SW_PARAMS_API 1
3940 #define HAVE_ALSA9 1"
3941 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3942 echores
"yes (using alsa 1.0.x and sys/asoundlib.h)"
3943 elif test "$_alsaver" = '1.0.x-alsa' ; then
3944 _aosrc
="$_aosrc ao_alsa9.c"
3945 _aomodules
="alsa9 $_aomodules"
3946 _def_alsa9
="#define ALSA_PCM_OLD_HW_PARAMS_API 1
3947 #define ALSA_PCM_OLD_SW_PARAMS_API 1
3948 #define HAVE_ALSA9 1"
3949 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
3950 echores
"yes (using alsa 1.0.x and alsa/asoundlib.h)"
3952 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
3954 _noaomodules
="alsa $_noaomodules"
3959 echocheck
"Sun audio"
3960 if test "$_sunaudio" = auto
; then
3962 #include <sys/types.h>
3963 #include <sys/audioio.h>
3964 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
3967 cc_check
&& _sunaudio
=yes
3969 if test "$_sunaudio" = yes ; then
3970 _def_sunaudio
='#define USE_SUN_AUDIO 1'
3971 _aosrc
="$_aosrc ao_sun.c"
3972 _aomodules
="sun $_aomodules"
3974 _def_sunaudio
='#undef USE_SUN_AUDIO'
3975 _noaomodules
="sun $_noaomodules"
3977 echores
"$_sunaudio"
3980 echocheck
"Sun mediaLib"
3981 if test "$_mlib" = auto
; then
3983 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
3986 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
3988 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
3990 if test "$_mlib" = yes ; then
3991 _def_mlib
='#define HAVE_MLIB 1'
3992 _inc_mlib
=" -I${_mlibdir}/include "
3993 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
3995 _def_mlib
='#undef HAVE_MLIB'
4000 echocheck
"SGI audio"
4001 if test "$_sgiaudio" = auto
; then
4002 # check for SGI audio
4004 #include <dmedia/audio.h>
4005 int main(void) { return 0; }
4008 cc_check
&& _sgiaudio
=yes
4010 if test "$_sgiaudio" = "yes" ; then
4011 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
4012 _ld_sgiaudio
='-laudio'
4013 _aosrc
="$_aosrc ao_sgi.c"
4014 _aomodules
="sgi $_aomodules"
4016 _def_sgiaudio
='#undef USE_SGI_AUDIO'
4017 _noaomodules
="sgi $_noaomodules"
4019 echores
"$_sgiaudio"
4022 echocheck
"VCD support"
4023 if linux || bsdos || freebsd || netbsd || sunos
; then
4024 _inputmodules
="vcd $_inputmodules"
4025 _def_vcd
='#define HAVE_VCD 1'
4028 _def_vcd
='#undef HAVE_VCD'
4029 _noinputmodules
="vcd $_noinputmodules"
4030 echores
"not supported on this OS"
4033 echocheck
"DVD support (libmpdvdkit)"
4034 if test "$_dvdkit" = auto
; then
4036 if linux || freebsd || netbsd || darwin || cygwin || mingw32 || openbsd || sunos || hpux
; then
4037 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
4038 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
4041 if test "$_dvdkit" = yes ; then
4042 if test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes ||
test "$_hpux_scsi_h" = yes || darwin || cygwin || mingw32
; then
4043 if test -f "./libmpdvdkit2/Makefile" ; then
4044 _inputmodules
="mpdvdkit2 $_inputmodules"
4045 _dvdread
=libmpdvdkit2
4049 _inputmodules
="mpdvdkit $_inputmodules"
4050 _dvdread
=libmpdvdkit
4053 _noinputmodules
="mpdvdkit $_noinputmodules"
4055 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
4056 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
4057 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
4058 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
4059 if linux || netbsd || openbsd || bsdos
; then
4060 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
4062 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
4066 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
4069 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
4074 _noinputmodules
="mpdvdkit $_noinputmodules"
4076 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
4082 echocheck
"DVD support (libdvdread)"
4083 if test "$_dvdread" = auto
; then
4085 #include <inttypes.h>
4086 #include <dvdread/dvd_reader.h>
4087 #include <dvdread/ifo_types.h>
4088 #include <dvdread/ifo_read.h>
4089 #include <dvdread/nav_read.h>
4090 int main(void) { return 0; }
4093 if test "$_dl" = yes; then
4095 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4099 _def_mpdvdkit
="#undef USE_MPDVDKIT"
4103 _def_dvdread
='#define USE_DVDREAD 1'
4104 _ld_dvdread
='-ldvdread'
4105 _inputmodules
="dvdread $_inputmodules"
4109 _def_dvdread
='#undef USE_DVDREAD'
4110 _noinputmodules
="dvdread $_noinputmodules"
4115 _def_dvdread
='#define USE_DVDREAD 1'
4116 _ld_dvdread
='-Llibmpdvdkit -lmpdvdkit'
4117 _noinputmodules
="dvdread $_noinputmodules"
4118 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
4119 echores
"disabled by libmpdvdkit"
4123 _def_dvdread
='#define USE_DVDREAD 1'
4124 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
4125 _noinputmodules
="dvdread $_noinputmodules"
4126 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
4127 echores
"disabled by libmpdvdkit2"
4131 # dvdnav disabled, it does not work
4132 # echocheck "DVD support (libdvdnav)"
4133 # if test "$_dvdnav" = yes ; then
4135 # #include <dvdnav.h>
4136 # int main(void) { dvdnav_t *dvd=0; return 0; }
4139 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4140 # if test -z "$_dvdnavconfig" ; then
4141 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4142 # _dvdnavconfig="dvdnav-config"
4145 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4147 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4148 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4150 # if test "$_dvdnav" = yes ; then
4152 # _def_dvdnav='#define USE_DVDNAV 1'
4153 # if test -n "$_legal_dvdnavdir" ; then
4154 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4155 # elif test -n "$_dvdnavconfig" ; then
4156 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4158 # _ld_css="$_ld_css -ldvdnav"
4160 # if test -n "$_dvdnavconfig" ; then
4161 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4162 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4164 # if test -n "$_dvdnavdir" ; then
4165 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4167 # _inputmodules="dvdnav $_inputmodules"
4170 # _def_dvdnav='#undef USE_DVDNAV'
4171 # _noinputmodules="dvdnav $_noinputmodules"
4175 echocheck
"cdparanoia"
4176 if test "$_cdparanoia" = auto
; then
4178 #include <cdda_interface.h>
4179 #include <cdda_paranoia.h>
4180 // This need a better test. How ?
4181 int main(void) { return 1; }
4184 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4187 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
4188 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4189 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
4194 if test "$_cdparanoia" = yes ; then
4195 _def_cdparanoia
='#define HAVE_CDDA'
4196 _inputmodules
="cdda $_inputmodules"
4197 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4198 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
4200 _def_cdparanoia
='#undef HAVE_CDDA'
4201 _noinputmodules
="cdda $_noinputmodules"
4203 echores
"$_cdparanoia"
4205 echocheck
"freetype >= 2.0.9"
4206 if test "$_freetype" = auto
; then
4207 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
4210 #include <ft2build.h>
4211 #include FT_FREETYPE_H
4212 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4213 #error "Need FreeType 2.0.9 or newer"
4218 FT_Int major=-1,minor=-1,patch=-1;
4219 int err=FT_Init_FreeType(&library);
4221 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4224 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4225 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4226 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4227 (int)major,(int)minor,(int)patch );
4228 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4229 printf("Library and header version mismatch! Fix it in your distribution!\n");
4236 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
4241 if test "$_freetype" = yes ; then
4242 _def_freetype
='#define HAVE_FREETYPE'
4243 _inc_freetype
=`$_freetypeconfig --cflags`
4244 _ld_freetype
=`$_freetypeconfig --libs`
4246 _def_freetype
='#undef HAVE_FREETYPE'
4248 echores
"$_freetype"
4250 if test "$_freetype" = no
; then
4253 echocheck
"fontconfig"
4254 if test "$_fontconfig" = auto
; then
4255 if ( pkg-config fontconfig
--modversion) > /dev
/null
2>&1 ; then
4258 #include <fontconfig/fontconfig.h>
4263 printf("Couldn't initialize fontconfig lib\n");
4271 cc_check
`pkg-config fontconfig --cflags --libs` && ( $TMPO >> "$TMPLOG" ) && _fontconfig
=yes
4276 if test "$_fontconfig" = yes ; then
4277 _def_fontconfig
='#define HAVE_FONTCONFIG'
4278 _inc_fontconfig
=`pkg-config fontconfig --cflags`
4279 _ld_fontconfig
=`pkg-config fontconfig --libs`
4281 _def_fontconfig
='#undef HAVE_FONTCONFIG'
4283 echores
"$_fontconfig"
4285 echocheck
"fribidi with charsets"
4286 if test "$_fribidi" = yes ; then
4287 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
4290 #include <fribidi/fribidi.h>
4293 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4294 printf("Fribidi headers are not consistents with the library!\n");
4301 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
4306 if test "$_fribidi" = yes ; then
4307 _def_fribidi
='#define USE_FRIBIDI'
4308 _inc_fribidi
=`$_fribidiconfig --cflags`
4309 _ld_fribidi
=`$_fribidiconfig --libs`
4311 _def_fribidi
='#undef USE_FRIBIDI'
4319 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4322 cc_check
-lz && _zlib
=yes
4323 if test "$_zlib" = yes ; then
4324 _def_zlib
='#define HAVE_ZLIB 1'
4327 _def_zlib
='#undef HAVE_ZLIB'
4334 if test "$_rtc" = auto
; then
4336 #include <sys/ioctl.h>
4337 #include <linux/rtc.h>
4338 int main(void) { return RTC_IRQP_READ; }
4341 cc_check
&& _rtc
=yes
4346 echores
"no (Linux specific feature)"
4348 if test "$_rtc" = yes ; then
4349 _def_rtc
='#define HAVE_RTC 1'
4351 _def_rtc
='#undef HAVE_RTC'
4355 echocheck
"external liblzo support"
4356 if test "$_liblzo" = auto
; then
4360 int main(void) { lzo_init();return 0; }
4362 cc_check
-llzo && _liblzo
=yes
4364 if test "$_liblzo" = yes ; then
4365 _def_liblzo
='#define USE_LIBLZO 1'
4367 _codecmodules
="liblzo $_codecmodules"
4369 _def_liblzo
='#undef USE_LIBLZO'
4370 _nocodecmodules
="liblzo $_nocodecmodules"
4375 echocheck
"mad support"
4376 if test "$_mad" = auto
; then
4380 int main(void) { return 0; }
4382 cc_check
$_madlibdir -lmad && _mad
=yes
4384 if test "$_mad" = yes ; then
4385 _def_mad
='#define USE_LIBMAD 1'
4387 _codecmodules
="libmad $_codecmodules"
4389 _def_mad
='#undef USE_LIBMAD'
4390 _nocodecmodules
="libmad $_nocodecmodules"
4395 echocheck
"OggVorbis support"
4396 if test "$_vorbis" = auto
; then
4399 #include <vorbis/codec.h>
4400 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
4402 cc_check
-lvorbis -logg -lm && _vorbis
=yes
4404 if test "$_vorbis" = yes ; then
4405 _def_vorbis
='#define HAVE_OGGVORBIS 1'
4406 if test "$_tremor" = yes ; then
4407 _def_tremor
='#define TREMOR 1'
4408 _ld_vorbis
='-lvorbisidec'
4410 _def_tremor
='#undef TREMOR'
4411 _ld_vorbis
='-lvorbis -logg'
4413 _codecmodules
="libvorbis $_codecmodules"
4415 _def_vorbis
='#undef HAVE_OGGVORBIS'
4416 _def_tremor
='#undef TREMOR'
4417 _nocodecmodules
="libvorbis $_nocodecmodules"
4419 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
4420 echores
"$_vorbis (Tremor)"
4425 echocheck
"OggTheora support (only the CVS version!)"
4426 if test "$_theora" = auto
; then
4429 #include <theora/theora.h>
4433 /* theora is in flux, make sure that all interface routines and
4434 * datatypes exist and work the way we expect it, so we don't break
4444 theora_info_init (&inf);
4445 theora_comment_init (&tc);
4449 /* we don't want to execute this kind of nonsense; just for making sure
4450 * that compilation works... */
4451 memset(&op, 0, sizeof(op));
4452 r = theora_decode_header (&inf, &tc, &op);
4453 r = theora_decode_init (&st, &inf);
4454 t = theora_granule_time (&st, op.granulepos);
4455 r = theora_decode_packetin (&st, &op);
4456 r = theora_decode_YUVout (&st, &yuv);
4462 cc_check
-ltheora -logg -lm && _theora
=yes
4464 if test "$_theora" = yes ; then
4465 _def_theora
='#define HAVE_OGGTHEORA 1'
4466 _codecmodules
="libtheora $_codecmodules"
4467 _ld_theora
="-ltheora -logg"
4469 _def_theora
='#undef HAVE_OGGTHEORA'
4470 _nocodecmodules
="libtheora $_nocodecmodules"
4475 echocheck
"Matroska support (0.6.0 or later)"
4476 if test "$_matroska" != no
; then
4481 #include <ebml/EbmlVersion.h>
4482 #include <matroska/KaxVersion.h>
4484 #if LIBEBML_VERSION < 000600
4485 #error libebml is too old
4488 #if LIBMATROSKA_VERSION < 000600
4489 #error libmatroska is too old
4492 int main(void) { return 0; }
4494 cc_check
-lmatroska -lebml -lstdc++ && _matroska
=yes
4495 if test "$_matroska" = no
; then
4496 _saved_inc_extra
=$_inc_extra
4497 _inc_extra
="$_inc_extra -I/usr/local/include"
4498 cc_check
-lmatroska -lebml -lstdc++ && _matroska
=yes
4499 if test "$_matroska" = no
; then
4500 _inc_extra
=$_saved_inc_extra
4503 rm ${TMPC} > /dev
/null
2> /dev
/null
4506 if test "$_matroska" = yes ; then
4507 _def_matroska
='#define HAVE_MATROSKA 1'
4508 _inputmodules
="matroska $_inputmodules"
4509 _ld_matroska
="-lmatroska -lebml -lstdc++"
4511 _def_matroska
='#undef HAVE_MATROSKA'
4512 _noinputmodules
="matroska $_noinputmodules"
4514 echores
"$_matroska"
4518 echocheck
"internal FAAD2 (AAC) support"
4519 _inc_faad
="-I`pwd`/libfaad2"
4520 if test "$_faad_internal" = auto
; then
4521 # the faad check needs a config.h file
4522 if not
test -f "config.h" ; then
4525 # internal faad: check if our dear gcc is able to compile it...
4526 cp "`pwd`/libfaad2/cfft.c" $TMPC
4527 if ( cc_check
-c -O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
4530 _faad_internal
="no (broken gcc)"
4533 if test "$_faad_internal" = yes ; then
4534 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
4537 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
4540 echores
"$_faad_internal"
4543 echocheck
"external FAAD2 (AAC) support"
4544 if test "$_faad_external" != no
; then
4546 _inc_faad
="$_inc_extra"
4547 # external faad: check if it's really faad2 :)
4548 if test "$_faad_external" = auto
; then
4552 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
4554 cc_check
$_inc_faad $_ld_faad -lm && _faad_external
=yes
4556 echores
"$_faad_external"
4561 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
4562 echocheck
"FAAD2 version"
4565 #ifndef FAAD_MIN_STREAMSIZE
4566 #error Too old version
4569 #ifdef FAAD2_VERSION
4570 printf("%s\n",FAAD2_VERSION);
4577 if cc_check
-I- $_inc_faad $_ld_faad -lm && "$TMPO" >> "$TMPLOG" ; then
4578 _faad_version
=`"$TMPO"`
4579 _faad_tempversion
=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
4580 _def_faad_version
="#define FAADVERSION $_faad_tempversion"
4581 echores
"$_faad_version"
4585 echores
"failed to get version"
4589 if test "$_faad_external" = yes; then
4590 _def_faad
='#define HAVE_FAAD 1'
4591 _codecmodules
="faad2(external) $_codecmodules"
4592 elif test "$_faad_internal" = yes; then
4593 _def_faad
='#define HAVE_FAAD 1'
4594 _codecmodules
="faad2(internal) $_codecmodules"
4596 _def_faad
='#undef HAVE_FAAD'
4597 _nocodecmodules
="faad2 $_nocodecmodules"
4603 if test "$_win32" = auto
; then
4607 _win32
=no
# x86 arch only
4611 if test "$_win32" != no
; then
4612 if test -z "$_win32libdir" ; then
4613 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/win32
/usr
/lib
/win32
; do
4614 if test -d "$I" ; then
4622 echocheck
"Win32 codec DLL support"
4623 if test "$_win32" = auto
; then
4625 test -n "$_win32libdir" && _win32
=yes
4627 if test "$_win32" = yes ; then
4628 _def_win32
='#define USE_WIN32DLL 1'
4629 echores
"yes (using $_win32libdir)"
4631 _def_win32
='#undef USE_WIN32DLL'
4632 _nocodecmodules
="win32 $_nocodecmodules"
4637 if test "$_win32" != no
; then
4638 _def_win32_loader
='#undef WIN32_LOADER'
4639 echocheck
"Win32 loader support"
4640 if not cygwin
&& not mingw32
; then
4641 _ld_win32
='loader/libloader.a'
4642 _dep_win32
='loader/libloader.a'
4643 _codecmodules
="win32 $_codecmodules"
4645 x86
&& _ld_win32
="$_ld_win32 -li386"
4647 _def_win32_loader
='#define WIN32_LOADER 1'
4650 _ld_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4651 _dep_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4652 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
4653 _codecmodules
="win32 $_codecmodules"
4654 echores
"no (using native windows)"
4658 echocheck
"DirectShow"
4661 if test "$_dshow" != no
; then
4663 # check if compiler supports C++ and C++-libs are installed correctly
4664 cat > "$TMPCPP" << EOF
4668 public: int myreturn(void);
4670 int myclass::myreturn(void) { ret = 0; return ret ; }
4671 int main(void) { myclass myobject; return myobject.myreturn(); }
4673 echo "------------------------------------------------" >> "$TMPLOG"
4674 cat "$TMPCPP" >> "$TMPLOG"
4675 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
4677 echores
"yes (C++ is ok)"
4682 Your C++ runtime environment is broken.
4684 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
4685 Are the C++ libraries correctly installed?
4686 Check for libstdc++ and in (/etc/)ld.so.conf.
4688 If you do not need DirectShow support, you can also use:
4689 ./configure --disable-dshow <your-normal-configure-options>
4690 to disable building the C++ based DirectShow code.
4693 die
"$_cc's C++ is broken"
4701 if test "$_dshow" = yes ; then
4702 _def_dshow
='#define USE_DIRECTSHOW 1'
4703 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4704 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4705 _codecmodules
="dshow/dmo $_codecmodules"
4707 _def_dshow
='#undef USE_DIRECTSHOW'
4708 _nocodecmodules
="dshow/dmo $_nocodecmodules"
4712 echocheck
"XAnim DLL"
4713 if test "$_xanim" = auto
; then
4715 if test "$_dl" = yes ; then
4716 if test -z "$_xanimlibdir" ; then
4717 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
4718 if test -d "$I" ; then
4724 test "$_xanimlibdir" && _xanim
=yes
4725 if test "$_xanim" = yes ; then
4726 echores
"yes (using $_xanimlibdir)"
4728 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4731 echores
"no (dynamic loader support needed)"
4734 echores
"$_xanim (using $_xanimlibdir)"
4736 if test "$_xanim" = yes ; then
4737 _def_xanim
='#define USE_XANIM 1'
4738 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
4739 _codecmodules
="xanim $_codecmodules"
4741 _def_xanim
='#undef USE_XANIM'
4742 _def_xanim_path
='#undef XACODEC_PATH'
4743 _nocodecmodules
="xanim $_nocodecmodules"
4746 echocheck
"RealPlayer DLL"
4747 if test "$_real" = auto
; then
4749 if test "$_dl" = yes ||
test "$_win32" = yes ; then
4750 # if test "$_dl" = yes ; then
4751 if linux || freebsd || netbsd || cygwin || mingw32
; then
4754 echores
"no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW)"
4756 if test "$_real" = yes ; then
4757 if test -z "$_reallibdir" ; then
4758 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
4759 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
4760 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
4762 if test -d "$I" ; then
4768 test "$_reallibdir" || _real
=no
4769 if test "$_real" = yes ; then
4770 echores
"yes (using $_reallibdir)"
4772 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4776 echores
"no (dynamic loader support needed)"
4779 echores
"$_real (using $_reallibdir)"
4781 if test "$_real" = yes ; then
4782 _def_real
='#define USE_REALCODECS 1'
4783 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
4784 _codecmodules
="real $_codecmodules"
4786 _def_real
='#undef USE_REALCODECS'
4787 _def_real_path
="#undef REALCODEC_PATH"
4788 _nocodecmodules
="real $_nocodecmodules"
4792 if test -z "$_livelibdir" ; then
4793 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
4794 if test -d "$I" ; then
4801 echocheck
"LIVE.COM Streaming Media libraries"
4802 if test "$_live" = auto
&& test "$_network" = yes ; then
4804 test "$_livelibdir" || _live
=no
4805 # TODO: deeper, more reliable test of libs, and version!
4806 # (users may have empty live/ dir or something different there, for
4807 # example 'live config files', or they may have old, incompatibel version)
4809 if test "$_live" = yes && test "$_network" = yes ; then
4810 echores
"yes (using $_livelibdir)"
4811 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
4812 _live_libs_def
="# LIVE.COM Streaming Media libraries:
4813 LIVE_LIB_DIR = $_livelibdir
4814 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
4815 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
4816 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
4817 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
4818 LIVE_LIBS += -lstdc++"
4819 _ld_live
='$(LIVE_LIBS)'
4820 _inputmodules
="live.com $_inputmodules"
4823 _def_live
='#undef STREAMING_LIVE_DOT_COM'
4824 _noinputmodules
="live.com $_noinputmodules"
4829 if test "$_iconv" = auto
; then
4830 _iconv_tmp
='#include <iconv.h>'
4836 #define INBUFSIZE 1024
4837 #define OUTBUFSIZE 4096
4839 char inbuffer[INBUFSIZE];
4840 char outbuffer[OUTBUFSIZE];
4845 char *tocode="UTF-8";
4846 char *fromcode="cp1250";
4847 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
4848 while ((numread = read (0, inbuffer, INBUFSIZE))) {
4849 char *iptr=inbuffer;
4850 char *optr=outbuffer;
4851 size_t inleft=numread;
4852 size_t outleft=OUTBUFSIZE;
4853 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
4855 write (1, outbuffer, OUTBUFSIZE - outleft);
4858 if (iconv_close(icdsc) == -1)
4864 if cc_check
-lm -liconv ; then
4868 cc_check
-lm && _iconv
=yes
4871 if test "$_iconv" = yes ; then
4872 _def_iconv
='#define USE_ICONV 1'
4874 _def_iconv
='#undef USE_ICONV'
4879 echocheck
"FFmpeg libavcodec (static)"
4880 if test "$_libavcodec" = auto
; then
4881 # Note: static linking is preferred to dynamic linking
4883 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
4884 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
4888 echores
"no (old ffmpeg version, use CVS !)"
4891 echores
"no (see DOCS/HTML/en/codecs.html)"
4894 echores
"$_libavcodec"
4897 _def_haveffpostprocess
='no'
4898 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
4899 _def_haveffpostprocess
='yes'
4902 if test "$_libavcodec" != yes ; then
4903 echocheck
"FFmpeg libavcodec (dynamic)"
4904 if test "$_libavcodecso" = auto
; then
4906 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
4908 #define FF_POSTPROCESS 1
4909 #include <ffmpeg/avcodec.h>
4911 avcodec_find_encoder_by_name("");
4915 if cc_check
-lavcodec -lm ; then
4917 echores
"yes (using libavcodec.so)"
4919 echores
"no (libavcodec.so is broken/obsolete)"
4922 echores
"$_libavcodecso"
4926 _def_libavcodec
='#undef USE_LIBAVCODEC'
4927 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
4928 _def_ffpostprocess
='#undef FF_POSTPROCESS'
4929 if test "$_libavcodec" = yes ; then
4930 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4931 _ld_libavcodec
='libavcodec/libavcodec.a'
4932 _dep_libavcodec
='libavcodec/libavcodec.a'
4933 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
4934 _codecmodules
="libavcodec $_codecmodules"
4935 elif test "$_libavcodecso" = yes ; then
4936 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4937 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
4938 _ld_libavcodec
='-lavcodec'
4939 _codecmodules
="libavcodec.so $_codecmodules"
4941 _nocodecmodules
="libavcodec $_nocodecmodules"
4944 echocheck
"libdv-0.9.5+"
4945 if test "$_libdv" = auto
; then
4948 #include <libdv/dv.h>
4949 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
4951 cc_check
-ldv -lm && _libdv
=yes
4953 if test "$_libdv" = yes ; then
4954 _def_libdv
='#define HAVE_LIBDV095 1'
4956 _codecmodules
="libdv $_codecmodules"
4958 _def_libdv
='#undef HAVE_LIBDV095'
4959 _nocodecmodules
="libdv $_nocodecmodules"
4964 if test "$_zr" = auto
; then
4965 #36067's seem to identify themselves as 36057PQC's, so the line
4966 #below should work for 36067's and 36057's.
4967 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
4973 if test "$_zr" = yes ; then
4974 if test "$_libavcodec" = yes ; then
4975 _def_zr
='#define HAVE_ZR 1'
4976 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
4977 _vomodules
="zr zr2 $_vomodules"
4980 echores
"libavcodec (static) is required by zr, sorry"
4981 _novomodules
="zr $_novomodules"
4982 _def_zr
='#undef HAVE_ZR'
4985 _def_zr
='#undef HAVE_ZR'
4986 _novomodules
="zr zr2 $_novomodules"
4991 if test "$_bl" = yes ; then
4992 _def_bl
='#define HAVE_BL 1'
4993 _vosrc
="$_vosrc vo_bl.c"
4994 _vomodules
="bl $_vomodules"
4996 _def_bl
='#undef HAVE_BL'
4997 _novomodules
="bl $_novomodules"
5004 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
5006 _ld_xvid
="$_ld_xvid -lxvidcore -lm"
5007 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5009 _def_xvid3
='#define HAVE_XVID3 1'
5010 _def_xvid4
='#undef HAVE_XVID4'
5011 _codecmodules
="xvid $_codecmodules"
5015 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
5017 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5019 _def_xvid3
='#undef HAVE_XVID3'
5020 _def_xvid4
='#define HAVE_XVID4 1'
5021 _codecmodules
="xvid $_codecmodules"
5025 _def_xvid3
='#undef HAVE_XVID3'
5026 _def_xvid4
='#undef HAVE_XVID4'
5027 _nocodecmodules
="xvid $_nocodecmodules"
5033 _def_decore_xvid
='#undef DECORE_XVID'
5034 _def_encore_xvid
='#undef ENCORE_XVID'
5035 if test "$_xvid" = yes ; then
5036 echocheck
"DivX4 compatibility in XviD"
5039 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5041 cc_check
-lm "$_ld_xvid" && _xvidcompat
=yes
5042 echores
"$_xvidcompat"
5046 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
5047 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5050 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5052 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5054 _ld_decore
='-ldivxdecore'
5055 _def_decore
='#define NEW_DECORE 1'
5056 _def_divx
='#define USE_DIVX'
5057 _def_divx5
='#undef DECORE_DIVX5'
5058 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5059 _codecmodules
="divx4linux $_codecmodules"
5060 echores
"DivX4linux (with libdivxdecore.so)"
5062 # if test "$_divx4linux" != no ; then
5064 # OdivxPP disabled because of:
5065 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5068 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5070 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5072 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5073 _ld_decore
='-ldivxdecore'
5074 _def_decore
='#define NEW_DECORE 1'
5075 _def_divx
='#define USE_DIVX'
5076 _def_divx5
='#define DECORE_DIVX5 1'
5077 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5078 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5079 _codecmodules
="divx5linux $_codecmodules"
5080 _nocodecmodules
="divx4linux $_nocodecmodules"
5081 echores
"DivX5linux (with libdivxdecore.so)"
5082 elif test "$_opendivx" != no
; then
5084 _ld_decore
='opendivx/libdecore.a'
5085 _def_decore
='#undef NEW_DECORE'
5086 _def_divx
='#define USE_DIVX'
5087 _def_divx5
='#undef DECORE_DIVX5'
5088 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
5089 _codecmodules
="opendivx $_codecmodules"
5090 _nocodecmodules
="divx5linux $_nocodecmodules"
5092 elif test "$_xvidcompat" = yes ; then
5095 _def_decore
='#define NEW_DECORE 1'
5096 _def_divx
='#define USE_DIVX 1'
5097 _def_divx5
='#undef DECORE_DIVX5'
5098 _def_decore_xvid
='#define DECORE_XVID 1'
5099 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5100 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
5101 echores
"XviD compat."
5105 _def_decore
='#undef NEW_DECORE'
5106 _def_divx
='#undef USE_DIVX'
5107 _def_divx5
='#undef DECORE_DIVX5'
5108 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5109 _nocodecmodules
="opendivx $_nocodecmodules"
5115 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5116 if test "$_mencoder" != no
; then
5118 echocheck
"libmp3lame (for mencoder)"
5121 #include <lame/lame.h>
5122 int main(void) { lame_version_t lv; (void) lame_init(); get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor); return 0; }
5124 # Note: libmp3lame usually depends on vorbis
5125 cc_check
-lmp3lame $_ld_vorbis -lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
5126 if test "$_mp3lame" = yes ; then
5127 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
5128 _def_cfg_mp3lame
="#define CONFIG_MP3LAME `$TMPO`"
5129 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
5131 _def_mp3lame
='#undef HAVE_MP3LAME'
5132 _def_cfg_mp3lame
='#undef CONFIG_MP3LAME'
5137 echocheck
"DivX4linux encore (for mencoder)"
5139 #include <encore2.h>
5140 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5142 if test "$_divx4linux" != no
&& cc_check
-ldivxencore -lm ; then
5143 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5144 _ld_encore
='-ldivxencore'
5145 echores
"DivX4linux (with libdivxencore.so)"
5146 elif test "$_xvidcompat" = yes ; then
5147 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5149 _def_encore_xvid
='#define ENCORE_XVID 1'
5150 echores
"XviD compat."
5152 _def_encore
='#undef HAVE_DIVX4ENCORE'
5158 echocheck
"mencoder"
5159 _mencoder_flag
='#undef HAVE_MENCODER'
5160 if test "$_mencoder" = yes ; then
5161 _mencoder_flag
='#define HAVE_MENCODER'
5163 echores
"$_mencoder"
5165 echocheck
"fastmemcpy"
5166 # fastmemcpy check is done earlier with tests of CPU & binutils features
5167 if test "$_fastmemcpy" = yes ; then
5168 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
5170 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
5172 echores
"$_fastmemcpy"
5174 echocheck
"UniquE RAR File Library"
5175 if test "$_unrarlib" = yes ; then
5176 _def_unrarlib
='#define USE_UNRARLIB 1'
5178 _def_unrarlib
='#undef USE_UNRARLIB'
5180 echores
"$_unrarlib"
5182 echocheck
"TV interface"
5183 if test "$_tv" = yes ; then
5184 _def_tv
='#define USE_TV 1'
5185 _inputmodules
="tv $_inputmodules"
5187 _noinputmodules
="tv $_noinputmodules"
5188 _def_tv
='#undef USE_TV'
5192 echocheck
"EDL support"
5193 if test "$_edl" = yes ; then
5194 _def_edl
='#define USE_EDL'
5195 _inputmodules
="edl $_inputmodules"
5197 _noinputmodules
="edl $_noinputmodules"
5198 _def_edl
='#undef USE_EDL'
5202 echocheck
"*BSD BrookTree 848 TV interface"
5203 if test "$_tv_bsdbt848" = auto
; then
5205 if test "$_tv" = yes ; then
5207 #include <sys/types.h>
5208 #if defined(__NetBSD__)
5209 #include <dev/ic/bt8xx.h>
5211 #include <machine/ioctl_bt848.h>
5213 int main(void) { return 0; }
5215 cc_check
&& _tv_bsdbt848
=yes
5218 if test "$_tv_bsdbt848" = yes ; then
5219 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
5220 _inputmodules
="tv-bsdbt848 $_inputmodules"
5222 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
5223 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
5225 echores
"$_tv_bsdbt848"
5227 echocheck
"Video 4 Linux TV interface"
5228 if test "$_tv_v4l" = auto
; then
5230 if test "$_tv" = yes && linux
; then
5231 for I
in /dev
/video
/dev
/video?
; do
5232 if test -c $I ; then
5235 #include <linux/videodev.h>
5236 int main(void) { return 0; }
5238 cc_check
&& _tv_v4l
=yes
5244 if test "$_tv_v4l" = yes ; then
5245 _def_tv_v4l
='#define HAVE_TV_V4L 1'
5246 _inputmodules
="tv-v4l $_inputmodules"
5248 _noinputmodules
="tv-v4l $_noinputmodules"
5249 _def_tv_v4l
='#undef HAVE_TV_V4L'
5254 echocheck
"Video 4 Linux 2 TV interface"
5255 if test "$_tv_v4l2" = auto
; then
5257 if test "$_tv" = yes && linux
; then
5258 for I
in /dev
/video
/dev
/video?
; do
5259 if test -c $I ; then
5266 if test "$_tv_v4l2" = yes ; then
5267 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
5268 _inputmodules
="tv-v4l2 $_inputmodules"
5270 _noinputmodules
="tv-v4l2 $_noinputmodules"
5271 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
5276 echocheck
"audio select()"
5277 if test "$_select" = no
; then
5278 _def_select
='#undef HAVE_AUDIO_SELECT'
5279 elif test "$_select" = yes ; then
5280 _def_select
='#define HAVE_AUDIO_SELECT 1'
5286 # FIXME network check
5287 if test "$_network" != no
; then
5288 _def_network
='#define MPLAYER_NETWORK 1'
5289 _ld_network
="$_ld_sock"
5290 _inputmodules
="network $_inputmodules"
5292 _noinputmodules
="network $_noinputmodules"
5293 _def_network
='#undef MPLAYER_NETWORK'
5298 if test "$_ftp" != no
; then
5299 _def_ftp
='#define HAVE_FTP 1'
5300 _inputmodules
="ftp $_inputmodules"
5302 _noinputmodules
="ftp $_noinputmodules"
5303 _def_ftp
='#undef HAVE_FTP'
5308 echocheck
"byte order"
5309 if test "$_big_endian" = auto
; then
5311 #include <inttypes.h>
5313 volatile uint32_t i=0x01234567;
5314 return (*((uint8_t*)(&i))) == 0x67;
5324 echo -n "failed to autodetect byte order, defaulting to "
5327 if test "$_big_endian" = yes ; then
5328 _byte_order
='Big Endian'
5329 _def_words_endian
='#define WORDS_BIGENDIAN 1'
5331 _byte_order
='Little Endian'
5332 _def_words_endian
='#undef WORDS_BIGENDIAN'
5334 echores
"$_byte_order"
5336 echocheck
"shared postprocess lib"
5337 echores
"$_shared_pp"
5339 echocheck
"OSD menu"
5340 if test "$_menu" = yes ; then
5341 _def_menu
='#define HAVE_MENU 1'
5343 _def_menu
='#undef HAVE_MENU'
5347 # Check to see if they want QTX codecs enabled
5348 echocheck
"QTX codecs"
5349 if test "$_qtx" = auto
; then
5352 if test "$_qtx" = yes ; then
5353 _def_qtx
='#define USE_QTX_CODECS 1'
5354 _codecmodules
="qtx $_codecmodules"
5356 _def_qtx
='#undef USE_QTX_CODECS'
5357 _nocodecmodules
="qtx $_nocodecmodules"
5362 echocheck
"Subtitles sorting"
5363 if test "$_sortsub" = yes ; then
5364 _def_sortsub
='#define USE_SORTSUB 1'
5366 _def_sortsub
='#undef USE_SORTSUB'
5371 echocheck
"XMMS inputplugin support"
5372 if test "$_xmms" = yes ; then
5374 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
5375 if test -z "$_xmmsplugindir" ; then
5376 _xmmsplugindir
=`xmms-config --input-plugin-dir`
5378 if test -z "$_xmmslibdir" ; then
5379 _xmmslibdir
=`xmms-config --exec-prefix`/lib
5382 if test -z "$_xmmsplugindir" ; then
5383 _xmmsplugindir
=/usr
/lib
/xmms
/Input
5385 if test -z "$_xmmslibdir" ; then
5386 _xmmslibdir
=/usr
/lib
5390 _def_xmms
='#define HAVE_XMMS 1'
5392 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
5394 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
5397 _def_xmms
='#undef HAVE_XMMS'
5401 echocheck
"FLAC support"
5402 if ! test "$_flac" = "no" ; then
5403 if ! test -f libmpflac
/dither.c
; then
5405 echores
"no (necessary files missing)"
5408 if ! test -f libmpflac
/stream_decoder.c
; then
5411 if test "$_external_flac" = "yes" ; then
5413 #include <FLAC/stream_decoder.h>
5418 FLAC__StreamDecoder *fdec = FLAC__stream_decoder_new();
5419 return fdec != NULL;
5423 if cc_check
-lFLAC -lm ; then
5431 if test "$_flac" = external
; then
5432 _def_flac
='#define HAVE_FLAC 1'
5433 #Still use dither.c & replay_gain from libmpflac
5434 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5436 _ld_flac
='-lFLAC -lm -Llibmpflac -lmpflac'
5437 _codecmodules
="flac(external) $_codecmodules"
5438 echores
"yes (using external libFLAC)"
5440 if test "$_flac" = yes ; then
5441 _def_flac
='#define HAVE_FLAC 1'
5442 #use decoder, dither.c & replay_gain from libmpflac
5443 _def_mpflac
='#define USE_MPFLAC_DECODER 1'
5445 _ld_flac
='-Llibmpflac -lmpflac'
5446 _codecmodules
="flac(internal) $_codecmodules"
5447 echores
"yes (using internal libmpflac)"
5449 _def_flac
='#undef HAVE_FLAC'
5450 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5453 _nocodecmodules
="flac $_nocodecmodules"
5459 if test "$_inet6" = auto
; then
5461 #include <sys/types.h>
5462 #include <sys/socket.h>
5463 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
5470 if test "$_inet6" = yes ; then
5471 _def_inet6
='#define HAVE_AF_INET6 1'
5473 _def_inet6
='#undef HAVE_AF_INET6'
5478 echocheck
"gethostbyname2"
5479 if test "$_gethostbyname2" = auto
; then
5481 #include <sys/types.h>
5482 #include <sys/socket.h>
5484 int main(void) { gethostbyname2("", AF_INET); }
5492 if test "$_gethostbyname2" = yes ; then
5493 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
5495 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
5497 echores
"$_gethostbyname2"
5499 # --------------- GUI specific tests begin -------------------
5502 if test "$_gui" = yes ; then
5504 # Required libraries
5505 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
5506 test "$_x11" != yes && die
"X11 support required for GUI compilation"
5508 echocheck
"XShape extension"
5510 if test "$_x11" = yes ; then
5512 #include <X11/Xlib.h>
5513 #include <X11/Xproto.h>
5514 #include <X11/Xutil.h>
5515 #include <X11/extensions/shape.h>
5518 char *name = ":0.0";
5521 int eventbase, errorbase;
5522 if (getenv("DISPLAY"))
5523 name=getenv("DISPLAY");
5524 wsDisplay=XOpenDisplay(name);
5525 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
5527 XCloseDisplay(wsDisplay);
5531 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
5533 if test "$_xshape" = yes ; then
5534 _def_xshape
='#define HAVE_XSHAPE 1'
5536 die
"The GUI requires the X11 extension XShape (which was not found)."
5542 echocheck
"gtk version"
5543 if test -z "$_gtkconfig" ; then
5544 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
5545 _gtkconfig
="gtk-config"
5546 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
5547 _gtkconfig
="gtk12-config"
5549 die
"The GUI requires GTK devel packages (which were not found)."
5552 _gtk
=`$_gtkconfig --version 2>&1`
5553 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
5554 _ld_gtk
=`$_gtkconfig --libs 2>&1`
5555 echores
"$_gtk (using $_gtkconfig)"
5558 echocheck
"glib version"
5559 if test -z "$_glibconfig" ; then
5560 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
5561 _glibconfig
="glib-config"
5562 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
5563 _glibconfig
="glib12-config"
5565 die
"The GUI requires GLib devel packages (which were not found)"
5568 _glib
=`$_glibconfig --version 2>&1`
5569 _inc_glib
=`$_glibconfig --cflags 2>&1`
5570 _ld_glib
=`$_glibconfig --libs 2>&1`
5571 echores
"$_glib (using $_glibconfig)"
5573 _def_gui
='#define HAVE_NEW_GUI 1'
5574 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
5576 echo "Creating Gui/config.mak"
5577 cat > Gui
/config.mak
<< EOF
5578 # -------- Generated by configure -----------
5582 GLIBINC = $_inc_glib
5583 GLIBLIBS = $_ld_glib
5588 _def_gui
='#undef HAVE_NEW_GUI'
5590 # --------------- GUI specific tests end -------------------
5594 #############################################################################
5596 # Checking for CFLAGS
5598 if test "$_profile" != "" ||
test "$_debug" != "" ; then
5599 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
5600 if test "$_cc_major" -ge "3" ; then
5601 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
5604 elif test -z "$CFLAGS" ; then
5605 if test "$host_arch" != "mips" ; then
5606 CFLAGS
="-O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer"
5608 CFLAGS
="-O4 $_march $_mcpu -ffast-math -fomit-frame-pointer"
5610 # always compile with '-g' if .developer:
5611 if test -f ".developer" ; then
5618 MPlayer compilation will use the CFLAGS set by you, but:
5620 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
5622 It is strongly recommended to let MPlayer choose the correct CFLAGS!
5623 To do so, execute 'CFLAGS= ./configure <options>'
5628 # use gnu style cpp on Darwin
5629 CFLAGS
="$CFLAGS -no-cpp-precomp -DSYS_DARWIN -Wl,-bind_at_load"
5630 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
5631 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
5634 # use flag for HPUX missing setenv()
5635 CFLAGS
="$CFLAGS -DHPUX"
5639 CFLAGS
="$CFLAGS -D_REENTRANT"
5641 # FIXME bsd needs this so maybe other OS'es
5642 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
5644 # 64 bit file offsets?
5645 if test "$_largefiles" = yes || freebsd
; then
5646 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
5647 if test "$_dvdread" = yes ; then
5648 # dvdread support requires this (for off64_t)
5649 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
5653 echocheck
"ftello()"
5654 # if we don't have ftello map it to ftell
5657 int main (void) { ftello(stdin); return 0; }
5660 cc_check
&& _ftello
=yes
5661 if test "$_ftello" = yes ; then
5662 _def_ftello
='#define HAVE_FTELLO 1'
5664 _def_ftello
='#undef HAVE_FTELLO'
5668 # Determine OS dependent libs
5670 _confcygwin
='TARGET_CYGWIN = yes'
5671 _def_confwin32
='#define WIN32'
5672 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
5673 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
5674 CFLAGS
="$CFLAGS -D__CYGWIN__"
5676 _confcygwin
="TARGET_CYGWIN = no"
5680 _confmingw32
='TARGET_MINGW32 = yes'
5682 _confmingw32
='TARGET_MINGW32 = no'
5685 # Dynamic linking flags
5686 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
5688 bsd
&& _ld_dl_dynamic
='-rdynamic'
5689 test "$_xanim" = yes && _ld_dl_dynamic
='-rdynamic'
5690 test "$_real" = yes && _ld_dl_dynamic
='-rdynamic'
5692 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
5693 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
5695 x86
&& _ld_arch
="$_ld_arch -li386"
5698 _def_debug
='#undef MP_DEBUG'
5699 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
5701 _def_linux
='#undef TARGET_LINUX'
5702 linux
&& _def_linux
='#define TARGET_LINUX 1'
5704 # TODO cleanup the VIDIX stuff here
5705 _def_vidix
='#define CONFIG_VIDIX 1'
5706 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
5707 if test "$_vidix" = yes; then
5708 _vosrc
="$_vosrc vo_cvidix.c"
5709 _vomodules
="cvidix $_vomodules"
5711 _novomodules
="cvidix $_novomodules"
5713 if test "$_vidix" = yes && (cygwin || mingw32
); then
5714 _vosrc
="$_vosrc vo_winvidix.c"
5715 _vomodules
="winvidix $_vomodules"
5717 _novomodules
="winvidix $_novomodules"
5719 if test "$_vidix" = yes && test "$_x11" = yes; then
5720 _vosrc
="$_vosrc vo_xvidix.c"
5721 _vomodules
="xvidix $_vomodules"
5723 _novomodules
="xvidix $_novomodules"
5725 echo Checking
for VIDIX ...
"$_vidix"
5727 _def_joystick
='#undef HAVE_JOYSTICK'
5728 if test "$_joystick" = yes ; then
5730 # TODO add some check
5731 _def_joystick
='#define HAVE_JOYSTICK 1'
5733 _joystick
="no (unsupported under $system_name)"
5736 echo Checking
for joystick ...
"$_joystick"
5739 if test "$_lirc" = auto
; then
5741 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
5743 #include <lirc/lirc_client.h>
5744 int main(void) { return 0; }
5746 cc_check
-llirc_client && _lirc
=yes
5749 if test "$_lirc" = yes ; then
5750 _def_lirc
='#define HAVE_LIRC 1'
5751 _ld_lirc
='-llirc_client'
5753 _def_lirc
='#undef HAVE_LIRC'
5758 if test "$_lircc" = auto
; then
5761 #include <lirc/lircc.h>
5762 int main(void) { return 0; }
5764 cc_check
-llircc && _lircc
=yes
5766 if test "$_lircc" = yes ; then
5767 _def_lircc
='#define HAVE_LIRCC 1'
5770 _def_lircc
='#undef HAVE_LIRCC'
5774 #############################################################################
5775 echo "Creating config.mak"
5776 cat > config.mak
<< EOF
5777 # -------- Generated by configure -----------
5780 LANGUAGES = $LANGUAGES
5781 TARGET_OS = $system_name
5783 prefix = \$(DESTDIR)$_prefix
5784 BINDIR = \$(DESTDIR)$_bindir
5785 DATADIR = \$(DESTDIR)$_datadir
5786 MANDIR = \$(DESTDIR)$_mandir
5787 CONFDIR = \$(DESTDIR)$_confdir
5788 LIBDIR = \$(DESTDIR)$_libdir
5794 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu -pipe -fomit-frame-pointer -ffast-math
5795 EXTRA_INC = $_inc_extra $_inc_gtk
5796 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
5797 STRIPBINARIES = $_stripbinaries
5801 MPLAYER_NETWORK = $_network
5802 STREAMING_LIVE_DOT_COM = $_live
5803 MPLAYER_NETWORK_LIB = $_ld_network $_ld_live
5806 SHARED_PP = $_shared_pp
5809 CONFIG_MP3LAME = $_mp3lame
5811 I18NLIBS = $_i18n_libs
5812 MATROSKA = $_matroska
5813 MATROSKA_LIB = $_ld_matroska
5815 OPENDIVX = $_opendivx
5817 UNRARLIB = $_unrarlib
5818 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
5823 EXTRA_LIB = $_ld_extra
5824 Z_LIB = $_ld_static $_ld_zlib
5826 WIN32_LIB = $_ld_win32libs
5827 STATIC_LIB = $_ld_static
5832 HAVE_XVMC_ACCEL = $_xvmc
5842 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_mad $_ld_sock
5844 MLIB_LIB = $_ld_mlib
5845 MLIB_INC = $_inc_mlib
5846 DXR2_INC = $_inc_dxr2
5852 SVGA_LIB = $_ld_svga
5856 ALSA_LIB = $_ld_alsa
5858 ARTS_LIB = $_ld_arts
5859 ARTS_INC = $_inc_arts
5862 SGIAUDIO_LIB = $_ld_sgiaudio
5864 # input/demuxer/codecs
5865 TERMCAP_LIB = $_ld_termcap
5866 LIRC_LIB = $_ld_lirc
5867 LIRCC_LIB = $_ld_lircc
5868 DVDREAD_LIB = $_ld_dvdread
5873 W32_DEP = $_dep_win32
5874 W32_LIB = $_ld_win32
5875 DS_DEP = $_dep_dshow
5877 AV_DEP = $_dep_libavcodec
5878 AV_LIB = $_ld_libavcodec
5881 FAME_LIB = $_ld_fame
5882 MP1E_DEP = $_dep_mp1e
5883 MP1E_LIB = $_ld_mp1e
5884 ARCH_LIB = $_ld_arch $_ld_iconv
5886 XVID_INC = $_inc_xvid
5887 XVID_LIB = $_ld_xvid
5888 DECORE_LIB = $_ld_decore $_ld_mp3lame
5889 MENCODER = $_mencoder
5890 ENCORE_LIB = $_ld_encore $_ld_mp3lame
5891 DIRECTFB_INC = $_inc_directfb
5892 DIRECTFB_LIB = $_ld_directfb
5893 CDPARANOIA_INC = $_inc_cdparanoia
5894 CDPARANOIA_LIB = $_ld_cdparanoia
5895 FREETYPE_INC = $_inc_freetype
5896 FREETYPE_LIB = $_ld_freetype
5897 FONTCONFIG_INC = $_inc_fontconfig
5898 FONTCONFIG_LIB = $_ld_fontconfig
5899 FRIBIDI_INC = $_inc_fribidi
5900 FRIBIDI_LIB = $_ld_fribidi
5901 LIBLZO_LIB= $_ld_liblzo
5903 VORBIS_LIB = $_ld_vorbis $_ld_libdv
5904 THEORA_LIB = $_ld_theora
5905 FAAD_LIB = $_ld_faad
5906 INTERNAL_FAAD = $_faad_internal
5907 SMBSUPPORT_LIB = $_ld_smb
5908 XMMS_PLUGINS = $_xmms
5909 XMMS_LIB = $_xmms_lib
5911 MACOSX_FRAMEWORKS = $_macosx_frameworks
5912 FLAC_LIB = $_ld_flac
5915 # --- Some stuff for autoconfigure ----
5921 TARGET_MMX2 = $_mmx2
5922 TARGET_3DNOW = $_3dnow
5923 TARGET_3DNOWEX = $_3dnowex
5925 TARGET_ALTIVEC = $_altivec
5928 GTKLIB = $_ld_static $_ld_gtk
5929 GLIBLIB = $_ld_static $_ld_glib
5930 GTK_LIBS = $_ld_static $_ld_gui
5936 #############################################################################
5937 echo "Creating config.h"
5938 cat > config.h
<< EOF
5939 /* -------- This file has been automatically generated by configure ---------
5940 Note: Any changes in it will be lost when you run configure again. */
5942 /* Protect against multiple inclusion */
5943 #ifndef MPLAYER_CONFIG_H
5944 #define MPLAYER_CONFIG_H 1
5946 /* use GNU internationalization */
5949 /* missing mmap function on libc5 systems */
5951 # define MAP_FAILED ((void *) -1)
5954 /* use setlocale() function */
5957 /* Runtime CPU detection */
5958 $_def_runtime_cpudetection
5960 /* Dynamic a/v plugins */
5961 $_def_dynamic_plugins
5963 /* "restrict" keyword */
5964 #define restrict $_def_restrict_keyword
5966 #define PREFIX "$_prefix"
5968 /* define this to use simple idct with patched libavcodec */
5969 #define SIMPLE_IDCT 1
5974 /* enable/disable SIGHANDLER */
5977 /* Toggles debugging informations */
5980 /* Indicates that Ogle's libdvdread is available for DVD playback */
5983 /* Indicates that dvdread is from libmpdvdkit */
5986 /* Additional options for libmpdvdkit*/
6000 /* Common data directory (for fonts, etc) */
6001 #define MPLAYER_DATADIR "$_datadir"
6002 #define MPLAYER_CONFDIR "$_confdir"
6003 #define MPLAYER_LIBDIR "$_libdir"
6005 /* Define this to compile stream-caching support, it can be enabled via
6006 -cache <kilobytes> */
6007 #define USE_STREAM_CACHE 1
6009 /* Define to include support for XviD/Divx4Linux/OpenDivx */
6012 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
6013 /* You have to change DECORE_LIBS in config.mak, too! */
6016 /* Define if you are using DivX5Linux Decore library */
6019 /* Define if you are using XviD library */
6025 /* Define to include support for libdv-0.9.5 */
6028 /* If build mencoder */
6031 /* Indicates if XviD/Divx4linux encore is available
6032 Note: for mencoder */
6035 /* Indicates if libmp3lame is available
6036 Note: for mencoder */
6040 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6043 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6044 (use -bps or -nobps commandline option for run-time method selection)
6045 -bps gives better sync for vbr mp3 audio, it is now default */
6046 #define AVI_SYNC_BPS 1
6048 /* Undefine this if you do not want to select mono audio (left or right)
6049 with a stereo MPEG layer 2/3 audio stream. The command line option
6050 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6051 right-only), with 0 being the default.
6053 #define USE_FAKE_MONO 1
6055 /* Undefine this if your sound card driver has no working select().
6056 If you have kernel Oops, player hangups, or just no audio, you should
6057 try to recompile MPlayer with this option disabled! */
6060 /* define this to use iconv(3) function to codepage conversions */
6063 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6066 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6067 #define MAX_OUTBURST 65536
6069 /* set up audio OUTBURST. Do not change this! */
6070 #define OUTBURST 512
6072 /* Define this if your system has the header file for the OSS sound interface */
6075 /* Define this if your system has the header file for the OSS sound interface
6076 * in /usr/include */
6079 /* Define this if your system has the sysinfo header */
6082 /* Define this if your system uses ftello() for off_t seeking */
6086 # define ftello(a) ftell(a)
6089 /* Define this if your system has the "malloc.h" header file */
6092 /* memalign is mapped to malloc if unsupported */
6094 #ifndef HAVE_MEMALIGN
6095 # define memalign(a,b) malloc(b)
6098 /* Define this if your system has the "alloca.h" header file */
6101 /* Define this if your system has the "sys/mman.h" header file */
6104 /* Define this if you have the elf dynamic linker -ldl library */
6107 /* Define this if you have the kstat kernel statistics library */
6110 /* Define this if you have zlib */
6113 /* Define this if you have shm support */
6116 /* Define this if your system has scandir & alphasort */
6119 /* Define this if your system has strsep */
6122 /* Define this if your system has vsscanf */
6125 /* Define this if your system has no posix select */
6126 $_def_no_posix_select
6128 /* Define this if your system has gettimeofday */
6131 /* Define this if your system has glob */
6134 /* LIRC (remote control, see www.lirc.org) support: */
6138 * LIRCCD (LIRC client daemon)
6139 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6149 /* DVD navigation support using libdvdnav */
6151 $_def_dvdnav_version
6153 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6154 #define MPEG12_POSTPROC 1
6156 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6159 /* Define to include support for OpenDivx postprocessing */
6160 $_def_odivx_postprocess
6162 /* Win32 DLL support */
6164 #define WIN32_PATH "$_win32libdir"
6166 /* DirectShow support */
6169 /* Mac OS X specific features */
6172 /* Build our Win32-loader */
6175 /* ffmpeg's libavcodec support (requires libavcodec source) */
6180 #define CONFIG_RISKY 1
6182 /* Use libavcodec's decoders */
6183 #define CONFIG_DECODERS 1
6184 /* Use libavcodec's encoders */
6185 #define CONFIG_ENCODERS 1
6187 /* Use codec libs included in mplayer CVS / source dist: */
6190 #define USE_LIBMPEG2
6192 /* Use the SVQ1 decoder in libmpcodecs - we don't want/need it with libavcodec */
6193 #ifndef USE_LIBAVCODEC
6197 /* Use libfame encoder filter */
6200 /* XAnim DLL support */
6202 /* Default search path */
6205 /* RealPlayer DLL support */
6207 /* Default search path */
6210 /* LIVE.COM Streaming Media library support */
6213 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6216 /* Use unrarlib for Vobsubs */
6219 /* gui support, please do not edit this option */
6222 /* Audio output drivers */
6224 $_def_ossaudio_devdsp
6225 $_def_ossaudio_devmixer
6231 $_def_sys_asoundlib_h
6232 $_def_alsa_asoundlib_h
6238 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6240 #undef FAST_OSD_TABLE
6242 /* Enable TV Interface support */
6245 /* Enable EDL support */
6248 /* Enable Video 4 Linux TV interface support */
6251 /* Enable Video 4 Linux 2 TV interface support */
6254 /* Enable *BSD BrookTree TV interface support */
6257 /* Define if your processor stores words with the most significant
6258 byte first (like Motorola and SPARC, unlike Intel and VAX). */
6263 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
6264 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
6270 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
6275 /* only gcc3 can compile mvi instructions */
6276 $_def_gcc_mvi_support
6278 /* Define this for Cygwin build for win32 */
6281 /* Define this to any prefered value from 386 up to infinity with step 100 */
6282 #define __CPU__ $iproc
6291 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
6292 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6294 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6295 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6296 #elif defined(WIN32)
6297 #define DEFAULT_CDROM_DEVICE "D:"
6298 #define DEFAULT_DVD_DEVICE "D:"
6299 #elif defined(SYS_DARWIN)
6300 #define DEFAULT_CDROM_DEVICE "/dev/rdiskN"
6301 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6303 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6304 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6308 /*----------------------------------------------------------------------------
6310 ** NOTE: Instead of modifying these definitions here, use the
6311 ** --enable/--disable options of the ./configure script!
6312 ** See ./configure --help for details.
6314 *---------------------------------------------------------------------------*/
6316 /* C99 lrintf function available */
6319 /* int_fastXY_t emulation */
6322 /* nanosleep support */
6328 /* termcap flag for getch2.c */
6331 /* termios flag for getch2.c */
6336 /* enable PNG support */
6339 /* enable JPEG support */
6342 /* enable GIF support */
6347 /* enable FreeType support */
6350 /* enable Fontconfig support */
6353 /* enable FriBiDi usage */
6356 /* liblzo support */
6359 /* libmad support */
6362 /* enable OggVorbis support */
6365 /* enable Tremor as vorbis decoder */
6368 /* enable OggTheora support */
6371 /* enable Matroska support */
6374 /* enable FAAD (AAC) support */
6379 /* enable network */
6382 /* enable ftp support */
6385 /* enable winsock2 instead of Unix functions*/
6388 /* define this to use inet_aton() instead of inet_pton() */
6391 /* enables / disables cdparanoia support */
6394 /* enables / disables VIDIX usage */
6397 /* enables / disables new input joystick support */
6400 /* enables / disables QTX codecs */
6403 /* enables / disables osd menu */
6406 /* enables / disables subtitles sorting */
6409 /* XMMS input plugin support */
6411 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
6413 /* enables inet6 support */
6416 /* do we have gethostbyname2? */
6417 $_def_gethostbyname2
6419 /* Extension defines */
6420 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
6421 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
6422 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
6423 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
6424 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
6425 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
6426 $_def_altivec // only define if you have Altivec (G4)
6429 #define USE_MMX_IDCT 1
6432 $_def_altivec_h // enables usage of altivec.h
6435 $_def_mlib // Sun mediaLib, available only on solaris
6437 /* libmpeg2 uses a different feature test macro for mediaLib */
6439 #define LIBMPEG2_MLIB 1
6443 #define SCREEN_SIZE_X 1
6444 #define SCREEN_SIZE_Y 1
6455 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
6463 $_def_directfb_version
6483 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
6484 #define X11_FULLSCREEN 1
6487 #endif /* MPLAYER_CONFIG_H */
6490 #############################################################################
6492 echo "Creating libvo/config.mak"
6493 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
6494 cat > libvo
/config.mak
<< EOF
6495 include ../config.mak
6496 OPTIONAL_SRCS = $_vosrc
6497 OPTIONAL_OBJS = $_voobj
6500 #############################################################################
6502 echo "Creating libao2/config.mak"
6503 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
6504 cat > libao
2/config.mak
<< EOF
6505 include ../config.mak
6506 OPTIONAL_SRCS = $_aosrc
6507 OPTIONAL_OBJS = $_aoobj
6510 #############################################################################
6512 echo "Creating help_mp.h"
6513 cat > help_mp.h
<< EOF
6515 // WARNING! This is a generated file. Do NOT edit.
6516 // See the help/ subdir for the editable files.
6518 #include "$_mp_help"
6521 if test $_mp_help != "help/help_mp-en.h"; then
6522 echo "Adding untranslated messages to help_mp.h"
6523 echo '// untranslated messages from the english master-file:' >> help_mp.h
6524 help
/help_diff.sh
$_mp_help <help
/help_mp-en.h
>> help_mp.h
6527 #############################################################################
6531 Config files successfully generated by ./configure !
6533 Install prefix: $_prefix
6534 Data directory: $_datadir
6535 Config direct.: $_confdir
6537 Byte order: $_byte_order
6538 Optimizing for: $_optimizing
6541 Messages/GUI: $_language
6544 echo -n " Manual pages: $LANGUAGES"
6545 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
6550 Enabled optional drivers:
6551 Input: $_inputmodules
6552 Codecs: $_codecmodules
6553 Audio output: $_aomodules
6554 Video output: $_vomodules
6555 Disabled optional drivers:
6556 Input: $_noinputmodules
6557 Codecs: $_nocodecmodules
6558 Audio output: $_noaomodules
6559 Video output: $_novomodules
6561 'config.h' and 'config.mak' contain your configuration options.
6562 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
6563 compile *** DO NOT REPORT BUGS if you tweak these files ***
6565 'make' will now compile MPlayer and 'make install' will install it.
6566 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
6571 if test "$_mtrr" = yes ; then
6572 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/en/devices.html#mtrr)"
6576 if test "$_sdl" = "outdated" ; then
6578 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
6579 support has therefore been disabled.
6581 Please upgrade to a more recent version (version 1.1.8 and above are known to
6582 work). You may get this library from: http://www.libsdl.org
6584 You need to rerun ./configure and recompile after updating SDL. If you are
6585 only interested in the libSDL audio drivers, then an older version might work.
6587 Use --enable-sdl to force usage of libSDL.
6593 if test "$_win32" = no
; then
6594 if test "$_win32libdir" ; then
6595 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
6597 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
6600 Create it and copy the DLL files there! You can download the codecs from our
6601 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
6607 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
6608 operating system ($system_name). You may encounter a few AVI files that
6609 cannot be played due to missing Open Source video/audio codec support.
6617 Check $TMPLOG if you wonder why an autodetection failed (check whether
6618 the development headers/packages are installed).
6620 If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
6624 if test "$_vidix" = no
; then
6626 You've disabled VIDIX. Although it would be better to PORT it instead.
6627 Have a look at the documentation for supported cards!
6633 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"