3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: check the cvs log !
8 # Cleanups all over the place (c) 2001 pl
12 # If the option is named 'opt':
13 # _opt : should have a value in yes/no/auto
14 # _def_opt : '#define ... 1' or '#undef ...' that is: some C code
15 # _ld_opt : ' -L/path/dir -lopt ' that is: some GCC option
16 # _inc_opt : ' -I/path/dir/include '
18 # In this file, a tab is 8 chars and indentation shift is 2 characters
21 # - config files are currently:
22 # config.h config.mak libvo/config.mak libao2/config.mak Gui/config.mak
24 #############################################################################
26 # Prefer these macros to full length text !
27 # These macros only return an error code - NO display is done
30 cat "$TMPC" >> "$TMPLOG"
32 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $TMPC -o $TMPO $@" >> "$TMPLOG"
34 ( $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra "$TMPC" -o "$TMPO" "$@" ) >> "$TMPLOG" 2>&1
37 echo "ldd $TMPO" >> "$TMPLOG"
38 ( $_ldd "$TMPO" ) >> "$TMPLOG" 2>&1
43 # Display error message, flushes tempfile, exit
48 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
49 echo "Check \"$TMPLOG\" if you do not understand why it failed."
53 # OS test booleans functions
55 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
57 linux
() { issystem
"Linux" ; return "$?" ; }
58 sunos
() { issystem
"SunOS" ; return "$?" ; }
59 hpux
() { issystem
"HP-UX" ; return "$?" ; }
60 irix
() { issystem
"IRIX" ; return "$?" ; }
61 cygwin
() { issystem
"CYGWIN" ; return "$?" ; }
62 freebsd
() { issystem
"FreeBSD" ; return "$?" ; }
63 netbsd
() { issystem
"NetBSD" ; return "$?" ; }
64 bsdos
() { issystem
"BSD/OS" ; return "$?" ; }
65 openbsd
() { issystem
"OpenBSD" ; return "$?" ; }
66 bsd
() { freebsd || netbsd || bsdos || openbsd
; return "$?" ; }
67 qnx
() { issystem
"QNX" ; return "$?" ; }
68 darwin
() { issystem
"Darwin" ; return "$?" ; }
69 gnu
() { issystem
"GNU" ; return "$?" ; }
70 mingw32
() { issystem
"MINGW32" ; return "$?" ; }
71 morphos
() { issystem
"MorphOS" ; return "$?" ; }
73 # arch test boolean functions
74 # x86/x86pc is used by QNX
77 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
96 # not boolean test: implement the posix shell "!" operator for a
98 # usage: not {command}
99 # returns exit status "success" when the execution of "command"
106 # Use this before starting a check
108 echo "============ Checking for $@ ============" >> "$TMPLOG"
109 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
112 # Use this to echo the results of a check
114 echo "Result is: $@" >> "$TMPLOG"
115 echo "##########################################" >> "$TMPLOG"
119 #############################################################################
121 # Check how echo works in this /bin/sh
123 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
124 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
127 LANGUAGES
=`echo help/help_mp-??.h help/help_mp-??_??.h | sed "s/help\/help_mp-\(..\).h/\1/g" |sed "s/help\/help_mp-\(.....\).h/\1/g"`
129 for parm
in "$@" ; do
130 if test "$parm" = "--help" ||
test "$parm" = "-help" ||
test "$parm" = "-h" ; then
133 Usage: $0 [OPTIONS]...
136 -h, --help display this help and exit
138 Installation directories:
139 --prefix=DIR use this prefix for installing mplayer [/usr/local]
140 --bindir=DIR use this prefix for installing mplayer binary
142 --datadir=DIR use this prefix for installing machine independent
143 data files (fonts, skins) [PREFIX/share/mplayer]
144 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
145 --confdir=DIR use this prefix for installing configuration files
147 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
150 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
151 --enable-gui enable gmplayer compilation (gtk-1.2 GUI) [disable]
152 --enable-largefiles enable support for files > 2 GBytes [disable]
153 --enable-linux-devfs set default devices to devfs ones [disable]
154 --enable-termcap use termcap database for key codes [autodetect]
155 --with-termcaplib=NAME name of library with termcap functionality
156 name shuld be given without leading "lib"
157 checks for "termcap" and "tinfo"
158 --disable-iconv do not use iconv(3) function [autodetect]
159 --disable-setlocale disable setlocale using in mplayer [autodetect]
160 --enable-lirc enable LIRC (remote control) support [autodetect]
161 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
162 --enable-joystick enable joystick support [disable]
163 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
164 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
165 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
166 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
167 --disable-edl disable EDL (edit decision list) support [enable]
168 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
169 --disable-network disable network support (for: http/mms/rtp) [enable]
170 --enable-winsock2 enable winsock2 usage [autodetect]
171 --enable-smb enable Samba (SMB) input support [autodetect]
172 --enable-live enable LIVE.COM Streaming Media support [disable]
173 --disable-dvdread Disable libdvdread support [autodetect]
174 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
175 --disable-css Disable old-style libcss DVD support [autodetect]
176 --disable-cdparanoia Disable cdparanoia support [autodetect]
177 --disable-freetype Disable freetype2 font rendering support [autodetect]
178 --disable-unrarlib Disable Unique RAR File Library [enabled]
179 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
180 --disable-sortsub Disable subtitles sorting [enabled]
181 --enable-fribidi Enable using the FriBiDi libs [disabled]
182 --disable-macosx Disable Mac OS X specific features [autodetect]
183 --disable-inet6 Disable IPv6 support [autodetect]
184 --disable-gethostbyname2 gethostbyname() function is not provided by the C
186 --disable-ftp Disable ftp support [enabled]
189 --enable-gif enable gif support [autodetect]
190 --enable-png enable png input/output support [autodetect]
191 --enable-jpeg enable jpeg input/output support [autodetect]
192 --enable-liblzo enable external liblzo support [autodetect]
193 --disable-win32 disable Win32 DLL support [autodetect]
194 --disable-dshow disable Win32/DirectShow support [autodetect]
195 --disable-qtx disable Quicktime codecs [autodetect]
196 --disable-xanim disable XAnim DLL support [autodetect]
197 --disable-real disable RealPlayer DLL support [autodetect]
198 --disable-xvid disable XviD codec [autodetect]
199 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
200 --enable-opendivx enable _old_ OpenDivx codec [disable]
201 --disable-libavcodec disable libavcodec [autodetect]
202 --enable-libfame enable libfame realtime encoder [autodetect]
203 --enable-vorbis build with OggVorbis support [autodetect]
204 --enable-tremor build with integer-only OggVorbis support [disabled]
205 --enable-theora build with OggTheora support [autodetect]
206 --enable-matroska build with Matroska support [autodetect]
207 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
208 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
209 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
210 --disable-mad disable libmad (MPEG audio) support [autodetect]
211 --enable-xmms build with XMMS inputplugin support [disabled]
212 --enable-flac build with FLAC support [autodetect]
213 --enable-external-flac build with external libFLAC [disable]
216 --disable-vidix disable VIDIX [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, css, ...) in DIR
299 --with-extralibdir=DIR extra library files (png, 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-csslibdir=DIR libcss in DIR
305 --with-madlibdir=DIR libmad (libmad shared library) in DIR
306 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
307 --with-codecsdir=DIR Binary codec files in DIR
308 --with-win32libdir=DIR W*ndows DLL files in DIR
309 --with-xanimlibdir=DIR XAnim DLL files in DIR
310 --with-reallibdir=DIR RealPlayer DLL files in DIR
311 --with-xvmclib=PATH path to adapter specific XvMCxxxxx.so (e.g. NVIDIA)
312 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR
313 --with-xvidincdir=DIR XviD header in DIR
315 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
316 --with-freetype-config=PATH path to freetype-config
317 (e.g. /opt/bin/freetype-config)
318 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
319 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
320 --with-livelibdir=DIR path to LIVE.COM Streaming Media libraries
321 --with-xmmsplugindir=DIR path to XMMS plugins
322 --with-xmmslibdir=DIR path to libxmms.so.1
323 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR
324 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR
325 --with-fribidi-config=PATH path to fribidi-config
326 (e.g. /opt/bin/fribidi-config)
331 done # for parm in ...
334 # 1st pass checking for vital options
338 test "$CC" && _cc
="$CC"
340 _runtime_cpudetection
=no
344 _target
=`echo $ac_option | cut -d '=' -f 2`
347 _cc
=`echo $ac_option | cut -d '=' -f 2`
350 _as
=`echo $ac_option | cut -d '=' -f 2`
352 --enable-gcc-checking)
355 --disable-gcc-checking)
365 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
367 --with-extraincdir=*)
368 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
370 --with-extralibdir=*)
371 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
372 # _ld_extra="${_ld_extra} -Wl,-R"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -Wl\,-R,g'`" -L"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
374 --enable-runtime-cpudetection)
375 _runtime_cpudetection
=yes
377 --disable-runtime-cpudetection)
378 _runtime_cpudetection
=no
381 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
384 _install
=`echo $ac_option | cut -d '=' -f 2 `
389 # Determine our OS name and CPU architecture
390 if test -z "$_target" ; then
392 system_name
=`( uname -s ) 2>&1`
393 case "$system_name" in
394 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU
)
402 [cC
][yY
][gG
][wW
][iI
][nN
]*)
412 system_name
="$system_name-UNKNOWN"
417 # host's CPU/instruction set
418 host_arch
=`( uname -p ) 2>&1`
420 i386|sparc|ppc|alpha|arm|mips
)
422 powerpc
) # Darwin returns 'powerpc'
425 *) # uname -p on Linux returns 'unknown' for the processor type,
426 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
428 # Maybe uname -m (machine hardware name) returns something we
431 # x86/x86pc is used by QNX
432 case "`( uname -m ) 2>&1`" in
433 i
[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium
*|athlon
*|i586_i686|i586-i686
) host_arch
=i386
;;
434 ia64
) host_arch
=ia64
;;
435 x86_64
) host_arch
=x86_64
;;
436 ppc
) host_arch
=ppc
;;
437 alpha
) host_arch
=alpha
;;
438 sparc
*) host_arch
=sparc
;;
439 9000*) host_arch
=hppa
;;
440 arm
*) host_arch
=arm
;;
441 s390
) host_arch
=s390
;;
442 s390x
) host_arch
=s390x
;;
443 mips
) host_arch
=mips
;;
444 *) host_arch
=UNKNOWN
;;
449 system_name
=`echo $_target | cut -d '-' -f 2`
450 case "`echo $system_name | tr A-Z a-z`" in
451 linux
) system_name
=Linux
;;
452 freebsd
) system_name
=FreeBSD
;;
453 netbsd
) system_name
=NetBSD
;;
454 bsd
/os
) system_name
=BSD
/OS
;;
455 openbsd
) system_name
=OpenBSD
;;
456 sunos
) system_name
=SunOS
;;
457 qnx
) system_name
=QNX
;;
458 morphos
) system_name
=MorphOS
;;
460 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
461 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
464 echo "Detected operating system: $system_name"
465 echo "Detected host architecture: $host_arch"
467 # LGB: temporary files
468 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
472 TMPLOG
="configure.log"
474 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
475 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
476 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
477 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
481 # FIXME: A lot of stuff is installed under /usr/local
482 # NK: But we should never use this stuff implicitly since we call compiler
483 # from /usr we should be sure that there no effects from other compilers
484 # (libraries) which might be installed into /usr/local. Let users use this
485 # stuff explicitly as command line argument. In other words: It would be
486 # resonable to have only /usr/include or only /usr/local/include.
489 _ld_extra
="$_ld_extra -L/usr/local/lib"
490 _inc_extra
="$_inc_extra -I/usr/local/include"
498 # Checking CC version...
499 if test "$_skip_cc_check" != yes ; then
500 for _cc
in "$_cc" gcc gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
501 echocheck
"$_cc version"
502 cc_name
=`( $_cc -v ) 2>&1 | tail -1 | cut -d ' ' -f 1`
503 cc_version
=`( $_cc -dumpversion ) 2>&1`
504 if test "$?" -gt 0; then
505 cc_version
="not found"
509 cc_version
="v. ?.??, bad"
512 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
3.
[0-9]|
3.
[0-9].
[0-9])
513 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
514 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
515 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
516 cc_version
="$cc_version, ok"
523 cc_version
="$cc_version, bad"
527 echores
"$cc_version"
528 (test "$cc_verc_fail" = "no") && break
530 if test "$cc_verc_fail" = yes ; then
533 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
535 You are not using a supported compiler. We do not have the time to make sure
536 everything works with compilers other than the ones we use. Use either the
537 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
538 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
540 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
541 mplayer and lame (which is used for mencoder). If you get compile errors,
542 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
543 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
546 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
548 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
551 die
"Bad gcc version"
556 ******************************************************************************
558 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
559 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
561 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
562 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
563 Lame which is used by mencoder produces weird errors, too.
565 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
566 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
568 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
570 ******************************************************************************
579 # now that we know what compiler should be used for compilation, try to find
580 # out which assembler is used by the $_cc compiler
581 if test "$_as" = auto
; then
582 _as
=`$_cc -print-prog-name=as`
583 test -z "$_as" && _as
=as
586 # XXX: this should be ok..
588 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
589 # FIXME: Remove the cygwin check once AMD CPUs are supported
590 if test -r /proc
/cpuinfo
&& not cygwin
; then
591 # Linux with /proc mounted, extract CPU information from it
592 _cpuinfo
="cat /proc/cpuinfo"
593 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
594 # FreeBSD with Linux emulation /proc mounted,
595 # extract CPU information from it
596 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
598 # use hostinfo on Darwin
601 # all other OSes try to extract CPU information from a small helper
602 # program TOOLS/cpuinfo instead
603 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
604 _cpuinfo
="TOOLS/cpuinfo"
608 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
609 _def_arch
="#define ARCH_X86 1"
610 _target_arch
="TARGET_ARCH_X86 = yes"
612 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -1`
613 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
614 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
615 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
616 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
618 pparam
=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -1`
619 if test -z "$pparam" ; then
620 pparam
=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -1`
631 for i
in $pparam ; do
634 3dnowext
) _3dnow
=yes _3dnowex
=yes ;;
637 mtrr|k6_mtrr|cyrix_arr
) _mtrr
=yes ;;
638 xmm|sse|kni
) _sse
=yes _mmx2
=yes ;;
643 echocheck
"CPU vendor"
644 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
652 3) proc
=i386 iproc
=386 ;;
653 4) proc
=i486 iproc
=486 ;;
654 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
655 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
656 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
658 elif test "$pmodel" -ge 8; then
660 elif test "$pmodel" -ge 6; then
668 if test "$pmodel" -ge 7; then
670 elif test "$pmodel" -ge 6; then
671 # only Athlon XP supports ssem MP, Duron etc not
672 # but most of them are CPUID 666, so check if sse detected
673 # btw. there is also athlon-mp opt, but we need extended
674 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
675 if test "$_sse" = yes && test "$pstepping" -ge 2; then
680 elif test "$pmodel" -ge 4; then
683 proc
=athlon
# TODO: should the Duron Spitfire be considered a Thunderbird instead?
687 *) proc
=athlon-xp iproc
=686 ;;
692 3) proc
=i386 iproc
=386 ;;
693 4) proc
=i486 iproc
=486 ;;
695 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
696 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
702 if test "$pmodel" -ge 7; then
704 elif test "$pmodel" -ge 3; then
710 15) proc
=pentium4 iproc
=686 ;;
711 *) proc
=pentium4 iproc
=686 ;;
716 3) proc
=i386 iproc
=386 ;;
717 4) proc
=i486 iproc
=486 ;;
718 *) proc
=i586 iproc
=586 ;;
722 proc
=i586 iproc
=586 ;;
725 # check that gcc supports our CPU, if not, fall back to earlier ones
726 # LGB: check -mcpu and -march swithing step by step with enabling
727 # to fall back till 386.
729 echocheck
"GCC & CPU optimization abilities"
731 int main(void) { return 0; }
733 if test "$_runtime_cpudetection" = no
; then
734 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ||
test "$proc" = "athlon-tbird"; then
735 cc_check
-march=$proc -mcpu=$proc || proc
=athlon
737 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
738 cc_check
-march=$proc -mcpu=$proc || proc
=k6
740 if test "$proc" = "k6"; then
741 if not cc_check
-march=$proc -mcpu=$proc; then
742 if cc_check
-march=i586
-mcpu=i686
; then
749 if test "$proc" = "pentium4" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon"; then
750 cc_check
-march=$proc -mcpu=$proc || proc
=i686
752 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx"; then
753 cc_check
-march=$proc -mcpu=$proc || proc
=i586
755 if test "$proc" = "i586" ; then
756 cc_check
-march=$proc -mcpu=$proc || proc
=i486
758 if test "$proc" = "i486" ; then
759 cc_check
-march=$proc -mcpu=$proc || proc
=i386
761 if test "$proc" = "i386" ; then
762 cc_check
-march=$proc -mcpu=$proc || proc
=error
764 if test "$proc" = "error" ; then
765 echores
"Your $_cc does not even support \"i386\" for '-march' and '-mcpu'."
769 elif test "$proc" = "i586-i686"; then
774 _march
="-march=$proc"
779 # i686 is probably the most common CPU - optimize for it
781 # at least i486 required, for bswap instruction
783 cc_check
$_mcpu || _mcpu
=""
784 cc_check
$_march $_mcpu || _march
=""
787 ## Gabucino : --target takes effect here (hopefully...) by overwriting
788 ## autodetected mcpu/march parameters
789 if test "$_target" ; then
790 # TODO: it may be a good idea to check GCC and fall back in all cases
791 if test "$host_arch" = "i586-i686"; then
795 _march
="-march=$host_arch"
796 _mcpu
="-mcpu=$host_arch"
804 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
805 i686|athlon
*|pentium
*) iproc
=686 ;;
814 _def_arch
='#define ARCH_IA64 1'
815 _target_arch
='TARGET_ARCH_IA64 = yes'
824 _def_arch
='#define ARCH_X86_64 1'
825 _target_arch
='TARGET_ARCH_X86_64 = yes'
834 _def_arch
='#define ARCH_SPARC 1'
835 _target_arch
='TARGET_ARCH_SPARC = yes'
844 _def_arch
='#define ARCH_ARMV4L 1'
845 _target_arch
='TARGET_ARCH_ARMV4L = yes'
854 _def_arch
='#define ARCH_POWERPC 1'
855 _target_arch
='TARGET_ARCH_POWERPC = yes'
864 if linux
&& test -n "$_cpuinfo"; then
865 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -1`
866 if test -n "`$_cpuinfo | grep altivec`"; then
871 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
872 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
875 if [ `sysctl -n hw.optional.altivec` -eq 1 ]; then
879 if test "$_altivec" = yes; then
880 echores
"$proc altivec"
885 echocheck
"GCC & CPU optimization abilities"
887 if test -n "$proc"; then
889 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
890 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
891 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
892 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
893 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
894 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
897 # gcc 3.1(.1) and up supports 7400 and 7450
898 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1"; then
900 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
901 7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
907 if test -n "$_mcpu"; then
908 _optimizing
=`echo $_mcpu | cut -c 8-`
909 echores
"$_optimizing"
917 _def_arch
='#define ARCH_ALPHA 1'
918 _target_arch
='TARGET_ARCH_ALPHA = yes'
925 unsigned long ver, mask;
926 asm ("implver %0" : "=r" (ver));
927 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
928 printf("%ld-%x\n", ver, ~mask);
932 $_cc -o "$TMPO" "$TMPC"
935 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
936 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
937 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
938 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
939 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
940 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
941 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
945 echocheck
"GCC & CPU optimization abilities"
946 if test "$proc" = "ev68" ; then
947 cc_check
-mcpu=$proc || proc
=ev67
949 if test "$proc" = "ev67" ; then
950 cc_check
-mcpu=$proc || proc
=ev6
957 echocheck
"MVI instruction support in GCC"
958 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
959 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
962 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
963 echores
"no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
968 _def_arch
='#define ARCH_SGI_MIPS 1'
969 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
978 _def_arch
='#define ARCH_PA_RISC 1'
979 _target_arch
='TARGET_ARCH_PA_RISC = yes'
988 _def_arch
='#define ARCH_S390 1'
989 _target_arch
='TARGET_ARCH_S390 = yes'
998 _def_arch
='#define ARCH_S390X 1'
999 _target_arch
='TARGET_ARCH_S390X = yes'
1008 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1009 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1010 die
"unsupported architecture $host_arch"
1014 if test "$_runtime_cpudetection" = yes ; then
1029 if x86
&& test "$_runtime_cpudetection" = no
; then
1031 if test "$1" = yes ; then
1032 echocheck
"kernel support of $2"
1035 void catch() { exit(1); }
1037 signal(SIGILL, catch);
1038 __asm__ __volatile__ ("$3":::"memory");return(0);
1042 if ( cc_check
&& $TMPO ) > /dev
/null
2>&1 ; then
1044 _optimizing
="$_optimizing $2"
1048 echo "It seems that your kernel does not correctly support $2."
1049 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1056 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1057 extcheck
$_mmx2 "mmx2" "sfence" || _mmx2
=no
1058 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1059 extcheck
$_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex
=no
1060 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1061 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1062 echocheck
"mtrr support"
1065 if test "$_mtrr" = yes ; then
1066 _optimizing
="$_optimizing mtrr"
1069 if test "$_gcc3_ext" != ""; then
1070 # if we had to disable sse/sse2 because the active kernel does not
1071 # support this instruction set extension, we also have to tell
1072 # gcc3 to not generate sse/sse2 instructions for normal C code
1074 int main(void) { return 0; }
1076 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1082 _prefix
="/usr/local"
1083 _xvmclib
="XvMCNVIDIA"
1085 # GOTCHA: the variables below defines the default behavior for autodetection
1086 # and have - unless stated otherwise - at least 2 states : yes no
1087 # If autodetection is available then the third state is: auto
1094 _dga
=auto
# 1 2 no auto
1096 _xvmc
=no
#auto when complete
1131 # dvdnav disabled, it does not work
1193 _freetypeconfig
='freetype-config'
1195 _fribidiconfig
='fribidi-config'
1197 _gethostbyname2
=auto
1200 case "$ac_option" in
1205 --enable-gcc-checking) ;;
1206 --disable-gcc-checking) ;;
1207 --enable-static*) ;;
1208 --disable-static*) ;;
1209 --with-extraincdir=*) ;;
1210 --with-extralibdir=*) ;;
1211 --enable-runtime-cpudetection) ;;
1212 --disable-runtime-cpudetection) ;;
1213 --install-path=*) ;;
1214 --with-install=*) ;;
1217 --enable-mencoder) _mencoder
=yes ;;
1218 --disable-mencoder) _mencoder
=no
;;
1219 --enable-i18n) _i18n
=yes ;;
1220 --disable-i18n) _i18n
=no
;;
1221 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1222 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1223 --enable-setlocale) _setlocale
=yes ;;
1224 --disable-setlocale) _setlocale
=no
;;
1225 --enable-x11) _x11
=yes ;;
1226 --disable-x11) _x11
=no
;;
1227 --enable-xv) _xv
=yes ;;
1228 --disable-xv) _xv
=no
;;
1229 --enable-xvmc) _xvmc
=yes ;;
1230 --disable-xvmc) _xvmc
=no
;;
1231 --enable-sdl) _sdl
=yes ;;
1232 --disable-sdl) _sdl
=no
;;
1233 --enable-directx) _directx
=yes ;;
1234 --disable-directx) _directx
=no
;;
1235 --enable-win32waveout) _win32waveout
=yes ;;
1236 --disable-win32waveout) _win32waveout
=no
;;
1237 --enable-nas) _nas
=yes ;;
1238 --disable-nas) _nas
=no
;;
1239 --enable-png) _png
=yes ;;
1240 --disable-png) _png
=no
;;
1241 --enable-jpeg) _jpg
=yes ;;
1242 --disable-jpeg) _jpg
=no
;;
1243 --enable-gif) _gif
=yes ;;
1244 --disable-gif) _gif
=no
;;
1245 --enable-gl) _gl
=yes ;;
1246 --disable-gl) _gl
=no
;;
1247 --enable-ggi) _ggi
=yes ;;
1248 --disable-ggi) _ggi
=no
;;
1249 --enable-aa) _aa
=yes ;;
1250 --disable-aa) _aa
=no
;;
1251 --enable-svga) _svga
=yes ;;
1252 --disable-svga) _svga
=no
;;
1253 --enable-vesa) _vesa
=yes ;;
1254 --disable-vesa) _vesa
=no
;;
1255 --enable-fbdev) _fbdev
=yes ;;
1256 --disable-fbdev) _fbdev
=no
;;
1257 --enable-dvb) _dvb
=yes ;;
1258 --disable-dvb) _dvb
=no
;;
1259 --enable-dvbhead) _dvbhead
=yes ;;
1260 --disable-dvbhead) _dvbhead
=no
;;
1261 --enable-dxr2) _dxr2
=yes ;;
1262 --disable-dxr2) _dxr2
=no
;;
1263 --enable-dxr3) _dxr3
=yes ;;
1264 --disable-dxr3) _dxr3
=no
;;
1265 --enable-iconv) _iconv
=yes ;;
1266 --disable-iconv) _iconv
=no
;;
1267 --enable-rtc) _rtc
=yes ;;
1268 --disable-rtc) _rtc
=no
;;
1269 --enable-mp1e) _mp1e
=yes ;;
1270 --disable-mp1e) _mp1e
=no
;;
1271 --enable-libdv) _libdv
=yes ;;
1272 --disable-libdv) _libdv
=no
;;
1273 --enable-ossaudio) _ossaudio
=yes ;;
1274 --disable-ossaudio) _ossaudio
=no
;;
1275 --enable-arts) _arts
=yes ;;
1276 --disable-arts) _arts
=no
;;
1277 --enable-esd) _esd
=yes ;;
1278 --disable-esd) _esd
=no
;;
1279 --enable-mad) _mad
=yes ;;
1280 --disable-mad) _mad
=no
;;
1281 --enable-liblzo) _liblzo
=yes ;;
1282 --disable-liblzo) _liblzo
=no
;;
1283 --enable-vorbis) _vorbis
=yes ;;
1284 --disable-vorbis) _vorbis
=no
;;
1285 --enable-tremor) _tremor
=yes ;;
1286 --disable-tremor) _tremor
=no
;;
1287 --enable-theora) _theora
=yes ;;
1288 --disable-theora) _theora
=no
;;
1289 --enable-matroska) _matroska
=yes ;;
1290 --disable-matroska) _matroska
=no
;;
1291 --enable-internal-faad) _faad_internal
=yes _faad_external
=no
;;
1292 --disable-internal-faad) _faad_internal
=no
;;
1293 --enable-external-faad) _faad_external
=yes _faad_internal
=no
;;
1294 --disable-external-faad) _faad_external
=no
;;
1295 --enable-xmms) _xmms
=yes ;;
1296 --enable-flac) _flac
=yes ;;
1297 --disable-flac) _flac
=no
;;
1298 --enable-external-flac) _external_flac
=yes ;;
1299 --disable-external-flac) _external_flac
=no
;;
1300 --enable-css) _css
=yes ;;
1301 --disable-css) _css
=no
;;
1302 --enable-dvdread) _dvdread
=yes ;;
1303 --disable-dvdread) _dvdread
=no
;;
1304 --enable-mpdvdkit) _dvdkit
=yes ;;
1305 --disable-mpdvdkit) _dvdkit
=no
;;
1306 # dvdnav disabled, it does not work
1307 # --enable-dvdnav) _dvdnav=yes ;;
1308 # --disable-dvdnav) _dvdnav=no ;;
1309 --enable-xanim) _xanim
=yes ;;
1310 --disable-xanim) _xanim
=no
;;
1311 --enable-real) _real
=yes ;;
1312 --disable-real) _real
=no
;;
1313 --enable-live) _live
=yes ;;
1314 --disable-live) _live
=no
;;
1315 --enable-xinerama) _xinerama
=yes ;;
1316 --disable-xinerama) _xinerama
=no
;;
1317 --enable-mga) _mga
=yes ;;
1318 --disable-mga) _mga
=no
;;
1319 --enable-xmga) _xmga
=yes ;;
1320 --disable-xmga) _xmga
=no
;;
1321 --enable-vm) _vm
=yes ;;
1322 --disable-vm) _vm
=no
;;
1323 --enable-mlib) _mlib
=yes ;;
1324 --disable-mlib) _mlib
=no
;;
1325 --enable-sunaudio) _sunaudio
=yes ;;
1326 --disable-sunaudio) _sunaudio
=no
;;
1327 --enable-sgiaudio) _sgiaudio
=yes ;;
1328 --disable-sgiaudio) _sgiaudio
=no
;;
1329 --enable-alsa) _alsa
=yes ;;
1330 --disable-alsa) _alsa
=no
;;
1331 --enable-tv) _tv
=yes ;;
1332 --disable-tv) _tv
=no
;;
1333 --enable-edl) _edl
=yes ;;
1334 --disable-edl) _edl
=no
;;
1335 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1336 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1337 --enable-tv-v4l) _tv_v4l
=yes ;;
1338 --disable-tv-v4l) _tv_v4l
=no
;;
1339 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1340 --disable-tv-v4l2) _tv_v4l2
=no
;;
1341 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1342 --disable-fastmemcpy) _fastmemcpy
=no
;;
1343 --enable-network) _network
=yes ;;
1344 --disable-network) _network
=no
;;
1345 --enable-winsock2) _winsock2
=yes ;;
1346 --disable-winsock2) _winsock2
=no
;;
1347 --enable-smb) _smbsupport
=yes ;;
1348 --disable-smb) _smbsupport
=no
;;
1349 --enable-vidix) _vidix
=yes ;;
1350 --disable-vidix) _vidix
=no
;;
1351 --enable-joystick) _joystick
=yes ;;
1352 --disable-joystick) _joystick
=no
;;
1353 --enable-xvid) _xvid
=yes ;;
1354 --disable-xvid) _xvid
=no
;;
1355 --enable-divx4linux) _divx4linux
=yes ;;
1356 --disable-divx4linux) _divx4linux
=no
;;
1357 --enable-opendivx) _opendivx
=yes ;;
1358 --disable-opendivx) _opendivx
=no
;;
1359 --enable-libavcodec) _libavcodec
=yes ;;
1360 --disable-libavcodec) _libavcodec
=no
;;
1361 --enable-libfame) _fame
=yes ;;
1362 --disable-libfame) _fame
=no
;;
1363 --enable-lirc) _lirc
=yes ;;
1364 --disable-lirc) _lirc
=no
;;
1365 --enable-lircc) _lircc
=yes ;;
1366 --disable-lircc) _lircc
=no
;;
1367 --enable-gui) _gui
=yes ;;
1368 --disable-gui) _gui
=no
;;
1369 --enable-termcap) _termcap
=yes ;;
1370 --disable-termcap) _termcap
=no
;;
1371 --enable-termios) _termios
=yes ;;
1372 --disable-termios) _termios
=no
;;
1373 --enable-3dfx) _3dfx
=yes ;;
1374 --disable-3dfx) _3dfx
=no
;;
1375 --enable-tdfxfb) _tdfxfb
=yes ;;
1376 --disable-tdfxvid) _tdfxvid
=no
;;
1377 --enable-tdfxvid) _tdfxvid
=yes ;;
1378 --disable-tga) _tga
=no
;;
1379 --enable-tga) _tga
=yes ;;
1380 --disable-tdfxfb) _tdfxfb
=no
;;
1381 --enable-directfb) _directfb
=yes ;;
1382 --disable-directfb) _directfb
=no
;;
1383 --enable-zr) _zr
=yes ;;
1384 --disable-zr) _zr
=no
;;
1385 --enable-bl) _bl
=yes ;;
1386 --disable-bl) _bl
=no
;;
1387 --enable-mtrr) _mtrr
=yes ;;
1388 --disable-mtrr) _mtrr
=no
;;
1389 --enable-largefiles) _largefiles
=yes ;;
1390 --disable-largefiles) _largefiles
=no
;;
1391 --enable-shm) _shm
=yes ;;
1392 --disable-shm) _shm
=no
;;
1393 --enable-select) _select
=yes ;;
1394 --disable-select) _select
=no
;;
1395 --enable-linux-devfs) _linux_devfs
=yes ;;
1396 --disable-linux-devfs) _linux_devfs
=no
;;
1397 --enable-cdparanoia) _cdparanoia
=yes ;;
1398 --disable-cdparanoia) _cdparanoia
=no
;;
1399 --enable-big-endian) _big_endian
=yes ;;
1400 --disable-big-endian) _big_endian
=no
;;
1401 --enable-freetype) _freetype
=yes ;;
1402 --disable-freetype) _freetype
=no
;;
1403 --enable-unrarlib) _unrarlib
=yes ;;
1404 --disable-unrarlib) _unrarlib
=no
;;
1405 --enable-ftp) _ftp
=yes ;;
1406 --disable-ftp) _ftp
=no
;;
1408 --enable-fribidi) _fribidi
=yes ;;
1409 --disable-fribidi) _fribidi
=no
;;
1411 --enable-inet6) _inet6
=yes ;;
1412 --disable-inet6) _inet6
=no
;;
1414 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1415 --disable-gethostbyname2) _gethostbyname2
=no
;;
1417 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1418 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1419 --disable-dga) _dga
=no
;;
1421 --enable-shared-pp) _shared_pp
=yes ;;
1422 --disable-shared-pp) _shared_pp
=no
;;
1424 --enable-menu) _menu
=yes ;;
1425 --disable-menu) _menu
=no
;;
1427 --enable-qtx) _qtx
=yes ;;
1428 --disable-qtx) _qtx
=no
;;
1430 --enable-macosx) _macosx
=yes ;;
1431 --disable-macosx) _macosx
=no
;;
1433 --enable-sortsub) _sortsub
=yes ;;
1434 --disable-sortsub) _sortsub
=no
;;
1437 _language
=`echo $ac_option | cut -d '=' -f 2`
1439 # dvdnav disabled, it does not work
1440 # --with-libdvdnav=*)
1441 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1446 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1447 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1448 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1450 --with-win32libdir=*)
1451 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1454 --with-xanimlibdir=*)
1455 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1458 --with-reallibdir=*)
1459 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1462 --with-livelibdir=*)
1463 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
1467 _csslibdir
=`echo $ac_option | cut -d '=' -f 2`
1471 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1475 --with-xmmslibdir=*)
1476 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1479 --with-xmmsplugindir=*)
1480 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1493 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1495 --disable-sighandler)
1499 --enable-sse) _sse
=yes ;;
1500 --disable-sse) _sse
=no
;;
1501 --enable-sse2) _sse2
=yes ;;
1502 --disable-sse2) _sse2
=no
;;
1503 --enable-mmx2) _mmx2
=yes ;;
1504 --disable-mmx2) _mmx2
=no
;;
1505 --enable-3dnow) _3dnow
=yes ;;
1506 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
1507 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
1508 --disable-3dnowex) _3dnowex
=no
;;
1509 --enable-altivec) _altivec
=yes ;;
1510 --disable-altivec) _altivec
=no
;;
1511 --enable-mmx) _mmx
=yes ;;
1512 --disable-mmx) # 3Dnow! and MMX2 require MMX
1513 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
1515 --enable-win32) _win32
=yes ;;
1516 --disable-win32) _win32
=no _dshow
=no
;;
1517 --enable-dshow) _win32
=yes _dshow
=yes ;;
1518 --disable-dshow) _dshow
=no
;;
1521 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1524 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1526 --with-dxr2incdir=*)
1527 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1530 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
1533 _inc_dvb
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1535 --with-xvidlibdir=*)
1536 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1538 --with-xvidincdir=*)
1539 _inc_xvid
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1541 --with-sdl-config=*)
1542 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
1544 --with-freetype-config=*)
1545 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
1547 --with-fribidi-config=*)
1548 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
1550 --with-gtk-config=*)
1551 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
1553 --with-glib-config=*)
1554 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
1556 # dvdnav disabled, it does not work
1557 # --with-dvdnav-config=*)
1558 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1561 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1563 --with-cdparanoiaincdir=*)
1564 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1566 --with-cdparanoialibdir=*)
1567 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1569 --with-termcaplib=*)
1570 _ld_termcap
=-l`echo $ac_option | cut -d '=' -f 2`
1574 _prefix
=`echo $ac_option | cut -d '=' -f 2`
1577 _bindir
=`echo $ac_option | cut -d '=' -f 2`
1580 _datadir
=`echo $ac_option | cut -d '=' -f 2`
1583 _mandir
=`echo $ac_option | cut -d '=' -f 2`
1586 _confdir
=`echo $ac_option | cut -d '=' -f 2`
1589 _libdir
=`echo $ac_option | cut -d '=' -f 2`
1593 echo "Unknown parameter: $ac_option"
1600 # Atmos: moved this here, to be correct, if --prefix is specified
1601 test -z "$_bindir" && _bindir
="$_prefix/bin"
1602 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1603 test -z "$_mandir" && _mandir
="$_prefix/man"
1604 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1605 test -z "$_libdir" && _libdir
="$_prefix/lib"
1606 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
1609 # Checking assembler (_as) compatibility...
1610 # Added workaround for older as that reads from stdin by default - atmos
1611 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1612 echocheck
"assembler ($_as $as_version)"
1614 _pref_as_version
='2.9.1'
1616 if test "$_mmx" = yes ; then
1617 echo 'emms' >> $TMPS
1619 if test "$_3dnow" = yes ; then
1620 _pref_as_version
='2.10.1'
1621 echo 'femms' >> $TMPS
1623 if test "$_3dnowex" = yes ; then
1624 _pref_as_version
='2.10.1'
1625 echo 'pswapd %mm0, %mm0' >> $TMPS
1627 if test "$_mmx2" = yes ; then
1628 _pref_as_version
='2.10.1'
1629 echo 'movntq %mm0, (%eax)' >> $TMPS
1631 if test "$_sse" = yes ; then
1632 _pref_as_version
='2.10.1'
1633 echo 'xorps %xmm0, %xmm0' >> $TMPS
1635 #if test "$_sse2" = yes ; then
1636 # _pref_as_version='2.11'
1637 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1639 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
1641 if test "$as_verc_fail" != yes ; then
1645 echo "Upgrade binutils to ${_pref_as_version} ..."
1646 die
"obsolete binutils version"
1652 # check if altivec is supported by the compiler, and how to enable it
1654 _altivec_gcc_flags
=''
1656 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1657 echocheck
"GCC altivec support"
1665 FSF_flags
='-maltivec -mabi=altivec'
1666 Darwin_flags
='-faltivec'
1668 # check for Darwin-style flags first, since
1669 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1670 # accepts but ignores FSF-style flags...
1672 if test -z "$p"; then
1673 cc_check
$Darwin_flags && p
='Darwin'
1675 if test -z "$p"; then
1676 cc_check
$FSF_flags && p
='FSF'
1680 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
1681 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
1685 if test -z "$p"; then
1688 p
="$p-style ($_altivec_gcc_flags)"
1694 # check if <altivec.h> should be included
1696 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
1698 if test "$_altivec" = yes ; then
1699 echocheck
"altivec.h"
1701 #include <altivec.h>
1702 int main(void) { return 0; }
1705 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
1706 if test "$_have_altivec_h" = yes ; then
1707 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
1709 echores
"$_have_altivec_h"
1712 # disable runtime cpudetection if
1713 # - we cannot generate altivec code
1714 # - altivec is disabled by the user
1716 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
1717 _runtime_cpudetection
=no
1720 # show that we are optimizing for altivec (if enabled and supported)
1722 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
1723 _optimizing
="$_optimizing altivec"
1726 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1728 if test "$_altivec" = yes ; then
1729 _mcpu
="$_mcpu $_altivec_gcc_flags"
1732 # setup _def_altivec correctly
1734 if test "$_altivec" = yes ; then
1735 _def_altivec
='#define HAVE_ALTIVEC 1'
1737 _def_altivec
='#undef HAVE_ALTIVEC'
1741 _def_mmx
='#undef HAVE_MMX'
1742 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
1743 _def_mmx2
='#undef HAVE_MMX2'
1744 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
1745 _def_3dnow
='#undef HAVE_3DNOW'
1746 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
1747 _def_3dnowex
='#undef HAVE_3DNOWEX'
1748 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
1749 _def_sse
='#undef HAVE_SSE'
1750 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
1751 _def_sse2
='#undef HAVE_SSE2'
1752 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
1754 # Checking kernel version...
1755 if x86
&& linux
; then
1757 kernel_version
=`uname -r 2>&1`
1758 echocheck
"$system_name kernel version"
1759 case "$kernel_version" in
1760 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
1761 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
1762 _k_verc_problem
=yes;;
1764 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
1767 if test "$_k_verc_fail" ; then
1768 echores
"$kernel_version, fail"
1769 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
1770 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
1771 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
1772 echo "supports SSE, but you have been warned! If you are using a kernel older than"
1773 echo "2.2.x you must upgrade it to get SSE support!"
1774 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
1776 echores
"$kernel_version, ok"
1780 if test "$_vidix" = auto
; then
1782 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
1784 ppc
&& linux
&& _vidix
=yes
1785 alpha
&& linux
&& _vidix
=yes
1787 mingw32
&& _vidix
=no
1792 # On QNX we must link to libph - Gabucino
1794 _ld_arch
="$_ld_arch -lph"
1797 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
1799 if test "$_vidix" = yes ; then
1802 for _awk
in mawk gawk nawk
awk; do
1803 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
1808 test "$_awk_verc_fail" = yes && _awk
=no
1810 if test "$_awk_verc_fail" = yes; then
1811 echo "VIDIX needs awk, but no working implementation was found!"
1812 echo "Try the GNU version, which can be downloaded from:"
1813 echo "ftp://ftp.gnu.org/gnu/gawk/"
1814 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
1819 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1824 ######################
1825 # MAIN TESTS GO HERE #
1826 ######################
1829 echocheck
"extra headers"
1830 if test "$_inc_extra" ; then
1831 echores
"$_inc_extra"
1837 echocheck
"extra libs"
1838 if test "$_ld_extra" ; then
1839 echores
"$_ld_extra"
1845 # Checking for localization ...
1846 # CSAK EGY MARADHAT - A HEGYLAKO
1848 if test "$_i18n" != no
; then
1850 #include <libintl.h>
1851 int main(void) { gettext("test"); return 0; }
1855 if test "$_i18n" = auto
; then
1856 cc_check
&& _i18n
=yes
1858 for i18n_lib
in "" "-lintl"; do
1859 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
1863 if test "$_i18n" = yes ; then
1864 _def_i18n
='#define USE_I18N 1'
1866 _def_i18n
='#undef USE_I18N'
1868 if test -z "$_i18n_libs" ; then
1871 echores
"$_i18n (using $_i18n_libs)"
1875 # Checking for setlocale() ...
1876 # CSAK EGY MARADHAT - A HEGYLAKO
1877 # Nemnem. a TV Maci !
1878 echocheck
"setlocale()"
1879 if test "$_setlocale" = auto
; then
1882 int main(void) { setlocale( LC_ALL,"" ); return 0; }
1885 cc_check
&& _setlocale
=yes
1887 if test "$_setlocale" = yes ; then
1888 _def_setlocale
='#define USE_SETLOCALE 1'
1890 _def_setlocale
='#undef USE_SETLOCALE'
1892 echores
"$_setlocale"
1895 echocheck
"language"
1896 test -z "$_language" && _language
=$LINGUAS
1897 _language
=`echo $_language | sed 's/,/ /g'`
1898 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
1899 for i
in $_language ; do
1900 test "$i" = all
&& i
=en
1901 if test -f "help/help_mp-${i}.h" ; then
1905 echo -n "$i not found, "
1906 _language
=`echo $_language | sed "s/$i *//g"`
1909 test -z "$_language" && _language
=en
1910 for i
in $LANGUAGES ; do
1911 if test -f "DOCS/man/$i/mplayer.1" ; then
1912 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
1914 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
1917 echores
"using $_language (man pages: $LANGUAGES)"
1918 _mp_help
="help/help_mp-${_language}.h"
1919 test -f $_mp_help || die
"$_mp_help not found"
1921 echocheck
"enable sighandler"
1922 if test "$_sighandler" = yes ; then
1923 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
1925 _def_sighandler
='#undef ENABLE_SIGHANDLER'
1927 echores
"$_sighandler"
1929 echocheck
"runtime cpudetection"
1930 if test "$_runtime_cpudetection" = yes ; then
1931 _optimizing
="Runtime CPU-Detection enabled"
1932 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
1934 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
1936 echores
"$_runtime_cpudetection"
1939 echocheck
"restrict keyword"
1940 for restrict_keyword
in restrict __restrict __restrict__
; do
1941 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
1943 _def_restrict_keyword
=$restrict_keyword
1947 if [ -n "$_def_restrict_keyword" ]; then
1948 echores
"$_def_restrict_keyword"
1957 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
1960 cc_check
-lkstat && _kstat
=yes
1961 if test "$_kstat" = yes ; then
1962 _ld_arch
="-lkstat $_ld_arch"
1964 if test "$_kstat" = yes ; then
1965 _def_kstat
="#define HAVE_LIBKSTAT 1"
1967 _def_kstat
="#undef HAVE_LIBKSTAT"
1973 # required for nanosleep on some systems
1976 int main(void) { (void) nanosleep(0, 0); return 0; }
1979 cc_check
-lposix4 && _posix4
=yes
1980 if test "$_posix4" = yes ; then
1981 _ld_arch
="-lposix4 $_ld_arch"
1989 int main(void) { (void) lrintf(0.0); return 0; }
1992 cc_check
-lm && _lrintf
=yes
1993 if test "$_lrintf" = yes ; then
1994 _def_lrintf
="#define HAVE_LRINTF 1"
1996 _def_lrintf
="#undef HAVE_LRINTF"
2001 echocheck
"nanosleep"
2002 # also check for nanosleep
2005 int main(void) { (void) nanosleep(0, 0); return 0; }
2008 cc_check
$_ld_arch && _nanosleep
=yes
2009 if test "$_nanosleep" = yes ; then
2010 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2012 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2014 echores
"$_nanosleep"
2018 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2021 int main(void) { (void) gethostbyname(0); return 0; }
2023 cc_check
-lsocket && _ld_sock
="-lsocket"
2024 cc_check
-lnsl && _ld_sock
="-lnsl"
2025 cc_check
-lsocket -lnsl && _ld_sock
="-lsocket -lnsl"
2026 cc_check
-lsocket -ldnet && _ld_sock
="-lsocket -ldnet"
2027 if test $_winsock2 = auto
&& not cygwin
; then
2030 #include <winsock2.h>
2031 int main(void) { (void) gethostbyname(0); return 0; }
2033 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2035 if test "$_ld_sock" ; then
2036 echores
"yes (using $_ld_sock)"
2042 if test $_winsock2 = yes ; then
2044 _def_winsock2
='#define HAVE_WINSOCK2 1'
2046 _def_winsock2
='#undef HAVE_WINSOCK2'
2051 echocheck
"inet_pton()"
2053 #include <sys/types.h>
2054 #include <sys/socket.h>
2055 #include <arpa/inet.h>
2056 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2058 if test "$_winsock2" = yes ; then
2059 echores
"not needed (using winsock2 functions)"
2060 elif cc_check
$_ld_sock ; then
2061 # NOTE: Linux has libresolv but does not need it
2063 echores
"yes (using $_ld_sock)"
2064 elif cc_check
$_ld_sock -lresolv ; then
2065 # NOTE: needed for SunOS at least
2066 _ld_sock
="$_ld_sock -lresolv"
2067 echores
"yes (using $_ld_sock)"
2069 echores
"no (=> i'll try inet_aton next)"
2071 echocheck
"inet_aton()"
2073 #include <sys/types.h>
2074 #include <sys/socket.h>
2075 #include <arpa/inet.h>
2076 int main(void) { (void) inet_aton(0, 0); return 0; }
2079 if cc_check
$_ld_sock ; then
2080 # NOTE: Linux has libresolv but does not need it
2082 echores
"yes (using $_ld_sock)"
2083 elif cc_check
$_ld_sock -lresolv ; then
2084 # NOTE: needed for SunOS at least
2085 _ld_sock
="$_ld_sock -lresolv"
2086 echores
"yes (using $_ld_sock)"
2090 echores
"no (=> network support disabled)"
2094 _def_use_aton
='#undef USE_ATON'
2095 if test "$_use_aton" != no
; then
2096 _def_use_aton
='#define USE_ATON 1'
2100 echocheck
"inttypes.h (required)"
2102 #include <inttypes.h>
2103 int main(void) { return 0; }
2106 cc_check
&& _inttypes
=yes
2107 if test "$_inttypes" = yes ; then
2112 echocheck
"bitypes.h (inttypes.h predecessor)"
2114 #include <sys/bitypes.h>
2115 int main(void) { return 0; }
2118 cc_check
&& _inttypes
=yes
2119 if test "$_inttypes" = yes ; then
2120 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."
2122 die
"cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/en/faq.html)"
2125 echores
"$_inttypes"
2128 echocheck
"int_fastXY_t in inttypes.h"
2130 #include <inttypes.h>
2132 volatile int_fast16_t v= 0;
2136 cc_check
&& _fast_inttypes
=yes
2137 if test "$_fast_inttypes" = yes ; then
2141 _def_fast_inttypes
='
2142 typedef signed char int_fast8_t;
2143 typedef signed int int_fast16_t;
2144 typedef signed int int_fast32_t;
2145 typedef unsigned char uint_fast8_t;
2146 typedef unsigned int uint_fast16_t;
2147 typedef unsigned int uint_fast32_t;'
2149 echores
"$_fast_inttypes"
2152 echocheck
"word size"
2153 _mp_wordsize
="#undef MP_WORDSIZE"
2156 #include <sys/types.h>
2157 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2159 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2160 echores
"$_wordsize"
2163 echocheck
"stddef.h"
2166 int main(void) { return 0; }
2169 cc_check
&& _stddef
=yes
2170 if test "$_stddef" = yes ; then
2171 _def_stddef
='#define HAVE_STDDEF_H 1'
2173 _def_stddef
='#undef HAVE_STDDEF_H'
2178 echocheck
"malloc.h"
2181 int main(void) { (void) malloc(0); return 0; }
2184 cc_check
&& _malloc
=yes
2185 if test "$_malloc" = yes ; then
2186 _def_malloc
='#define HAVE_MALLOC_H 1'
2188 _def_malloc
='#undef HAVE_MALLOC_H'
2190 # malloc.h emits a warning in FreeBSD and OpenBSD
2191 (freebsd || openbsd
) && _def_malloc
='#undef HAVE_MALLOC_H'
2195 echocheck
"memalign()"
2196 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2199 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2202 cc_check
&& _memalign
=yes
2203 if test "$_memalign" = yes ; then
2204 _def_memalign
='#define HAVE_MEMALIGN 1'
2206 _def_memalign
='#undef HAVE_MEMALIGN'
2208 echores
"$_memalign"
2211 echocheck
"alloca.h"
2214 int main(void) { (void) alloca(0); return 0; }
2217 cc_check
&& _alloca
=yes
2219 _def_alloca
='#define HAVE_ALLOCA_H 1'
2221 _def_alloca
='#undef HAVE_ALLOCA_H'
2228 #include <sys/types.h>
2229 #include <sys/mman.h>
2230 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2233 cc_check
&& _mman
=yes
2234 if test "$_mman" = yes ; then
2235 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2237 _def_mman
='#undef HAVE_SYS_MMAN_H'
2241 echocheck
"dynamic loader"
2244 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2249 elif cc_check
-ldl ; then
2253 if test "$_dl" = yes ; then
2254 _def_dl
='#define HAVE_LIBDL 1'
2256 _def_dl
='#undef HAVE_LIBDL'
2261 echocheck
"dynamic a/v plugins support"
2262 if test "$_dl" = no
; then
2265 if test "$_dynamic_plugins" = yes ; then
2266 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2268 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2270 echores
"$_dynamic_plugins"
2273 #echocheck "dynamic linking"
2274 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2275 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2277 #int main(void) { return 0; }
2279 #if cc_check -rdynamic ; then
2280 # _ld_dl_dynamic='-rdynamic'
2281 #elif cc_check -Bdynamic ; then
2282 # _ld_dl_dynamic='-Bdynamic'
2283 #elif cc_check ; then
2286 #echores "using $_ld_dl_dynamic"
2291 #include <pthread.h>
2292 void* func(void *arg) { return arg; }
2293 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2297 elif ( cc_check
&& $TMPO ) ; then # QNX
2299 elif ( cc_check
-lpthread && $TMPO ) ; then
2300 _ld_pthread
='-lpthread'
2301 elif ( cc_check
-pthread && $TMPO ) ; then
2302 _ld_pthread
='-pthread'
2304 if test "$_ld_static" ; then
2305 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2306 if ( cc_check
-lpthread ) ; then
2307 _ld_pthread
='-lpthread'
2308 elif ( cc_check
-pthread ) ; then
2309 _ld_pthread
='-pthread'
2311 echores
"no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2312 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2315 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2316 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2319 if test "$_ld_pthread" != '' ; then
2320 echores
"yes (using $_ld_pthread)"
2323 echocheck
"sys/soundcard.h"
2325 #include <sys/soundcard.h>
2326 int main(void) { return 0; }
2329 cc_check
&& _sys_soundcard
=yes
2330 if test "$_sys_soundcard" = yes ; then
2331 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2332 _inc_soundcard
='#include <sys/soundcard.h>'
2334 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2336 echores
"$_sys_soundcard"
2338 if test "$_sys_soundcard" != yes ; then
2339 echocheck
"soundcard.h"
2341 #include <soundcard.h>
2342 int main(void) { return 0; }
2345 cc_check
&& _soundcard
=yes
2346 if linux ||
test "$_ossaudio" != no
; then
2347 # use soundcard.h on Linux, or when OSS support is enabled
2348 echores
"$_soundcard"
2350 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2351 echores
"$_soundcard, but ignored!"
2354 if test "$_soundcard" = yes ; then
2355 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2356 _inc_soundcard
='#include <soundcard.h>'
2358 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2361 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2365 echocheck
"sys/dvdio.h"
2368 #include <sys/dvdio.h>
2369 int main(void) { return 0; }
2372 cc_check
&& _dvdio
=yes
2373 if test "$_dvdio" = yes ; then
2374 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2376 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2381 echocheck
"sys/cdio.h"
2384 #include <sys/cdio.h>
2385 int main(void) { return 0; }
2388 cc_check
&& _cdio
=yes
2389 if test "$_cdio" = yes ; then
2390 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2392 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2397 echocheck
"linux/cdrom.h"
2399 #include <sys/types.h>
2400 #include <linux/cdrom.h>
2401 int main(void) { return 0; }
2404 cc_check
&& _cdrom
=yes
2405 if test "$_cdrom" = yes ; then
2406 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2408 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2416 int main(void) { return 0; }
2419 cc_check
&& _dvd
=yes
2420 if test "$_dvd" = yes ; then
2421 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2423 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2428 echocheck
"BSDI dvd.h"
2431 int main(void) { return 0; }
2434 cc_check
&& _bsdi_dvd
=yes
2435 if test "$_bsdi_dvd" = yes ; then
2436 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2438 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2440 echores
"$_bsdi_dvd"
2443 echocheck
"HPUX SCSI header"
2445 #include <sys/scsi.h>
2446 int main(void) { return 0; }
2449 cc_check
&& _hpux_scsi_h
=yes
2450 if test "$_hpux_scsi_h" = yes ; then
2451 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2453 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2455 echores
"$_hpux_scsi_h"
2458 echocheck
"userspace SCSI headers (Solaris)"
2460 # include <unistd.h>
2461 # include <stropts.h>
2462 # include <sys/scsi/scsi_types.h>
2463 # include <sys/scsi/impl/uscsi.h>
2464 int main(void) { return 0; }
2467 cc_check
&& _sol_scsi_h
=yes
2468 if test "$_sol_scsi_h" = yes ; then
2469 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2471 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2473 echores
"$_sol_scsi_h"
2477 if test "$_termcap" = auto
; then
2479 int main(void) { return 0; }
2482 cc_check
-ltermcap && _termcap
=yes && _ld_termcap
='-ltermcap'
2483 cc_check
-ltinfo && _termcap
=yes && _ld_termcap
='-ltinfo'
2485 if test "$_termcap" = yes ; then
2486 _def_termcap
='#define USE_TERMCAP 1'
2487 echores
"yes (using $_ld_termcap)"
2489 _def_termcap
='#undef USE_TERMCAP'
2495 if test "$_termios" = auto
; then
2497 #include <sys/termios.h>
2498 int main(void) { return 0; }
2501 cc_check
&& _termios
=yes
2502 _def_termios_h_name
='sys/termios.h'
2505 if test "$_termios" = no
; then
2507 #include <termios.h>
2508 int main(void) { return 0; }
2511 cc_check
&& _termios
=yes
2512 _def_termios_h_name
='termios.h'
2515 if test "$_termios" = yes ; then
2516 _def_termios
='#define HAVE_TERMIOS 1'
2517 _def_termios_h
='#undef HAVE_TERMIOS_H'
2518 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
2520 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2521 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
2522 elif test "$_def_termios_h_name" = 'termios.h' ; then
2523 _def_termios_h
='#define HAVE_TERMIOS_H 1'
2525 echores
"yes (using $_def_termios_h_name)"
2527 _def_termios
='#undef HAVE_TERMIOS'
2528 _def_termios_h_name
=''
2534 if test "$_shm" = auto
; then
2536 #include <sys/types.h>
2537 #include <sys/shm.h>
2538 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2541 cc_check
&& _shm
=yes
2543 if test "$_shm" = yes ; then
2544 _def_shm
='#define HAVE_SHM 1'
2546 _def_shm
='#undef HAVE_SHM'
2551 # XXX: FIXME, add runtime checking
2552 echocheck
"linux devfs"
2553 echores
"$_linux_devfs"
2556 echocheck
"scandir()"
2558 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2561 cc_check
&& _scandir
=yes
2562 if test "$_scandir" = yes ; then
2563 _def_scandir
='#define HAVE_SCANDIR 1'
2565 _def_scandir
='#undef HAVE_SCANDIR'
2570 echocheck
"strsep()"
2573 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2576 cc_check
&& _strsep
=yes
2577 if test "$_strsep" = yes ; then
2578 _def_strsep
='#define HAVE_STRSEP 1'
2580 _def_strsep
='#undef HAVE_STRSEP'
2585 echocheck
"vsscanf()"
2588 int main(void) { vsscanf(0, 0, 0); return 0; }
2591 cc_check
&& _vsscanf
=yes
2592 if test "$_vsscanf" = yes ; then
2593 _def_vsscanf
='#define HAVE_VSSCANF 1'
2595 _def_vsscanf
='#undef HAVE_VSSCANF'
2600 echocheck
"posix select()"
2604 #include <sys/types.h>
2606 #include <sys/time.h>
2608 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
2611 cc_check
&& _posix_select
=yes
2612 if test "$_posix_select" = no
; then
2613 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
2615 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
2617 echores
"$_posix_select"
2620 echocheck
"gettimeofday()"
2623 #include <sys/time.h>
2624 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
2627 cc_check
&& _gettimeofday
=yes
2628 if test "$_gettimeofday" = yes ; then
2629 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
2631 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
2633 echores
"$_gettimeofday"
2640 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
2643 cc_check
&& _glob
=yes
2644 if test "$_glob" = yes ; then
2645 _def_glob
='#define HAVE_GLOB 1'
2647 _def_glob
='#undef HAVE_GLOB'
2652 echocheck
"sys/sysinfo.h"
2654 #include <sys/sysinfo.h>
2656 struct sysinfo s_info;
2662 cc_check
&& _sys_sysinfo
=yes
2663 if test "$_sys_sysinfo" = yes ; then
2664 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
2665 _inc_sysinfo
='#include <sys/sysinfo.h>'
2667 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
2669 echores
"$_sys_sysinfo"
2672 echocheck
"Mac OS X APIs"
2673 if test "$_macosx" = auto
; then
2674 if darwin
&& ppc
; then
2678 _def_macosx
='#undef MACOSX'
2679 _noaomodules
="macosx $_noaomodules"
2682 if test "$_macosx" = yes ; then
2684 #include <Carbon/Carbon.h>
2685 #include <QuickTime/QuickTime.h>
2686 #include <CoreAudio/CoreAudio.h>
2690 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
2693 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
2695 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio"
2696 _def_macosx
='#define MACOSX 1'
2697 _aosrc
="$_aosrc ao_macosx.c"
2698 _aomodules
="macosx $_aomodules"
2701 _def_macosx
='#undef MACOSX'
2702 _noaomodules
="macosx $_noaomodules"
2708 echocheck
"Samba support (libsmbclient)"
2709 if test "$_smbsupport" = yes; then
2710 _ld_smb
="-lsmbclient"
2712 if test "$_smbsupport" = auto
; then
2715 #include <libsmbclient.h>
2716 int main(void) { smbc_opendir("smb://"); return 0; }
2718 if cc_check
-lsmbclient ; then
2720 _ld_smb
="-lsmbclient"
2722 if cc_check
-lsmbclient $_ld_dl ; then
2724 _ld_smb
="-lsmbclient $_ld_dl"
2726 if cc_check
-lsmbclient $_ld_dl -lnsl ; then
2728 _ld_smb
="-lsmbclient $_ld_dl -lnsl"
2734 if test "$_smbsupport" = yes; then
2735 _def_smbsupport
="#define LIBSMBCLIENT"
2736 _inputmodules
="smb $_inputmodules"
2738 _def_smbsupport
="#undef LIBSMBCLIENT"
2739 _noinputmodules
="smb $_noinputmodules"
2741 echores
"$_smbsupport"
2750 if test "$_3dfx" = yes ; then
2751 _def_3dfx
='#define HAVE_3DFX 1'
2752 _vosrc
="$_vosrc vo_3dfx.c"
2753 _vomodules
="3dfx $_vomodules"
2755 _def_3dfx
='#undef HAVE_3DFX'
2756 _novomodules
="3dfx $_novomodules"
2762 if test "$_tdfxfb" = yes ; then
2763 _def_tdfxfb
='#define HAVE_TDFXFB 1'
2764 _vosrc
="$_vosrc vo_tdfxfb.c"
2765 _vomodules
="tdfxfb $_vomodules"
2767 _def_tdfxfb
='#undef HAVE_TDFXFB'
2768 _novomodules
="tdfxfb $_novomodules"
2773 if test "$_tdfxvid" = yes ; then
2774 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
2775 _vosrc
="$_vosrc vo_tdfx_vid.c"
2776 _vomodules
="tdfx_vid $_vomodules"
2778 _def_tdfxvid
='#undef HAVE_TDFX_VID'
2779 _novomodules
="tdfx_vid $_novomodules"
2784 if test "$_tga" = yes ; then
2785 _def_tga
='#define HAVE_TGA 1'
2786 _vosrc
="$_vosrc vo_tga.c"
2787 _vomodules
="tga $_vomodules"
2789 _def_tga
='#undef HAVE_TGA'
2790 _novomodules
="tga $_novomodules"
2794 echocheck
"DirectFB headers presence"
2795 if test -z "$_inc_directfb" ; then
2796 for I
in /usr
/include
/usr
/local
/include
; do
2797 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
2798 _inc_directfb
="-I$I/directfb"
2799 echores
"yes (using $_inc_directfb)"
2802 if test -d "$I" && test -f "$I/directfb.h" ; then
2803 _inc_directfb
="-I$I"
2804 echores
"yes (using $_inc_directfb)"
2808 if test -z "$_inc_directfb" ; then
2813 echores
"yes (using $_inc_directfb)"
2815 if test "$_inc_directfb" = "-I/usr/include" ; then
2819 echocheck
"DirectFB"
2820 if test "$_directfb" = auto
; then
2823 #include <directfb.h>
2824 int main(void) { IDirectFB *foo; return 0; }
2826 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
2829 if test "$_directfb" = yes; then
2831 #include <directfb.h>
2833 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
2837 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
2838 _directfb_version
=`"$TMPO"`
2839 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
2840 echores
"yes ($_directfb_version)"
2843 echores
"no (failed to get version)"
2846 echores
"$_directfb"
2849 if test "$_directfb" = yes ; then
2850 _def_directfb
='#define HAVE_DIRECTFB 1'
2851 if test "$_directfb_version" -ge 913; then
2852 _vosrc
="$_vosrc vo_directfb2.c"
2854 _vosrc
="$_vosrc vo_directfb.c"
2856 _vomodules
="directfb $_vomodules"
2857 _ld_directfb
='-ldirectfb'
2859 if test "$_directfb_version" -ge 915; then
2860 _vosrc
="$_vosrc vo_dfbmga.c"
2861 _vomodules
="dfbmga $_vomodules"
2864 _def_directfb
='#undef HAVE_DIRECTFB'
2865 _novomodules
="directfb $_novomodules"
2870 echocheck
"X11 headers presence"
2871 if test -z "$_inc_x11" ; then
2872 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
2873 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
2875 echores
"yes (using $I)"
2879 if test -z "$_inc_x11" ; then
2881 echores
"not found (check if the dev(el) packages are installed)"
2884 echores
"yes (using $_inc_x11)"
2886 if test "$_inc_x11" = "-I/usr/include" ; then
2891 echocheck
"X11 libs presence"
2892 if test -z "$_ld_x11" ; then
2893 for I
in /usr
/X11R
6/lib
/usr
/lib
/X11R6
/usr
/X11
/lib
/usr
/lib32
/usr
/openwin
/lib
/usr
/X11R
6/lib64
; do
2894 if test -d "$I" && ( test -f "$I/libX11.so" ||
test -f "$I/libX11.a" ) ; then
2896 echores
"yes (using $I)"
2900 if test -z "$_ld_x11" ; then
2902 echores
"not found (check if the dev(el) packages are installed)"
2905 echores
"yes (using $_ld_x11)"
2907 _ld_x11
="$_ld_x11 -lXext -lX11 $_ld_sock"
2911 if test "$_x11" != no
; then
2913 #include <X11/Xlib.h>
2914 #include <X11/Xutil.h>
2915 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
2918 cc_check
$_inc_x11 $_ld_x11 && _x11
=yes
2920 if test "$_x11" = yes ; then
2921 _def_x11
='#define HAVE_X11 1'
2922 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
2923 _vomodules
="x11 xover $_vomodules"
2925 _def_x11
='#undef HAVE_X11'
2928 _novomodules
="x11 $_novomodules"
2935 if test "$_x11" = yes ; then
2937 #include <X11/Xmd.h>
2938 #include <X11/Xlib.h>
2939 #include <X11/Xutil.h>
2940 #include <X11/Xatom.h>
2941 #include <X11/extensions/dpms.h>
2943 (void) DPMSQueryExtension(0, 0, 0);
2946 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
2949 if test "$_x11" = yes ; then
2951 #include <X11/Xlib.h>
2952 #include <X11/extensions/dpms.h>
2954 (void) DPMSQueryExtension(0, 0, 0);
2957 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
2959 if test "$_xdpms4" = yes ; then
2960 _def_xdpms
='#define HAVE_XDPMS 1'
2961 echores
"yes (using Xdpms 4)"
2962 elif test "$_xdpms3" = yes ; then
2963 _def_xdpms
='#define HAVE_XDPMS 1'
2964 _ld_x11
="-lXdpms $_ld_x11"
2965 echores
"yes (using Xdpms 3)"
2967 _def_xdpms
='#undef HAVE_XDPMS'
2973 if test "$_x11" = yes && test "$_xv" != no
; then
2975 #include <X11/Xlib.h>
2976 #include <X11/extensions/Xvlib.h>
2977 int main(void) { (void) XvGetPortAttribute(0, 0, 0, 0); return 0; }
2980 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
2984 if test "$_xv" = yes ; then
2985 _def_xv
='#define HAVE_XV 1'
2987 _vosrc
="$_vosrc vo_xv.c"
2988 _vomodules
="xv $_vomodules"
2990 _def_xv
='#undef HAVE_XV'
2991 _novomodules
="xv $_novomodules"
2997 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
3000 #include <X11/Xlib.h>
3001 #include <X11/extensions/Xvlib.h>
3002 #include <X11/extensions/XvMClib.h>
3004 (void) XvMCQueryExtension(0,0,0);
3005 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3008 cc_check
$_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc
=yes
3010 if test "$_xvmc" = yes ; then
3011 _def_xvmc
='#define HAVE_XVMC 1'
3012 _ld_xvmc
="-lXvMC -l$_xvmclib"
3013 _vosrc
="$_vosrc vo_xvmc.c"
3014 _vomodules
="xvmc $_vomodules"
3016 _def_xvmc
='#undef HAVE_XVMC'
3017 _novomodules
="xvmc $_novomodules"
3022 echocheck
"Xinerama"
3023 if test "$_x11" = yes && test "$_xinerama" != no
; then
3025 #include <X11/Xlib.h>
3026 #include <X11/extensions/Xinerama.h>
3027 int main(void) { (void) XineramaIsActive(0); return 0; }
3030 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3034 if test "$_xinerama" = yes ; then
3035 _def_xinerama
='#define HAVE_XINERAMA 1'
3036 _ld_xinerama
='-lXinerama'
3038 _def_xinerama
='#undef HAVE_XINERAMA'
3040 echores
"$_xinerama"
3043 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3044 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3045 # named 'X extensions' or something similar.
3046 # This check may be useful for future mplayer versions (to change resolution)
3047 # If you run into problems, remove '-lXxf86vm'.
3049 if test "$_x11" = yes && test "$_vm" != no
; then
3051 #include <X11/Xlib.h>
3052 #include <X11/extensions/xf86vmode.h>
3053 #include <X11/XF86keysym.h>
3054 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3057 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3061 if test "$_vm" = yes ; then
3062 _def_vm
='#define HAVE_XF86VM 1'
3065 _def_vm
='#undef HAVE_XF86VM'
3071 # Version 2 is preferred to version 1 if available
3072 if test "$_dga" = auto
; then
3074 #include <X11/Xlib.h>
3075 #include <X11/extensions/xf86dga.h>
3076 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3079 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3082 #include <X11/Xlib.h>
3083 #include <X11/extensions/xf86dga.h>
3084 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3086 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3089 _def_dga
='#undef HAVE_DGA'
3090 _def_dga2
='#undef HAVE_DGA2'
3091 if test "$_dga" = 1 ; then
3092 _def_dga
='#define HAVE_DGA 1'
3093 _ld_dga
='-lXxf86dga'
3094 _vosrc
="$_vosrc vo_dga.c"
3095 _vomodules
="dga $_vomodules"
3096 echores
"yes (using DGA 1.0)"
3097 elif test "$_dga" = 2 ; then
3098 _def_dga
='#define HAVE_DGA 1'
3099 _def_dga2
='#define HAVE_DGA2 1'
3100 _ld_dga
='-lXxf86dga'
3101 _vosrc
="$_vosrc vo_dga.c"
3102 _vomodules
="dga $_vomodules"
3103 echores
"yes (using DGA 2.0)"
3104 elif test "$_dga" = no
; then
3106 _novomodules
="dga $_novomodules"
3108 die
"DGA version must be 1 or 2"
3113 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3114 if (test "$_x11" = yes || mingw32 || cygwin
) && test "$_gl" != no
; then
3117 int main(void) { return 0; }
3120 if cc_check
$_inc_x11 $_ld_x11 -lGL -lm ; then
3123 elif cc_check
$_inc_x11 $_ld_x11 -lGL -lm $_ld_pthread ; then
3125 _ld_gl
="-lGL $_ld_pthread"
3126 elif cc_check
-lopengl32 ; then
3129 _ld_gl
="-lopengl32 -lgdi32"
3134 if test "$_gl" = yes ; then
3135 _def_gl
='#define HAVE_GL 1'
3136 if test "$_gl_win32" = yes ; then
3137 _def_gl_win32
='#define GL_WIN32 1'
3138 _vosrc
="$_vosrc vo_gl2.c w32_common.c"
3140 _vosrc
="$_vosrc vo_gl.c vo_gl2.c"
3142 _vomodules
="opengl $_vomodules"
3144 _def_gl
='#undef HAVE_GL'
3145 _def_gl_win32
='#undef GL_WIN32'
3146 _novomodules
="opengl $_novomodules"
3151 echocheck
"/dev/mga_vid"
3152 if test "$_mga" = auto
; then
3154 test -c /dev
/mga_vid
&& _mga
=yes
3156 if test "$_mga" = yes ; then
3157 _def_mga
='#define HAVE_MGA 1'
3158 _vosrc
="$_vosrc vo_mga.c"
3159 _vomodules
="mga $_vomodules"
3161 _def_mga
='#undef HAVE_MGA'
3162 _novomodules
="mga $_novomodules"
3167 # echocheck "syncfb"
3169 # test "$_mga" = yes && _syncfb=yes
3170 # if test "$_syncfb" = yes ; then
3171 # _def_syncfb='#define HAVE_SYNCFB 1'
3172 # _vosrc="$_vosrc vo_syncfb.c"
3174 # _def_syncfb='#undef HAVE_SYNCFB'
3176 # echores "$_syncfb"
3180 if test "$_xmga" = auto
; then
3182 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3184 if test "$_xmga" = yes ; then
3185 _def_xmga
='#define HAVE_XMGA 1'
3186 _vosrc
="$_vosrc vo_xmga.c"
3187 _vomodules
="xmga $_vomodules"
3189 _def_xmga
='#undef HAVE_XMGA'
3190 _novomodules
="xmga $_novomodules"
3196 if test "$_ggi" = auto
; then
3198 #include <ggi/ggi.h>
3199 int main(void) { return 0; }
3202 cc_check
-lggi && _ggi
=yes
3204 if test "$_ggi" = yes ; then
3205 _def_ggi
='#define HAVE_GGI 1'
3207 _vosrc
="$_vosrc vo_ggi.c"
3208 _vomodules
="ggi $_vomodules"
3210 _def_ggi
='#undef HAVE_GGI'
3211 _novomodules
="ggi $_novomodules"
3217 if test "$_aa" = auto
; then
3220 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3223 cc_check
-laa && _aa
=yes
3225 if test "$_aa" = yes ; then
3226 _def_aa
='#define HAVE_AA 1'
3228 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
3232 _vosrc
="$_vosrc vo_aa.c"
3233 _vomodules
="aa $_vomodules"
3235 _def_aa
='#undef HAVE_AA'
3236 _novomodules
="aa $_novomodules"
3242 if test "$_svga" = auto
; then
3246 int main(void) { return 0; }
3249 cc_check
-lvgagl -lvga -lm && _svga
=yes
3251 if test "$_svga" = yes ; then
3252 _def_svga
='#define HAVE_SVGALIB 1'
3253 _ld_svga
='-lvgagl -lvga -lm'
3254 _vosrc
="$_vosrc vo_svga.c"
3255 _vomodules
="svga $_vomodules"
3257 _def_svga
='#undef HAVE_SVGALIB'
3258 _novomodules
="svga $_novomodules"
3264 if test "$_fbdev" = auto
; then
3266 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
3268 if test "$_fbdev" = yes ; then
3269 _def_fbdev
='#define HAVE_FBDEV 1'
3270 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
3271 _vomodules
="fbdev $_vomodules"
3273 _def_fbdev
='#undef HAVE_FBDEV'
3274 _novomodules
="fbdev $_novomodules"
3281 if test "$_dvb" != no
; then
3284 #include <sys/poll.h>
3285 #include <sys/ioctl.h>
3290 #include <ost/dmx.h>
3291 #include <ost/frontend.h>
3292 #include <ost/sec.h>
3293 #include <ost/video.h>
3294 #include <ost/audio.h>
3295 int main(void) {return 0;}
3301 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3302 if cc_check
"$I" ; then
3305 echores
"yes (using $_inc_dvb)"
3309 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3314 if test "$_dvb" = yes ; then
3315 _def_dvb
='#define HAVE_DVB 1'
3316 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3317 _aomodules
="mpegpes(dvb) $_aomodules"
3318 _vomodules
="mpegpes(dvb) $_vomodules"
3320 if test "$_dvbhead" != no
; then
3321 echocheck
"DVB HEAD"
3322 if test "$_dvbhead" != no
; then
3326 #include <sys/poll.h>
3327 #include <sys/ioctl.h>
3332 #include <linux/dvb/dmx.h>
3333 #include <linux/dvb/frontend.h>
3334 #include <linux/dvb/video.h>
3335 #include <linux/dvb/audio.h>
3336 int main(void) {return 0;}
3342 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3343 if cc_check
"$I" ; then
3346 echores
"yes (using $_inc_dvb)"
3350 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3355 if test "$_dvbhead" = yes ; then
3356 _def_dvb
='#define HAVE_DVB_HEAD 1'
3357 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3358 _aomodules
="mpegpes(dvb) $_aomodules"
3359 _vomodules
="mpegpes(dvb) $_vomodules"
3362 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
3363 _def_dvb
='#undef HAVE_DVB'
3364 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
3365 _aomodules
="mpegpes(file) $_aomodules"
3366 _vomodules
="mpegpes(file) $_vomodules"
3369 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
3371 _inputmodules
="dvb $_inputmodules"
3376 echocheck
"PNG support"
3377 if test "$_png" = auto
; then
3380 # Don't check for -lpng on irix since it has its own libpng
3381 # incompatible with the GNU libpng
3382 echores
"disabled on irix (not GNU libpng)"
3388 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3389 printf("libpng: %s\n", png_libpng_ver);
3390 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3393 if cc_check
-lpng -lz -lm ; then
3394 if "$TMPO" >> "$TMPLOG" ; then
3398 echores
"no (mismatch of library and header versions)"
3407 if test "$_png" = yes ; then
3408 _def_png
='#define HAVE_PNG 1'
3410 _vosrc
="$_vosrc vo_png.c"
3411 _vomodules
="png $_vomodules"
3414 _def_png
='#undef HAVE_PNG'
3415 _novomodules
="png $_novomodules"
3419 echocheck
"JPEG support"
3420 if test "$_jpg" = auto
; then
3427 #include <jpeglib.h>
3432 if cc_check
-ljpeg -lm ; then
3433 if "$TMPO" >> "$TMPLOG" ; then
3440 if test "$_jpg" = yes ; then
3441 _def_jpg
='#define HAVE_JPEG 1'
3442 _vosrc
="$_vosrc vo_jpeg.c"
3443 _vomodules
="jpeg $_vomodules"
3447 _def_jpg
='#undef HAVE_JPEG'
3448 _novomodules
="jpeg $_novomodules"
3453 echocheck
"GIF support"
3454 if test "$_gif" = auto
; then
3457 #include <gif_lib.h>
3462 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
3465 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3467 _ld_gif
="-lungif $_ld_x11"
3468 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
3471 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3473 _ld_gif
="-lgif $_ld_x11"
3477 if test "$_gif" = yes ; then
3478 _def_gif
='#define HAVE_GIF 1'
3479 _vosrc
="$_vosrc vo_gif89a.c"
3480 _codecmodules
="gif $_codecmodules"
3481 _vomodules
="gif89a $_vomodules"
3483 _gif
="yes (old version, some encoding functions disabled)"
3484 _def_gif_4
='#undef HAVE_GIF_4'
3488 #include <gif_lib.h>
3489 void catch() { exit(1); }
3491 signal(SIGSEGV, catch); // catch segfault
3492 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
3493 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
3497 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3498 _def_gif_4
='#define HAVE_GIF_4 1'
3502 _def_gif
='#undef HAVE_GIF'
3503 _def_gif_4
='#undef HAVE_GIF_4'
3504 _novomodules
="gif89a $_novomodules"
3505 _nocodecmodules
="gif $_codecmodules"
3511 case "$_gif" in yes*)
3512 echocheck
"broken giflib workaround"
3513 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
3516 #include <gif_lib.h>
3519 printf("UserData is at address %p\n", gif.UserData);
3523 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3524 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
3533 echocheck
"VESA support"
3534 if test "$_vesa" = auto
; then
3535 if x86
&& linux
; then
3539 int main(void) { return 0; }
3541 cc_check
&& _vesa
=yes
3544 if test "$_vesa" = yes ; then
3545 _def_vesa
='#define HAVE_VESA 1'
3546 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
3547 _vomodules
="vesa $_vomodules"
3550 _def_vesa
='#undef HAVE_VESA'
3551 echores
"no (not supported on this OS/architecture)"
3552 _novomodules
="vesa $_novomodules"
3561 if test -z "$_sdlconfig" ; then
3562 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
3563 _sdlconfig
="sdl-config"
3564 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
3565 _sdlconfig
="sdl11-config"
3570 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
3573 int main(int argc, char *argv[]) { return 0; }
3576 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
3577 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
3578 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
3579 if test "$_sdlversion" -gt 116 ; then
3580 if test "$_sdlversion" -lt 121 ; then
3581 _def_sdlbuggy
='#define BUGGY_SDL'
3583 _def_sdlbuggy
='#undef BUGGY_SDL'
3592 if test "$_sdl" = yes ; then
3593 _def_sdl
='#define HAVE_SDL 1'
3595 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
3596 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
3598 _ld_sdl
=`$_sdlconfig --libs`
3599 _inc_sdl
=`$_sdlconfig --cflags`
3601 _vosrc
="$_vosrc vo_sdl.c"
3602 _vomodules
="sdl $_vomodules"
3603 _aosrc
="$_aosrc ao_sdl.c"
3604 _aomodules
="sdl $_aomodules"
3605 echores
"yes (using $_sdlconfig)"
3607 _def_sdl
='#undef HAVE_SDL'
3608 _novomodules
="sdl $_novomodules"
3609 _noaomodules
="sdl $_noaomodules"
3613 echocheck
"Windows waveout"
3614 if test "$_win32waveout" = auto
; then
3616 #include <windows.h>
3617 #include <mmsystem.h>
3618 int main(void) { return 0; }
3621 cc_check
-lwinmm && _win32waveout
=yes
3623 if test "$_win32waveout" = yes ; then
3624 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
3625 _ld_win32libs
="-lwinmm $_ld_win32libs"
3626 _aosrc
="$_aosrc ao_win32.c"
3627 _aomodules
="win32 $_aomodules"
3629 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
3630 _noaomodules
="win32 $_noaomodules"
3632 echores
"$_win32waveout"
3635 if test "$_directx" = auto
; then
3637 #include <windows.h>
3639 int main(void) { return 0; }
3642 cc_check
-lgdi32 && _directx
=yes
3644 if test "$_directx" = yes ; then
3645 _def_directx
='#define HAVE_DIRECTX 1'
3646 _ld_win32libs
="-lgdi32 $_ld_win32libs"
3647 _vosrc
="$_vosrc vo_directx.c"
3648 _vomodules
="directx $_vomodules"
3650 _def_directx
='#undef HAVE_DIRECTX'
3651 _novomodules
="directx $_novomodules"
3656 if test "$_nas" = auto ||
test "$_nas" = yes ; then
3658 #include <audio/audiolib.h>
3659 int main(void) { return 0; }
3662 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 -lm && _nas
=yes
3664 if test "$_nas" = yes ; then
3665 _def_nas
='#define HAVE_NAS 1'
3666 _ld_nas
="-laudio -lXt $_ld_x11"
3667 _aosrc
="$_aosrc ao_nas.c"
3668 _aomodules
="nas $_aomodules"
3670 _noaomodules
="nas $_noaomodules"
3671 _def_nas
='#undef HAVE_NAS'
3676 if test "$_dxr2" = auto
; then
3678 for _inc_dxr2
in "$_inc_dxr2" \
3679 "-I/usr/local/include/dxr2" \
3680 "-I/usr/include/dxr2"; do
3682 #include <dxr2ioctl.h>
3683 int main(void) { return 0; }
3685 cc_check
$_inc_dxr2 && _dxr2
=yes && break
3688 if test "$_dxr2" = yes; then
3689 _def_dxr2
='#define HAVE_DXR2 1'
3690 _vosrc
="$_vosrc vo_dxr2.c"
3691 _aosrc
="$_aosrc ao_dxr2.c"
3692 _aomodules
="dxr2 $_aomodules"
3693 _vomodules
="dxr2 $_vomodules"
3694 echores
"yes (using $_inc_dxr2)"
3696 _def_dxr2
='#undef HAVE_DXR2'
3697 _noaomodules
="dxr2 $_noaomodules"
3698 _novomodules
="dxr2 $_novomodules"
3704 if test "$_dxr3" = auto
; then
3706 #include <linux/em8300.h>
3707 int main(void) { return 0; }
3710 cc_check
&& _dxr3
=yes
3712 if test "$_dxr3" = yes ; then
3713 _def_dxr3
='#define HAVE_DXR3 1'
3714 _vosrc
="$_vosrc vo_dxr3.c"
3715 _vomodules
="dxr3 $_vomodules"
3717 _def_dxr3
='#undef HAVE_DXR3'
3718 _novomodules
="dxr3 $_novomodules"
3719 if test "$_mp1e" = auto
; then
3720 # we don't need mp1e
3727 if test "$_mmx" = no
; then
3728 # mp1e REQUIRES mmx!
3731 if test "$_mp1e" != no
; then
3733 _def_mp1e
='#define USE_MP1E'
3734 _ld_mp1e
='libmp1e/libmp1e.a'
3735 _dep_mp1e
='libmp1e/libmp1e.a'
3738 _def_mp1e
='#undef USE_MP1E'
3746 if test "$_fame" = auto
; then
3748 test "$_dxr2" = yes && _fame
=auto
3749 test "$_dxr3" = yes && _fame
=auto
3750 test "$_dvb" = yes && _fame
=auto
3752 if test "$_fame" = auto
; then
3754 if test -d libfame
&& test -f libfame
/fame.h
; then
3755 # disable fame on cygwin as no sense to port - atmos
3759 echores
"no (no fame dir)"
3765 _def_fame
='#undef USE_LIBFAME'
3766 if test "$_fame" = yes ; then
3767 _def_fame
='#define USE_LIBFAME 1'
3768 _ld_fame
='libfame/libfame.a'
3777 echocheck
"OSS Audio"
3778 if test "$_ossaudio" = auto
; then
3780 #include <sys/ioctl.h>
3782 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
3785 cc_check
&& _ossaudio
=yes
3787 if test "$_ossaudio" = yes ; then
3788 _def_ossaudio
='#define USE_OSS_AUDIO 1'
3789 _aosrc
="$_aosrc ao_oss.c"
3790 _aomodules
="oss $_aomodules"
3791 if test "$_linux_devfs" = yes; then
3792 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
3793 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
3796 #include <sys/ioctl.h>
3798 #ifdef OPEN_SOUND_SYSTEM
3799 int main(void) { return 0; }
3801 #error Not the real thing
3805 cc_check
&& _real_ossaudio
=yes
3806 if test "$_real_ossaudio" = yes; then
3807 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3808 elif netbsd || openbsd
; then
3809 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
3810 _ld_arch
="$_ld_arch -lossaudio"
3812 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3814 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
3817 _def_ossaudio
='#undef USE_OSS_AUDIO'
3818 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
3819 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
3820 _noaomodules
="oss $_noaomodules"
3822 echores
"$_ossaudio"
3826 if test "$_arts" = auto
; then
3828 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
3832 int main(void) { return 0; }
3834 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
3839 if test "$_arts" = yes ; then
3840 _def_arts
='#define USE_ARTS 1'
3841 _aosrc
="$_aosrc ao_arts.c"
3842 _aomodules
="arts $_aomodules"
3843 _ld_arts
=`artsc-config --libs`
3844 _inc_arts
=`artsc-config --cflags`
3846 _noaomodules
="arts $_noaomodules"
3852 if test "$_esd" = auto
; then
3854 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
3858 int main(void) { return 0; }
3860 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
3866 if test "$_esd" = yes ; then
3867 _def_esd
='#define USE_ESD 1'
3868 _aosrc
="$_aosrc ao_esd.c"
3869 _aomodules
="esd $_aomodules"
3870 _ld_esd
=`esd-config --libs`
3871 _inc_esd
=`esd-config --cflags`
3873 echocheck
"esd_get_latency()"
3876 int main(void) { return esd_get_latency(0); }
3878 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
3879 echores
"$_esd_latency"
3881 _def_esd
='#undef USE_ESD'
3882 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
3883 _noaomodules
="esd $_noaomodules"
3886 echocheck
"ALSA audio"
3887 if test "$_alsa" != no
; then
3890 #include <sys/asoundlib.h>
3891 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
3893 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
3896 #include <sys/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-sys'
3901 #include <alsa/asoundlib.h>
3902 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3904 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
3907 #include <sys/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-sys'
3912 #include <alsa/asoundlib.h>
3913 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3915 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-alsa'
3917 _def_alsa5
='#undef HAVE_ALSA5'
3918 _def_alsa9
='#undef HAVE_ALSA9'
3919 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
3920 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
3921 if test "$_alsaver" ; then
3922 if test "$_alsaver" = '0.5.x' ; then
3923 _aosrc
="$_aosrc ao_alsa5.c"
3924 _aomodules
="alsa5 $_aomodules"
3925 _def_alsa5
='#define HAVE_ALSA5 1'
3926 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3927 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
3928 elif test "$_alsaver" = '0.9.x-sys' ; then
3929 _aosrc
="$_aosrc ao_alsa9.c"
3930 _aomodules
="alsa9 $_aomodules"
3931 _def_alsa9
='#define HAVE_ALSA9 1'
3932 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3933 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
3934 elif test "$_alsaver" = '0.9.x-alsa' ; then
3935 _aosrc
="$_aosrc ao_alsa9.c"
3936 _aomodules
="alsa9 $_aomodules"
3937 _def_alsa9
='#define HAVE_ALSA9 1'
3938 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
3939 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
3940 elif test "$_alsaver" = '1.0.x-sys' ; then
3941 _aosrc
="$_aosrc ao_alsa9.c"
3942 _aomodules
="alsa9 $_aomodules"
3943 _def_alsa9
="#define ALSA_PCM_OLD_HW_PARAMS_API 1
3944 #define ALSA_PCM_OLD_SW_PARAMS_API 1
3945 #define HAVE_ALSA9 1"
3946 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3947 echores
"yes (using alsa 1.0.x and sys/asoundlib.h)"
3948 elif test "$_alsaver" = '1.0.x-alsa' ; then
3949 _aosrc
="$_aosrc ao_alsa9.c"
3950 _aomodules
="alsa9 $_aomodules"
3951 _def_alsa9
="#define ALSA_PCM_OLD_HW_PARAMS_API 1
3952 #define ALSA_PCM_OLD_SW_PARAMS_API 1
3953 #define HAVE_ALSA9 1"
3954 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
3955 echores
"yes (using alsa 1.0.x and alsa/asoundlib.h)"
3957 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
3959 _noaomodules
="alsa $_noaomodules"
3964 echocheck
"Sun audio"
3965 if test "$_sunaudio" = auto
; then
3967 #include <sys/types.h>
3968 #include <sys/audioio.h>
3969 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
3972 cc_check
&& _sunaudio
=yes
3974 if test "$_sunaudio" = yes ; then
3975 _def_sunaudio
='#define USE_SUN_AUDIO 1'
3976 _aosrc
="$_aosrc ao_sun.c"
3977 _aomodules
="sun $_aomodules"
3979 _def_sunaudio
='#undef USE_SUN_AUDIO'
3980 _noaomodules
="sun $_noaomodules"
3982 echores
"$_sunaudio"
3985 echocheck
"Sun mediaLib"
3986 if test "$_mlib" = auto
; then
3988 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
3991 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
3993 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
3995 if test "$_mlib" = yes ; then
3996 _def_mlib
='#define HAVE_MLIB 1'
3997 _inc_mlib
=" -I${_mlibdir}/include "
3998 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4000 _def_mlib
='#undef HAVE_MLIB'
4005 echocheck
"SGI audio"
4006 if test "$_sgiaudio" = auto
; then
4007 # check for SGI audio
4009 #include <dmedia/audio.h>
4010 int main(void) { return 0; }
4013 cc_check
&& _sgiaudio
=yes
4015 if test "$_sgiaudio" = "yes" ; then
4016 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
4017 _ld_sgiaudio
='-laudio'
4018 _aosrc
="$_aosrc ao_sgi.c"
4019 _aomodules
="sgi $_aomodules"
4021 _def_sgiaudio
='#undef USE_SGI_AUDIO'
4022 _noaomodules
="sgi $_noaomodules"
4024 echores
"$_sgiaudio"
4027 echocheck
"VCD support"
4028 if linux || bsdos || freebsd || netbsd || sunos
; then
4029 _inputmodules
="vcd $_inputmodules"
4030 _def_vcd
='#define HAVE_VCD 1'
4033 _def_vcd
='#undef HAVE_VCD'
4034 _noinputmodules
="vcd $_noinputmodules"
4035 echores
"not supported on this OS"
4038 echocheck
"DVD support (libmpdvdkit)"
4039 if test "$_dvdkit" = auto
; then
4041 if linux || freebsd || netbsd || darwin || cygwin || mingw32 || openbsd || sunos || hpux
; then
4042 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
4043 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
4046 if test "$_dvdkit" = yes ; then
4047 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
4048 if test -f "./libmpdvdkit2/Makefile" ; then
4049 _inputmodules
="mpdvdkit2 $_inputmodules"
4050 _dvdread
=libmpdvdkit2
4054 _inputmodules
="mpdvdkit $_inputmodules"
4055 _dvdread
=libmpdvdkit
4058 _noinputmodules
="mpdvdkit $_noinputmodules"
4060 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
4061 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
4062 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
4063 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
4064 if linux || netbsd || openbsd || bsdos
; then
4065 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
4067 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
4071 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
4074 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
4079 _noinputmodules
="mpdvdkit $_noinputmodules"
4081 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
4087 echocheck
"DVD support (libcss - old style)"
4088 if test "$_css" = auto
; then
4090 #include <sys/types.h>
4092 int main(void) { (void) CSSisEncrypted(0); return 0; }
4095 cc_check
-lcss $_ld_dl && _css
=yes
4097 if test "$_css" = yes ; then
4098 _def_css
='#define HAVE_LIBCSS 1'
4099 test "$_csslibdir" && _ld_css
="-L${_csslibdir} $_ld_css"
4100 _inputmodules
="dvdcss $_inputmodules"
4104 _def_css
='#undef HAVE_LIBCSS'
4105 _noinputmodules
="dvdcss $_noinputmodules"
4109 echocheck
"DVD support (libdvdread - new style)"
4110 if test "$_dvdread" = auto
; then
4112 #include <inttypes.h>
4113 #include <dvdread/dvd_reader.h>
4114 #include <dvdread/ifo_types.h>
4115 #include <dvdread/ifo_read.h>
4116 #include <dvdread/nav_read.h>
4117 int main(void) { return 0; }
4120 if test "$_dl" = yes; then
4122 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4126 _def_mpdvdkit
="#undef USE_MPDVDKIT"
4130 _def_dvdread
='#define USE_DVDREAD 1'
4132 _inputmodules
="dvdread $_inputmodules"
4136 _def_dvdread
='#undef USE_DVDREAD'
4137 _noinputmodules
="dvdread $_noinputmodules"
4142 _def_dvdread
='#define USE_DVDREAD 1'
4143 _ld_css
='-Llibmpdvdkit -lmpdvdkit'
4144 _noinputmodules
="dvdread $_noinputmodules"
4145 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
4146 echores
"disabled by libmpdvdkit"
4150 _def_dvdread
='#define USE_DVDREAD 1'
4151 _ld_css
='-Llibmpdvdkit2 -lmpdvdkit'
4152 _noinputmodules
="dvdread $_noinputmodules"
4153 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
4154 echores
"disabled by libmpdvdkit2"
4158 # dvdnav disabled, it does not work
4159 # echocheck "DVD support (libdvdnav)"
4160 # if test "$_dvdnav" = yes ; then
4162 # #include <dvdnav.h>
4163 # int main(void) { dvdnav_t *dvd=0; return 0; }
4166 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4167 # if test -z "$_dvdnavconfig" ; then
4168 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4169 # _dvdnavconfig="dvdnav-config"
4172 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4174 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4175 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4177 # if test "$_dvdnav" = yes ; then
4179 # _def_dvdnav='#define USE_DVDNAV 1'
4180 # if test -n "$_legal_dvdnavdir" ; then
4181 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4182 # elif test -n "$_dvdnavconfig" ; then
4183 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4185 # _ld_css="$_ld_css -ldvdnav"
4187 # if test -n "$_dvdnavconfig" ; then
4188 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4189 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4191 # if test -n "$_dvdnavdir" ; then
4192 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4194 # _inputmodules="dvdnav $_inputmodules"
4197 # _def_dvdnav='#undef USE_DVDNAV'
4198 # _noinputmodules="dvdnav $_noinputmodules"
4202 echocheck
"cdparanoia"
4203 if test "$_cdparanoia" = auto
; then
4205 #include <cdda_interface.h>
4206 #include <cdda_paranoia.h>
4207 // This need a better test. How ?
4208 int main(void) { return 1; }
4211 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4214 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
4215 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4216 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
4221 if test "$_cdparanoia" = yes ; then
4222 _def_cdparanoia
='#define HAVE_CDDA'
4223 _inputmodules
="cdda $_inputmodules"
4224 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4225 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
4227 _def_cdparanoia
='#undef HAVE_CDDA'
4228 _noinputmodules
="cdda $_noinputmodules"
4230 echores
"$_cdparanoia"
4232 echocheck
"freetype >= 2.0.9"
4233 if test "$_freetype" = auto
; then
4234 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
4237 #include <ft2build.h>
4238 #include FT_FREETYPE_H
4239 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4240 #error "Need FreeType 2.0.9 or newer"
4245 FT_Int major=-1,minor=-1,patch=-1;
4246 int err=FT_Init_FreeType(&library);
4248 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4251 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4252 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4253 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4254 (int)major,(int)minor,(int)patch );
4255 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4256 printf("Library and header version mismatch! Fix it in your distribution!\n");
4263 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
4268 if test "$_freetype" = yes ; then
4269 _def_freetype
='#define HAVE_FREETYPE'
4270 _inc_freetype
=`$_freetypeconfig --cflags`
4271 _ld_freetype
=`$_freetypeconfig --libs`
4273 _def_freetype
='#undef HAVE_FREETYPE'
4275 echores
"$_freetype"
4278 echocheck
"fribidi with charsets"
4279 if test "$_fribidi" = yes ; then
4280 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
4283 #include <fribidi/fribidi.h>
4286 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4287 printf("Fribidi headers are not consistents with the library!\n");
4294 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
4299 if test "$_fribidi" = yes ; then
4300 _def_fribidi
='#define USE_FRIBIDI'
4301 _inc_fribidi
=`$_fribidiconfig --cflags`
4302 _ld_fribidi
=`$_fribidiconfig --libs`
4304 _def_fribidi
='#undef USE_FRIBIDI'
4312 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4315 cc_check
-lz && _zlib
=yes
4316 if test "$_zlib" = yes ; then
4317 _def_zlib
='#define HAVE_ZLIB 1'
4320 _def_zlib
='#undef HAVE_ZLIB'
4327 if test "$_rtc" = auto
; then
4329 #include <sys/ioctl.h>
4330 #include <linux/rtc.h>
4331 int main(void) { return RTC_IRQP_READ; }
4334 cc_check
&& _rtc
=yes
4339 echores
"no (Linux specific feature)"
4341 if test "$_rtc" = yes ; then
4342 _def_rtc
='#define HAVE_RTC 1'
4344 _def_rtc
='#undef HAVE_RTC'
4348 echocheck
"external liblzo support"
4349 if test "$_liblzo" = auto
; then
4353 int main(void) { lzo_init();return 0; }
4355 cc_check
-llzo && _liblzo
=yes
4357 if test "$_liblzo" = yes ; then
4358 _def_liblzo
='#define USE_LIBLZO 1'
4360 _codecmodules
="liblzo $_codecmodules"
4362 _def_liblzo
='#undef USE_LIBLZO'
4363 _nocodecmodules
="liblzo $_nocodecmodules"
4368 echocheck
"mad support"
4369 if test "$_mad" = auto
; then
4373 int main(void) { return 0; }
4375 cc_check
$_madlibdir -lmad && _mad
=yes
4377 if test "$_mad" = yes ; then
4378 _def_mad
='#define USE_LIBMAD 1'
4380 _codecmodules
="libmad $_codecmodules"
4382 _def_mad
='#undef USE_LIBMAD'
4383 _nocodecmodules
="libmad $_nocodecmodules"
4388 echocheck
"OggVorbis support"
4389 if test "$_vorbis" = auto
; then
4392 #include <vorbis/codec.h>
4393 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
4395 cc_check
-lvorbis -logg -lm && _vorbis
=yes
4397 if test "$_vorbis" = yes ; then
4398 _def_vorbis
='#define HAVE_OGGVORBIS 1'
4399 if test "$_tremor" = yes ; then
4400 _def_tremor
='#define TREMOR 1'
4401 _ld_vorbis
='-lvorbisidec'
4403 _def_tremor
='#undef TREMOR'
4404 _ld_vorbis
='-lvorbis -logg'
4406 _codecmodules
="libvorbis $_codecmodules"
4408 _def_vorbis
='#undef HAVE_OGGVORBIS'
4409 _def_tremor
='#undef TREMOR'
4410 _nocodecmodules
="libvorbis $_nocodecmodules"
4412 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
4413 echores
"$_vorbis (Tremor)"
4418 echocheck
"OggTheora support (only the CVS version!)"
4419 if test "$_theora" = auto
; then
4422 #include <theora/theora.h>
4426 /* theora is in flux, make sure that all interface routines and
4427 * datatypes exist and work the way we expect it, so we don't break
4437 theora_info_init (&inf);
4438 theora_comment_init (&tc);
4442 /* we don't want to execute this kind of nonsense; just for making sure
4443 * that compilation works... */
4444 memset(&op, 0, sizeof(op));
4445 r = theora_decode_header (&inf, &tc, &op);
4446 r = theora_decode_init (&st, &inf);
4447 t = theora_granule_time (&st, op.granulepos);
4448 r = theora_decode_packetin (&st, &op);
4449 r = theora_decode_YUVout (&st, &yuv);
4455 cc_check
-ltheora -logg -lm && _theora
=yes
4457 if test "$_theora" = yes ; then
4458 _def_theora
='#define HAVE_OGGTHEORA 1'
4459 _codecmodules
="libtheora $_codecmodules"
4460 _ld_theora
="-ltheora -logg"
4462 _def_theora
='#undef HAVE_OGGTHEORA'
4463 _nocodecmodules
="libtheora $_nocodecmodules"
4468 echocheck
"Matroska support (0.6.0 or later)"
4469 if test "$_matroska" != no
; then
4474 #include <ebml/EbmlVersion.h>
4475 #include <matroska/KaxVersion.h>
4477 #if LIBEBML_VERSION < 000600
4478 #error libebml is too old
4481 #if LIBMATROSKA_VERSION < 000600
4482 #error libmatroska is too old
4485 int main(void) { return 0; }
4487 cc_check
-lmatroska -lebml -lstdc++ && _matroska
=yes
4488 if test "$_matroska" = no
; then
4489 _saved_inc_extra
=$_inc_extra
4490 _inc_extra
="$_inc_extra -I/usr/local/include"
4491 cc_check
-lmatroska -lebml -lstdc++ && _matroska
=yes
4492 if test "$_matroska" = no
; then
4493 _inc_extra
=$_saved_inc_extra
4496 rm ${TMPC} > /dev
/null
2> /dev
/null
4499 if test "$_matroska" = yes ; then
4500 _def_matroska
='#define HAVE_MATROSKA 1'
4501 _inputmodules
="matroska $_inputmodules"
4502 _ld_matroska
="-lmatroska -lebml -lstdc++"
4504 _def_matroska
='#undef HAVE_MATROSKA'
4505 _noinputmodules
="matroska $_noinputmodules"
4507 echores
"$_matroska"
4511 echocheck
"internal FAAD2 (AAC) support"
4512 _inc_faad
="-I`pwd`/libfaad2"
4513 if test "$_faad_internal" = auto
; then
4514 # the faad check needs a config.h file
4515 if not
test -f "config.h" ; then
4518 # internal faad: check if our dear gcc is able to compile it...
4519 cp "`pwd`/libfaad2/cfft.c" $TMPC
4520 if ( cc_check
-c -O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
4523 _faad_internal
="no (broken gcc)"
4526 if test "$_faad_internal" = yes ; then
4527 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
4530 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
4533 echores
"$_faad_internal"
4536 echocheck
"external FAAD2 (AAC) support"
4537 if test "$_faad_external" != no
; then
4539 _inc_faad
="$_inc_extra"
4540 # external faad: check if it's really faad2 :)
4541 if test "$_faad_external" = auto
; then
4545 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
4547 cc_check
$_inc_faad $_ld_faad -lm && _faad_external
=yes
4549 echores
"$_faad_external"
4554 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
4555 echocheck
"FAAD2 version"
4558 #ifndef FAAD_MIN_STREAMSIZE
4559 #error Too old version
4562 #ifdef FAAD2_VERSION
4563 printf("%s\n",FAAD2_VERSION);
4570 if cc_check
-I- $_inc_faad $_ld_faad -lm && "$TMPO" >> "$TMPLOG" ; then
4571 _faad_version
=`"$TMPO"`
4572 _faad_tempversion
=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
4573 _def_faad_version
="#define FAADVERSION $_faad_tempversion"
4574 echores
"$_faad_version"
4578 echores
"failed to get version"
4582 if test "$_faad_external" = yes; then
4583 _def_faad
='#define HAVE_FAAD 1'
4584 _codecmodules
="faad2(external) $_codecmodules"
4585 elif test "$_faad_internal" = yes; then
4586 _def_faad
='#define HAVE_FAAD 1'
4587 _codecmodules
="faad2(internal) $_codecmodules"
4589 _def_faad
='#undef HAVE_FAAD'
4590 _nocodecmodules
="faad2 $_nocodecmodules"
4596 if test "$_win32" = auto
; then
4600 _win32
=no
# x86 arch only
4604 if test "$_win32" != no
; then
4605 if test -z "$_win32libdir" ; then
4606 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/win32
/usr
/lib
/win32
; do
4607 if test -d "$I" ; then
4615 echocheck
"Win32 codec DLL support"
4616 if test "$_win32" = auto
; then
4618 test -n "$_win32libdir" && _win32
=yes
4620 if test "$_win32" = yes ; then
4621 _def_win32
='#define USE_WIN32DLL 1'
4622 echores
"yes (using $_win32libdir)"
4624 _def_win32
='#undef USE_WIN32DLL'
4625 _nocodecmodules
="win32 $_nocodecmodules"
4630 if test "$_win32" != no
; then
4631 _def_win32_loader
='#undef WIN32_LOADER'
4632 echocheck
"Win32 loader support"
4633 if not cygwin
&& not mingw32
; then
4634 _ld_win32
='loader/libloader.a'
4635 _dep_win32
='loader/libloader.a'
4636 _codecmodules
="win32 $_codecmodules"
4638 x86
&& _ld_win32
="$_ld_win32 -li386"
4640 _def_win32_loader
='#define WIN32_LOADER 1'
4643 _ld_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4644 _dep_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4645 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
4646 _codecmodules
="win32 $_codecmodules"
4647 echores
"no (using native windows)"
4651 echocheck
"DirectShow"
4654 if test "$_dshow" != no
; then
4656 # check if compiler supports C++ and C++-libs are installed correctly
4657 cat > "$TMPCPP" << EOF
4661 public: int myreturn(void);
4663 int myclass::myreturn(void) { ret = 0; return ret ; }
4664 int main(void) { myclass myobject; return myobject.myreturn(); }
4666 echo "------------------------------------------------" >> "$TMPLOG"
4667 cat "$TMPCPP" >> "$TMPLOG"
4668 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
4670 echores
"yes (C++ is ok)"
4675 Your C++ runtime environment is broken.
4677 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
4678 Are the C++ libraries correctly installed?
4679 Check for libstdc++ and in (/etc/)ld.so.conf.
4681 If you do not need DirectShow support, you can also use:
4682 ./configure --disable-dshow <your-normal-configure-options>
4683 to disable building the C++ based DirectShow code.
4686 die
"$_cc's C++ is broken"
4694 if test "$_dshow" = yes ; then
4695 _def_dshow
='#define USE_DIRECTSHOW 1'
4696 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4697 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4698 _codecmodules
="dshow/dmo $_codecmodules"
4700 _def_dshow
='#undef USE_DIRECTSHOW'
4701 _nocodecmodules
="dshow/dmo $_nocodecmodules"
4705 echocheck
"XAnim DLL"
4706 if test "$_xanim" = auto
; then
4708 if test "$_dl" = yes ; then
4709 if test -z "$_xanimlibdir" ; then
4710 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
4711 if test -d "$I" ; then
4717 test "$_xanimlibdir" && _xanim
=yes
4718 if test "$_xanim" = yes ; then
4719 echores
"yes (using $_xanimlibdir)"
4721 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4724 echores
"no (dynamic loader support needed)"
4727 echores
"$_xanim (using $_xanimlibdir)"
4729 if test "$_xanim" = yes ; then
4730 _def_xanim
='#define USE_XANIM 1'
4731 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
4732 _codecmodules
="xanim $_codecmodules"
4734 _def_xanim
='#undef USE_XANIM'
4735 _def_xanim_path
='#undef XACODEC_PATH'
4736 _nocodecmodules
="xanim $_nocodecmodules"
4739 echocheck
"RealPlayer DLL"
4740 if test "$_real" = auto
; then
4742 if test "$_dl" = yes ||
test "$_win32" = yes ; then
4743 # if test "$_dl" = yes ; then
4744 if linux || freebsd || netbsd || cygwin || mingw32
; then
4747 echores
"no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW)"
4749 if test "$_real" = yes ; then
4750 if test -z "$_reallibdir" ; then
4751 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
4752 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
4753 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
4755 if test -d "$I" ; then
4761 test "$_reallibdir" || _real
=no
4762 if test "$_real" = yes ; then
4763 echores
"yes (using $_reallibdir)"
4765 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4769 echores
"no (dynamic loader support needed)"
4772 echores
"$_real (using $_reallibdir)"
4774 if test "$_real" = yes ; then
4775 _def_real
='#define USE_REALCODECS 1'
4776 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
4777 _codecmodules
="real $_codecmodules"
4779 _def_real
='#undef USE_REALCODECS'
4780 _def_real_path
="#undef REALCODEC_PATH"
4781 _nocodecmodules
="real $_nocodecmodules"
4785 if test -z "$_livelibdir" ; then
4786 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
4787 if test -d "$I" ; then
4794 echocheck
"LIVE.COM Streaming Media libraries"
4795 if test "$_live" = auto
&& test "$_network" = yes ; then
4797 test "$_livelibdir" || _live
=no
4798 # TODO: deeper, more reliable test of libs, and version!
4799 # (users may have empty live/ dir or something different there, for
4800 # example 'live config files', or they may have old, incompatibel version)
4802 if test "$_live" = yes && test "$_network" = yes ; then
4803 echores
"yes (using $_livelibdir)"
4804 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
4805 _live_libs_def
="# LIVE.COM Streaming Media libraries:
4806 LIVE_LIB_DIR = $_livelibdir
4807 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
4808 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
4809 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
4810 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
4811 LIVE_LIBS += -lstdc++"
4812 _ld_live
='$(LIVE_LIBS)'
4813 _inputmodules
="live.com $_inputmodules"
4816 _def_live
='#undef STREAMING_LIVE_DOT_COM'
4817 _noinputmodules
="live.com $_noinputmodules"
4822 if test "$_iconv" = auto
; then
4823 _iconv_tmp
='#include <iconv.h>'
4829 #define INBUFSIZE 1024
4830 #define OUTBUFSIZE 4096
4832 char inbuffer[INBUFSIZE];
4833 char outbuffer[OUTBUFSIZE];
4838 char *tocode="UTF-8";
4839 char *fromcode="cp1250";
4840 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
4841 while ((numread = read (0, inbuffer, INBUFSIZE))) {
4842 char *iptr=inbuffer;
4843 char *optr=outbuffer;
4844 size_t inleft=numread;
4845 size_t outleft=OUTBUFSIZE;
4846 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
4848 write (1, outbuffer, OUTBUFSIZE - outleft);
4851 if (iconv_close(icdsc) == -1)
4857 if cc_check
-lm -liconv ; then
4861 cc_check
-lm && _iconv
=yes
4864 if test "$_iconv" = yes ; then
4865 _def_iconv
='#define USE_ICONV 1'
4867 _def_iconv
='#undef USE_ICONV'
4872 echocheck
"FFmpeg libavcodec (static)"
4873 if test "$_libavcodec" = auto
; then
4874 # Note: static linking is preferred to dynamic linking
4876 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
4877 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
4881 echores
"no (old ffmpeg version, use CVS !)"
4884 echores
"no (see DOCS/HTML/en/codecs.html)"
4887 echores
"$_libavcodec"
4890 _def_haveffpostprocess
='no'
4891 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
4892 _def_haveffpostprocess
='yes'
4895 if test "$_libavcodec" != yes ; then
4896 echocheck
"FFmpeg libavcodec (dynamic)"
4897 if test "$_libavcodecso" = auto
; then
4899 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
4901 #define FF_POSTPROCESS 1
4902 #include <ffmpeg/avcodec.h>
4904 avcodec_find_encoder_by_name("");
4908 if cc_check
-lavcodec -lm ; then
4910 echores
"yes (using libavcodec.so)"
4912 echores
"no (libavcodec.so is broken/obsolete)"
4915 echores
"$_libavcodecso"
4919 _def_libavcodec
='#undef USE_LIBAVCODEC'
4920 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
4921 _def_ffpostprocess
='#undef FF_POSTPROCESS'
4922 if test "$_libavcodec" = yes ; then
4923 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4924 _ld_libavcodec
='libavcodec/libavcodec.a'
4925 _dep_libavcodec
='libavcodec/libavcodec.a'
4926 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
4927 _codecmodules
="libavcodec $_codecmodules"
4928 elif test "$_libavcodecso" = yes ; then
4929 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4930 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
4931 _ld_libavcodec
='-lavcodec'
4932 _codecmodules
="libavcodec.so $_codecmodules"
4934 _nocodecmodules
="libavcodec $_nocodecmodules"
4937 echocheck
"libdv-0.9.5+"
4938 if test "$_libdv" = auto
; then
4941 #include <libdv/dv.h>
4942 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
4944 cc_check
-ldv -lm && _libdv
=yes
4946 if test "$_libdv" = yes ; then
4947 _def_libdv
='#define HAVE_LIBDV095 1'
4949 _codecmodules
="libdv $_codecmodules"
4951 _def_libdv
='#undef HAVE_LIBDV095'
4952 _nocodecmodules
="libdv $_nocodecmodules"
4957 if test "$_zr" = auto
; then
4958 #36067's seem to identify themselves as 36057PQC's, so the line
4959 #below should work for 36067's and 36057's.
4960 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
4966 if test "$_zr" = yes ; then
4967 if test "$_libavcodec" = yes ; then
4968 _def_zr
='#define HAVE_ZR 1'
4969 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
4970 _vomodules
="zr zr2 $_vomodules"
4973 echores
"libavcodec (static) is required by zr, sorry"
4974 _novomodules
="zr $_novomodules"
4975 _def_zr
='#undef HAVE_ZR'
4978 _def_zr
='#undef HAVE_ZR'
4979 _novomodules
="zr zr2 $_novomodules"
4984 if test "$_bl" = yes ; then
4985 _def_bl
='#define HAVE_BL 1'
4986 _vosrc
="$_vosrc vo_bl.c"
4987 _vomodules
="bl $_vomodules"
4989 _def_bl
='#undef HAVE_BL'
4990 _novomodules
="bl $_novomodules"
4997 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
4999 _ld_xvid
="$_ld_xvid -lxvidcore -lm"
5000 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5002 _def_xvid3
='#define HAVE_XVID3 1'
5003 _def_xvid4
='#undef HAVE_XVID4'
5004 _codecmodules
="xvid $_codecmodules"
5008 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
5010 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5012 _def_xvid3
='#undef HAVE_XVID3'
5013 _def_xvid4
='#define HAVE_XVID4 1'
5014 _codecmodules
="xvid $_codecmodules"
5018 _def_xvid3
='#undef HAVE_XVID3'
5019 _def_xvid4
='#undef HAVE_XVID4'
5020 _nocodecmodules
="xvid $_nocodecmodules"
5026 _def_decore_xvid
='#undef DECORE_XVID'
5027 _def_encore_xvid
='#undef ENCORE_XVID'
5028 if test "$_xvid" = yes ; then
5029 echocheck
"DivX4 compatibility in XviD"
5032 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5034 cc_check
-lm "$_ld_xvid" && _xvidcompat
=yes
5035 echores
"$_xvidcompat"
5039 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
5040 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5043 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5045 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5047 _ld_decore
='-ldivxdecore'
5048 _def_decore
='#define NEW_DECORE 1'
5049 _def_divx
='#define USE_DIVX'
5050 _def_divx5
='#undef DECORE_DIVX5'
5051 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5052 _codecmodules
="divx4linux $_codecmodules"
5053 echores
"DivX4linux (with libdivxdecore.so)"
5055 # if test "$_divx4linux" != no ; then
5057 # OdivxPP disabled because of:
5058 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5061 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5063 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5065 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5066 _ld_decore
='-ldivxdecore'
5067 _def_decore
='#define NEW_DECORE 1'
5068 _def_divx
='#define USE_DIVX'
5069 _def_divx5
='#define DECORE_DIVX5 1'
5070 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5071 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5072 _codecmodules
="divx5linux $_codecmodules"
5073 _nocodecmodules
="divx4linux $_nocodecmodules"
5074 echores
"DivX5linux (with libdivxdecore.so)"
5075 elif test "$_opendivx" != no
; then
5077 _ld_decore
='opendivx/libdecore.a'
5078 _def_decore
='#undef NEW_DECORE'
5079 _def_divx
='#define USE_DIVX'
5080 _def_divx5
='#undef DECORE_DIVX5'
5081 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
5082 _codecmodules
="opendivx $_codecmodules"
5083 _nocodecmodules
="divx5linux $_nocodecmodules"
5085 elif test "$_xvidcompat" = yes ; then
5088 _def_decore
='#define NEW_DECORE 1'
5089 _def_divx
='#define USE_DIVX 1'
5090 _def_divx5
='#undef DECORE_DIVX5'
5091 _def_decore_xvid
='#define DECORE_XVID 1'
5092 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5093 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
5094 echores
"XviD compat."
5098 _def_decore
='#undef NEW_DECORE'
5099 _def_divx
='#undef USE_DIVX'
5100 _def_divx5
='#undef DECORE_DIVX5'
5101 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5102 _nocodecmodules
="opendivx $_nocodecmodules"
5108 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5109 if test "$_mencoder" != no
; then
5111 echocheck
"libmp3lame (for mencoder)"
5114 #include <lame/lame.h>
5115 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; }
5117 # Note: libmp3lame usually depends on vorbis
5118 cc_check
-lmp3lame $_ld_vorbis -lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
5119 if test "$_mp3lame" = yes ; then
5120 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
5121 _def_cfg_mp3lame
="#define CONFIG_MP3LAME `$TMPO`"
5122 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
5124 _def_mp3lame
='#undef HAVE_MP3LAME'
5125 _def_cfg_mp3lame
='#undef CONFIG_MP3LAME'
5130 echocheck
"DivX4linux encore (for mencoder)"
5132 #include <encore2.h>
5133 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5135 if test "$_divx4linux" != no
&& cc_check
-ldivxencore -lm ; then
5136 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5137 _ld_encore
='-ldivxencore'
5138 echores
"DivX4linux (with libdivxencore.so)"
5139 elif test "$_xvidcompat" = yes ; then
5140 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5142 _def_encore_xvid
='#define ENCORE_XVID 1'
5143 echores
"XviD compat."
5145 _def_encore
='#undef HAVE_DIVX4ENCORE'
5151 echocheck
"mencoder"
5152 _mencoder_flag
='#undef HAVE_MENCODER'
5153 if test "$_mencoder" = yes ; then
5154 _mencoder_flag
='#define HAVE_MENCODER'
5156 echores
"$_mencoder"
5158 echocheck
"fastmemcpy"
5159 # fastmemcpy check is done earlier with tests of CPU & binutils features
5160 if test "$_fastmemcpy" = yes ; then
5161 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
5163 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
5165 echores
"$_fastmemcpy"
5167 echocheck
"UniquE RAR File Library"
5168 if test "$_unrarlib" = yes ; then
5169 _def_unrarlib
='#define USE_UNRARLIB 1'
5171 _def_unrarlib
='#undef USE_UNRARLIB'
5173 echores
"$_unrarlib"
5175 echocheck
"TV interface"
5176 if test "$_tv" = yes ; then
5177 _def_tv
='#define USE_TV 1'
5178 _inputmodules
="tv $_inputmodules"
5180 _noinputmodules
="tv $_noinputmodules"
5181 _def_tv
='#undef USE_TV'
5185 echocheck
"EDL support"
5186 if test "$_edl" = yes ; then
5187 _def_edl
='#define USE_EDL'
5188 _inputmodules
="edl $_inputmodules"
5190 _noinputmodules
="edl $_noinputmodules"
5191 _def_edl
='#undef USE_EDL'
5195 echocheck
"*BSD BrookTree 848 TV interface"
5196 if test "$_tv_bsdbt848" = auto
; then
5198 if test "$_tv" = yes ; then
5200 #include <sys/types.h>
5201 #if defined(__NetBSD__)
5202 #include <dev/ic/bt8xx.h>
5204 #include <machine/ioctl_bt848.h>
5206 int main(void) { return 0; }
5208 cc_check
&& _tv_bsdbt848
=yes
5211 if test "$_tv_bsdbt848" = yes ; then
5212 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
5213 _inputmodules
="tv-bsdbt848 $_inputmodules"
5215 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
5216 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
5218 echores
"$_tv_bsdbt848"
5220 echocheck
"Video 4 Linux TV interface"
5221 if test "$_tv_v4l" = auto
; then
5223 if test "$_tv" = yes && linux
; then
5224 for I
in /dev
/video
/dev
/video?
; do
5225 if test -c $I ; then
5228 #include <linux/videodev.h>
5229 int main(void) { return 0; }
5231 cc_check
&& _tv_v4l
=yes
5237 if test "$_tv_v4l" = yes ; then
5238 _def_tv_v4l
='#define HAVE_TV_V4L 1'
5239 _inputmodules
="tv-v4l $_inputmodules"
5241 _noinputmodules
="tv-v4l $_noinputmodules"
5242 _def_tv_v4l
='#undef HAVE_TV_V4L'
5247 echocheck
"Video 4 Linux 2 TV interface"
5248 if test "$_tv_v4l2" = auto
; then
5250 if test "$_tv" = yes && linux
; then
5251 for I
in /dev
/video
/dev
/video?
; do
5252 if test -c $I ; then
5259 if test "$_tv_v4l2" = yes ; then
5260 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
5261 _inputmodules
="tv-v4l2 $_inputmodules"
5263 _noinputmodules
="tv-v4l2 $_noinputmodules"
5264 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
5269 echocheck
"audio select()"
5270 if test "$_select" = no
; then
5271 _def_select
='#undef HAVE_AUDIO_SELECT'
5272 elif test "$_select" = yes ; then
5273 _def_select
='#define HAVE_AUDIO_SELECT 1'
5279 # FIXME network check
5280 if test "$_network" != no
; then
5281 _def_network
='#define MPLAYER_NETWORK 1'
5282 _ld_network
="$_ld_sock"
5283 _inputmodules
="network $_inputmodules"
5285 _noinputmodules
="network $_noinputmodules"
5286 _def_network
='#undef MPLAYER_NETWORK'
5291 if test "$_ftp" != no
; then
5292 _def_ftp
='#define HAVE_FTP 1'
5293 _inputmodules
="ftp $_inputmodules"
5295 _noinputmodules
="ftp $_noinputmodules"
5296 _def_ftp
='#undef HAVE_FTP'
5301 echocheck
"byte order"
5302 if test "$_big_endian" = auto
; then
5304 #include <inttypes.h>
5306 volatile uint32_t i=0x01234567;
5307 return (*((uint8_t*)(&i))) == 0x67;
5317 echo -n "failed to autodetect byte order, defaulting to "
5320 if test "$_big_endian" = yes ; then
5321 _byte_order
='Big Endian'
5322 _def_words_endian
='#define WORDS_BIGENDIAN 1'
5324 _byte_order
='Little Endian'
5325 _def_words_endian
='#undef WORDS_BIGENDIAN'
5327 echores
"$_byte_order"
5329 echocheck
"shared postprocess lib"
5330 echores
"$_shared_pp"
5332 echocheck
"OSD menu"
5333 if test "$_menu" = yes ; then
5334 _def_menu
='#define HAVE_MENU 1'
5336 _def_menu
='#undef HAVE_MENU'
5340 # Check to see if they want QTX codecs enabled
5341 echocheck
"QTX codecs"
5342 if test "$_qtx" = auto
; then
5345 if test "$_qtx" = yes ; then
5346 _def_qtx
='#define USE_QTX_CODECS 1'
5347 _codecmodules
="qtx $_codecmodules"
5349 _def_qtx
='#undef USE_QTX_CODECS'
5350 _nocodecmodules
="qtx $_nocodecmodules"
5355 echocheck
"Subtitles sorting"
5356 if test "$_sortsub" = yes ; then
5357 _def_sortsub
='#define USE_SORTSUB 1'
5359 _def_sortsub
='#undef USE_SORTSUB'
5364 echocheck
"XMMS inputplugin support"
5365 if test "$_xmms" = yes ; then
5367 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
5368 if test -z "$_xmmsplugindir" ; then
5369 _xmmsplugindir
=`xmms-config --input-plugin-dir`
5371 if test -z "$_xmmslibdir" ; then
5372 _xmmslibdir
=`xmms-config --exec-prefix`/lib
5375 if test -z "$_xmmsplugindir" ; then
5376 _xmmsplugindir
=/usr
/lib
/xmms
/Input
5378 if test -z "$_xmmslibdir" ; then
5379 _xmmslibdir
=/usr
/lib
5383 _def_xmms
='#define HAVE_XMMS 1'
5385 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
5387 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
5390 _def_xmms
='#undef HAVE_XMMS'
5394 echocheck
"FLAC support"
5395 if ! test "$_flac" = "no" ; then
5396 if ! test -f libmpflac
/dither.c
; then
5398 echores
"no (necessary files missing)"
5401 if ! test -f libmpflac
/stream_decoder.c
; then
5404 if test "$_external_flac" = "yes" ; then
5406 #include <FLAC/stream_decoder.h>
5411 FLAC__StreamDecoder *fdec = FLAC__stream_decoder_new();
5412 return fdec != NULL;
5416 if cc_check
-lFLAC -lm ; then
5424 if test "$_flac" = external
; then
5425 _def_flac
='#define HAVE_FLAC 1'
5426 #Still use dither.c & replay_gain from libmpflac
5427 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5429 _ld_flac
='-lFLAC -lm -Llibmpflac -lmpflac'
5430 _codecmodules
="flac(external) $_codecmodules"
5431 echores
"yes (using external libFLAC)"
5433 if test "$_flac" = yes ; then
5434 _def_flac
='#define HAVE_FLAC 1'
5435 #use decoder, dither.c & replay_gain from libmpflac
5436 _def_mpflac
='#define USE_MPFLAC_DECODER 1'
5438 _ld_flac
='-Llibmpflac -lmpflac'
5439 _codecmodules
="flac(internal) $_codecmodules"
5440 echores
"yes (using internal libmpflac)"
5442 _def_flac
='#undef HAVE_FLAC'
5443 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5446 _nocodecmodules
="flac $_nocodecmodules"
5452 if test "$_inet6" = auto
; then
5454 #include <sys/types.h>
5455 #include <sys/socket.h>
5456 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
5463 if test "$_inet6" = yes ; then
5464 _def_inet6
='#define HAVE_AF_INET6 1'
5466 _def_inet6
='#undef HAVE_AF_INET6'
5471 echocheck
"gethostbyname2"
5472 if test "$_gethostbyname2" = auto
; then
5474 #include <sys/types.h>
5475 #include <sys/socket.h>
5477 int main(void) { gethostbyname2("", AF_INET); }
5485 if test "$_gethostbyname2" = yes ; then
5486 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
5488 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
5490 echores
"$_gethostbyname2"
5492 # --------------- GUI specific tests begin -------------------
5495 if test "$_gui" = yes ; then
5497 # Required libraries
5498 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
5499 test "$_x11" != yes && die
"X11 support required for GUI compilation"
5501 echocheck
"XShape extension"
5503 if test "$_x11" = yes ; then
5505 #include <X11/Xlib.h>
5506 #include <X11/Xproto.h>
5507 #include <X11/Xutil.h>
5508 #include <X11/extensions/shape.h>
5511 char *name = ":0.0";
5514 int eventbase, errorbase;
5515 if (getenv("DISPLAY"))
5516 name=getenv("DISPLAY");
5517 wsDisplay=XOpenDisplay(name);
5518 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
5520 XCloseDisplay(wsDisplay);
5524 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
5526 if test "$_xshape" = yes ; then
5527 _def_xshape
='#define HAVE_XSHAPE 1'
5529 die
"The GUI requires the X11 extension XShape (which was not found)."
5535 echocheck
"gtk version"
5536 if test -z "$_gtkconfig" ; then
5537 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
5538 _gtkconfig
="gtk-config"
5539 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
5540 _gtkconfig
="gtk12-config"
5542 die
"The GUI requires GTK devel packages (which were not found)."
5545 _gtk
=`$_gtkconfig --version 2>&1`
5546 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
5547 _ld_gtk
=`$_gtkconfig --libs 2>&1`
5548 echores
"$_gtk (using $_gtkconfig)"
5551 echocheck
"glib version"
5552 if test -z "$_glibconfig" ; then
5553 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
5554 _glibconfig
="glib-config"
5555 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
5556 _glibconfig
="glib12-config"
5558 die
"The GUI requires GLib devel packages (which were not found)"
5561 _glib
=`$_glibconfig --version 2>&1`
5562 _inc_glib
=`$_glibconfig --cflags 2>&1`
5563 _ld_glib
=`$_glibconfig --libs 2>&1`
5564 echores
"$_glib (using $_glibconfig)"
5566 _def_gui
='#define HAVE_NEW_GUI 1'
5567 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
5569 echo "Creating Gui/config.mak"
5570 cat > Gui
/config.mak
<< EOF
5571 # -------- Generated by configure -----------
5575 GLIBINC = $_inc_glib
5576 GLIBLIBS = $_ld_glib
5581 _def_gui
='#undef HAVE_NEW_GUI'
5583 # --------------- GUI specific tests end -------------------
5587 #############################################################################
5589 # Checking for CFLAGS
5591 if test "$_profile" != "" ||
test "$_debug" != "" ; then
5592 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
5593 if test "$_cc_major" -ge "3" ; then
5594 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
5597 elif test -z "$CFLAGS" ; then
5598 if test "$host_arch" != "mips" ; then
5599 CFLAGS
="-O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer"
5601 CFLAGS
="-O4 $_march $_mcpu -ffast-math -fomit-frame-pointer"
5603 # always compile with '-g' if .developer:
5604 if test -f ".developer" ; then
5611 MPlayer compilation will use the CFLAGS set by you, but:
5613 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
5615 It is strongly recommended to let MPlayer choose the correct CFLAGS!
5616 To do so, execute 'CFLAGS= ./configure <options>'
5621 # use gnu style cpp on Darwin
5622 CFLAGS
="$CFLAGS -no-cpp-precomp -DSYS_DARWIN -Wl,-bind_at_load"
5623 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
5624 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
5627 # use flag for HPUX missing setenv()
5628 CFLAGS
="$CFLAGS -DHPUX"
5632 CFLAGS
="$CFLAGS -D_REENTRANT"
5634 # FIXME bsd needs this so maybe other OS'es
5635 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
5637 # 64 bit file offsets?
5638 if test "$_largefiles" = yes || freebsd
; then
5639 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
5640 if test "$_dvdread" = yes ; then
5641 # dvdread support requires this (for off64_t)
5642 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
5646 echocheck
"ftello()"
5647 # if we don't have ftello map it to ftell
5650 int main (void) { ftello(stdin); return 0; }
5653 cc_check
&& _ftello
=yes
5654 if test "$_ftello" = yes ; then
5655 _def_ftello
='#define HAVE_FTELLO 1'
5657 _def_ftello
='#undef HAVE_FTELLO'
5661 # Determine OS dependent libs
5663 _confcygwin
='TARGET_CYGWIN = yes'
5664 _def_confwin32
='#define WIN32'
5665 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
5666 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
5667 CFLAGS
="$CFLAGS -D__CYGWIN__"
5669 _confcygwin
="TARGET_CYGWIN = no"
5673 _confmingw32
='TARGET_MINGW32 = yes'
5675 _confmingw32
='TARGET_MINGW32 = no'
5678 # Dynamic linking flags
5679 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
5681 bsd
&& _ld_dl_dynamic
='-rdynamic'
5682 test "$_xanim" = yes && _ld_dl_dynamic
='-rdynamic'
5683 test "$_real" = yes && _ld_dl_dynamic
='-rdynamic'
5685 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
5686 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
5688 x86
&& _ld_arch
="$_ld_arch -li386"
5691 _def_debug
='#undef MP_DEBUG'
5692 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
5694 _def_linux
='#undef TARGET_LINUX'
5695 linux
&& _def_linux
='#define TARGET_LINUX 1'
5697 # TODO cleanup the VIDIX stuff here
5698 _def_vidix
='#define CONFIG_VIDIX 1'
5699 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
5700 if test "$_vidix" = yes; then
5701 _vosrc
="$_vosrc vo_cvidix.c"
5702 _vomodules
="cvidix $_vomodules"
5704 _novomodules
="cvidix $_novomodules"
5706 if test "$_vidix" = yes && (cygwin || mingw32
); then
5707 _vosrc
="$_vosrc vo_winvidix.c"
5708 _vomodules
="winvidix $_vomodules"
5710 _novomodules
="winvidix $_novomodules"
5712 if test "$_vidix" = yes && test "$_x11" = yes; then
5713 _vosrc
="$_vosrc vo_xvidix.c"
5714 _vomodules
="xvidix $_vomodules"
5716 _novomodules
="xvidix $_novomodules"
5718 echo Checking
for VIDIX ...
"$_vidix"
5720 _def_joystick
='#undef HAVE_JOYSTICK'
5721 if test "$_joystick" = yes ; then
5723 # TODO add some check
5724 _def_joystick
='#define HAVE_JOYSTICK 1'
5726 _joystick
="no (unsupported under $system_name)"
5729 echo Checking
for joystick ...
"$_joystick"
5732 if test "$_lirc" = auto
; then
5734 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
5736 #include <lirc/lirc_client.h>
5737 int main(void) { return 0; }
5739 cc_check
-llirc_client && _lirc
=yes
5742 if test "$_lirc" = yes ; then
5743 _def_lirc
='#define HAVE_LIRC 1'
5744 _ld_lirc
='-llirc_client'
5746 _def_lirc
='#undef HAVE_LIRC'
5751 if test "$_lircc" = auto
; then
5754 #include <lirc/lircc.h>
5755 int main(void) { return 0; }
5757 cc_check
-llircc && _lircc
=yes
5759 if test "$_lircc" = yes ; then
5760 _def_lircc
='#define HAVE_LIRCC 1'
5763 _def_lircc
='#undef HAVE_LIRCC'
5767 #############################################################################
5768 echo "Creating config.mak"
5769 cat > config.mak
<< EOF
5770 # -------- Generated by configure -----------
5773 LANGUAGES = $LANGUAGES
5774 TARGET_OS = $system_name
5776 prefix = \$(DESTDIR)$_prefix
5777 BINDIR = \$(DESTDIR)$_bindir
5778 DATADIR = \$(DESTDIR)$_datadir
5779 MANDIR = \$(DESTDIR)$_mandir
5780 CONFDIR = \$(DESTDIR)$_confdir
5781 LIBDIR = \$(DESTDIR)$_libdir
5787 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu -pipe -fomit-frame-pointer -ffast-math
5788 EXTRA_INC = $_inc_extra $_inc_gtk
5789 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
5790 STRIPBINARIES = $_stripbinaries
5794 MPLAYER_NETWORK = $_network
5795 STREAMING_LIVE_DOT_COM = $_live
5796 MPLAYER_NETWORK_LIB = $_ld_network $_ld_live
5799 SHARED_PP = $_shared_pp
5802 CONFIG_MP3LAME = $_mp3lame
5804 I18NLIBS = $_i18n_libs
5805 MATROSKA = $_matroska
5806 MATROSKA_LIB = $_ld_matroska
5808 OPENDIVX = $_opendivx
5810 UNRARLIB = $_unrarlib
5811 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
5816 EXTRA_LIB = $_ld_extra
5817 Z_LIB = $_ld_static $_ld_zlib
5819 WIN32_LIB = $_ld_win32libs
5820 STATIC_LIB = $_ld_static
5825 HAVE_XVMC_ACCEL = $_xvmc
5835 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_mad $_ld_sock
5837 MLIB_LIB = $_ld_mlib
5838 MLIB_INC = $_inc_mlib
5839 DXR2_INC = $_inc_dxr2
5845 SVGA_LIB = $_ld_svga
5849 ALSA_LIB = $_ld_alsa
5851 ARTS_LIB = $_ld_arts
5852 ARTS_INC = $_inc_arts
5855 SGIAUDIO_LIB = $_ld_sgiaudio
5857 # input/demuxer/codecs
5858 TERMCAP_LIB = $_ld_termcap
5859 LIRC_LIB = $_ld_lirc
5860 LIRCC_LIB = $_ld_lircc
5867 W32_DEP = $_dep_win32
5868 W32_LIB = $_ld_win32
5869 DS_DEP = $_dep_dshow
5871 AV_DEP = $_dep_libavcodec
5872 AV_LIB = $_ld_libavcodec
5874 FAME_LIB = $_ld_fame
5875 MP1E_DEP = $_dep_mp1e
5876 MP1E_LIB = $_ld_mp1e
5877 ARCH_LIB = $_ld_arch $_ld_iconv
5879 XVID_INC = $_inc_xvid
5880 XVID_LIB = $_ld_xvid
5881 DECORE_LIB = $_ld_decore $_ld_mp3lame
5882 MENCODER = $_mencoder
5883 ENCORE_LIB = $_ld_encore $_ld_mp3lame
5884 DIRECTFB_INC = $_inc_directfb
5885 DIRECTFB_LIB = $_ld_directfb
5886 CDPARANOIA_INC = $_inc_cdparanoia
5887 CDPARANOIA_LIB = $_ld_cdparanoia
5888 FREETYPE_INC = $_inc_freetype
5889 FREETYPE_LIB = $_ld_freetype
5890 FRIBIDI_INC = $_inc_fribidi
5891 FRIBIDI_LIB = $_ld_fribidi
5892 LIBLZO_LIB= $_ld_liblzo
5894 VORBIS_LIB = $_ld_vorbis $_ld_libdv
5895 THEORA_LIB = $_ld_theora
5896 FAAD_LIB = $_ld_faad
5897 INTERNAL_FAAD = $_faad_internal
5898 SMBSUPPORT_LIB = $_ld_smb
5899 XMMS_PLUGINS = $_xmms
5900 XMMS_LIB = $_xmms_lib
5902 MACOSX_FRAMEWORKS = $_macosx_frameworks
5903 FLAC_LIB = $_ld_flac
5906 # --- Some stuff for autoconfigure ----
5912 TARGET_MMX2 = $_mmx2
5913 TARGET_3DNOW = $_3dnow
5914 TARGET_3DNOWEX = $_3dnowex
5916 TARGET_ALTIVEC = $_altivec
5919 GTKLIB = $_ld_static $_ld_gtk
5920 GLIBLIB = $_ld_static $_ld_glib
5921 GTK_LIBS = $_ld_static $_ld_gui
5927 #############################################################################
5928 echo "Creating config.h"
5929 cat > config.h
<< EOF
5930 /* -------- This file has been automatically generated by configure ---------
5931 Note: Any changes in it will be lost when you run configure again. */
5933 /* Protect against multiple inclusion */
5934 #ifndef MPLAYER_CONFIG_H
5935 #define MPLAYER_CONFIG_H 1
5937 /* use GNU internationalization */
5940 /* missing mmap function on libc5 systems */
5942 # define MAP_FAILED ((void *) -1)
5945 /* use setlocale() function */
5948 /* Runtime CPU detection */
5949 $_def_runtime_cpudetection
5951 /* Dynamic a/v plugins */
5952 $_def_dynamic_plugins
5954 /* "restrict" keyword */
5955 #define restrict $_def_restrict_keyword
5957 #define PREFIX "$_prefix"
5959 /* define this to use simple idct with patched libavcodec */
5960 #define SIMPLE_IDCT 1
5965 /* enable/disable SIGHANDLER */
5968 /* Toggles debugging informations */
5971 /* Indicates that Ogle's libdvdread is available for DVD playback */
5974 /* Indicates that dvdread is from libmpdvdkit */
5977 /* Additional options for libmpdvdkit*/
5991 /* Common data directory (for fonts, etc) */
5992 #define MPLAYER_DATADIR "$_datadir"
5993 #define MPLAYER_CONFDIR "$_confdir"
5994 #define MPLAYER_LIBDIR "$_libdir"
5996 /* Define this to compile stream-caching support, it can be enabled via
5997 -cache <kilobytes> */
5998 #define USE_STREAM_CACHE 1
6000 /* Define to include support for XviD/Divx4Linux/OpenDivx */
6003 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
6004 /* You have to change DECORE_LIBS in config.mak, too! */
6007 /* Define if you are using DivX5Linux Decore library */
6010 /* Define if you are using XviD library */
6016 /* Define to include support for libdv-0.9.5 */
6019 /* If build mencoder */
6022 /* Indicates if XviD/Divx4linux encore is available
6023 Note: for mencoder */
6026 /* Indicates if libmp3lame is available
6027 Note: for mencoder */
6031 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6034 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6035 (use -bps or -nobps commandline option for run-time method selection)
6036 -bps gives better sync for vbr mp3 audio, it is now default */
6037 #define AVI_SYNC_BPS 1
6039 /* Undefine this if you do not want to select mono audio (left or right)
6040 with a stereo MPEG layer 2/3 audio stream. The command line option
6041 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6042 right-only), with 0 being the default.
6044 #define USE_FAKE_MONO 1
6046 /* Undefine this if your sound card driver has no working select().
6047 If you have kernel Oops, player hangups, or just no audio, you should
6048 try to recompile MPlayer with this option disabled! */
6051 /* define this to use iconv(3) function to codepage conversions */
6054 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6057 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6058 #define MAX_OUTBURST 65536
6060 /* set up audio OUTBURST. Do not change this! */
6061 #define OUTBURST 512
6063 /* Define this if your system has the header file for the OSS sound interface */
6066 /* Define this if your system has the header file for the OSS sound interface
6067 * in /usr/include */
6070 /* Define this if your system has the sysinfo header */
6073 /* Define this if your system uses ftello() for off_t seeking */
6077 # define ftello(a) ftell(a)
6080 /* Define this if your system has the "malloc.h" header file */
6083 /* memalign is mapped to malloc if unsupported */
6085 #ifndef HAVE_MEMALIGN
6086 # define memalign(a,b) malloc(b)
6089 /* Define this if your system has the "alloca.h" header file */
6092 /* Define this if your system has the "sys/mman.h" header file */
6095 /* Define this if you have the elf dynamic linker -ldl library */
6098 /* Define this if you have the kstat kernel statistics library */
6101 /* Define this if you have zlib */
6104 /* Define this if you have shm support */
6107 /* Define this if your system has scandir & alphasort */
6110 /* Define this if your system has strsep */
6113 /* Define this if your system has vsscanf */
6116 /* Define this if your system has no posix select */
6117 $_def_no_posix_select
6119 /* Define this if your system has gettimeofday */
6122 /* Define this if your system has glob */
6125 /* LIRC (remote control, see www.lirc.org) support: */
6129 * LIRCCD (LIRC client daemon)
6130 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6140 /* DeCSS support using libcss */
6143 /* DVD navigation support using libdvdnav */
6145 $_def_dvdnav_version
6147 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6148 #define MPEG12_POSTPROC 1
6150 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6153 /* Define to include support for OpenDivx postprocessing */
6154 $_def_odivx_postprocess
6156 /* Win32 DLL support */
6158 #define WIN32_PATH "$_win32libdir"
6160 /* DirectShow support */
6163 /* Mac OS X specific features */
6166 /* Build our Win32-loader */
6169 /* ffmpeg's libavcodec support (requires libavcodec source) */
6174 #define CONFIG_RISKY 1
6176 /* Use libavcodec's decoders */
6177 #define CONFIG_DECODERS 1
6178 /* Use libavcodec's encoders */
6179 #define CONFIG_ENCODERS 1
6181 /* Use codec libs included in mplayer CVS / source dist: */
6184 #define USE_LIBMPEG2
6186 /* Use the SVQ1 decoder in libmpcodecs - we don't want/need it with libavcodec */
6187 #ifndef USE_LIBAVCODEC
6191 /* Use libfame encoder filter */
6194 /* XAnim DLL support */
6196 /* Default search path */
6199 /* RealPlayer DLL support */
6201 /* Default search path */
6204 /* LIVE.COM Streaming Media library support */
6207 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6210 /* Use unrarlib for Vobsubs */
6213 /* gui support, please do not edit this option */
6216 /* Audio output drivers */
6218 $_def_ossaudio_devdsp
6219 $_def_ossaudio_devmixer
6225 $_def_sys_asoundlib_h
6226 $_def_alsa_asoundlib_h
6232 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6234 #undef FAST_OSD_TABLE
6236 /* Enable TV Interface support */
6239 /* Enable EDL support */
6242 /* Enable Video 4 Linux TV interface support */
6245 /* Enable Video 4 Linux 2 TV interface support */
6248 /* Enable *BSD BrookTree TV interface support */
6251 /* Define if your processor stores words with the most significant
6252 byte first (like Motorola and SPARC, unlike Intel and VAX). */
6257 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
6258 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
6264 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
6269 /* only gcc3 can compile mvi instructions */
6270 $_def_gcc_mvi_support
6272 /* Define this for Cygwin build for win32 */
6275 /* Define this to any prefered value from 386 up to infinity with step 100 */
6276 #define __CPU__ $iproc
6285 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
6286 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6288 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6289 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6290 #elif defined(WIN32)
6291 #define DEFAULT_CDROM_DEVICE "D:"
6292 #define DEFAULT_DVD_DEVICE "D:"
6293 #elif defined(SYS_DARWIN)
6294 #define DEFAULT_CDROM_DEVICE "/dev/rdiskN"
6295 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6297 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6298 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6302 /*----------------------------------------------------------------------------
6304 ** NOTE: Instead of modifying these definitions here, use the
6305 ** --enable/--disable options of the ./configure script!
6306 ** See ./configure --help for details.
6308 *---------------------------------------------------------------------------*/
6310 /* C99 lrintf function available */
6313 /* int_fastXY_t emulation */
6316 /* nanosleep support */
6322 /* termcap flag for getch2.c */
6325 /* termios flag for getch2.c */
6330 /* enable PNG support */
6333 /* enable JPEG support */
6336 /* enable GIF support */
6341 /* enable FreeType support */
6344 /* enable FriBiDi usage */
6347 /* liblzo support */
6350 /* libmad support */
6353 /* enable OggVorbis support */
6356 /* enable Tremor as vorbis decoder */
6359 /* enable OggTheora support */
6362 /* enable Matroska support */
6365 /* enable FAAD (AAC) support */
6370 /* enable network */
6373 /* enable ftp support */
6376 /* enable winsock2 instead of Unix functions*/
6379 /* define this to use inet_aton() instead of inet_pton() */
6382 /* enables / disables cdparanoia support */
6385 /* enables / disables VIDIX usage */
6388 /* enables / disables new input joystick support */
6391 /* enables / disables QTX codecs */
6394 /* enables / disables osd menu */
6397 /* enables / disables subtitles sorting */
6400 /* XMMS input plugin support */
6402 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
6404 /* enables inet6 support */
6407 /* do we have gethostbyname2? */
6408 $_def_gethostbyname2
6410 /* Extension defines */
6411 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
6412 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
6413 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
6414 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
6415 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
6416 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
6417 $_def_altivec // only define if you have Altivec (G4)
6420 #define USE_MMX_IDCT 1
6423 $_def_altivec_h // enables usage of altivec.h
6426 $_def_mlib // Sun mediaLib, available only on solaris
6428 /* libmpeg2 uses a different feature test macro for mediaLib */
6430 #define LIBMPEG2_MLIB 1
6434 #define SCREEN_SIZE_X 1
6435 #define SCREEN_SIZE_Y 1
6446 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
6454 $_def_directfb_version
6474 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
6475 #define X11_FULLSCREEN 1
6478 #endif /* MPLAYER_CONFIG_H */
6481 #############################################################################
6483 echo "Creating libvo/config.mak"
6484 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
6485 cat > libvo
/config.mak
<< EOF
6486 include ../config.mak
6487 OPTIONAL_SRCS = $_vosrc
6488 OPTIONAL_OBJS = $_voobj
6491 #############################################################################
6493 echo "Creating libao2/config.mak"
6494 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
6495 cat > libao
2/config.mak
<< EOF
6496 include ../config.mak
6497 OPTIONAL_SRCS = $_aosrc
6498 OPTIONAL_OBJS = $_aoobj
6501 #############################################################################
6503 echo "Creating help_mp.h"
6504 cat > help_mp.h
<< EOF
6506 // WARNING! This is a generated file. Do NOT edit.
6507 // See the help/ subdir for the editable files.
6509 #include "$_mp_help"
6512 if test $_mp_help != "help/help_mp-en.h"; then
6513 echo "Adding untranslated messages to help_mp.h"
6514 echo '// untranslated messages from the english master-file:' >> help_mp.h
6515 help
/help_diff.sh
$_mp_help <help
/help_mp-en.h
>> help_mp.h
6518 #############################################################################
6522 Config files successfully generated by ./configure !
6524 Install prefix: $_prefix
6525 Data directory: $_datadir
6526 Config direct.: $_confdir
6528 Byte order: $_byte_order
6529 Optimizing for: $_optimizing
6532 Messages/GUI: $_language
6535 echo -n " Manual pages: $LANGUAGES"
6536 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
6541 Enabled optional drivers:
6542 Input: $_inputmodules
6543 Codecs: $_codecmodules
6544 Audio output: $_aomodules
6545 Video output: $_vomodules
6546 Disabled optional drivers:
6547 Input: $_noinputmodules
6548 Codecs: $_nocodecmodules
6549 Audio output: $_noaomodules
6550 Video output: $_novomodules
6552 'config.h' and 'config.mak' contain your configuration options.
6553 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
6554 compile *** DO NOT REPORT BUGS if you tweak these files ***
6556 'make' will now compile MPlayer and 'make install' will install it.
6557 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
6562 if test "$_mtrr" = yes ; then
6563 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/en/devices.html#mtrr)"
6567 if test "$_sdl" = "outdated" ; then
6569 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
6570 support has therefore been disabled.
6572 Please upgrade to a more recent version (version 1.1.8 and above are known to
6573 work). You may get this library from: http://www.libsdl.org
6575 You need to rerun ./configure and recompile after updating SDL. If you are
6576 only interested in the libSDL audio drivers, then an older version might work.
6578 Use --enable-sdl to force usage of libSDL.
6584 if test "$_win32" = no
; then
6585 if test "$_win32libdir" ; then
6586 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
6588 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
6591 Create it and copy the DLL files there! You can download the codecs from our
6592 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
6598 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
6599 operating system ($system_name). You may encounter a few AVI files that
6600 cannot be played due to missing Open Source video/audio codec support.
6608 Check $TMPLOG if you wonder why an autodetection failed (check whether
6609 the development headers/packages are installed).
6611 If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
6615 if test "$_vidix" = no
; then
6617 You've disabled VIDIX. Although it would be better to PORT it instead.
6618 Have a look at the documentation for supported cards!
6624 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"