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 # Prevent locale nonsense from breaking basic text processing utils
30 # Prefer these macros to full length text !
31 # These macros only return an error code - NO display is done
34 cat "$TMPC" >> "$TMPLOG"
36 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $TMPC -o $TMPO $@" >> "$TMPLOG"
38 ( $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra "$TMPC" -o "$TMPO" "$@" ) >> "$TMPLOG" 2>&1
41 echo "ldd $TMPO" >> "$TMPLOG"
42 ( $_ldd "$TMPO" ) >> "$TMPLOG" 2>&1
47 # Display error message, flushes tempfile, exit
52 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
53 echo "Check \"$TMPLOG\" if you do not understand why it failed."
57 # OS test booleans functions
59 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
61 linux
() { issystem
"Linux" ; return "$?" ; }
62 sunos
() { issystem
"SunOS" ; return "$?" ; }
63 hpux
() { issystem
"HP-UX" ; return "$?" ; }
64 irix
() { issystem
"IRIX" ; return "$?" ; }
65 cygwin
() { issystem
"CYGWIN" ; return "$?" ; }
66 freebsd
() { issystem
"FreeBSD" ; return "$?" ; }
67 netbsd
() { issystem
"NetBSD" ; return "$?" ; }
68 bsdos
() { issystem
"BSD/OS" ; return "$?" ; }
69 openbsd
() { issystem
"OpenBSD" ; return "$?" ; }
70 bsd
() { freebsd || netbsd || bsdos || openbsd
; return "$?" ; }
71 qnx
() { issystem
"QNX" ; return "$?" ; }
72 darwin
() { issystem
"Darwin" ; return "$?" ; }
73 gnu
() { issystem
"GNU" ; return "$?" ; }
74 mingw32
() { issystem
"MINGW32" ; return "$?" ; }
75 morphos
() { issystem
"MorphOS" ; return "$?" ; }
76 win32
() { cygwin || mingw32
; return "$?" ; }
77 beos
() { issystem
"BEOS" ; return "$?" ; }
79 # arch test boolean functions
80 # x86/x86pc is used by QNX
83 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
102 # not boolean test: implement the posix shell "!" operator for a
104 # usage: not {command}
105 # returns exit status "success" when the execution of "command"
112 # Use this before starting a check
114 echo "============ Checking for $@ ============" >> "$TMPLOG"
115 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
118 # Use this to echo the results of a check
120 echo "Result is: $@" >> "$TMPLOG"
121 echo "##########################################" >> "$TMPLOG"
125 #############################################################################
127 # Check how echo works in this /bin/sh
129 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
130 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
133 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"`
135 for parm
in "$@" ; do
136 if test "$parm" = "--help" ||
test "$parm" = "-help" ||
test "$parm" = "-h" ; then
139 Usage: $0 [OPTIONS]...
142 -h, --help display this help and exit
144 Installation directories:
145 --prefix=DIR use this prefix for installing mplayer [/usr/local]
146 --bindir=DIR use this prefix for installing mplayer binary
148 --datadir=DIR use this prefix for installing machine independent
149 data files (fonts, skins) [PREFIX/share/mplayer]
150 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
151 --confdir=DIR use this prefix for installing configuration files
153 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
156 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
157 --enable-gui enable gmplayer compilation (GTK 1.2 GUI) [disable]
158 --enable-largefiles enable support for files > 2 GBytes [disable]
159 --enable-linux-devfs set default devices to devfs ones [disable]
160 --enable-termcap use termcap database for key codes [autodetect]
161 --enable-termios use termios database for key codes [autodetect]
162 --disable-iconv do not use iconv(3) function [autodetect]
163 --disable-setlocale disable setlocale using in mplayer [autodetect]
164 --disable-langinfo do not use langinfo [autodetect]
165 --enable-lirc enable LIRC (remote control) support [autodetect]
166 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
167 --enable-joystick enable joystick support [disable]
168 --disable-vm disable support X video mode extensions [autodetect]
169 --disable-xf86keysym disable support for 'multimedia' keys [autodetect]
170 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
171 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
172 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
173 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
174 --disable-edl disable EDL (edit decision list) support [enable]
175 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
176 --disable-network disable network support (for: http/mms/rtp) [enable]
177 --enable-winsock2 enable winsock2 usage [autodetect]
178 --enable-smb enable Samba (SMB) input support [autodetect]
179 --enable-live enable LIVE.COM Streaming Media support [autodetect]
180 --disable-dvdread Disable libdvdread support [autodetect]
181 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
182 --disable-cdparanoia Disable cdparanoia support [autodetect]
183 --disable-freetype Disable freetype2 font rendering support [autodetect]
184 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
185 --disable-unrarlib Disable Unique RAR File Library [enabled]
186 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
187 --disable-sortsub Disable subtitles sorting [enabled]
188 --enable-fribidi Enable using the FriBiDi libs [disabled]
189 --disable-enca Disable using ENCA charset oracle library [autodetect]
190 --disable-macosx Disable Mac OS X specific features [autodetect]
191 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
192 --enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
193 --disable-inet6 Disable IPv6 support [autodetect]
194 --disable-gethostbyname2 gethostbyname() function is not provided by the C
196 --disable-ftp Disable ftp support [enabled]
197 --disable-vstream Disable tivo vstream client support [autodetect]
198 --disable-pthreads Disable Posix threads support [autodetect]
201 --enable-gif enable gif support [autodetect]
202 --enable-png enable png input/output support [autodetect]
203 --enable-jpeg enable jpeg input/output support [autodetect]
204 --enable-liblzo enable external liblzo support [autodetect]
205 --disable-win32 disable Win32 DLL support [autodetect]
206 --disable-dshow disable Win32/DirectShow support [autodetect]
207 --disable-qtx disable Quicktime codecs [autodetect]
208 --disable-xanim disable XAnim DLL support [autodetect]
209 --disable-real disable RealPlayer DLL support [autodetect]
210 --disable-xvid disable XviD codec [autodetect]
211 --disable-x264 disable H.264 encoder [autodetect]
212 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
213 --enable-opendivx enable _old_ OpenDivx codec [disable]
214 --disable-libavcodec disable libavcodec [autodetect]
215 --disable-libavformat disable libavformat [autodetect]
216 --enable-libfame enable libfame realtime encoder [autodetect]
217 --disable-internal-tremor do not build internal OggVorbis support [enabled]
218 --enable-tremor-low build with lower accuracy internal tremor [disabled]
219 --enable-external-tremor build with external tremor [disabled]
220 --disable-vorbis disable OggVorbis support entirely [autodetect]
221 --enable-theora build with OggTheora support [autodetect]
222 --disable-internal-matroska disable internal Matroska support [enabled]
223 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
224 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
225 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
226 --disable-ladspa disable LADSPA plugin support [autodetect]
227 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
228 --disable-mad disable libmad (MPEG audio) support [autodetect]
229 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
230 --disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
231 --enable-xmms build with XMMS inputplugin support [disabled]
232 --disable-mp3lib disable builtin mp3lib [enabled]
233 --disable-liba52 disable builtin liba52 [enabled]
234 --enable-libdts enable libdts support [autodetect]
235 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
236 --disable-amr_nb disable amr narrowband, floating point [autodetect]
237 --disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
238 --disable-amr_wb disable amr wideband, floating point [autodetect]
239 --disable-codec=CODEC disable specified codec
240 --enable-codec=CODEC dnable specified codec
243 --disable-vidix disable VIDIX [enable on x86 *nix]
244 --enable-gl build with OpenGL render support [autodetect]
245 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
246 --enable-vesa build with VESA support [autodetect]
247 --enable-svga build with SVGAlib support [autodetect]
248 --enable-sdl build with SDL render support [autodetect]
249 --enable-aa build with AAlib render support [autodetect]
250 --enable-caca build with CACA render support [autodetect]
251 --enable-ggi build with GGI render support [autodetect]
252 --enable-ggiwmh build with GGI libggiwmh extension [autodetect]
253 --enable-directx build with DirectX support [autodetect]
254 --enable-dxr2 build with DXR2 render support [autodetect]
255 --enable-dxr3 build with DXR3/H+ render support [autodetect]
256 --enable-dvb build with support for output via DVB-Card [autodetect]
257 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
258 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
259 (check for /dev/mga_vid) [autodetect]
260 --enable-xmga build with mga_vid X Window support
261 (check for X & /dev/mga_vid) [autodetect]
262 --enable-xv build with Xv render support for X 4.x [autodetect]
263 --enable-xvmc build with XvMC acceleration for X 4.x [disable]
264 --enable-vm build with XF86VidMode support for X11 [autodetect]
265 --enable-xinerama build with Xinerama support for X11 [autodetect]
266 --enable-x11 build with X11 render support [autodetect]
267 --enable-fbdev build with FBDev render support [autodetect]
268 --enable-mlib build with MLIB support (Solaris only) [autodetect]
269 --enable-3dfx build with obsolete /dev/3dfx support [disable]
270 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
271 --enable-directfb build with DirectFB support [autodetect]
272 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
273 --enable-bl build with Blinkenlights support [disable]
274 --enable-tdfxvid build with tdfx_vid support [disable]
275 --disable-tga disable targa output support [enable]
276 --disable-pnm disable pnm output support [enable]
277 --disable-md5sum disable md5sum output support [enable]
280 --disable-alsa disable ALSA sound support [autodetect]
281 --disable-ossaudio disable OSS sound support [autodetect]
282 --disable-arts disable aRts sound support [autodetect]
283 --disable-esd disable esd sound support [autodetect]
284 --disable-polyp disable Polypaudio sound support [autodetect]
285 --disable-jack disable JACK sound support [autodetect]
286 --disable-nas disable NAS sound support [autodetect]
287 --disable-sgiaudio disable SGI sound support [autodetect]
288 --disable-sunaudio disable Sun sound support [autodetect]
289 --disable-win32waveout disable Windows waveout sound support [autodetect]
290 --disable-select disable using select() on audio device [enable]
292 Miscellaneous options:
293 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
294 --cc=COMPILER use this C compiler to build MPlayer [gcc]
295 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
296 --as=ASSEMBLER use this assembler to build MPlayer [as]
297 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
298 --enable-static build a statically linked binary. Set further linking
299 options with --enable-static="-lslang -lncurses"
300 --charset convert the help messages to this charset
301 --language=list a white space or comma separated list of languages
302 for translated man pages, the first language is the
303 primary and therefore used for translated messages
304 and GUI (also the environment variable \$LINGUAS is
306 (Available: $LANGUAGES all)
307 --enable-shared-pp install & use shared postprocessing lib
308 --with-install=PATH use a custom install program (useful if your OS uses
309 a GNU-incompatible install utility by default and
310 you want to use GNU version)
311 --install-path=PATH the path to a custom install program
312 this option is obsolete and will be removed soon,
313 use --with-install instead.
316 --enable-mmx build with MMX support [autodetect]
317 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
318 --enable-3dnow build with 3DNow! support [autodetect]
319 --enable-3dnowex build with extended 3DNow! support [autodetect]
320 --enable-sse build with SSE support [autodetect]
321 --enable-sse2 build with SSE2 support [autodetect]
322 --enable-shm build with shm support [autodetect]
323 --enable-altivec build with Altivec support (PowerPC) [autodetect]
324 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
325 --enable-big-endian Force byte order to big-endian [autodetect]
326 --enable-debug[=1-3] compile debugging information into mplayer [disable]
327 --enable-profile compile profiling information into mplayer [disable]
328 --disable-sighandler disable sighandler for crashes [enable]
329 --enable-crash-debug enable automatic gdb attach on crash [disable]
330 --enable-i18n _experimental_ gnu gettext() support [autodetect]
331 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
333 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
334 --disable-gcc-checking disable gcc version checking [enable]
336 Use these options if autodetection fails (Options marked with (*) accept
337 multiple paths separated by ':'):
338 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
339 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR (*)
340 --with-x11incdir=DIR X headers in DIR (*)
341 --with-x11libdir=DIR X library files in DIR (*)
342 --with-dxr2incdir=DIR DXR2 headers in DIR (*)
343 --with-dvbincdir=DIR DVB headers in DIR (*)
344 --with-madlibdir=DIR libmad (libmad shared library) in DIR (*)
345 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
346 --with-codecsdir=DIR Binary codec files in DIR
347 --with-win32libdir=DIR W*ndows DLL files in DIR
348 --with-xanimlibdir=DIR XAnim DLL files in DIR
349 --with-reallibdir=DIR RealPlayer DLL files in DIR
350 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
351 --with-xvidincdir=DIR XviD header in DIR (*)
352 --with-x264libdir=DIR libx264 in DIR
353 --with-x264incdir=DIR x264 header in DIR
354 --with-dtslibdir=DIR libdts library in DIR (*)
355 --with-dtsincdir=DIR libdts header in DIR (*)
356 --with-livelibdir=DIR LIVE.COM Streaming Media libraries in DIR
357 --with-toolamedir=DIR path to Toolame library and include file
358 --with-xmmsplugindir=DIR XMMS plugins in DIR
359 --with-xmmslibdir=DIR libxmms.so.1 in DIR
360 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR (*)
361 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
362 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
363 --with-termcaplib=NAME name of library with termcap functionality
364 name should be given without leading "lib"
365 checks for "termcap" and "tinfo"
367 --with-freetype-config=PATH path to freetype-config
368 (e.g. /opt/bin/freetype-config)
369 --with-fribidi-config=PATH path to fribidi-config
370 (e.g. /opt/bin/fribidi-config)
371 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
372 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
373 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
375 This configure script is NOT autoconf-based, even though its output is similar.
376 It will try to autodetect all configuration options. If you --enable an option
377 it will be forcefully turned on, skipping autodetection. This can break
378 compilation, so you need to know what you are doing.
382 done # for parm in ...
385 # 1st pass checking for vital options
389 test "$CC" && _cc
="$CC"
391 _runtime_cpudetection
=no
395 _target
=`echo $ac_option | cut -d '=' -f 2`
398 _cc
=`echo $ac_option | cut -d '=' -f 2`
401 _host_cc
=`echo $ac_option | cut -d '=' -f 2`
404 _as
=`echo $ac_option | cut -d '=' -f 2`
406 --enable-gcc-checking)
409 --disable-gcc-checking)
419 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
421 --with-extraincdir=*)
422 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
424 --with-extralibdir=*)
425 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
427 --enable-runtime-cpudetection)
428 _runtime_cpudetection
=yes
430 --disable-runtime-cpudetection)
431 _runtime_cpudetection
=no
434 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
437 _install
=`echo $ac_option | cut -d '=' -f 2 `
442 # Determine our OS name and CPU architecture
443 if test -z "$_target" ; then
445 system_name
=`( uname -s ) 2>&1`
446 case "$system_name" in
447 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS
)
455 [cC
][yY
][gG
][wW
][iI
][nN
]*)
465 system_name
="$system_name-UNKNOWN"
470 # host's CPU/instruction set
471 host_arch
=`( uname -p ) 2>&1`
473 i386|sparc|ppc|alpha|arm|mips|vax
)
475 powerpc
) # Darwin returns 'powerpc'
478 *) # uname -p on Linux returns 'unknown' for the processor type,
479 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
481 # Maybe uname -m (machine hardware name) returns something we
484 # x86/x86pc is used by QNX
485 case "`( uname -m ) 2>&1`" in
486 i
[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium
*|athlon
*|i586_i686|i586-i686|BePC
) host_arch
=i386
;;
487 ia64
) host_arch
=ia64
;;
489 if [ "`$_cc -dumpmachine | grep x86_64 | cut -d- -f1`" = "x86_64" -a \
490 -z "`echo $CFLAGS | grep -- -m32`" ]; then
496 macppc|ppc
) host_arch
=ppc
;;
497 alpha
) host_arch
=alpha
;;
498 sparc
) host_arch
=sparc
;;
499 sparc64
) host_arch
=sparc64
;;
500 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
501 arm
*) host_arch
=arm
;;
502 s390
) host_arch
=s390
;;
503 s390x
) host_arch
=s390x
;;
504 mips
) host_arch
=mips
;;
505 vax
) host_arch
=vax
;;
506 *) host_arch
=UNKNOWN
;;
511 system_name
=`echo $_target | cut -d '-' -f 2`
512 case "`echo $system_name | tr A-Z a-z`" in
513 linux
) system_name
=Linux
;;
514 freebsd
) system_name
=FreeBSD
;;
515 netbsd
) system_name
=NetBSD
;;
516 bsd
/os
) system_name
=BSD
/OS
;;
517 openbsd
) system_name
=OpenBSD
;;
518 sunos
) system_name
=SunOS
;;
519 qnx
) system_name
=QNX
;;
520 morphos
) system_name
=MorphOS
;;
521 mingw32msvc
) system_name
=MINGW32
;;
523 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
524 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
527 echo "Detected operating system: $system_name"
528 echo "Detected host architecture: $host_arch"
530 # LGB: temporary files
531 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
535 TMPLOG
="configure.log"
537 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
538 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
539 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
540 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
544 # FIXME: A lot of stuff is installed under /usr/local
545 # NK: But we should never use this stuff implicitly since we call compiler
546 # from /usr we should be sure that there no effects from other compilers
547 # (libraries) which might be installed into /usr/local. Let users use this
548 # stuff explicitly as command line argument. In other words: It would be
549 # resonable to have only /usr/include or only /usr/local/include.
552 _ld_extra
="$_ld_extra -L/usr/local/lib"
553 _inc_extra
="$_inc_extra -I/usr/local/include"
557 for I
in `echo $_ld_extra | sed 's/-L//g'` ; do
558 tmp
="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
568 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
569 # if used as 'head -1' instead of 'head -n 1', but older versions don't
571 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
572 _head
() { head -$1 2>/dev
/null
; }
574 _head
() { head -n $1 2>/dev
/null
; }
576 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
577 _tail
() { tail -$1 2>/dev
/null
; }
579 _tail
() { tail -n $1 2>/dev
/null
; }
582 # Checking CC version...
583 if test "$_skip_cc_check" != yes ; then
584 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
585 if test "`basename $_cc`" = "icc" ||
test "`basename $_cc`" = "ecc"; then
586 echocheck
"$_cc version"
588 cc_name
=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 1`
589 cc_version
=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
590 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
591 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
592 # TODO verify older icc/ecc compatibility
595 cc_version
="v. ?.??, bad"
599 cc_version
="$cc_version, ok"
603 cc_version
="$cc_version, bad"
607 echores
"$cc_version"
609 for _cc
in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
610 echocheck
"$_cc version"
612 cc_name
=`( $_cc -v ) 2>&1 | _tail 1 | cut -d ' ' -f 1`
613 cc_version
=`( $_cc -dumpversion ) 2>&1`
614 if test "$?" -gt 0; then
615 cc_version
="not found"
619 cc_version
="v. ?.??, bad"
622 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
[3-4].
*)
623 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
624 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
625 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
626 cc_version
="$cc_version, ok"
633 cc_version
="$cc_version, bad"
637 echores
"$cc_version"
638 (test "$cc_verc_fail" = "no") && break
641 if test "$cc_verc_fail" = yes ; then
644 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
646 You are not using a supported compiler. We do not have the time to make sure
647 everything works with compilers other than the ones we use. Use either the
648 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
649 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
651 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
652 mplayer and lame (which is used for mencoder). If you get compile errors,
653 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
654 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
657 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
659 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
662 die
"Bad gcc version"
667 ******************************************************************************
669 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
670 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
672 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
673 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
674 Lame which is used by mencoder produces weird errors, too.
676 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
677 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
679 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
681 ******************************************************************************
689 if not
test "$_host_cc" ; then
697 # now that we know what compiler should be used for compilation, try to find
698 # out which assembler is used by the $_cc compiler
699 if test "$_as" = auto
; then
700 _as
=`$_cc -print-prog-name=as`
701 test -z "$_as" && _as
=as
704 # XXX: this should be ok..
706 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
707 # FIXME: Remove the cygwin check once AMD CPUs are supported
708 if test -r /proc
/cpuinfo
&& not cygwin
; then
709 # Linux with /proc mounted, extract CPU information from it
710 _cpuinfo
="cat /proc/cpuinfo"
711 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
712 # FreeBSD with Linux emulation /proc mounted,
713 # extract CPU information from it
714 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
716 # use hostinfo on Darwin
719 # all other OSes try to extract CPU information from a small helper
720 # program TOOLS/cpuinfo instead
721 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
722 _cpuinfo
="TOOLS/cpuinfo"
727 pparam
=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | _head 1`
728 if test -z "$pparam" ; then
729 pparam
=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
740 for i
in $pparam ; do
743 3dnowext
) _3dnow
=yes _3dnowex
=yes ;;
746 mtrr|k6_mtrr|cyrix_arr
) _mtrr
=yes ;;
747 xmm|sse|kni
) _sse
=yes _mmx2
=yes ;;
754 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
755 _def_arch
="#define ARCH_X86 1"
756 _target_arch
="TARGET_ARCH_X86 = yes"
758 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
759 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
760 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
761 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
762 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
766 echocheck
"CPU vendor"
767 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
775 3) proc
=i386 iproc
=386 ;;
776 4) proc
=i486 iproc
=486 ;;
777 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
778 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
779 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
781 elif test "$pmodel" -ge 8; then
783 elif test "$pmodel" -ge 6; then
791 if test "$pmodel" -ge 7; then
793 elif test "$pmodel" -ge 6; then
794 # only Athlon XP supports ssem MP, Duron etc not
795 # but most of them are CPUID 666, so check if sse detected
796 # btw. there is also athlon-mp opt, but we need extended
797 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
798 if test "$_sse" = yes && test "$pstepping" -ge 2; then
803 elif test "$pmodel" -ge 4; then
806 proc
=athlon
# TODO: should the Duron Spitfire be considered a Thunderbird instead?
810 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
811 # caught and remedied in the optimization tests below.
815 *) proc
=athlon-xp iproc
=686 ;;
820 3) proc
=i386 iproc
=386 ;;
821 4) proc
=i486 iproc
=486 ;;
823 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
824 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
830 if test "$pmodel" -ge 7; then
832 elif test "$pmodel" -ge 3; then
838 15) proc
=pentium4 iproc
=686 ;;
839 *) proc
=pentium4 iproc
=686 ;;
844 3) proc
=i386 iproc
=386 ;;
845 4) proc
=i486 iproc
=486 ;;
846 *) proc
=i586 iproc
=586 ;;
850 proc
=i586 iproc
=586 ;;
853 # check that gcc supports our CPU, if not, fall back to earlier ones
854 # LGB: check -mcpu and -march swithing step by step with enabling
855 # to fall back till 386.
857 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
859 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
865 echocheck
"GCC & CPU optimization abilities"
867 int main(void) { return 0; }
869 if test "$_runtime_cpudetection" = no
; then
870 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
871 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
873 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ||
test "$proc" = "athlon-tbird"; then
874 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
876 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
877 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
879 if test "$proc" = "k6"; then
880 if not cc_check
-march=$proc $cpuopt=$proc; then
881 if cc_check
-march=i586
$cpuopt=i686
; then
888 if test "$proc" = "pentium4" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon"; then
889 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
891 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx"; then
892 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
894 if test "$proc" = "i586" ; then
895 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
897 if test "$proc" = "i486" ; then
898 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
900 if test "$proc" = "i386" ; then
901 cc_check
-march=$proc $cpuopt=$proc || proc
=error
903 if test "$proc" = "error" ; then
904 echores
"Your $_cc does not even support \"i386\" for '-march' and '$cpuopt'."
908 elif test "$proc" = "i586-i686"; then
913 _march
="-march=$proc"
914 _mcpu
="$cpuopt=$proc"
918 # i686 is probably the most common CPU - optimize for it
920 # at least i486 required, for bswap instruction
922 cc_check
$_mcpu || _mcpu
=""
923 cc_check
$_march $_mcpu || _march
=""
926 ## Gabucino : --target takes effect here (hopefully...) by overwriting
927 ## autodetected mcpu/march parameters
928 if test "$_target" ; then
929 # TODO: it may be a good idea to check GCC and fall back in all cases
930 if test "$host_arch" = "i586-i686"; then
934 _march
="-march=$host_arch"
935 _mcpu
="$cpuopt=$host_arch"
943 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
944 i686|athlon
*|pentium
*) iproc
=686 ;;
953 _def_arch
='#define ARCH_IA64 1'
954 _target_arch
='TARGET_ARCH_IA64 = yes'
963 _def_arch
='#define ARCH_X86_64 1'
964 _target_arch
='TARGET_ARCH_X86_64 = yes'
967 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
968 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
973 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
974 # caught and remedied in the optimization tests below.
977 echocheck
"GCC & CPU optimization abilities"
979 int main(void) { return 0; }
981 # This is a stripped-down version of the i386 fallback.
982 if test "$_runtime_cpudetection" = no
; then
983 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
984 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
986 # This will fail if gcc version < 3.3, which is ok because earlier
987 # versions don't really support 64-bit on amd64.
988 # Is this a valid assumption? -Corey
989 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ; then
990 cc_check
-march=$proc $cpuopt=$proc || proc
=error
992 if test "$proc" = "error" ; then
993 echores
"Your $_cc does not even support \"athlon-xp\" for '-march' and '$cpuopt'."
1002 _march
="-march=$proc"
1003 _mcpu
="$cpuopt=$proc"
1012 _def_arch
='#define ARCH_SPARC 1'
1013 _target_arch
='TARGET_ARCH_SPARC = yes'
1016 echocheck
"CPU type"
1018 case "`echo $karch`" in
1023 sun4u
) proc
=v9 _vis
='yes' _def_vis
='#define HAVE_VIS = yes' ;;
1036 _def_arch
='#define ARCH_SPARC 1'
1037 _target_arch
='TARGET_ARCH_SPARC = yes'
1039 _def_vis
='#define HAVE_VIS = yes'
1047 arm|armv4l|armv5tel
)
1048 _def_arch
='#define ARCH_ARMV4L 1'
1049 _target_arch
='TARGET_ARCH_ARMV4L = yes'
1058 _def_arch
='#define ARCH_POWERPC 1'
1059 _def_dcbzl
='#define NO_DCBZL 1'
1060 _target_arch
='TARGET_ARCH_POWERPC = yes'
1068 echocheck
"CPU type"
1069 if linux
&& test -n "$_cpuinfo"; then
1070 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1071 if test -n "`$_cpuinfo | grep altivec`"; then
1076 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1077 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
1079 elif [ "`sysctl -n hw.optional.altivec 2>/dev/null`" = 1 ]; then
1083 # only gcc 3.4 works reliably with altivec code under netbsd
1086 2*|
3.0*|
3.1*|
3.2*|
3.3*)
1089 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1095 if test "$_altivec" = yes; then
1096 echores
"$proc altivec"
1101 echocheck
"GCC & CPU optimization abilities"
1103 if test -n "$proc"; then
1105 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
1106 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
1107 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
1108 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
1109 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
1110 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
1113 # gcc 3.1(.1) and up supports 7400 and 7450
1114 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
1116 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
1117 7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
1121 # gcc 3.2 and up supports 970
1122 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
1124 970*) _march
='-mcpu=970' _mcpu
='-mtune=970'
1125 _def_dcbzl
='#undef NO_DCBZL' ;;
1131 if test -n "$_mcpu"; then
1132 _optimizing
=`echo $_mcpu | cut -c 8-`
1133 echores
"$_optimizing"
1141 _def_arch
='#define ARCH_ALPHA 1'
1142 _target_arch
='TARGET_ARCH_ALPHA = yes'
1146 echocheck
"CPU type"
1149 unsigned long ver, mask;
1150 asm ("implver %0" : "=r" (ver));
1151 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1152 printf("%ld-%x\n", ver, ~mask);
1156 $_cc -o "$TMPO" "$TMPC"
1159 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
1160 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
1161 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
1162 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
1163 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
1164 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
1165 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
1169 echocheck
"GCC & CPU optimization abilities"
1170 if test "$proc" = "ev68" ; then
1171 cc_check
-mcpu=$proc || proc
=ev67
1173 if test "$proc" = "ev67" ; then
1174 cc_check
-mcpu=$proc || proc
=ev6
1181 echocheck
"MVI instruction support in GCC"
1182 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1183 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
1186 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
1187 echores
"no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1192 _def_arch
='#define ARCH_SGI_MIPS 1'
1193 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
1201 echocheck
"CPU type"
1202 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
1203 case "`echo $proc`" in
1204 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
1205 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
1206 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
1207 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
1208 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
1209 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
1217 _def_arch
='#define ARCH_PA_RISC 1'
1218 _target_arch
='TARGET_ARCH_PA_RISC = yes'
1227 _def_arch
='#define ARCH_S390 1'
1228 _target_arch
='TARGET_ARCH_S390 = yes'
1237 _def_arch
='#define ARCH_S390X 1'
1238 _target_arch
='TARGET_ARCH_S390X = yes'
1247 _def_arch
='#define ARCH_VAX 1'
1248 _target_arch
='TARGET_ARCH_VAX = yes'
1257 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1258 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1259 die
"unsupported architecture $host_arch"
1263 if test "$_runtime_cpudetection" = yes ; then
1278 if x86
&& test "$_runtime_cpudetection" = no
; then
1280 if test "$1" = yes ; then
1281 echocheck
"kernel support of $2"
1284 void catch() { exit(1); }
1286 signal(SIGILL, catch);
1287 __asm__ __volatile__ ("$3":::"memory");return(0);
1291 if ( cc_check
&& $TMPO ) > /dev
/null
2>&1 ; then
1293 _optimizing
="$_optimizing $2"
1297 echo "It seems that your kernel does not correctly support $2."
1298 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1305 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1306 extcheck
$_mmx2 "mmx2" "sfence" || _mmx2
=no
1307 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1308 extcheck
$_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex
=no
1309 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1310 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1311 echocheck
"mtrr support"
1314 if test "$_mtrr" = yes ; then
1315 _optimizing
="$_optimizing mtrr"
1318 if test "$_gcc3_ext" != ""; then
1319 # if we had to disable sse/sse2 because the active kernel does not
1320 # support this instruction set extension, we also have to tell
1321 # gcc3 to not generate sse/sse2 instructions for normal C code
1323 int main(void) { return 0; }
1325 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1330 echocheck
"assembler support of -pipe option"
1332 int main(void) { return 0; }
1334 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
1336 _prefix
="/usr/local"
1337 _xvmclib
="XvMCNVIDIA"
1339 # GOTCHA: the variables below defines the default behavior for autodetection
1340 # and have - unless stated otherwise - at least 2 states : yes no
1341 # If autodetection is available then the third state is: auto
1346 _libavcodecs
=`grep 'register_avcodec(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1353 _dga
=auto
# 1 2 no auto
1355 _xvmc
=no
#auto when complete
1389 _tremor_internal
=yes
1397 _matroska_internal
=yes
1404 # dvdnav disabled, it does not work
1469 _macosx_finder_support
=no
1472 _freetypeconfig
='freetype-config'
1474 _fribidiconfig
='fribidi-config'
1477 _gethostbyname2
=auto
1482 case "$ac_option" in
1488 --enable-gcc-checking) ;;
1489 --disable-gcc-checking) ;;
1490 --enable-static*) ;;
1491 --disable-static*) ;;
1492 --with-extraincdir=*) ;;
1493 --with-extralibdir=*) ;;
1494 --enable-runtime-cpudetection) ;;
1495 --disable-runtime-cpudetection) ;;
1496 --install-path=*) ;;
1497 --with-install=*) ;;
1500 --enable-mencoder) _mencoder
=yes ;;
1501 --disable-mencoder) _mencoder
=no
;;
1502 --enable-i18n) _i18n
=yes ;;
1503 --disable-i18n) _i18n
=no
;;
1504 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1505 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1506 --enable-x11) _x11
=yes ;;
1507 --disable-x11) _x11
=no
;;
1508 --enable-xv) _xv
=yes ;;
1509 --disable-xv) _xv
=no
;;
1510 --enable-xvmc) _xvmc
=yes ;;
1511 --disable-xvmc) _xvmc
=no
;;
1512 --enable-sdl) _sdl
=yes ;;
1513 --disable-sdl) _sdl
=no
;;
1514 --enable-directx) _directx
=yes ;;
1515 --disable-directx) _directx
=no
;;
1516 --enable-win32waveout) _win32waveout
=yes ;;
1517 --disable-win32waveout) _win32waveout
=no
;;
1518 --enable-nas) _nas
=yes ;;
1519 --disable-nas) _nas
=no
;;
1520 --enable-png) _png
=yes ;;
1521 --disable-png) _png
=no
;;
1522 --enable-jpeg) _jpg
=yes ;;
1523 --disable-jpeg) _jpg
=no
;;
1524 --enable-pnm) _pnm
=yes ;;
1525 --disable-pnm) _pnm
=no
;;
1526 --enable-md5sum) _md5sum
=yes ;;
1527 --disable-md5sum) _md5sum
=no
;;
1528 --enable-gif) _gif
=yes ;;
1529 --disable-gif) _gif
=no
;;
1530 --enable-gl) _gl
=yes ;;
1531 --disable-gl) _gl
=no
;;
1532 --enable-ggi) _ggi
=yes ;;
1533 --disable-ggi) _ggi
=no
;;
1534 --enable-ggiwmh) _ggiwmh
=yes ;;
1535 --disable-ggiwmh) _ggiwmh
=no
;;
1536 --enable-aa) _aa
=yes ;;
1537 --disable-aa) _aa
=no
;;
1538 --enable-caca) _caca
=yes ;;
1539 --disable-caca) _caca
=no
;;
1540 --enable-svga) _svga
=yes ;;
1541 --disable-svga) _svga
=no
;;
1542 --enable-vesa) _vesa
=yes ;;
1543 --disable-vesa) _vesa
=no
;;
1544 --enable-fbdev) _fbdev
=yes ;;
1545 --disable-fbdev) _fbdev
=no
;;
1546 --enable-dvb) _dvb
=yes ;;
1547 --disable-dvb) _dvb
=no
;;
1548 --enable-dvbhead) _dvbhead
=yes ;;
1549 --disable-dvbhead) _dvbhead
=no
;;
1550 --enable-dxr2) _dxr2
=yes ;;
1551 --disable-dxr2) _dxr2
=no
;;
1552 --enable-dxr3) _dxr3
=yes ;;
1553 --disable-dxr3) _dxr3
=no
;;
1554 --enable-iconv) _iconv
=yes ;;
1555 --disable-iconv) _iconv
=no
;;
1556 --enable-langinfo) _langinfo
=yes ;;
1557 --disable-langinfo) _langinfo
=no
;;
1558 --enable-rtc) _rtc
=yes ;;
1559 --disable-rtc) _rtc
=no
;;
1560 --enable-mp1e) _mp1e
=yes ;;
1561 --disable-mp1e) _mp1e
=no
;;
1562 --enable-libdv) _libdv
=yes ;;
1563 --disable-libdv) _libdv
=no
;;
1564 --enable-ossaudio) _ossaudio
=yes ;;
1565 --disable-ossaudio) _ossaudio
=no
;;
1566 --enable-arts) _arts
=yes ;;
1567 --disable-arts) _arts
=no
;;
1568 --enable-esd) _esd
=yes ;;
1569 --disable-esd) _esd
=no
;;
1570 --enable-polyp) _polyp
=yes ;;
1571 --disable-polyp) _polyp
=no
;;
1572 --enable-jack) _jack
=yes ;;
1573 --disable-jack) _jack
=no
;;
1574 --enable-mad) _mad
=yes ;;
1575 --disable-mad) _mad
=no
;;
1576 --disable-toolame) _toolame
=no
;;
1577 --disable-twolame) _twolame
=no
;;
1578 --enable-liblzo) _liblzo
=yes ;;
1579 --disable-liblzo) _liblzo
=no
;;
1580 --enable-vorbis) _vorbis
=yes ;;
1581 --disable-vorbis) _vorbis
=no
;;
1582 --enable-internal-tremor) _tremor_internal
=yes ;;
1583 --disable-internal-tremor) _tremor_internal
=no
;;
1584 --enable-tremor-low) _tremor_low
=yes ;;
1585 --disable-tremor-low) _tremor_low
=no
;;
1586 --enable-external-tremor) _tremor
=yes ;;
1587 --disable-external-tremor) _tremor
=no
;;
1588 --enable-theora) _theora
=yes ;;
1589 --disable-theora) _theora
=no
;;
1590 --enable-mp3lib) _mp3lib
=yes ;;
1591 --disable-mp3lib) _mp3lib
=no
;;
1592 --enable-liba52) _liba52
=yes ;;
1593 --disable-liba52) _liba52
=no
;;
1594 --enable-libdts) _libdts
=yes ;;
1595 --disable-libdts) _libdts
=no
;;
1596 --enable-libmpeg2) _libmpeg2
=yes ;;
1597 --disable-libmpeg2) _libmpeg2
=no
;;
1598 --enable-internal-matroska) _matroska_internal
=yes ;;
1599 --disable-internal-matroska) _matroska_internal
=no
;;
1600 --enable-internal-faad) _faad_internal
=yes _faad_external
=no
;;
1601 --disable-internal-faad) _faad_internal
=no
;;
1602 --enable-external-faad) _faad_external
=yes _faad_internal
=no
;;
1603 --disable-external-faad) _faad_external
=no
;;
1604 --enable-faac) _faac
=yes ;;
1605 --disable-faac) _faac
=no
;;
1606 --enable-ladspa) _ladspa
=yes ;;
1607 --disable-ladspa) _ladspa
=no
;;
1608 --enable-xmms) _xmms
=yes ;;
1609 --disable-xmms) _xmms
=no
;;
1610 --enable-dvdread) _dvdread
=yes ;;
1611 --disable-dvdread) _dvdread
=no
;;
1612 --enable-mpdvdkit) _dvdkit
=yes ;;
1613 --disable-mpdvdkit) _dvdkit
=no
;;
1614 # dvdnav disabled, it does not work
1615 # --enable-dvdnav) _dvdnav=yes ;;
1616 # --disable-dvdnav) _dvdnav=no ;;
1617 --enable-xanim) _xanim
=yes ;;
1618 --disable-xanim) _xanim
=no
;;
1619 --enable-real) _real
=yes ;;
1620 --disable-real) _real
=no
;;
1621 --enable-live) _live
=yes ;;
1622 --disable-live) _live
=no
;;
1623 --enable-xinerama) _xinerama
=yes ;;
1624 --disable-xinerama) _xinerama
=no
;;
1625 --enable-mga) _mga
=yes ;;
1626 --disable-mga) _mga
=no
;;
1627 --enable-xmga) _xmga
=yes ;;
1628 --disable-xmga) _xmga
=no
;;
1629 --enable-vm) _vm
=yes ;;
1630 --disable-vm) _vm
=no
;;
1631 --enable-xf86keysym) _xf86keysym
=yes ;;
1632 --disable-xf86keysym) _xf86keysym
=no
;;
1633 --enable-mlib) _mlib
=yes ;;
1634 --disable-mlib) _mlib
=no
;;
1635 --enable-sunaudio) _sunaudio
=yes ;;
1636 --disable-sunaudio) _sunaudio
=no
;;
1637 --enable-sgiaudio) _sgiaudio
=yes ;;
1638 --disable-sgiaudio) _sgiaudio
=no
;;
1639 --enable-alsa) _alsa
=yes ;;
1640 --disable-alsa) _alsa
=no
;;
1641 --enable-tv) _tv
=yes ;;
1642 --disable-tv) _tv
=no
;;
1643 --enable-edl) _edl
=yes ;;
1644 --disable-edl) _edl
=no
;;
1645 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1646 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1647 --enable-tv-v4l) _tv_v4l
=yes ;;
1648 --disable-tv-v4l) _tv_v4l
=no
;;
1649 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1650 --disable-tv-v4l2) _tv_v4l2
=no
;;
1651 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1652 --disable-fastmemcpy) _fastmemcpy
=no
;;
1653 --enable-network) _network
=yes ;;
1654 --disable-network) _network
=no
;;
1655 --enable-winsock2) _winsock2
=yes ;;
1656 --disable-winsock2) _winsock2
=no
;;
1657 --enable-smb) _smbsupport
=yes ;;
1658 --disable-smb) _smbsupport
=no
;;
1659 --enable-vidix) _vidix
=yes ;;
1660 --disable-vidix) _vidix
=no
;;
1661 --enable-joystick) _joystick
=yes ;;
1662 --disable-joystick) _joystick
=no
;;
1663 --enable-xvid) _xvid
=yes ;;
1664 --disable-xvid) _xvid
=no
;;
1665 --enable-x264) _x264
=yes ;;
1666 --disable-x264) _x264
=no
;;
1667 --enable-divx4linux) _divx4linux
=yes ;;
1668 --disable-divx4linux) _divx4linux
=no
;;
1669 --enable-opendivx) _opendivx
=yes ;;
1670 --disable-opendivx) _opendivx
=no
;;
1671 --enable-libavcodec) _libavcodec
=yes ;;
1672 --disable-libavcodec) _libavcodec
=no
;;
1673 --enable-amr_nb) _amr_nb
=yes ;;
1674 --disable-amr_nb) _amr_nb
=no
;;
1675 --enable-amr_nb-fixed) _amr_nb_fixed
=yes ;;
1676 --disable-amr_nb-fixed) _amr_nb_fixed
=no
;;
1677 --enable-amr_wb) _amr_wb
=yes ;;
1678 --disable-amr_wb) _amr_wb
=no
;;
1679 --enable-codec=*) _libavcodecs
="$_libavcodecs `echo $ac_option | cut -d '=' -f 2`" ;;
1680 --disable-codec=*) _libavcodecs
=`echo $_libavcodecs | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1681 --enable-libavformat) _libavformat
=yes;;
1682 --disable-libavformat) _libavformat
=no
;;
1683 --enable-libfame) _fame
=yes ;;
1684 --disable-libfame) _fame
=no
;;
1685 --enable-lirc) _lirc
=yes ;;
1686 --disable-lirc) _lirc
=no
;;
1687 --enable-lircc) _lircc
=yes ;;
1688 --disable-lircc) _lircc
=no
;;
1689 --enable-gui) _gui
=yes ;;
1690 --disable-gui) _gui
=no
;;
1691 --enable-termcap) _termcap
=yes ;;
1692 --disable-termcap) _termcap
=no
;;
1693 --enable-termios) _termios
=yes ;;
1694 --disable-termios) _termios
=no
;;
1695 --enable-3dfx) _3dfx
=yes ;;
1696 --disable-3dfx) _3dfx
=no
;;
1697 --enable-tdfxfb) _tdfxfb
=yes ;;
1698 --disable-tdfxvid) _tdfxvid
=no
;;
1699 --enable-tdfxvid) _tdfxvid
=yes ;;
1700 --disable-tga) _tga
=no
;;
1701 --enable-tga) _tga
=yes ;;
1702 --disable-tdfxfb) _tdfxfb
=no
;;
1703 --enable-directfb) _directfb
=yes ;;
1704 --disable-directfb) _directfb
=no
;;
1705 --enable-zr) _zr
=yes ;;
1706 --disable-zr) _zr
=no
;;
1707 --enable-bl) _bl
=yes ;;
1708 --disable-bl) _bl
=no
;;
1709 --enable-mtrr) _mtrr
=yes ;;
1710 --disable-mtrr) _mtrr
=no
;;
1711 --enable-largefiles) _largefiles
=yes ;;
1712 --disable-largefiles) _largefiles
=no
;;
1713 --enable-shm) _shm
=yes ;;
1714 --disable-shm) _shm
=no
;;
1715 --enable-select) _select
=yes ;;
1716 --disable-select) _select
=no
;;
1717 --enable-linux-devfs) _linux_devfs
=yes ;;
1718 --disable-linux-devfs) _linux_devfs
=no
;;
1719 --enable-cdparanoia) _cdparanoia
=yes ;;
1720 --disable-cdparanoia) _cdparanoia
=no
;;
1721 --enable-big-endian) _big_endian
=yes ;;
1722 --disable-big-endian) _big_endian
=no
;;
1723 --enable-freetype) _freetype
=yes ;;
1724 --disable-freetype) _freetype
=no
;;
1725 --enable-fontconfig) _fontconfig
=yes ;;
1726 --disable-fontconfig) _fontconfig
=no
;;
1727 --enable-unrarlib) _unrarlib
=yes ;;
1728 --disable-unrarlib) _unrarlib
=no
;;
1729 --enable-ftp) _ftp
=yes ;;
1730 --disable-ftp) _ftp
=no
;;
1731 --enable-vstream) _vstream
=yes ;;
1732 --disable-vstream) _vstream
=no
;;
1733 --enable-pthreads) _pthreads
=yes ;;
1734 --disable-pthreads) _pthreads
=no
;;
1736 --enable-fribidi) _fribidi
=yes ;;
1737 --disable-fribidi) _fribidi
=no
;;
1739 --enable-enca) _enca
=yes ;;
1740 --disable-enca) _enca
=no
;;
1742 --enable-inet6) _inet6
=yes ;;
1743 --disable-inet6) _inet6
=no
;;
1745 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1746 --disable-gethostbyname2) _gethostbyname2
=no
;;
1748 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1749 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1750 --disable-dga) _dga
=no
;;
1752 --enable-shared-pp) _shared_pp
=yes ;;
1753 --disable-shared-pp) _shared_pp
=no
;;
1755 --enable-menu) _menu
=yes ;;
1756 --disable-menu) _menu
=no
;;
1758 --enable-qtx) _qtx
=yes ;;
1759 --disable-qtx) _qtx
=no
;;
1761 --enable-macosx) _macosx
=yes ;;
1762 --disable-macosx) _macosx
=no
;;
1763 --enable-macosx-finder-support) _macosx_finder_support
=yes ;;
1764 --disable-macosx-finder-support) _macosx_finder_support
=no
;;
1765 --enable-macosx-bundle) _macosx_bundle
=yes;;
1766 --disable-macosx-bundle) _macosx_bundle
=no
;;
1768 --enable-sortsub) _sortsub
=yes ;;
1769 --disable-sortsub) _sortsub
=no
;;
1772 _charset
=`echo $ac_option | cut -d '=' -f 2`
1775 _language
=`echo $ac_option | cut -d '=' -f 2`
1777 # dvdnav disabled, it does not work
1778 # --with-libdvdnav=*)
1779 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1784 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1785 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1786 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1788 --with-win32libdir=*)
1789 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1792 --with-xanimlibdir=*)
1793 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1796 --with-reallibdir=*)
1797 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1800 --with-livelibdir=*)
1801 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
1803 --with-toolamedir=*)
1804 _toolamedir
=`echo $ac_option | cut -d '=' -f 2`
1807 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1811 --with-xmmslibdir=*)
1812 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1815 --with-xmmsplugindir=*)
1816 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1829 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1834 --enable-crash-debug)
1837 --disable-crash-debug)
1840 --enable-sighandler)
1843 --disable-sighandler)
1847 --enable-sse) _sse
=yes ;;
1848 --disable-sse) _sse
=no
;;
1849 --enable-sse2) _sse2
=yes ;;
1850 --disable-sse2) _sse2
=no
;;
1851 --enable-mmx2) _mmx2
=yes ;;
1852 --disable-mmx2) _mmx2
=no
;;
1853 --enable-3dnow) _3dnow
=yes ;;
1854 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
1855 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
1856 --disable-3dnowex) _3dnowex
=no
;;
1857 --enable-altivec) _altivec
=yes ;;
1858 --disable-altivec) _altivec
=no
;;
1859 --enable-mmx) _mmx
=yes ;;
1860 --disable-mmx) # 3Dnow! and MMX2 require MMX
1861 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
1863 --enable-win32) _win32
=yes ;;
1864 --disable-win32) _win32
=no _dshow
=no
;;
1865 --enable-dshow) _win32
=yes _dshow
=yes ;;
1866 --disable-dshow) _dshow
=no
;;
1869 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1872 _x11_paths
=`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1874 --with-dxr2incdir=*)
1875 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1878 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
1881 _inc_dvb
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1883 --with-xvidlibdir=*)
1884 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1886 --with-xvidincdir=*)
1887 _inc_xvid
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1890 _ld_libdts
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1893 _inc_libdts
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1895 --with-x264libdir=*)
1896 _ld_x264
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1898 --with-x264incdir=*)
1899 _inc_x264
=-I`echo $ac_option | cut -d '=' -f 2 |sed 's,:, -I,g'`
1901 --with-sdl-config=*)
1902 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
1904 --with-freetype-config=*)
1905 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
1907 --with-fribidi-config=*)
1908 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
1910 --with-gtk-config=*)
1911 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
1913 --with-glib-config=*)
1914 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
1916 # dvdnav disabled, it does not work
1917 # --with-dvdnav-config=*)
1918 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1921 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1923 --with-cdparanoiaincdir=*)
1924 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1926 --with-cdparanoialibdir=*)
1927 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1929 --with-termcaplib=*)
1930 _ld_termcap
=-l`echo $ac_option | cut -d '=' -f 2`
1934 _prefix
=`echo $ac_option | cut -d '=' -f 2`
1937 _bindir
=`echo $ac_option | cut -d '=' -f 2`
1940 _datadir
=`echo $ac_option | cut -d '=' -f 2`
1943 _mandir
=`echo $ac_option | cut -d '=' -f 2`
1946 _confdir
=`echo $ac_option | cut -d '=' -f 2`
1949 _libdir
=`echo $ac_option | cut -d '=' -f 2`
1953 echo "Unknown parameter: $ac_option"
1960 # Atmos: moved this here, to be correct, if --prefix is specified
1961 test -z "$_bindir" && _bindir
="$_prefix/bin"
1962 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1963 test -z "$_mandir" && _mandir
="$_prefix/man"
1964 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1965 test -z "$_libdir" && _libdir
="$_prefix/lib"
1966 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
1969 # Checking assembler (_as) compatibility...
1970 # Added workaround for older as that reads from stdin by default - atmos
1971 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1972 echocheck
"assembler ($_as $as_version)"
1974 _pref_as_version
='2.9.1'
1976 if test "$_mmx" = yes ; then
1977 echo 'emms' >> $TMPS
1979 if test "$_3dnow" = yes ; then
1980 _pref_as_version
='2.10.1'
1981 echo 'femms' >> $TMPS
1983 if test "$_3dnowex" = yes ; then
1984 _pref_as_version
='2.10.1'
1985 echo 'pswapd %mm0, %mm0' >> $TMPS
1987 if test "$_mmx2" = yes ; then
1988 _pref_as_version
='2.10.1'
1989 echo 'movntq %mm0, (%eax)' >> $TMPS
1991 if test "$_sse" = yes ; then
1992 _pref_as_version
='2.10.1'
1993 echo 'xorps %xmm0, %xmm0' >> $TMPS
1995 #if test "$_sse2" = yes ; then
1996 # _pref_as_version='2.11'
1997 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1999 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
2001 if test "$as_verc_fail" != yes ; then
2005 echo "Upgrade binutils to ${_pref_as_version} ..."
2006 die
"obsolete binutils version"
2012 # check if altivec is supported by the compiler, and how to enable it
2014 _altivec_gcc_flags
=''
2016 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2017 echocheck
"GCC altivec support"
2025 FSF_flags
='-maltivec -mabi=altivec'
2026 Darwin_flags
='-faltivec -D__APPLE_ALTIVEC__'
2028 # check for Darwin-style flags first, since
2029 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2030 # accepts but ignores FSF-style flags...
2032 if test -z "$p"; then
2033 cc_check
$Darwin_flags && p
='Darwin'
2035 if test -z "$p"; then
2036 cc_check
$FSF_flags && p
='FSF'
2040 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
2041 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
2045 if test -z "$p"; then
2048 p
="$p-style ($_altivec_gcc_flags)"
2054 # check if <altivec.h> should be included
2056 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
2058 if test "$_altivec" = yes ; then
2059 echocheck
"altivec.h"
2061 #include <altivec.h>
2062 int main(void) { return 0; }
2065 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
2066 if test "$_have_altivec_h" = yes ; then
2067 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2069 echores
"$_have_altivec_h"
2072 # disable runtime cpudetection if
2073 # - we cannot generate altivec code
2074 # - altivec is disabled by the user
2076 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
2077 _runtime_cpudetection
=no
2080 # show that we are optimizing for altivec (if enabled and supported)
2082 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
2083 _optimizing
="$_optimizing altivec"
2086 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2088 if test "$_altivec" = yes ; then
2089 _mcpu
="$_mcpu $_altivec_gcc_flags"
2092 # setup _def_altivec correctly
2094 if test "$_altivec" = yes ; then
2095 _def_altivec
='#define HAVE_ALTIVEC 1'
2097 _def_altivec
='#undef HAVE_ALTIVEC'
2101 _def_mmx
='#undef HAVE_MMX'
2102 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
2103 _def_mmx2
='#undef HAVE_MMX2'
2104 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
2105 _def_3dnow
='#undef HAVE_3DNOW'
2106 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
2107 _def_3dnowex
='#undef HAVE_3DNOWEX'
2108 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
2109 _def_sse
='#undef HAVE_SSE'
2110 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
2111 _def_sse2
='#undef HAVE_SSE2'
2112 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
2114 # Checking kernel version...
2115 if x86
&& linux
; then
2117 kernel_version
=`uname -r 2>&1`
2118 echocheck
"$system_name kernel version"
2119 case "$kernel_version" in
2120 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2121 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2122 _k_verc_problem
=yes;;
2124 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2127 if test "$_k_verc_fail" ; then
2128 echores
"$kernel_version, fail"
2129 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2130 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2131 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2132 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2133 echo "2.2.x you must upgrade it to get SSE support!"
2134 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2136 echores
"$kernel_version, ok"
2140 if test "$_vidix" = auto
; then
2142 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2144 ppc
&& linux
&& _vidix
=yes
2145 alpha
&& linux
&& _vidix
=yes
2151 echocheck
"mplayer binary name"
2154 _prg_mencoder
="mencoder.exe"
2157 _prg_mencoder
="mencoder"
2162 # On QNX we must link to libph - Gabucino
2164 _ld_arch
="$_ld_arch -lph"
2167 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2169 if test "$_vidix" = yes ; then
2172 for _awk
in mawk gawk nawk
awk; do
2173 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2178 test "$_awk_verc_fail" = yes && _awk
=no
2180 if test "$_awk_verc_fail" = yes; then
2181 echo "VIDIX needs awk, but no working implementation was found!"
2182 echo "Try the GNU version, which can be downloaded from:"
2183 echo "ftp://ftp.gnu.org/gnu/gawk/"
2184 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2189 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2196 ######################
2197 # MAIN TESTS GO HERE #
2198 ######################
2201 echocheck
"extra headers"
2202 if test "$_inc_extra" ; then
2203 echores
"$_inc_extra"
2209 echocheck
"extra libs"
2210 if test "$_ld_extra" ; then
2211 echores
"$_ld_extra"
2218 int main(void) { return 0; }
2220 if cc_check
-lposix ; then
2221 _ld_arch
="$_ld_arch -lposix"
2229 int main(void) { return 0; }
2231 if cc_check
-lm ; then
2239 # Checking for localization ...
2240 # CSAK EGY MARADHAT - A HEGYLAKO
2242 if test "$_i18n" != no
; then
2244 #include <libintl.h>
2245 int main(void) { gettext("test"); return 0; }
2249 if test "$_i18n" = auto
; then
2250 cc_check
&& _i18n
=yes
2252 for i18n_lib
in "" "-lintl"; do
2253 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
2257 if test "$_i18n" = yes ; then
2258 _def_i18n
='#define USE_I18N 1'
2260 _def_i18n
='#undef USE_I18N'
2262 if test -z "$_i18n_libs" ; then
2265 echores
"$_i18n (using $_i18n_libs)"
2270 if test "$_iconv" = auto
; then
2271 _iconv_tmp
='#include <iconv.h>'
2277 #define INBUFSIZE 1024
2278 #define OUTBUFSIZE 4096
2280 char inbuffer[INBUFSIZE];
2281 char outbuffer[OUTBUFSIZE];
2286 char *tocode="UTF-8";
2287 char *fromcode="cp1250";
2288 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
2289 while ((numread = read (0, inbuffer, INBUFSIZE))) {
2290 char *iptr=inbuffer;
2291 char *optr=outbuffer;
2292 size_t inleft=numread;
2293 size_t outleft=OUTBUFSIZE;
2294 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
2296 write (1, outbuffer, OUTBUFSIZE - outleft);
2299 if (iconv_close(icdsc) == -1)
2305 if cc_check
$_ld_lm ; then
2307 elif cc_check
$_ld_lm -liconv ; then
2312 if test "$_iconv" = yes ; then
2313 _def_iconv
='#define USE_ICONV 1'
2315 _def_iconv
='#undef USE_ICONV'
2320 echocheck
"langinfo"
2321 if test "$_langinfo" = auto
; then
2323 #include <langinfo.h>
2324 int main(void) { nl_langinfo(CODESET); return 0; }
2327 cc_check
&& _langinfo
=yes
2329 if test "$_langinfo" = yes ; then
2330 _def_langinfo
='#define USE_LANGINFO 1'
2332 _def_langinfo
='#undef USE_LANGINFO'
2334 echores
"$_langinfo"
2337 echocheck
"language"
2338 test -z "$_language" && _language
=$LINGUAS
2339 _language
=`echo $_language | sed 's/,/ /g'`
2340 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
2341 for lang
in $_language ; do
2342 test "$lang" = all
&& lang
=en
2343 if test -f "help/help_mp-${lang}.h" ; then
2347 echo -n "$lang not found, "
2348 _language
=`echo $_language | sed "s/$lang *//"`
2351 test -z "$_language" && _language
=en
2352 _mp_help
="help/help_mp-${_language}.h"
2353 test -f $_mp_help || die
"$_mp_help not found"
2354 for lang
in $LANGUAGES ; do
2355 if test -f "DOCS/man/$lang/mplayer.1" ; then
2356 MAN_LANG
="$MAN_LANG $lang"
2359 _doc_lang
=$_language
2360 test -d DOCS
/xml
/$_doc_lang || _doc_lang
=en
2361 echores
"using $_language (man pages: $MAN_LANG)"
2364 echocheck
"enable sighandler"
2365 if test "$_sighandler" = yes ; then
2366 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
2368 _def_sighandler
='#undef ENABLE_SIGHANDLER'
2370 echores
"$_sighandler"
2372 echocheck
"runtime cpudetection"
2373 if test "$_runtime_cpudetection" = yes ; then
2374 _optimizing
="Runtime CPU-Detection enabled"
2375 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
2377 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
2379 echores
"$_runtime_cpudetection"
2382 echocheck
"restrict keyword"
2383 for restrict_keyword
in restrict __restrict __restrict__
; do
2384 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2386 _def_restrict_keyword
=$restrict_keyword
2390 if [ -n "$_def_restrict_keyword" ]; then
2391 echores
"$_def_restrict_keyword"
2395 # Avoid infinite recursion loop ("#define restrict restrict")
2396 if [ "$_def_restrict_keyword" != "restrict" ]; then
2397 _def_restrict_keyword
="#define restrict $_def_restrict_keyword"
2399 _def_restrict_keyword
=""
2403 echocheck
"__builtin_expect"
2404 # GCC branch prediction hint
2407 a = __builtin_expect (a, 10);
2408 return a == 10 ? 0 : 1;
2410 int main() { return foo(10) && foo(0); }
2413 cc_check
&& _builtin_expect
=yes
2414 if test "$_builtin_expect" = yes ; then
2415 _def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2417 _def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2419 echores
"$_builtin_expect"
2425 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2428 cc_check
-lkstat && _kstat
=yes
2429 if test "$_kstat" = yes ; then
2430 _ld_arch
="-lkstat $_ld_arch"
2432 if test "$_kstat" = yes ; then
2433 _def_kstat
="#define HAVE_LIBKSTAT 1"
2435 _def_kstat
="#undef HAVE_LIBKSTAT"
2441 # required for nanosleep on some systems
2444 int main(void) { (void) nanosleep(0, 0); return 0; }
2447 cc_check
-lposix4 && _posix4
=yes
2448 if test "$_posix4" = yes ; then
2449 _ld_arch
="-lposix4 $_ld_arch"
2453 echocheck
"-std=gnu99"
2455 int main(void) { return 0; }
2458 cc_check
-std=gnu99
&& _gnu99
=yes
2459 if test "$_gnu99" = yes ; then
2460 _opt_gnu99
="-std=gnu99"
2469 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2472 cc_check
$_opt_gnu99 -D_GNU_SOURCE $_ld_lm && _lrintf
=yes
2473 if test "$_lrintf" = yes ; then
2474 _def_lrintf
="#define HAVE_LRINTF 1"
2476 _def_lrintf
="#undef HAVE_LRINTF"
2483 int main(void) { (void) round(0.0); return 0; }
2486 cc_check
$_ld_lm && _round
=yes
2487 if test "$_round" = yes ; then
2488 _def_round
="#define HAVE_ROUND 1"
2490 _def_round
="#undef HAVE_ROUND"
2494 echocheck
"nanosleep"
2495 # also check for nanosleep
2498 int main(void) { (void) nanosleep(0, 0); return 0; }
2501 cc_check
$_ld_arch && _nanosleep
=yes
2502 if test "$_nanosleep" = yes ; then
2503 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2505 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2507 echores
"$_nanosleep"
2511 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2512 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2515 int main(void) { (void) gethostbyname(0); return 0; }
2517 cc_check
-lsocket && _ld_sock
="-lsocket"
2518 cc_check
-lnsl && _ld_sock
="-lnsl"
2519 cc_check
-lsocket -lnsl && _ld_sock
="-lsocket -lnsl"
2520 cc_check
-lsocket -ldnet && _ld_sock
="-lsocket -ldnet"
2521 cc_check
-lsocket -lbind && _ld_sock
="-lsocket -lbind"
2522 if test $_winsock2 = auto
&& not cygwin
; then
2525 #include <winsock2.h>
2526 int main(void) { (void) gethostbyname(0); return 0; }
2528 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2530 if test "$_ld_sock" ; then
2531 echores
"yes (using $_ld_sock)"
2537 if test $_winsock2 = yes ; then
2539 _def_winsock2
='#define HAVE_WINSOCK2 1'
2541 _def_winsock2
='#undef HAVE_WINSOCK2'
2546 echocheck
"inet_pton()"
2548 #include <sys/types.h>
2549 #include <sys/socket.h>
2550 #include <arpa/inet.h>
2551 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2553 if test "$_winsock2" = yes ; then
2554 echores
"not needed (using winsock2 functions)"
2555 elif cc_check
$_ld_sock ; then
2556 # NOTE: Linux has libresolv but does not need it
2558 echores
"yes (using $_ld_sock)"
2559 elif cc_check
$_ld_sock -lresolv ; then
2560 # NOTE: needed for SunOS at least
2561 _ld_sock
="$_ld_sock -lresolv"
2562 echores
"yes (using $_ld_sock)"
2564 echores
"no (=> i'll try inet_aton next)"
2566 echocheck
"inet_aton()"
2568 #include <sys/types.h>
2569 #include <sys/socket.h>
2570 #include <arpa/inet.h>
2571 int main(void) { (void) inet_aton(0, 0); return 0; }
2574 if cc_check
$_ld_sock ; then
2575 # NOTE: Linux has libresolv but does not need it
2577 echores
"yes (using $_ld_sock)"
2578 elif cc_check
$_ld_sock -lresolv ; then
2579 # NOTE: needed for SunOS at least
2580 _ld_sock
="$_ld_sock -lresolv"
2581 echores
"yes (using $_ld_sock)"
2585 echores
"no (=> network support disabled)"
2589 _def_use_aton
='#undef USE_ATON'
2590 if test "$_use_aton" != no
; then
2591 _def_use_aton
='#define USE_ATON 1'
2595 echocheck
"inttypes.h (required)"
2597 #include <inttypes.h>
2598 int main(void) { return 0; }
2601 cc_check
&& _inttypes
=yes
2602 if test "$_inttypes" = yes ; then
2607 echocheck
"bitypes.h (inttypes.h predecessor)"
2609 #include <sys/bitypes.h>
2610 int main(void) { return 0; }
2613 cc_check
&& _inttypes
=yes
2614 if test "$_inttypes" = yes ; then
2615 die
"You don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h into the include path, and re-run configure."
2617 die
"Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2620 echores
"$_inttypes"
2623 echocheck
"int_fastXY_t in inttypes.h"
2625 #include <inttypes.h>
2627 volatile int_fast16_t v= 0;
2631 cc_check
&& _fast_inttypes
=yes
2632 if test "$_fast_inttypes" = yes ; then
2636 _def_fast_inttypes
='
2637 typedef signed char int_fast8_t;
2638 typedef signed int int_fast16_t;
2639 typedef signed int int_fast32_t;
2640 typedef unsigned char uint_fast8_t;
2641 typedef unsigned int uint_fast16_t;
2642 typedef unsigned int uint_fast32_t;'
2644 echores
"$_fast_inttypes"
2647 echocheck
"word size"
2648 _mp_wordsize
="#undef MP_WORDSIZE"
2651 #include <sys/types.h>
2652 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2654 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2655 echores
"$_wordsize"
2658 echocheck
"stddef.h"
2661 int main(void) { return 0; }
2664 cc_check
&& _stddef
=yes
2665 if test "$_stddef" = yes ; then
2666 _def_stddef
='#define HAVE_STDDEF_H 1'
2668 _def_stddef
='#undef HAVE_STDDEF_H'
2673 echocheck
"malloc.h"
2676 int main(void) { (void) malloc(0); return 0; }
2679 cc_check
&& _malloc
=yes
2680 if test "$_malloc" = yes ; then
2681 _def_malloc
='#define HAVE_MALLOC_H 1'
2683 _def_malloc
='#undef HAVE_MALLOC_H'
2685 # malloc.h emits a warning in FreeBSD and OpenBSD
2686 (freebsd || openbsd
) && _def_malloc
='#undef HAVE_MALLOC_H'
2690 echocheck
"memalign()"
2691 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2694 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2697 cc_check
&& _memalign
=yes
2698 if test "$_memalign" = yes ; then
2699 _def_memalign
='#define HAVE_MEMALIGN 1'
2701 _def_memalign
='#undef HAVE_MEMALIGN'
2703 echores
"$_memalign"
2706 echocheck
"alloca.h"
2709 int main(void) { (void) alloca(0); return 0; }
2712 cc_check
&& _alloca
=yes
2714 _def_alloca
='#define HAVE_ALLOCA_H 1'
2716 _def_alloca
='#undef HAVE_ALLOCA_H'
2723 #include <sys/types.h>
2724 #include <sys/mman.h>
2725 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2728 cc_check
&& _mman
=yes
2729 if test "$_mman" = yes ; then
2730 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2732 _def_mman
='#undef HAVE_SYS_MMAN_H'
2737 #include <sys/types.h>
2738 #include <sys/mman.h>
2739 int main(void) { void *p = MAP_FAILED; return 0; }
2741 _mman_has_map_failed
=no
2742 cc_check
&& _mman_has_map_failed
=yes
2743 if test "$_mman_has_map_failed" = yes ; then
2744 _def_mman_has_map_failed
=''
2746 _def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
2749 echocheck
"dynamic loader"
2752 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2757 elif cc_check
-ldl ; then
2761 if test "$_dl" = yes ; then
2762 _def_dl
='#define HAVE_LIBDL 1'
2764 _def_dl
='#undef HAVE_LIBDL'
2769 echocheck
"dynamic a/v plugins support"
2770 if test "$_dl" = no
; then
2773 if test "$_dynamic_plugins" = yes ; then
2774 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2776 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2778 echores
"$_dynamic_plugins"
2781 #echocheck "dynamic linking"
2782 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2783 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2785 #int main(void) { return 0; }
2787 #if cc_check -rdynamic ; then
2788 # _ld_dl_dynamic='-rdynamic'
2789 #elif cc_check -Bdynamic ; then
2790 # _ld_dl_dynamic='-Bdynamic'
2791 #elif cc_check ; then
2794 #echores "using $_ld_dl_dynamic"
2796 _def_threads
='#undef HAVE_THREADS'
2800 if test "$_pthreads" != no
; then
2802 #include <pthread.h>
2803 void* func(void *arg) { return arg; }
2804 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2808 elif ( cc_check
-lpthreadGC2 && $TMPO ) ; then # mingw pthreads-win32
2809 _ld_pthread
='-lpthreadGC2'
2810 elif ( cc_check
&& $TMPO ) ; then # QNX
2811 _ld_pthread
=' ' # _ld_pthread='' would disable pthreads, but the test worked
2812 elif ( cc_check
-lpthread && $TMPO ) ; then
2813 _ld_pthread
='-lpthread'
2814 elif ( cc_check
-pthread && $TMPO ) ; then
2815 _ld_pthread
='-pthread'
2817 if test "$_ld_static" ; then
2818 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2819 if ( cc_check
-lpthread ) ; then
2820 _ld_pthread
='-lpthread'
2821 elif ( cc_check
-pthread ) ; then
2822 _ld_pthread
='-pthread'
2824 echores
"no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2825 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2828 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2829 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2833 if test "$_ld_pthread" != '' ; then
2834 echores
"yes (using $_ld_pthread)"
2836 _def_pthreads
='#define HAVE_PTHREADS 1'
2837 _def_threads
='#define HAVE_THREADS 1'
2841 _def_pthreads
='#undef HAVE_PTHREADS'
2845 echocheck
"sys/soundcard.h"
2847 #include <sys/soundcard.h>
2848 int main(void) { return 0; }
2851 cc_check
&& _sys_soundcard
=yes
2852 if test "$_sys_soundcard" = yes ; then
2853 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2854 _inc_soundcard
='#include <sys/soundcard.h>'
2856 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2858 echores
"$_sys_soundcard"
2860 if test "$_sys_soundcard" != yes ; then
2861 echocheck
"soundcard.h"
2863 #include <soundcard.h>
2864 int main(void) { return 0; }
2867 cc_check
&& _soundcard
=yes
2868 if linux ||
test "$_ossaudio" != no
; then
2869 # use soundcard.h on Linux, or when OSS support is enabled
2870 echores
"$_soundcard"
2872 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2873 echores
"$_soundcard, but ignored!"
2876 if test "$_soundcard" = yes ; then
2877 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2878 _inc_soundcard
='#include <soundcard.h>'
2880 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2883 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2887 echocheck
"sys/dvdio.h"
2890 #include <sys/dvdio.h>
2891 int main(void) { return 0; }
2894 cc_check
&& _dvdio
=yes
2895 if test "$_dvdio" = yes ; then
2896 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2898 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2903 echocheck
"sys/cdio.h"
2906 #include <sys/cdio.h>
2907 int main(void) { return 0; }
2910 cc_check
&& _cdio
=yes
2911 if test "$_cdio" = yes ; then
2912 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2914 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2919 echocheck
"linux/cdrom.h"
2921 #include <sys/types.h>
2922 #include <linux/cdrom.h>
2923 int main(void) { return 0; }
2926 cc_check
&& _cdrom
=yes
2927 if test "$_cdrom" = yes ; then
2928 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2930 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2938 int main(void) { return 0; }
2941 cc_check
&& _dvd
=yes
2942 if test "$_dvd" = yes ; then
2943 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2945 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2950 echocheck
"BSDI dvd.h"
2953 int main(void) { return 0; }
2956 cc_check
&& _bsdi_dvd
=yes
2957 if test "$_bsdi_dvd" = yes ; then
2958 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2960 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2962 echores
"$_bsdi_dvd"
2965 echocheck
"HPUX SCSI header"
2967 #include <sys/scsi.h>
2968 int main(void) { return 0; }
2971 cc_check
&& _hpux_scsi_h
=yes
2972 if test "$_hpux_scsi_h" = yes ; then
2973 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2975 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2977 echores
"$_hpux_scsi_h"
2980 echocheck
"userspace SCSI headers (Solaris)"
2982 # include <unistd.h>
2983 # include <stropts.h>
2984 # include <sys/scsi/scsi_types.h>
2985 # include <sys/scsi/impl/uscsi.h>
2986 int main(void) { return 0; }
2989 cc_check
&& _sol_scsi_h
=yes
2990 if test "$_sol_scsi_h" = yes ; then
2991 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2993 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2995 echores
"$_sol_scsi_h"
2999 if test "$_termcap" = auto
; then
3001 int main(void) { return 0; }
3004 cc_check
-ltermcap && _termcap
=yes && _ld_termcap
='-ltermcap'
3005 cc_check
-ltinfo && _termcap
=yes && _ld_termcap
='-ltinfo'
3007 if test "$_termcap" = yes ; then
3008 _def_termcap
='#define USE_TERMCAP 1'
3009 echores
"yes (using $_ld_termcap)"
3011 _def_termcap
='#undef USE_TERMCAP'
3017 if test "$_termios" = auto
; then
3019 #include <sys/termios.h>
3020 int main(void) { return 0; }
3023 cc_check
&& _termios
=yes
3024 _def_termios_h_name
='sys/termios.h'
3027 if test "$_termios" = auto
; then
3029 #include <termios.h>
3030 int main(void) { return 0; }
3033 cc_check
&& _termios
=yes
3034 _def_termios_h_name
='termios.h'
3037 if test "$_termios" = yes ; then
3038 _def_termios
='#define HAVE_TERMIOS 1'
3039 _def_termios_h
='#undef HAVE_TERMIOS_H'
3040 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3042 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3043 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3044 elif test "$_def_termios_h_name" = 'termios.h' ; then
3045 _def_termios_h
='#define HAVE_TERMIOS_H 1'
3047 echores
"yes (using $_def_termios_h_name)"
3049 _def_termios
='#undef HAVE_TERMIOS'
3050 _def_termios_h_name
=''
3056 if test "$_shm" = auto
; then
3058 #include <sys/types.h>
3059 #include <sys/shm.h>
3060 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3063 cc_check
&& _shm
=yes
3065 if test "$_shm" = yes ; then
3066 _def_shm
='#define HAVE_SHM 1'
3068 _def_shm
='#undef HAVE_SHM'
3073 # XXX: FIXME, add runtime checking
3074 echocheck
"linux devfs"
3075 echores
"$_linux_devfs"
3078 echocheck
"scandir()"
3080 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3083 cc_check
&& _scandir
=yes
3084 if test "$_scandir" = yes ; then
3085 _def_scandir
='#define HAVE_SCANDIR 1'
3087 _def_scandir
='#undef HAVE_SCANDIR'
3092 echocheck
"strsep()"
3095 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3098 cc_check
&& _strsep
=yes
3099 if test "$_strsep" = yes ; then
3100 _def_strsep
='#define HAVE_STRSEP 1'
3102 _def_strsep
='#undef HAVE_STRSEP'
3106 echocheck
"strlcpy()"
3109 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3112 cc_check
&& _strlcpy
=yes
3113 if test "$_strlcpy" = yes ; then
3114 _def_strlcpy
='#define HAVE_STRLCPY 1'
3116 _def_strlcpy
='#undef HAVE_STRLCPY'
3120 echocheck
"strlcat()"
3123 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3126 cc_check
&& _strlcat
=yes
3127 if test "$_strlcat" = yes ; then
3128 _def_strlcat
='#define HAVE_STRLCAT 1'
3130 _def_strlcat
='#undef HAVE_STRLCAT'
3134 echocheck
"fseeko()"
3137 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3140 cc_check
&& _fseeko
=yes
3141 if test "$_fseeko" = yes ; then
3142 _def_fseeko
='#define HAVE_FSEEKO 1'
3144 _def_fseeko
='#undef HAVE_FSEEKO'
3148 echocheck
"localtime_r()"
3151 int main( void ) { localtime_r(NULL, NULL); }
3154 cc_check
&& _localtime_r
=yes
3155 if test "$_localtime_r" = yes ; then
3156 _def_localtime_r
='#define HAVE_LOCALTIME_R 1'
3158 _def_localtime_r
='#undef HAVE_LOCALTIME_R'
3160 echores
"$_localtime_r"
3162 echocheck
"vsscanf()"
3165 int main(void) { vsscanf(0, 0, 0); return 0; }
3168 cc_check
&& _vsscanf
=yes
3169 if test "$_vsscanf" = yes ; then
3170 _def_vsscanf
='#define HAVE_VSSCANF 1'
3172 _def_vsscanf
='#undef HAVE_VSSCANF'
3180 int main(void) { swab(0, 0, 0); return 0; }
3183 cc_check
&& _swab
=yes
3184 if test "$_swab" = yes ; then
3185 _def_swab
='#define HAVE_SWAB 1'
3187 _def_swab
='#undef HAVE_SWAB'
3191 echocheck
"posix select()"
3195 #include <sys/types.h>
3197 #include <sys/time.h>
3199 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3202 cc_check
&& _posix_select
=yes
3203 if test "$_posix_select" = no
; then
3204 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
3206 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
3208 echores
"$_posix_select"
3211 echocheck
"gettimeofday()"
3214 #include <sys/time.h>
3215 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3218 cc_check
&& _gettimeofday
=yes
3219 if test "$_gettimeofday" = yes ; then
3220 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3222 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3224 echores
"$_gettimeofday"
3231 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3234 cc_check
&& _glob
=yes
3235 if test "$_glob" = yes ; then
3236 _def_glob
='#define HAVE_GLOB 1'
3238 _def_glob
='#undef HAVE_GLOB'
3243 echocheck
"sys/sysinfo.h"
3245 #include <sys/sysinfo.h>
3247 struct sysinfo s_info;
3253 cc_check
&& _sys_sysinfo
=yes
3254 if test "$_sys_sysinfo" = yes ; then
3255 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3256 _inc_sysinfo
='#include <sys/sysinfo.h>'
3258 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3260 echores
"$_sys_sysinfo"
3263 echocheck
"Mac OS X APIs"
3264 if test "$_macosx" = auto
; then
3265 if darwin
&& ppc
; then
3269 _def_macosx
='#undef MACOSX'
3270 _noaomodules
="macosx $_noaomodules"
3271 _novomodules
="quartz $_novomodules"
3274 if test "$_macosx" = yes ; then
3276 #include <Carbon/Carbon.h>
3277 #include <QuickTime/QuickTime.h>
3278 #include <CoreAudio/CoreAudio.h>
3282 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3285 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3287 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3288 _def_macosx
='#define MACOSX 1'
3289 _aosrc
="$_aosrc ao_macosx.c"
3290 _aomodules
="macosx $_aomodules"
3291 _vosrc
="$_vosrc vo_quartz.c"
3292 _vomodules
="quartz $_vomodules"
3295 _def_macosx
='#undef MACOSX'
3296 _noaomodules
="macosx $_noaomodules"
3297 _novomodules
="quartz $_novomodules"
3300 #include <Carbon/Carbon.h>
3301 #include <QuartzCore/CoreVideo.h>
3304 if cc_check
-framework Carbon
-framework QuartzCore
-framework OpenGL
; then
3305 _vosrc
="$_vosrc vo_macosx.m"
3306 _vomodules
="macosx $_vomodules"
3307 _macosx_frameworks
="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3308 _def_macosx_corevideo
='#define MACOSX_COREVIDEO 1'
3309 _macosx_corevideo
=yes
3311 _novomodules
="macosx $_novomodules"
3312 _def_macosx_corevideo
='#undef MACOSX_COREVIDEO'
3313 _macosx_corevideo
=no
3318 echocheck
"Mac OS X Finder Support"
3319 if test "$_macosx_finder_support" = auto
; then
3320 _macosx_finder_support
=$_macosx
3322 if test "$_macosx_finder_support" = yes; then
3323 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3324 _macosx_finder_support
=yes
3326 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3327 _macosx_finder_support
=no
3329 echores
"$_macosx_finder_support"
3331 echocheck
"Mac OS X Bundle file locations"
3332 if test "$_macosx_bundle" = auto
; then
3333 _macosx_bundle
=$_macosx_finder_support
3335 if test "$_macosx_bundle" = yes; then
3336 _def_macosx_bundle
='#define MACOSX_BUNDLE 1'
3338 _def_macosx_bundle
='#undef MACOSX_BUNDLE'
3341 echores
"$_macosx_bundle"
3343 echocheck
"Samba support (libsmbclient)"
3344 if test "$_smbsupport" = yes; then
3345 _ld_smb
="-lsmbclient"
3347 if test "$_smbsupport" = auto
; then
3350 #include <libsmbclient.h>
3351 int main(void) { smbc_opendir("smb://"); return 0; }
3353 if cc_check
-lsmbclient ; then
3355 _ld_smb
="-lsmbclient"
3357 if cc_check
-lsmbclient $_ld_dl ; then
3359 _ld_smb
="-lsmbclient $_ld_dl"
3361 if cc_check
-lsmbclient $_ld_dl -lnsl ; then
3363 _ld_smb
="-lsmbclient $_ld_dl -lnsl"
3365 if cc_check
-lsmbclient $_ld_dl -lssl -lnsl ; then
3367 _ld_smb
="-lsmbclient $_ld_dl -lssl -lnsl"
3374 if test "$_smbsupport" = yes; then
3375 _def_smbsupport
="#define LIBSMBCLIENT"
3376 _inputmodules
="smb $_inputmodules"
3378 _def_smbsupport
="#undef LIBSMBCLIENT"
3379 _noinputmodules
="smb $_noinputmodules"
3381 echores
"$_smbsupport"
3390 if test "$_3dfx" = yes ; then
3391 _def_3dfx
='#define HAVE_3DFX 1'
3392 _vosrc
="$_vosrc vo_3dfx.c"
3393 _vomodules
="3dfx $_vomodules"
3395 _def_3dfx
='#undef HAVE_3DFX'
3396 _novomodules
="3dfx $_novomodules"
3402 if test "$_tdfxfb" = yes ; then
3403 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3404 _vosrc
="$_vosrc vo_tdfxfb.c"
3405 _vomodules
="tdfxfb $_vomodules"
3407 _def_tdfxfb
='#undef HAVE_TDFXFB'
3408 _novomodules
="tdfxfb $_novomodules"
3413 if test "$_tdfxvid" = yes ; then
3414 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3415 _vosrc
="$_vosrc vo_tdfx_vid.c"
3416 _vomodules
="tdfx_vid $_vomodules"
3418 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3419 _novomodules
="tdfx_vid $_novomodules"
3424 if test "$_tga" = yes ; then
3425 _def_tga
='#define HAVE_TGA 1'
3426 _vosrc
="$_vosrc vo_tga.c"
3427 _vomodules
="tga $_vomodules"
3429 _def_tga
='#undef HAVE_TGA'
3430 _novomodules
="tga $_novomodules"
3434 echocheck
"DirectFB headers presence"
3435 if test -z "$_inc_directfb" ; then
3436 for I
in /usr
/include
/usr
/local
/include
$_inc_extra; do
3437 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3438 _inc_directfb
="-I$I/directfb"
3439 echores
"yes (using $_inc_directfb)"
3442 if test -d "$I" && test -f "$I/directfb.h" ; then
3443 _inc_directfb
="-I$I"
3444 echores
"yes (using $_inc_directfb)"
3448 if test -z "$_inc_directfb" ; then
3453 echores
"yes (using $_inc_directfb)"
3455 if test "$_inc_directfb" = "-I/usr/include" ; then
3459 echocheck
"DirectFB"
3460 if test "$_directfb" = auto
; then
3463 #include <directfb.h>
3464 int main(void) { IDirectFB *foo; return 0; }
3466 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
3469 if test "$_directfb" = yes; then
3471 #include <directfb.h>
3473 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
3477 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
3478 _directfb_version
=`"$TMPO"`
3479 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
3480 if test "$_directfb_version" -ge 913; then
3481 echores
"yes ($_directfb_version)"
3483 _def_directfb_version
='#undef DIRECTFBVERSION'
3485 echores
"no (version >=0.9.13 required)"
3489 echores
"no (failed to get version)"
3492 echores
"$_directfb"
3495 if test "$_directfb" = yes ; then
3496 _def_directfb
='#define HAVE_DIRECTFB 1'
3497 if test "$_directfb_version" -ge 913; then
3498 _vosrc
="$_vosrc vo_directfb2.c"
3499 _vomodules
="directfb $_vomodules"
3500 _ld_directfb
='-ldirectfb'
3503 if test "$_directfb_version" -ge 915; then
3504 _vosrc
="$_vosrc vo_dfbmga.c"
3505 _vomodules
="dfbmga $_vomodules"
3508 _def_directfb
='#undef HAVE_DIRECTFB'
3509 _novomodules
="directfb $_novomodules"
3514 echocheck
"X11 headers presence"
3515 if test -z "$_inc_x11" ; then
3516 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
3517 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3519 echores
"yes (using $I)"
3523 if test -z "$_inc_x11" ; then
3525 echores
"not found (check if the dev(el) packages are installed)"
3528 echores
"yes (using $_inc_x11)"
3530 if test "$_inc_x11" = "-I/usr/include" ; then
3536 if test "$_x11" != no
; then
3538 #include <X11/Xlib.h>
3539 #include <X11/Xutil.h>
3540 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3542 if test -z "$_x11_paths" ; then
3543 _x11_paths
="/usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 /usr/lib"
3545 for I
in $_x11_paths ; do
3546 _ld_x11
="-L$I -lXext -lX11 $_ld_sock"
3548 _ld_x11
="$_ld_x11 -Wl,-R$I"
3550 if test -d "$I" && cc_check
$_inc_x11 $_ld_x11 ; then
3556 if test "$_x11" = yes ; then
3557 _def_x11
='#define HAVE_X11 1'
3558 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3559 _vomodules
="x11 xover $_vomodules"
3560 echores
"yes (using $I)"
3563 _def_x11
='#undef HAVE_X11'
3566 _novomodules
="x11 $_novomodules"
3567 echores
"no (check if the dev(el) packages are installed)"
3573 if test "$_x11" = yes ; then
3575 #include <X11/Xmd.h>
3576 #include <X11/Xlib.h>
3577 #include <X11/Xutil.h>
3578 #include <X11/Xatom.h>
3579 #include <X11/extensions/dpms.h>
3581 (void) DPMSQueryExtension(0, 0, 0);
3584 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
3587 if test "$_x11" = yes ; then
3589 #include <X11/Xlib.h>
3590 #include <X11/extensions/dpms.h>
3592 (void) DPMSQueryExtension(0, 0, 0);
3595 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
3597 if test "$_xdpms4" = yes ; then
3598 _def_xdpms
='#define HAVE_XDPMS 1'
3599 echores
"yes (using Xdpms 4)"
3600 elif test "$_xdpms3" = yes ; then
3601 _def_xdpms
='#define HAVE_XDPMS 1'
3602 _ld_x11
="-lXdpms $_ld_x11"
3603 echores
"yes (using Xdpms 3)"
3605 _def_xdpms
='#undef HAVE_XDPMS'
3611 if test "$_x11" = yes && test "$_xv" != no
; then
3613 #include <X11/Xlib.h>
3614 #include <X11/extensions/Xvlib.h>
3616 (void) XvGetPortAttribute(0, 0, 0, 0);
3617 (void) XvQueryPortAttributes(0, 0, 0);
3621 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
3625 if test "$_xv" = yes ; then
3626 _def_xv
='#define HAVE_XV 1'
3628 _vosrc
="$_vosrc vo_xv.c"
3629 _vomodules
="xv $_vomodules"
3631 _def_xv
='#undef HAVE_XV'
3632 _novomodules
="xv $_novomodules"
3638 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
3641 #include <X11/Xlib.h>
3642 #include <X11/extensions/Xvlib.h>
3643 #include <X11/extensions/XvMClib.h>
3645 (void) XvMCQueryExtension(0,0,0);
3646 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3649 cc_check
$_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc
=yes
3651 if test "$_xvmc" = yes ; then
3652 _def_xvmc
='#define HAVE_XVMC 1'
3653 _ld_xvmc
="-lXvMC -l$_xvmclib"
3654 _vosrc
="$_vosrc vo_xvmc.c"
3655 _vomodules
="xvmc $_vomodules"
3657 _def_xvmc
='#undef HAVE_XVMC'
3658 _novomodules
="xvmc $_novomodules"
3663 echocheck
"Xinerama"
3664 if test "$_x11" = yes && test "$_xinerama" != no
; then
3666 #include <X11/Xlib.h>
3667 #include <X11/extensions/Xinerama.h>
3668 int main(void) { (void) XineramaIsActive(0); return 0; }
3671 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3675 if test "$_xinerama" = yes ; then
3676 _def_xinerama
='#define HAVE_XINERAMA 1'
3677 _ld_xinerama
='-lXinerama'
3679 _def_xinerama
='#undef HAVE_XINERAMA'
3681 echores
"$_xinerama"
3684 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3685 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3686 # named 'X extensions' or something similar.
3687 # This check may be useful for future mplayer versions (to change resolution)
3688 # If you run into problems, remove '-lXxf86vm'.
3690 if test "$_x11" = yes && test "$_vm" = auto
; then
3692 #include <X11/Xlib.h>
3693 #include <X11/extensions/xf86vmode.h>
3694 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3697 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3699 if test "$_vm" = yes ; then
3700 _def_vm
='#define HAVE_XF86VM 1'
3703 _def_vm
='#undef HAVE_XF86VM'
3707 # Check for the presence of special keycodes, like audio control buttons
3708 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3709 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3710 # have these new keycodes.
3711 echocheck
"XF86keysym"
3712 if test "$_xf86keysym" = auto
; then
3714 if test "$_x11" = yes ; then
3716 #include <X11/Xlib.h>
3717 #include <X11/XF86keysym.h>
3718 int main(void) { return XF86XK_AudioPause; }
3720 cc_check
$_inc_x11 $_ld_x11 && _xf86keysym
=yes
3723 if test "$_xf86keysym" = yes ; then
3724 _def_xf86keysym
='#define HAVE_XF86XK 1'
3726 _def_xf86keysym
='#undef HAVE_XF86XK'
3728 echores
"$_xf86keysym"
3731 if test "$_x11" = no
; then
3734 # Version 2 is preferred to version 1 if available
3735 if test "$_dga" = auto
; then
3737 #include <X11/Xlib.h>
3738 #include <X11/extensions/xf86dga.h>
3739 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3742 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3745 #include <X11/Xlib.h>
3746 #include <X11/extensions/xf86dga.h>
3747 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3749 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3752 _def_dga
='#undef HAVE_DGA'
3753 _def_dga2
='#undef HAVE_DGA2'
3754 if test "$_dga" = 1 ; then
3755 _def_dga
='#define HAVE_DGA 1'
3756 _ld_dga
='-lXxf86dga'
3757 _vosrc
="$_vosrc vo_dga.c"
3758 _vomodules
="dga $_vomodules"
3759 echores
"yes (using DGA 1.0)"
3760 elif test "$_dga" = 2 ; then
3761 _def_dga
='#define HAVE_DGA 1'
3762 _def_dga2
='#define HAVE_DGA2 1'
3763 _ld_dga
='-lXxf86dga'
3764 _vosrc
="$_vosrc vo_dga.c"
3765 _vomodules
="dga $_vomodules"
3766 echores
"yes (using DGA 2.0)"
3767 elif test "$_dga" = no
; then
3769 _novomodules
="dga $_novomodules"
3771 die
"DGA version must be 1 or 2"
3776 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3777 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
3780 int main(void) { return 0; }
3783 if cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3786 elif cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3788 _ld_gl
="-lGL $_ld_pthread"
3789 elif cc_check
-lopengl32 ; then
3792 _ld_gl
="-lopengl32 -lgdi32"
3797 if test "$_gl" = yes ; then
3798 _def_gl
='#define HAVE_GL 1'
3799 if test "$_gl_win32" = yes ; then
3800 _def_gl_win32
='#define GL_WIN32 1'
3801 _vosrc
="$_vosrc vo_gl2.c w32_common.c gl_common.c"
3803 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3805 _vomodules
="opengl $_vomodules"
3807 _def_gl
='#undef HAVE_GL'
3808 _def_gl_win32
='#undef GL_WIN32'
3809 _novomodules
="opengl $_novomodules"
3814 echocheck
"/dev/mga_vid"
3815 if test "$_mga" = auto
; then
3817 test -c /dev
/mga_vid
&& _mga
=yes
3819 if test "$_mga" = yes ; then
3820 _def_mga
='#define HAVE_MGA 1'
3821 _vosrc
="$_vosrc vo_mga.c"
3822 _vomodules
="mga $_vomodules"
3824 _def_mga
='#undef HAVE_MGA'
3825 _novomodules
="mga $_novomodules"
3830 # echocheck "syncfb"
3832 # test "$_mga" = yes && _syncfb=yes
3833 # if test "$_syncfb" = yes ; then
3834 # _def_syncfb='#define HAVE_SYNCFB 1'
3835 # _vosrc="$_vosrc vo_syncfb.c"
3837 # _def_syncfb='#undef HAVE_SYNCFB'
3839 # echores "$_syncfb"
3843 if test "$_xmga" = auto
; then
3845 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3847 if test "$_xmga" = yes ; then
3848 _def_xmga
='#define HAVE_XMGA 1'
3849 _vosrc
="$_vosrc vo_xmga.c"
3850 _vomodules
="xmga $_vomodules"
3852 _def_xmga
='#undef HAVE_XMGA'
3853 _novomodules
="xmga $_novomodules"
3859 if test "$_ggi" = auto
; then
3861 #include <ggi/ggi.h>
3862 int main(void) { return 0; }
3865 cc_check
-lggi && _ggi
=yes
3867 if test "$_ggi" = yes ; then
3868 _def_ggi
='#define HAVE_GGI 1'
3870 _vosrc
="$_vosrc vo_ggi.c"
3871 _vomodules
="ggi $_vomodules"
3873 _def_ggi
='#undef HAVE_GGI'
3874 _novomodules
="ggi $_novomodules"
3878 echocheck
"GGI extension: libggiwmh"
3879 if test "$_ggiwmh" = auto
; then
3882 #include <ggi/ggi.h>
3883 #include <ggi/wmh.h>
3884 int main(void) { return 0; }
3886 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
3888 # needed to get right output on obscure combination
3889 # like --disable-ggi --enable-ggiwmh
3890 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
3891 _def_ggiwmh
='#define HAVE_GGIWMH 1'
3892 _ld_ggi
="$_ld_ggi -lggiwmh"
3895 _def_ggiwmh
='#undef HAVE_GGIWMH'
3901 if test "$_aa" = auto
; then
3904 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3907 if cc_check
-laa ; then
3910 elif cc_check
$_ld_x11 -laa ; then
3912 _ld_aa
="$_ld_x11 -laa"
3915 if test "$_aa" = yes ; then
3916 _def_aa
='#define HAVE_AA 1'
3918 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
3920 _vosrc
="$_vosrc vo_aa.c"
3921 _vomodules
="aa $_vomodules"
3923 _def_aa
='#undef HAVE_AA'
3924 _novomodules
="aa $_novomodules"
3930 if test "$_caca" = auto
; then
3932 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
3935 int main(void) { (void) caca_init(); return 0; }
3937 cc_check
`caca-config --libs` && _caca
=yes
3940 if test "$_caca" = yes ; then
3941 _def_caca
='#define HAVE_CACA 1'
3942 _inc_caca
=`caca-config --cflags`
3943 _ld_caca
=`caca-config --libs`
3944 _vosrc
="$_vosrc vo_caca.c"
3945 _vomodules
="caca $_vomodules"
3947 _def_caca
='#undef HAVE_CACA'
3948 _novomodules
="caca $_novomodules"
3954 if test "$_svga" = auto
; then
3958 int main(void) { return 0; }
3961 cc_check
-lvgagl -lvga $_ld_lm && _svga
=yes
3963 if test "$_svga" = yes ; then
3964 _def_svga
='#define HAVE_SVGALIB 1'
3965 _ld_svga
="-lvgagl -lvga $_ld_lm"
3966 _vosrc
="$_vosrc vo_svga.c"
3967 _vomodules
="svga $_vomodules"
3969 _def_svga
='#undef HAVE_SVGALIB'
3970 _novomodules
="svga $_novomodules"
3976 if test "$_fbdev" = auto
; then
3978 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
3980 if test "$_fbdev" = yes ; then
3981 _def_fbdev
='#define HAVE_FBDEV 1'
3982 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
3983 _vomodules
="fbdev $_vomodules"
3985 _def_fbdev
='#undef HAVE_FBDEV'
3986 _novomodules
="fbdev $_novomodules"
3993 if test "$_dvb" != no
; then
3996 #include <sys/poll.h>
3997 #include <sys/ioctl.h>
4002 #include <ost/dmx.h>
4003 #include <ost/frontend.h>
4004 #include <ost/sec.h>
4005 #include <ost/video.h>
4006 #include <ost/audio.h>
4007 int main(void) {return 0;}
4013 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
4014 if cc_check
"$I" ; then
4017 echores
"yes (using $_inc_dvb)"
4021 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
4026 if test "$_dvb" = yes ; then
4027 _def_dvb
='#define HAVE_DVB 1'
4028 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4029 _aomodules
="mpegpes(dvb) $_aomodules"
4030 _vomodules
="mpegpes(dvb) $_vomodules"
4032 if test "$_dvbhead" != no
; then
4033 echocheck
"DVB HEAD"
4034 if test "$_dvbhead" != no
; then
4038 #include <sys/poll.h>
4039 #include <sys/ioctl.h>
4044 #include <linux/dvb/dmx.h>
4045 #include <linux/dvb/frontend.h>
4046 #include <linux/dvb/video.h>
4047 #include <linux/dvb/audio.h>
4048 int main(void) {return 0;}
4054 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
4055 if cc_check
"$I" ; then
4058 echores
"yes (using $_inc_dvb)"
4062 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
4067 if test "$_dvbhead" = yes ; then
4068 _def_dvb
='#define HAVE_DVB_HEAD 1'
4069 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4070 _aomodules
="mpegpes(dvb) $_aomodules"
4071 _vomodules
="mpegpes(dvb) $_vomodules"
4074 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4075 _def_dvb
='#undef HAVE_DVB'
4076 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
4077 _aomodules
="mpegpes(file) $_aomodules"
4078 _vomodules
="mpegpes(file) $_vomodules"
4081 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4083 _inputmodules
="dvb $_inputmodules"
4086 _noinputmodules
="dvb $_noinputmodules"
4089 echocheck
"PNG support"
4090 if test "$_png" = auto
; then
4093 # Don't check for -lpng on irix since it has its own libpng
4094 # incompatible with the GNU libpng
4095 echores
"disabled on irix (not GNU libpng)"
4101 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4102 printf("libpng: %s\n", png_libpng_ver);
4103 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4106 if cc_check
-lpng -lz $_ld_lm ; then
4107 if "$TMPO" >> "$TMPLOG" ; then
4111 echores
"no (mismatch of library and header versions)"
4120 if test "$_png" = yes ; then
4121 _def_png
='#define HAVE_PNG 1'
4123 _vosrc
="$_vosrc vo_png.c"
4124 _vomodules
="png $_vomodules"
4127 _def_png
='#undef HAVE_PNG'
4128 _novomodules
="png $_novomodules"
4132 echocheck
"JPEG support"
4133 if test "$_jpg" = auto
; then
4140 #include <jpeglib.h>
4145 if cc_check
-ljpeg $_ld_lm ; then
4146 if "$TMPO" >> "$TMPLOG" ; then
4153 if test "$_jpg" = yes ; then
4154 _def_jpg
='#define HAVE_JPEG 1'
4155 _vosrc
="$_vosrc vo_jpeg.c"
4156 _vomodules
="jpeg $_vomodules"
4160 _def_jpg
='#undef HAVE_JPEG'
4161 _novomodules
="jpeg $_novomodules"
4167 echocheck
"PNM support"
4168 if test "$_pnm" = yes; then
4169 _def_pnm
="#define HAVE_PNM"
4170 _vosrc
="$_vosrc vo_pnm.c"
4171 _vomodules
="pnm $_vomodules"
4173 _def_pnm
="#undef HAVE_PNM"
4174 _novomodules
="pnm $_novomodules"
4180 echocheck
"md5sum support"
4181 if test "$_md5sum" = yes; then
4182 _def_md5sum
="#define HAVE_MD5SUM"
4183 _vosrc
="$_vosrc vo_md5sum.c md5sum.c"
4184 _vomodules
="md5sum $_vomodules"
4186 _def_md5sum
="#undef HAVE_MD5SUM"
4187 _novomodules
="md5sum $_novomodules"
4193 echocheck
"GIF support"
4194 # This is to appease people who want to force gif support.
4195 # If it is forced to yes, then we still do checks to determine
4196 # which gif library to use.
4197 if test "$_gif" = yes ; then
4202 if test "$_gif" = auto
; then
4205 #include <gif_lib.h>
4210 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
4213 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4215 _ld_gif
="-lungif $_ld_x11"
4216 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
4219 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4221 _ld_gif
="-lgif $_ld_x11"
4225 # If no library was found, and the user wants support forced,
4226 # then we force it on with libgif, as this is the safest
4227 # assumption IMHO. (libungif & libregif both create symbolic
4228 # links to libgif. We also assume that no x11 support is needed,
4229 # because if you are forcing this, then you _should_ know what
4230 # you are doing. [ Besides, package maintainers should never
4231 # have compiled x11 deps into libungif in the first place. ] )
4234 if test "$_force_gif" = yes && test "$_gif" = no
; then
4239 if test "$_gif" = yes ; then
4240 _def_gif
='#define HAVE_GIF 1'
4241 _vosrc
="$_vosrc vo_gif89a.c"
4242 _codecmodules
="gif $_codecmodules"
4243 _vomodules
="gif89a $_vomodules"
4245 _gif
="yes (old version, some encoding functions disabled)"
4246 _def_gif_4
='#undef HAVE_GIF_4'
4250 #include <gif_lib.h>
4251 void catch() { exit(1); }
4253 signal(SIGSEGV, catch); // catch segfault
4254 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4255 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4259 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4260 _def_gif_4
='#define HAVE_GIF_4 1'
4264 _def_gif
='#undef HAVE_GIF'
4265 _def_gif_4
='#undef HAVE_GIF_4'
4266 _novomodules
="gif89a $_novomodules"
4267 _nocodecmodules
="gif $_nocodecmodules"
4273 case "$_gif" in yes*)
4274 echocheck
"broken giflib workaround"
4275 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4278 #include <gif_lib.h>
4281 printf("UserData is at address %p\n", gif.UserData);
4285 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4286 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4295 echocheck
"VESA support"
4296 if test "$_vesa" = auto
; then
4297 if x86
&& linux
; then
4301 int main(void) { return 0; }
4303 cc_check
&& _vesa
=yes
4306 if test "$_vesa" = yes ; then
4307 _def_vesa
='#define HAVE_VESA 1'
4308 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
4309 _vomodules
="vesa $_vomodules"
4312 _def_vesa
='#undef HAVE_VESA'
4313 echores
"no (not supported on this OS/architecture)"
4314 _novomodules
="vesa $_novomodules"
4323 if test -z "$_sdlconfig" ; then
4324 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4325 _sdlconfig
="sdl-config"
4326 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4327 _sdlconfig
="sdl11-config"
4332 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4335 int main(int argc, char *argv[]) { return 0; }
4338 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4339 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4340 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4341 if test "$_sdlversion" -gt 116 ; then
4342 if test "$_sdlversion" -lt 121 ; then
4343 _def_sdlbuggy
='#define BUGGY_SDL'
4345 _def_sdlbuggy
='#undef BUGGY_SDL'
4354 if test "$_sdl" = yes ; then
4355 _def_sdl
='#define HAVE_SDL 1'
4357 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4358 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4360 _ld_sdl
=`$_sdlconfig --libs | sed s/-mwindows//`
4361 _inc_sdl
=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4363 _ld_sdl
=`$_sdlconfig --libs`
4364 _inc_sdl
=`$_sdlconfig --cflags`
4366 _vosrc
="$_vosrc vo_sdl.c"
4367 _vomodules
="sdl $_vomodules"
4368 _aosrc
="$_aosrc ao_sdl.c"
4369 _aomodules
="sdl $_aomodules"
4370 echores
"yes (using $_sdlconfig)"
4372 _def_sdl
='#undef HAVE_SDL'
4373 _novomodules
="sdl $_novomodules"
4374 _noaomodules
="sdl $_noaomodules"
4378 echocheck
"Windows waveout"
4379 if test "$_win32waveout" = auto
; then
4381 #include <windows.h>
4382 #include <mmsystem.h>
4383 int main(void) { return 0; }
4386 cc_check
-lwinmm && _win32waveout
=yes
4388 if test "$_win32waveout" = yes ; then
4389 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4390 _ld_win32libs
="-lwinmm $_ld_win32libs"
4391 _aosrc
="$_aosrc ao_win32.c"
4392 _aomodules
="win32 $_aomodules"
4394 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4395 _noaomodules
="win32 $_noaomodules"
4397 echores
"$_win32waveout"
4400 if test "$_directx" = auto
; then
4402 #include <windows.h>
4405 int main(void) { return 0; }
4408 cc_check
-lgdi32 && _directx
=yes
4410 if test "$_directx" = yes ; then
4411 _def_directx
='#define HAVE_DIRECTX 1'
4412 _ld_win32libs
="-lgdi32 $_ld_win32libs"
4413 _vosrc
="$_vosrc vo_directx.c"
4414 _vomodules
="directx $_vomodules"
4415 _aosrc
="$_aosrc ao_dsound.c"
4416 _aomodules
="dsound $_aomodules"
4418 _def_directx
='#undef HAVE_DIRECTX'
4419 _novomodules
="directx $_novomodules"
4420 _noaomodules
="dsound $_noaomodules"
4425 if test "$_nas" = auto ||
test "$_nas" = yes ; then
4427 #include <audio/audiolib.h>
4428 int main(void) { return 0; }
4431 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas
=yes
4433 if test "$_nas" = yes ; then
4434 _def_nas
='#define HAVE_NAS 1'
4435 _ld_nas
="-laudio -lXt $_ld_x11"
4436 _aosrc
="$_aosrc ao_nas.c"
4437 _aomodules
="nas $_aomodules"
4439 _noaomodules
="nas $_noaomodules"
4440 _def_nas
='#undef HAVE_NAS'
4445 if test "$_dxr2" = auto
; then
4447 for _inc_dxr2
in "$_inc_dxr2" \
4448 "-I/usr/local/include/dxr2" \
4449 "-I/usr/include/dxr2"; do
4451 #include <dxr2ioctl.h>
4452 int main(void) { return 0; }
4454 cc_check
$_inc_dxr2 && _dxr2
=yes && break
4457 if test "$_dxr2" = yes; then
4458 _def_dxr2
='#define HAVE_DXR2 1'
4459 _vosrc
="$_vosrc vo_dxr2.c"
4460 _aosrc
="$_aosrc ao_dxr2.c"
4461 _aomodules
="dxr2 $_aomodules"
4462 _vomodules
="dxr2 $_vomodules"
4463 echores
"yes (using $_inc_dxr2)"
4465 _def_dxr2
='#undef HAVE_DXR2'
4466 _noaomodules
="dxr2 $_noaomodules"
4467 _novomodules
="dxr2 $_novomodules"
4473 if test "$_dxr3" = auto
; then
4475 #include <linux/em8300.h>
4476 int main(void) { return 0; }
4479 cc_check
&& _dxr3
=yes
4481 if test "$_dxr3" = yes ; then
4482 _def_dxr3
='#define HAVE_DXR3 1'
4483 _vosrc
="$_vosrc vo_dxr3.c"
4484 _vomodules
="dxr3 $_vomodules"
4486 _def_dxr3
='#undef HAVE_DXR3'
4487 _novomodules
="dxr3 $_novomodules"
4488 if test "$_mp1e" = auto
; then
4489 # we don't need mp1e
4496 if test "$_mmx" = no
; then
4497 # mp1e REQUIRES mmx!
4500 if test "$_mp1e" != no
; then
4502 _def_mp1e
='#define USE_MP1E'
4503 _ld_mp1e
='libmp1e/libmp1e.a'
4504 _dep_mp1e
='libmp1e/libmp1e.a'
4507 _def_mp1e
='#undef USE_MP1E'
4515 if test "$_fame" = auto
; then
4517 test "$_dxr2" = yes && _fame
=auto
4518 test "$_dxr3" = yes && _fame
=auto
4519 test "$_dvb" = yes && _fame
=auto
4521 if test "$_fame" = auto
; then
4523 if test -d libfame
&& test -f libfame
/fame.h
; then
4524 # disable fame on cygwin as no sense to port - atmos
4528 echores
"no (no fame dir)"
4534 _def_fame
='#undef USE_LIBFAME'
4535 if test "$_fame" = yes ; then
4536 _def_fame
='#define USE_LIBFAME 1'
4537 _ld_fame
='libfame/libfame.a'
4546 echocheck
"OSS Audio"
4547 if test "$_ossaudio" = auto
; then
4549 #include <sys/ioctl.h>
4551 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4554 cc_check
&& _ossaudio
=yes
4556 if test "$_ossaudio" = yes ; then
4557 _def_ossaudio
='#define USE_OSS_AUDIO 1'
4558 _aosrc
="$_aosrc ao_oss.c"
4559 _aomodules
="oss $_aomodules"
4560 if test "$_linux_devfs" = yes; then
4561 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
4562 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4565 #include <sys/ioctl.h>
4567 #ifdef OPEN_SOUND_SYSTEM
4568 int main(void) { return 0; }
4570 #error Not the real thing
4574 cc_check
&& _real_ossaudio
=yes
4575 if test "$_real_ossaudio" = yes; then
4576 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4577 elif netbsd || openbsd
; then
4578 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4579 _ld_arch
="$_ld_arch -lossaudio"
4581 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4583 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4586 _def_ossaudio
='#undef USE_OSS_AUDIO'
4587 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4588 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4589 _noaomodules
="oss $_noaomodules"
4591 echores
"$_ossaudio"
4595 if test "$_arts" = auto
; then
4597 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4601 int main(void) { return 0; }
4603 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
4608 if test "$_arts" = yes ; then
4609 _def_arts
='#define USE_ARTS 1'
4610 _aosrc
="$_aosrc ao_arts.c"
4611 _aomodules
="arts $_aomodules"
4612 _ld_arts
=`artsc-config --libs`
4613 _inc_arts
=`artsc-config --cflags`
4615 _noaomodules
="arts $_noaomodules"
4621 if test "$_esd" = auto
; then
4623 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4627 int main(void) { return 0; }
4629 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
4635 if test "$_esd" = yes ; then
4636 _def_esd
='#define USE_ESD 1'
4637 _aosrc
="$_aosrc ao_esd.c"
4638 _aomodules
="esd $_aomodules"
4639 _ld_esd
=`esd-config --libs`
4640 _inc_esd
=`esd-config --cflags`
4642 echocheck
"esd_get_latency()"
4645 int main(void) { return esd_get_latency(0); }
4647 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
4648 echores
"$_esd_latency"
4650 _def_esd
='#undef USE_ESD'
4651 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
4652 _noaomodules
="esd $_noaomodules"
4656 if test "$_polyp" = auto
; then
4658 if ( pkg-config
--exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4661 #include <polyp/polyplib.h>
4662 #include <polyp/mainloop.h>
4663 #include <polyp/polyplib-error.h>
4664 int main(void) { return 0; }
4666 cc_check
`pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _polyp
=yes
4672 if test "$_polyp" = yes ; then
4673 _def_polyp
='#define USE_POLYP 1'
4674 _aosrc
="$_aosrc ao_polyp.c"
4675 _aomodules
="polyp $_aomodules"
4676 _ld_polyp
=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4677 _inc_polyp
=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4679 _def_polyp
='#undef USE_POLYP'
4680 _noaomodules
="polyp $_noaomodules"
4685 if test "$_jack" = auto
; then
4687 if ( ( pkg-config
--modversion jack
) > /dev
/null
2>&1 ) &&
4688 ( jackd
--version |
grep version |
awk '{ print $3 }' ) >> "$TMPLOG" 2>&1 ; then
4691 #include <jack/jack.h>
4692 int main(void) { jack_client_new("test"); return 0; }
4694 cc_check
`pkg-config --libs --cflags jack` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _jack
=yes
4698 if test "$_jack" = yes ; then
4699 _def_jack
='#define USE_JACK 1'
4700 _aosrc
="$_aosrc ao_jack.c"
4701 _aomodules
="jack $_aomodules"
4702 _ld_jack
="`pkg-config --libs jack`"
4703 _inc_jack
=`pkg-config --cflags jack`
4705 _noaomodules
="jack $_noaomodules"
4710 echocheck
"ALSA audio"
4711 if test "$_alsa" != no
; then
4714 #include <sys/asoundlib.h>
4715 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
4717 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
4720 #include <sys/asoundlib.h>
4721 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4723 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-sys'
4725 #include <alsa/asoundlib.h>
4726 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4728 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
4731 #include <sys/asoundlib.h>
4732 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4734 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-sys'
4736 #include <alsa/asoundlib.h>
4737 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4739 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-alsa'
4741 _def_alsa5
='#undef HAVE_ALSA5'
4742 _def_alsa9
='#undef HAVE_ALSA9'
4743 _def_alsa1x
='#undef HAVE_ALSA1X'
4744 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
4745 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
4746 if test "$_alsaver" ; then
4747 if test "$_alsaver" = '0.5.x' ; then
4748 _aosrc
="$_aosrc ao_alsa5.c"
4749 _aomodules
="alsa5 $_aomodules"
4750 _def_alsa5
='#define HAVE_ALSA5 1'
4751 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4752 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
4753 elif test "$_alsaver" = '0.9.x-sys' ; then
4754 _aosrc
="$_aosrc ao_alsa.c"
4755 _aomodules
="alsa $_aomodules"
4756 _def_alsa9
='#define HAVE_ALSA9 1'
4757 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4758 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
4759 elif test "$_alsaver" = '0.9.x-alsa' ; then
4760 _aosrc
="$_aosrc ao_alsa.c"
4761 _aomodules
="alsa $_aomodules"
4762 _def_alsa9
='#define HAVE_ALSA9 1'
4763 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4764 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
4765 elif test "$_alsaver" = '1.0.x-sys' ; then
4766 _aosrc
="$_aosrc ao_alsa.c"
4767 _aomodules
="alsa $_aomodules"
4768 _def_alsa1x
="#define HAVE_ALSA1X 1"
4769 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4770 echores
"yes (using alsa 1.0.x and sys/asoundlib.h)"
4771 elif test "$_alsaver" = '1.0.x-alsa' ; then
4772 _aosrc
="$_aosrc ao_alsa.c"
4773 _aomodules
="alsa $_aomodules"
4774 _def_alsa1x
="#define HAVE_ALSA1X 1"
4775 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4776 echores
"yes (using alsa 1.0.x and alsa/asoundlib.h)"
4778 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
4780 _noaomodules
="alsa $_noaomodules"
4785 echocheck
"Sun audio"
4786 if test "$_sunaudio" = auto
; then
4788 #include <sys/types.h>
4789 #include <sys/audioio.h>
4790 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4793 cc_check
&& _sunaudio
=yes
4795 if test "$_sunaudio" = yes ; then
4796 _def_sunaudio
='#define USE_SUN_AUDIO 1'
4797 _aosrc
="$_aosrc ao_sun.c"
4798 _aomodules
="sun $_aomodules"
4800 _def_sunaudio
='#undef USE_SUN_AUDIO'
4801 _noaomodules
="sun $_noaomodules"
4803 echores
"$_sunaudio"
4806 echocheck
"Sun mediaLib"
4807 if test "$_mlib" = auto
; then
4809 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
4812 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4814 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
4816 if test "$_mlib" = yes ; then
4817 _def_mlib
='#define HAVE_MLIB 1'
4818 _inc_mlib
=" -I${_mlibdir}/include "
4819 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4821 _def_mlib
='#undef HAVE_MLIB'
4826 echocheck
"SGI audio"
4827 if test "$_sgiaudio" = auto
; then
4828 # check for SGI audio
4830 #include <dmedia/audio.h>
4831 int main(void) { return 0; }
4834 cc_check
&& _sgiaudio
=yes
4836 if test "$_sgiaudio" = "yes" ; then
4837 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
4838 _ld_sgiaudio
='-laudio'
4839 _aosrc
="$_aosrc ao_sgi.c"
4840 _aomodules
="sgi $_aomodules"
4842 _def_sgiaudio
='#undef USE_SGI_AUDIO'
4843 _noaomodules
="sgi $_noaomodules"
4845 echores
"$_sgiaudio"
4848 echocheck
"VCD support"
4849 if linux || bsdos || freebsd || netbsd || sunos || darwin
; then
4850 _inputmodules
="vcd $_inputmodules"
4851 _def_vcd
='#define HAVE_VCD 1'
4854 _def_vcd
='#undef HAVE_VCD'
4855 _noinputmodules
="vcd $_noinputmodules"
4856 echores
"not supported on this OS"
4859 echocheck
"DVD support (libmpdvdkit)"
4860 if test "$_dvdkit" = auto
; then
4862 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux
; then
4863 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
4864 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
4867 if test "$_dvdkit" = yes ; then
4868 if test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes ||
test "$_hpux_scsi_h" = yes || darwin || win32
; then
4869 if test -f "./libmpdvdkit2/Makefile" ; then
4870 _inputmodules
="mpdvdkit2 $_inputmodules"
4871 _dvdread
=libmpdvdkit2
4875 _inputmodules
="mpdvdkit $_inputmodules"
4876 _dvdread
=libmpdvdkit
4879 _noinputmodules
="mpdvdkit $_noinputmodules"
4881 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
4882 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
4883 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
4884 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
4885 if linux || netbsd || openbsd || bsdos
; then
4886 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
4888 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
4892 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
4895 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
4900 _noinputmodules
="mpdvdkit $_noinputmodules"
4902 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
4908 echocheck
"DVD support (libdvdread)"
4909 if test "$_dvdread" = auto
; then
4911 #include <inttypes.h>
4912 #include <dvdread/dvd_reader.h>
4913 #include <dvdread/ifo_types.h>
4914 #include <dvdread/ifo_read.h>
4915 #include <dvdread/nav_read.h>
4916 int main(void) { return 0; }
4919 if test "$_dl" = yes; then
4921 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4925 _def_mpdvdkit
="#undef USE_MPDVDKIT"
4929 _def_dvdread
='#define USE_DVDREAD 1'
4930 _ld_dvdread
='-ldvdread'
4931 _inputmodules
="dvdread $_inputmodules"
4935 _def_dvdread
='#undef USE_DVDREAD'
4936 _noinputmodules
="dvdread $_noinputmodules"
4941 _def_dvdread
='#define USE_DVDREAD 1'
4942 _ld_dvdread
='-Llibmpdvdkit -lmpdvdkit'
4943 _noinputmodules
="dvdread $_noinputmodules"
4944 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
4945 echores
"disabled by libmpdvdkit"
4949 _def_dvdread
='#define USE_DVDREAD 1'
4950 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
4951 _noinputmodules
="dvdread $_noinputmodules"
4952 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
4953 echores
"disabled by libmpdvdkit2"
4957 # dvdnav disabled, it does not work
4958 # echocheck "DVD support (libdvdnav)"
4959 # if test "$_dvdnav" = yes ; then
4961 # #include <dvdnav.h>
4962 # int main(void) { dvdnav_t *dvd=0; return 0; }
4965 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4966 # if test -z "$_dvdnavconfig" ; then
4967 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4968 # _dvdnavconfig="dvdnav-config"
4971 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4973 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4974 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4976 # if test "$_dvdnav" = yes ; then
4978 # _def_dvdnav='#define USE_DVDNAV 1'
4979 # if test -n "$_legal_dvdnavdir" ; then
4980 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4981 # elif test -n "$_dvdnavconfig" ; then
4982 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4984 # _ld_css="$_ld_css -ldvdnav"
4986 # if test -n "$_dvdnavconfig" ; then
4987 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4988 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4990 # if test -n "$_dvdnavdir" ; then
4991 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4993 # _inputmodules="dvdnav $_inputmodules"
4996 # _def_dvdnav='#undef USE_DVDNAV'
4997 # _noinputmodules="dvdnav $_noinputmodules"
5001 echocheck
"cdparanoia"
5002 if test "$_cdparanoia" = auto
; then
5004 #include <cdda_interface.h>
5005 #include <cdda_paranoia.h>
5006 // This need a better test. How ?
5007 int main(void) { return 1; }
5010 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
5013 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
5014 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
5015 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
5020 if test "$_cdparanoia" = yes ; then
5021 _def_cdparanoia
='#define HAVE_CDDA'
5022 _inputmodules
="cdda $_inputmodules"
5023 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5024 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
5026 _def_cdparanoia
='#undef HAVE_CDDA'
5027 _noinputmodules
="cdda $_noinputmodules"
5029 echores
"$_cdparanoia"
5032 echocheck
"freetype >= 2.0.9"
5034 # freetype depends on iconv
5035 if test "$_iconv" = no
; then
5036 _freetype
="no (iconv support needed)"
5039 if test "$_freetype" = auto
; then
5040 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5043 #include <ft2build.h>
5044 #include FT_FREETYPE_H
5045 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5046 #error "Need FreeType 2.0.9 or newer"
5051 FT_Int major=-1,minor=-1,patch=-1;
5052 int err=FT_Init_FreeType(&library);
5054 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5057 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5058 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5059 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5060 (int)major,(int)minor,(int)patch );
5061 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5062 printf("Library and header version mismatch! Fix it in your distribution!\n");
5069 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
5074 if test "$_freetype" = yes ; then
5075 _def_freetype
='#define HAVE_FREETYPE'
5076 _inc_freetype
=`$_freetypeconfig --cflags`
5077 _ld_freetype
=`$_freetypeconfig --libs`
5079 _def_freetype
='#undef HAVE_FREETYPE'
5081 echores
"$_freetype"
5083 if test "$_freetype" = no
; then
5086 echocheck
"fontconfig"
5087 if test "$_fontconfig" = auto
; then
5088 if ( pkg-config
--modversion fontconfig
) > /dev
/null
2>&1 ; then
5091 #include <fontconfig/fontconfig.h>
5096 printf("Couldn't initialize fontconfig lib\n");
5104 cc_check
`pkg-config --cflags --libs fontconfig` && ( $TMPO >> "$TMPLOG" ) && _fontconfig
=yes
5109 if test "$_fontconfig" = yes ; then
5110 _def_fontconfig
='#define HAVE_FONTCONFIG'
5111 _inc_fontconfig
=`pkg-config --cflags fontconfig`
5112 _ld_fontconfig
=`pkg-config --libs fontconfig`
5114 _def_fontconfig
='#undef HAVE_FONTCONFIG'
5116 echores
"$_fontconfig"
5118 echocheck
"fribidi with charsets"
5119 if test "$_fribidi" = yes ; then
5120 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
5123 #include <fribidi/fribidi.h>
5126 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
5127 printf("Fribidi headers are not consistents with the library!\n");
5134 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
5139 if test "$_fribidi" = yes ; then
5140 _def_fribidi
='#define USE_FRIBIDI'
5141 _inc_fribidi
=`$_fribidiconfig --cflags`
5142 _ld_fribidi
=`$_fribidiconfig --libs`
5144 _def_fribidi
='#undef USE_FRIBIDI'
5150 if test "$_enca" = auto
; then
5157 langs = enca_get_languages(&langcnt);
5162 cc_check
-lenca && _enca
=yes
5164 if test "$_enca" = yes ; then
5165 _def_enca
='#define HAVE_ENCA 1'
5168 _def_enca
='#undef HAVE_ENCA'
5176 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5179 cc_check
-lz && _zlib
=yes
5180 if test "$_zlib" = yes ; then
5181 _def_zlib
='#define HAVE_ZLIB 1'
5184 _def_zlib
='#undef HAVE_ZLIB'
5190 if test "$_rtc" = auto
; then
5192 #include <sys/ioctl.h>
5194 #include <linux/rtc.h>
5197 #define RTC_PIE_ON RTCIO_PIE_ON
5199 int main(void) { return RTC_PIE_ON; }
5202 cc_check
&& _rtc
=yes
5204 if test "$_rtc" = yes ; then
5205 _def_rtc
='#define HAVE_RTC 1'
5207 _def_rtc
='#undef HAVE_RTC'
5212 echocheck
"external liblzo support"
5213 if test "$_liblzo" = auto
; then
5217 int main(void) { lzo_init();return 0; }
5219 cc_check
-llzo && _liblzo
=yes
5221 if test "$_liblzo" = yes ; then
5222 _def_liblzo
='#define USE_LIBLZO 1'
5224 _codecmodules
="liblzo $_codecmodules"
5226 _def_liblzo
='#undef USE_LIBLZO'
5227 _nocodecmodules
="liblzo $_nocodecmodules"
5232 echocheck
"mad support"
5233 if test "$_mad" = auto
; then
5237 int main(void) { return 0; }
5239 cc_check
$_madlibdir -lmad && _mad
=yes
5241 if test "$_mad" = yes ; then
5242 _def_mad
='#define USE_LIBMAD 1'
5244 _codecmodules
="libmad $_codecmodules"
5246 _def_mad
='#undef USE_LIBMAD'
5247 _nocodecmodules
="libmad $_nocodecmodules"
5252 if test "$_toolame" = auto
; then
5254 #include <toolame.h>
5255 int main(void) { toolame_init(); return 0; }
5258 _toolame_extraflags
=""
5259 _toolame_lib
="-ltoolame"
5260 if test -n "$_toolamedir"; then
5261 _toolame_extraflags
="-I$_toolamedir -L$_toolamedir"
5263 cc_check
$_toolame_extraflags $_toolame_lib $_ld_lm && _toolame
=yes
5265 if test "$_toolame" = yes ; then
5266 _def_toolame
='#define HAVE_TOOLAME 1'
5267 _codecmodules
="$_codecmodules toolame"
5269 _def_toolame
='#undef HAVE_TOOLAME'
5271 _nocodecmodules
="toolame $_nocodecmodules"
5273 if test -z "$_toolamedir" ; then
5276 echores
"$_toolame (using $_toolamedir)"
5280 if test "$_twolame" = auto
; then
5282 #include <twolame.h>
5283 int main(void) { twolame_init(); return 0; }
5286 _twolame_lib
="-ltwolame"
5287 cc_check
$_twolame_lib $_ld_lm && _twolame
=yes
5289 if test "$_twolame" = yes ; then
5290 _def_twolame
='#define HAVE_TWOLAME 1'
5291 _codecmodules
="$_codecmodules twolame"
5293 _def_twolame
='#undef HAVE_TWOLAME'
5295 _nocodecmodules
="twolame $_nocodecmodules"
5299 echocheck
"OggVorbis support"
5300 if test "$_tremor_internal" = yes; then
5302 elif test "$_vorbis" = auto
; then
5305 #include <vorbis/codec.h>
5306 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5308 cc_check
-lvorbis -logg $_ld_lm && _vorbis
=yes
5310 if test "$_vorbis" = yes ; then
5311 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5312 if test "$_tremor_internal" = yes ; then
5313 # do not set _ld_vorbis as it is resolved separately
5314 # mp3lame support for vorbis is deprecated so don't care
5315 _def_tremor
='#define TREMOR 1'
5316 if test "$_tremor_low" = yes ; then
5317 _tremor_flags
='-D_LOW_ACCURACY_'
5321 _codecmodules
="tremor(internal) $_codecmodules"
5322 elif test "$_tremor" = yes ; then
5323 _def_tremor
='#define TREMOR 1'
5324 _ld_vorbis
='-lvorbisidec'
5325 _codecmodules
="tremor $_codecmodules"
5327 _def_tremor
='#undef TREMOR'
5328 _ld_vorbis
='-lvorbis -logg'
5329 _codecmodules
="libvorbis $_codecmodules"
5332 _def_vorbis
='#undef HAVE_OGGVORBIS'
5333 _def_tremor
='#undef TREMOR'
5334 _nocodecmodules
="libvorbis $_nocodecmodules"
5336 if test "$_vorbis" = yes -a "$_tremor_internal" = yes -a "$_tremor_low" = yes ; then
5337 echores
"$_vorbis (internal low accuracy Tremor)"
5338 elif test "$_vorbis" = yes -a "$_tremor_internal" = yes ; then
5339 echores
"$_vorbis (internal Tremor)"
5340 elif test "$_vorbis" = yes -a "$_tremor" = yes ; then
5341 echores
"$_vorbis (Tremor)"
5346 echocheck
"OggTheora support (only the CVS version!)"
5347 if test "$_theora" = auto
; then
5350 #include <theora/theora.h>
5354 /* theora is in flux, make sure that all interface routines and
5355 * datatypes exist and work the way we expect it, so we don't break
5365 theora_info_init (&inf);
5366 theora_comment_init (&tc);
5370 /* we don't want to execute this kind of nonsense; just for making sure
5371 * that compilation works... */
5372 memset(&op, 0, sizeof(op));
5373 r = theora_decode_header (&inf, &tc, &op);
5374 r = theora_decode_init (&st, &inf);
5375 t = theora_granule_time (&st, op.granulepos);
5376 r = theora_decode_packetin (&st, &op);
5377 r = theora_decode_YUVout (&st, &yuv);
5383 cc_check
-ltheora -logg $_ld_lm && _theora
=yes
5385 if test "$_theora" = yes ; then
5386 _def_theora
='#define HAVE_OGGTHEORA 1'
5387 _codecmodules
="libtheora $_codecmodules"
5388 _ld_theora
="-ltheora -logg"
5390 _def_theora
='#undef HAVE_OGGTHEORA'
5391 _nocodecmodules
="libtheora $_nocodecmodules"
5395 echocheck
"mp3lib support"
5396 if test "$_mp3lib" = yes ; then
5397 _def_mp3lib
='#define USE_MP3LIB 1'
5398 _codecmodules
="mp3lib $_codecmodules"
5400 _def_mp3lib
='#undef USE_MP3LIB'
5401 _nocodecmodules
="mp3lib $_nocodecmodules"
5405 echocheck
"liba52 support"
5406 if test "$_liba52" = yes ; then
5407 _def_liba52
='#define USE_LIBA52 1'
5408 _codecmodules
="liba52 $_codecmodules"
5410 _def_liba52
='#undef USE_LIBA52'
5411 _nocodecmodules
="liba52 $_nocodecmodules"
5415 echocheck
"libdts support"
5416 if test "$_libdts" = auto
; then
5419 #include <inttypes.h>
5421 int main(void) { dts_init (0); return 0; }
5423 cc_check
$_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts
=yes
5425 if test "$_libdts" = yes ; then
5426 _def_libdts
='#define CONFIG_DTS 1'
5427 _ld_libdts
="$_ld_libdts -ldts $_ld_lm"
5428 _codecmodules
="libdts $_codecmodules"
5430 _def_libdts
='#undef CONFIG_DTS'
5431 _nocodecmodules
="libdts $_nocodecmodules"
5435 echocheck
"libmpeg2 support"
5436 if test "$_libmpeg2" = yes ; then
5437 _def_libmpeg2
='#define USE_LIBMPEG2 1'
5438 _codecmodules
="libmpeg2 $_codecmodules"
5440 _def_libmpeg2
='#undef USE_LIBMPEG2'
5441 _nocodecmodules
="libmpeg2 $_nocodecmodules"
5443 echores
"$_libmpeg2"
5446 echocheck
"Matroska support"
5447 if test "$_matroska_internal" = yes ; then
5448 _inputmodules
="matroska $_inputmodules"
5449 _def_matroska
='#define HAVE_MATROSKA 1'
5451 _noinputmodules
="matroska $_noinputmodules"
5452 _def_matroska
='#undef HAVE_MATROSKA'
5454 echores
"$_matroska_internal"
5456 echocheck
"FAAC (AAC encoder) support"
5457 if test "$_faac" = auto
; then
5459 #include <inttypes.h>
5461 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5463 if ( cc_check
-c -O4 -lfaac $_ld_lm ); then
5465 elif ( cc_check
-c -O4 -lfaac -lmp4v2 -lstdc++ $_ld_lm ); then
5467 _ld_faac
="-lmp4v2 -lstdc++"
5472 if test "$_faac" = yes ; then
5473 _def_faac
="#define HAVE_FAAC 1"
5474 _codecmodules
="$_codecmodules faac"
5475 _ld_faac
="-lfaac $_ld_faac"
5477 _def_faac
="#undef HAVE_FAAC"
5478 _nocodecmodules
="$_nocodecmodules faac"
5482 echocheck
"internal FAAD2 (AAC) support"
5483 _inc_faad
="-I`pwd`/libfaad2"
5484 if test "$_faad_internal" = auto
; then
5485 # the faad check needs a config.h file
5486 if not
test -f "config.h" ; then
5489 # internal faad: check if our dear gcc is able to compile it...
5490 cp "`pwd`/libfaad2/cfft.c" $TMPC
5491 if ( cc_check
-c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
5494 _faad_internal
="no (broken gcc)"
5497 if test "$_faad_internal" = yes ; then
5498 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
5501 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
5504 echores
"$_faad_internal"
5507 echocheck
"external FAAD2 (AAC) support"
5508 if test "$_faad_external" != no
; then
5510 _inc_faad
="$_inc_extra"
5511 # external faad: check if it's really faad2 :)
5512 if test "$_faad_external" = auto
; then
5516 #ifndef FAAD_MIN_STREAMSIZE
5517 #error Too old version
5519 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5521 cc_check
$_inc_faad $_ld_faad $_ld_lm && _faad_external
=yes
5523 echores
"$_faad_external"
5528 if test "$_faad_external" = yes; then
5529 _def_faad
='#define HAVE_FAAD 1'
5530 _codecmodules
="faad2(external) $_codecmodules"
5531 elif test "$_faad_internal" = yes; then
5532 _def_faad
='#define HAVE_FAAD 1'
5533 _codecmodules
="faad2(internal) $_codecmodules"
5535 _def_faad
='#undef HAVE_FAAD'
5536 _nocodecmodules
="faad2 $_nocodecmodules"
5541 echocheck
"LADSPA plugin support"
5542 if test "$_ladspa" = auto
; then
5547 const LADSPA_Descriptor *ld = NULL;
5552 cc_check
&& _ladspa
=yes
5554 if test "$_ladspa" = yes; then
5555 _def_ladspa
="#define HAVE_LADSPA"
5556 _afsrc
="$_afsrc af_ladspa.c"
5557 _afmodules
="ladspa $_afmodules"
5559 _def_ladspa
="#undef HAVE_LADSPA"
5560 _noafmodules
="ladspa $_noafmodules"
5565 if test "$_win32" = auto
; then
5569 _win32
=no
# x86 arch only
5573 if test "$_win32" != no
; then
5574 if test -z "$_win32libdir" ; then
5575 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs
/usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5576 if test -d "$I" ; then
5584 echocheck
"Win32 codec DLL support"
5585 if test "$_win32" = auto
; then
5587 test -n "$_win32libdir" && _win32
=yes
5589 if test "$_win32" = yes ; then
5590 _def_win32
='#define USE_WIN32DLL 1'
5591 echores
"yes (using $_win32libdir)"
5593 _def_win32
='#undef USE_WIN32DLL'
5594 _nocodecmodules
="win32 $_nocodecmodules"
5599 if test "$_win32" != no
; then
5600 _def_win32_loader
='#undef WIN32_LOADER'
5601 echocheck
"Win32 loader support"
5602 _ld_win32
='loader/libloader.a'
5603 _dep_win32
='loader/libloader.a'
5604 _codecmodules
="win32 $_codecmodules"
5606 x86
&& _ld_win32
="$_ld_win32 -li386"
5609 _def_win32_loader
='#define WIN32_LOADER 1'
5612 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
5613 echores
"no (using native windows)"
5617 echocheck
"DirectShow"
5620 if test "$_dshow" != no
; then
5622 # check if compiler supports C++ and C++-libs are installed correctly
5623 cat > "$TMPCPP" << EOF
5627 public: int myreturn(void);
5629 int myclass::myreturn(void) { ret = 0; return ret ; }
5630 int main(void) { myclass myobject; return myobject.myreturn(); }
5632 echo "------------------------------------------------" >> "$TMPLOG"
5633 cat "$TMPCPP" >> "$TMPLOG"
5634 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
5636 echores
"yes (C++ is ok)"
5641 Your C++ runtime environment is broken.
5643 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5644 Are the C++ libraries correctly installed?
5645 Check for libstdc++ and in (/etc/)ld.so.conf.
5647 If you do not need DirectShow support, you can also use:
5648 ./configure --disable-dshow <your-normal-configure-options>
5649 to disable building the C++ based DirectShow code.
5652 die
"$_cc's C++ is broken"
5660 if test "$_dshow" = yes ; then
5661 _def_dshow
='#define USE_DIRECTSHOW 1'
5662 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5663 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5664 _codecmodules
="dshow/dmo $_codecmodules"
5666 _def_dshow
='#undef USE_DIRECTSHOW'
5667 _nocodecmodules
="dshow/dmo $_nocodecmodules"
5671 echocheck
"XAnim DLL"
5672 if test "$_xanim" = auto
; then
5674 if test "$_dl" = yes ; then
5675 if test -z "$_xanimlibdir" ; then
5676 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
5677 if test -d "$I" ; then
5683 test "$_xanimlibdir" && _xanim
=yes
5684 if test "$_xanim" = yes ; then
5685 echores
"yes (using $_xanimlibdir)"
5687 echores
"no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5690 echores
"no (dynamic loader support needed)"
5693 echores
"$_xanim (using $_xanimlibdir)"
5695 if test "$_xanim" = yes ; then
5696 _def_xanim
='#define USE_XANIM 1'
5697 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
5698 _codecmodules
="xanim $_codecmodules"
5700 _def_xanim
='#undef USE_XANIM'
5701 _def_xanim_path
='#undef XACODEC_PATH'
5702 _nocodecmodules
="xanim $_nocodecmodules"
5705 echocheck
"RealPlayer DLL"
5706 if test "$_real" = auto
; then
5708 if test "$_dl" = yes ||
test "$_win32" = yes ; then
5709 # if test "$_dl" = yes ; then
5710 if linux || freebsd || netbsd || win32 || darwin
; then
5713 echores
"no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin)"
5715 if test "$_real" = yes ; then
5716 if test -z "$_reallibdir" ; then
5717 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
5718 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
5719 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
5720 {~
,}/Applications
/RealOne\ Player.app
/Contents
/MacOS
/Library
/Codecs \
5722 if test -d "$I" ; then
5728 test "$_reallibdir" || _real
=no
5729 if test "$_real" = yes ; then
5730 echores
"yes (using $_reallibdir)"
5732 echores
"no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5736 echores
"no (dynamic loader support needed)"
5739 echores
"$_real (using $_reallibdir)"
5741 if test "$_real" = yes ; then
5742 _def_real
='#define USE_REALCODECS 1'
5743 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
5744 _codecmodules
="real $_codecmodules"
5746 _def_real
='#undef USE_REALCODECS'
5747 _def_real_path
="#undef REALCODEC_PATH"
5748 _nocodecmodules
="real $_nocodecmodules"
5752 echocheck
"LIVE.COM Streaming Media libraries"
5753 if test "$_live" = auto
&& test "$_network" = yes ; then
5757 #include <liveMedia.hh>
5758 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5759 #error Please upgrade to version 2004.07.19 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/>
5765 if test -z "$_livelibdir" ; then
5766 if cc_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
5769 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
5770 if test -d "$I" ; then
5778 if test "$_live_dist" = no
&& test "$_livelibdir" && cc_check
-I$_livelibdir/liveMedia
/include \
5779 -I$_livelibdir/UsageEnvironment
/include
-I$_livelibdir/groupsock
/include
; then
5786 if test "$_live" = yes && test "$_network" = yes ; then
5787 echores
"yes (using $_livelibdir)"
5788 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
5789 _live_libs_def
="# LIVE.COM Streaming Media libraries:
5790 LIVE_LIB_DIR = $_livelibdir
5791 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
5792 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
5793 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
5794 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
5795 LIVE_LIBS += -lstdc++
5796 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
5797 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
5798 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
5799 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
5800 _ld_live
='$(LIVE_LIBS)'
5801 _inputmodules
="live.com $_inputmodules"
5802 elif test "$_live_dist" = yes && test "$_network" = yes ; then
5803 echores
"yes (using distribution version)"
5805 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
5806 _live_libs_def
="# LIVE.COM Streaming Media libraries:
5807 LIVE_LIB_DIR = $_livelibdir
5808 LIVE_LIBS = -lliveMedia
5809 LIVE_LIBS += -lgroupsock
5810 LIVE_LIBS += -lUsageEnvironment
5811 LIVE_LIBS += -lBasicUsageEnvironment
5812 LIVE_LIBS += -lstdc++
5813 LIVE_INCLUDES = -I/usr/include/liveMedia
5814 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
5815 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
5816 LIVE_INCLUDES += -I/usr/include/groupsock"
5817 _ld_live
='$(LIVE_LIBS)'
5818 _inputmodules
="live.com $_inputmodules"
5821 _def_live
='#undef STREAMING_LIVE_DOT_COM'
5822 _noinputmodules
="live.com $_noinputmodules"
5826 echocheck
"FFmpeg libavcodec (static)"
5827 if test "$_libavcodec" = auto
; then
5828 # Note: static linking is preferred to dynamic linking
5830 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
5831 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
5835 echores
"no (old ffmpeg version, use CVS !)"
5838 echores
"no (see DOCS/HTML/$_doc_lang/codecs.html)"
5841 echores
"$_libavcodec"
5844 echocheck
"FFmpeg libavformat (static)"
5845 if test "$_libavformat" = auto
; then
5846 # Note: static linking is preferred to dynamic linking
5848 if test -d libavformat
&& test -f libavformat
/utils.c
; then
5855 echores
"$_libavformat"
5858 _def_haveffpostprocess
='no'
5859 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
5860 _def_haveffpostprocess
='yes'
5863 if test "$_libavcodec" != yes ; then
5864 echocheck
"FFmpeg libavcodec (dynamic)"
5865 if test "$_libavcodecso" = auto
; then
5867 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
5869 #define FF_POSTPROCESS 1
5870 #include <ffmpeg/avcodec.h>
5872 avcodec_find_encoder_by_name("");
5876 if cc_check
-lavcodec $_ld_lm ; then
5878 echores
"yes (using libavcodec.so)"
5880 echores
"no (libavcodec.so is broken/obsolete)"
5883 echores
"$_libavcodecso"
5887 _def_libavcodec
='#undef USE_LIBAVCODEC'
5888 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
5889 _def_ffpostprocess
='#undef FF_POSTPROCESS'
5890 if test "$_libavcodec" = yes ; then
5891 _def_libavcodec
='#define USE_LIBAVCODEC 1'
5892 _ld_libavcodec
='libavcodec/libavcodec.a'
5893 _dep_libavcodec
='libavcodec/libavcodec.a'
5894 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
5895 _codecmodules
="libavcodec $_codecmodules"
5896 elif test "$_libavcodecso" = yes ; then
5897 _def_libavcodec
='#define USE_LIBAVCODEC 1'
5898 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
5899 _ld_libavcodec
='-lavcodec'
5900 _codecmodules
="libavcodec.so $_codecmodules"
5902 _nocodecmodules
="libavcodec $_nocodecmodules"
5905 _def_libavformat
='#undef USE_LIBAVFORMAT'
5906 _def_libavformat_win32
='#undef CONFIG_WIN32'
5907 if test "$_libavformat" = yes ; then
5908 _def_libavformat
='#define USE_LIBAVFORMAT 1'
5909 _ld_libavformat
='libavformat/libavformat.a'
5910 _dep_libavformat
='libavformat/libavformat.a'
5912 _def_libavformat_win32
='#define CONFIG_WIN32 1'
5916 echocheck
"amr narrowband"
5918 if test "$_amr_nb" = auto
; then
5919 if test -f libavcodec
/amr_float
/sp_dec.c
; then
5920 if test "$_libavcodec" = yes ; then
5924 _echomsg
"libavcodec (static) is required by amr_nb, sorry"
5930 if test "$_amr_nb" = yes ; then
5931 _def_amr_nb
='#define AMR_NB 1'
5933 _def_amr_nb
='#undef AMR_NB'
5935 echores
"$_amr_nb $_echomsg"
5937 echocheck
"amr narrowband, fixed point"
5939 if test "$_amr_nb_fixed" = auto
; then
5940 if test -f libavcodec
/amr
/dtx_dec.c
; then
5941 if test "$_libavcodec" = yes ; then
5942 if test "$_amr_nb" = no
; then
5946 _echomsg
="(disabled by amr_nb)"
5950 _echomsg
"libavcodec (static) is required by amr_nb-fixed, sorry"
5956 if test "$_amr_nb_fixed" = yes ; then
5957 _def_amr_nb
='#define AMR_NB 1'
5958 _def_amr_nb_fixed
='#define AMR_NB_FIXED 1'
5961 _def_amr_nb_fixed
='#undef AMR_NB_FIXED'
5963 echores
"$_amr_nb_fixed $_echomsg"
5965 if test "$_amr_nb" = yes ; then
5966 _codecmodules
="amr_nb $_codecmodules"
5968 _nocodecmodules
="amr_nb $_nocodecmodules"
5971 echocheck
"amr wideband"
5973 if test "$_amr_wb" = auto
; then
5974 if test -f libavcodec
/amrwb_float
/dec_dtx.c
; then
5975 if test "$_libavcodec" = yes ; then
5979 _echomsg
="libavcodec (static) is required by amr_wb, sorry"
5985 if test "$_amr_wb" = yes ; then
5986 _def_amr_wb
='#define AMR_WB 1'
5987 _codecmodules
="amr_wb $_codecmodules"
5989 _def_amr_wb
='#undef AMR_WB'
5990 _nocodecmodules
="amr_wb $_nocodecmodules"
5992 echores
"$_amr_wb $_echomsg"
5994 echocheck
"libdv-0.9.5+"
5995 if test "$_libdv" = auto
; then
5998 #include <libdv/dv.h>
5999 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6001 cc_check
-ldv $_ld_lm && _libdv
=yes
6003 if test "$_libdv" = yes ; then
6004 _def_libdv
='#define HAVE_LIBDV095 1'
6006 _codecmodules
="libdv $_codecmodules"
6008 _def_libdv
='#undef HAVE_LIBDV095'
6009 _nocodecmodules
="libdv $_nocodecmodules"
6014 if test "$_zr" = auto
; then
6015 #36067's seem to identify themselves as 36057PQC's, so the line
6016 #below should work for 36067's and 36057's.
6017 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
6023 if test "$_zr" = yes ; then
6024 if test "$_libavcodec" = yes ; then
6025 _def_zr
='#define HAVE_ZR 1'
6026 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6027 _vomodules
="zr zr2 $_vomodules"
6030 echores
"libavcodec (static) is required by zr, sorry"
6031 _novomodules
="zr $_novomodules"
6032 _def_zr
='#undef HAVE_ZR'
6035 _def_zr
='#undef HAVE_ZR'
6036 _novomodules
="zr zr2 $_novomodules"
6041 if test "$_bl" = yes ; then
6042 _def_bl
='#define HAVE_BL 1'
6043 _vosrc
="$_vosrc vo_bl.c"
6044 _vomodules
="bl $_vomodules"
6046 _def_bl
='#undef HAVE_BL'
6047 _novomodules
="bl $_novomodules"
6054 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6056 _ld_xvid
="$_ld_xvid -lxvidcore $_ld_lm"
6057 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
6059 _def_xvid3
='#define HAVE_XVID3 1'
6060 _def_xvid4
='#undef HAVE_XVID4'
6061 _codecmodules
="xvid $_codecmodules"
6065 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6067 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
6069 _def_xvid3
='#undef HAVE_XVID3'
6070 _def_xvid4
='#define HAVE_XVID4 1'
6071 _codecmodules
="xvid $_codecmodules"
6075 _def_xvid3
='#undef HAVE_XVID3'
6076 _def_xvid4
='#undef HAVE_XVID4'
6077 _nocodecmodules
="xvid $_nocodecmodules"
6083 _def_decore_xvid
='#undef DECORE_XVID'
6084 _def_encore_xvid
='#undef ENCORE_XVID'
6085 if test "$_xvid" = yes ; then
6086 echocheck
"DivX4 compatibility in XviD"
6089 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6091 cc_check
$_ld_lm "$_ld_xvid" && _xvidcompat
=yes
6092 echores
"$_xvidcompat"
6097 #include <inttypes.h>
6100 #error We do not support old versions of x264. Get the latest from SVN.
6102 int main(void) { x264_encoder_open((void*)0); return 0; }
6104 _ld_x264
="$_ld_x264 -lx264 $_ld_lm $_ld_pthread"
6105 if test "$_x264" != no
&& cc_check
$_inc_x264 $_ld_x264 ; then
6107 _def_x264
='#define HAVE_X264 1'
6108 _codecmodules
="x264 $_codecmodules"
6112 _def_x264
='#undef HAVE_X264'
6113 _nocodecmodules
="x264 $_nocodecmodules"
6117 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
6118 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
6121 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
6123 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
6125 _ld_decore
='-ldivxdecore'
6126 _def_decore
='#define NEW_DECORE 1'
6127 _def_divx
='#define USE_DIVX'
6128 _def_divx5
='#undef DECORE_DIVX5'
6129 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6130 _codecmodules
="divx4linux $_codecmodules"
6131 echores
"DivX4linux (with libdivxdecore.so)"
6133 # if test "$_divx4linux" != no ; then
6135 # OdivxPP disabled because of:
6136 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
6139 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
6141 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
6143 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
6144 _ld_decore
='-ldivxdecore'
6145 _def_decore
='#define NEW_DECORE 1'
6146 _def_divx
='#define USE_DIVX'
6147 _def_divx5
='#define DECORE_DIVX5 1'
6148 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6149 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6150 _codecmodules
="divx5linux $_codecmodules"
6151 _nocodecmodules
="divx4linux $_nocodecmodules"
6152 echores
"DivX5linux (with libdivxdecore.so)"
6153 elif test "$_opendivx" != no
; then
6155 _ld_decore
='opendivx/libdecore.a'
6156 _def_decore
='#undef NEW_DECORE'
6157 _def_divx
='#define USE_DIVX'
6158 _def_divx5
='#undef DECORE_DIVX5'
6159 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
6160 _codecmodules
="opendivx $_codecmodules"
6161 _nocodecmodules
="divx5linux $_nocodecmodules"
6163 elif test "$_xvidcompat" = yes ; then
6166 _def_decore
='#define NEW_DECORE 1'
6167 _def_divx
='#define USE_DIVX 1'
6168 _def_divx5
='#undef DECORE_DIVX5'
6169 _def_decore_xvid
='#define DECORE_XVID 1'
6170 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6171 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
6172 echores
"XviD compat."
6176 _def_decore
='#undef NEW_DECORE'
6177 _def_divx
='#undef USE_DIVX'
6178 _def_divx5
='#undef DECORE_DIVX5'
6179 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6180 _nocodecmodules
="opendivx $_nocodecmodules"
6186 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
6187 if test "$_mencoder" != no
; then
6189 echocheck
"libmp3lame (for mencoder)"
6192 #include <lame/lame.h>
6193 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; }
6195 # Note: libmp3lame usually depends on vorbis
6196 cc_check
-lmp3lame $_ld_vorbis $_ld_lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
6197 if test "$_mp3lame" = yes ; then
6198 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
6199 _def_cfg_mp3lame
="#define CONFIG_MP3LAME `$TMPO`"
6200 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
6202 _def_mp3lame
='#undef HAVE_MP3LAME'
6203 _def_cfg_mp3lame
='#undef CONFIG_MP3LAME'
6208 echocheck
"DivX4linux encore (for mencoder)"
6210 #include <encore2.h>
6211 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
6213 if test "$_divx4linux" != no
&& cc_check
-ldivxencore $_ld_lm ; then
6214 _def_encore
='#define HAVE_DIVX4ENCORE 1'
6215 _ld_encore
='-ldivxencore'
6216 echores
"DivX4linux (with libdivxencore.so)"
6217 elif test "$_xvidcompat" = yes ; then
6218 _def_encore
='#define HAVE_DIVX4ENCORE 1'
6220 _def_encore_xvid
='#define ENCORE_XVID 1'
6221 echores
"XviD compat."
6223 _def_encore
='#undef HAVE_DIVX4ENCORE'
6229 echocheck
"mencoder"
6230 _mencoder_flag
='#undef HAVE_MENCODER'
6231 if test "$_mencoder" = yes ; then
6232 _mencoder_flag
='#define HAVE_MENCODER'
6234 echores
"$_mencoder"
6236 echocheck
"fastmemcpy"
6237 # fastmemcpy check is done earlier with tests of CPU & binutils features
6238 if test "$_fastmemcpy" = yes ; then
6239 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
6241 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
6243 echores
"$_fastmemcpy"
6245 echocheck
"UniquE RAR File Library"
6246 if test "$_unrarlib" = yes ; then
6247 _def_unrarlib
='#define USE_UNRARLIB 1'
6249 _def_unrarlib
='#undef USE_UNRARLIB'
6251 echores
"$_unrarlib"
6253 echocheck
"TV interface"
6254 if test "$_tv" = yes ; then
6255 _def_tv
='#define USE_TV 1'
6256 _inputmodules
="tv $_inputmodules"
6258 _noinputmodules
="tv $_noinputmodules"
6259 _def_tv
='#undef USE_TV'
6263 echocheck
"EDL support"
6264 if test "$_edl" = yes ; then
6265 _def_edl
='#define USE_EDL'
6266 _inputmodules
="edl $_inputmodules"
6268 _noinputmodules
="edl $_noinputmodules"
6269 _def_edl
='#undef USE_EDL'
6273 echocheck
"*BSD BrookTree 848 TV interface"
6274 if test "$_tv_bsdbt848" = auto
; then
6276 if test "$_tv" = yes ; then
6278 #include <sys/types.h>
6279 #if defined(__NetBSD__)
6280 #include <dev/ic/bt8xx.h>
6282 #include <machine/ioctl_bt848.h>
6284 int main(void) { return 0; }
6286 cc_check
&& _tv_bsdbt848
=yes
6289 if test "$_tv_bsdbt848" = yes ; then
6290 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
6291 _inputmodules
="tv-bsdbt848 $_inputmodules"
6293 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
6294 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
6296 echores
"$_tv_bsdbt848"
6298 echocheck
"Video 4 Linux TV interface"
6299 if test "$_tv_v4l" = auto
; then
6301 if test "$_tv" = yes && linux
; then
6302 for I
in /dev
/video
/dev
/video?
; do
6303 if test -c $I ; then
6306 #include <linux/videodev.h>
6307 int main(void) { return 0; }
6309 cc_check
&& _tv_v4l
=yes
6315 if test "$_tv_v4l" = yes ; then
6316 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6317 _inputmodules
="tv-v4l $_inputmodules"
6319 _noinputmodules
="tv-v4l $_noinputmodules"
6320 _def_tv_v4l
='#undef HAVE_TV_V4L'
6325 echocheck
"Video 4 Linux 2 TV interface"
6326 if test "$_tv_v4l2" = auto
; then
6328 if test "$_tv" = yes && linux
; then
6329 for I
in /dev
/video
/dev
/video?
; do
6330 if test -c $I ; then
6337 if test "$_tv_v4l2" = yes ; then
6338 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
6339 _inputmodules
="tv-v4l2 $_inputmodules"
6341 _noinputmodules
="tv-v4l2 $_noinputmodules"
6342 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
6347 echocheck
"audio select()"
6348 if test "$_select" = no
; then
6349 _def_select
='#undef HAVE_AUDIO_SELECT'
6350 elif test "$_select" = yes ; then
6351 _def_select
='#define HAVE_AUDIO_SELECT 1'
6357 # FIXME network check
6358 if test "$_network" != no
; then
6359 _def_network
='#define MPLAYER_NETWORK 1'
6360 _ld_network
="$_ld_sock"
6361 _inputmodules
="network $_inputmodules"
6363 _noinputmodules
="network $_noinputmodules"
6364 _def_network
='#undef MPLAYER_NETWORK'
6370 if (not beos
) && (test "$_ftp" != no
) ; then
6371 _def_ftp
='#define HAVE_FTP 1'
6372 _inputmodules
="ftp $_inputmodules"
6374 _noinputmodules
="ftp $_noinputmodules"
6375 _def_ftp
='#undef HAVE_FTP'
6379 echocheck
"vstream client"
6380 if test "$_vstream" = auto
; then
6383 #include <vstream-client.h>
6384 void vstream_error(const char *format, ... ) {}
6385 int main(void) { vstream_start(); return 0; }
6387 cc_check
-lvstream-client && _vstream
=yes
6389 if test "$_vstream" = yes ; then
6390 _def_vstream
='#define HAVE_VSTREAM 1'
6391 _inputmodules
="vstream $_inputmodules"
6392 _ld_vstream
='-lvstream-client'
6394 _noinputmodules
="vstream $_noinputmodules"
6395 _def_vstream
='#undef HAVE_VSTREAM'
6400 echocheck
"byte order"
6401 if test "$_big_endian" = auto
; then
6403 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6404 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6406 char* s = (char*)ascii_name;
6411 if strings $TMPO |
grep -l MPlayerBigEndian
>/dev
/null
; then
6417 echo -n "failed to autodetect byte order, defaulting to "
6420 if test "$_big_endian" = yes ; then
6421 _byte_order
='big-endian'
6422 _def_words_endian
='#define WORDS_BIGENDIAN 1'
6424 _byte_order
='little-endian'
6425 _def_words_endian
='#undef WORDS_BIGENDIAN'
6427 echores
"$_byte_order"
6429 echocheck
"shared postprocess lib"
6430 echores
"$_shared_pp"
6432 echocheck
"OSD menu"
6433 if test "$_menu" = yes ; then
6434 _def_menu
='#define HAVE_MENU 1'
6436 _def_menu
='#undef HAVE_MENU'
6440 # Check to see if they want QTX codecs enabled
6441 echocheck
"QTX codecs"
6442 if test "$_qtx" = auto
; then
6445 if test "$_qtx" = yes ; then
6446 _def_qtx
='#define USE_QTX_CODECS 1'
6447 _codecmodules
="qtx $_codecmodules"
6449 _def_qtx
='#undef USE_QTX_CODECS'
6450 _nocodecmodules
="qtx $_nocodecmodules"
6455 echocheck
"Subtitles sorting"
6456 if test "$_sortsub" = yes ; then
6457 _def_sortsub
='#define USE_SORTSUB 1'
6459 _def_sortsub
='#undef USE_SORTSUB'
6464 echocheck
"XMMS inputplugin support"
6465 if test "$_xmms" = yes ; then
6467 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6468 if test -z "$_xmmsplugindir" ; then
6469 _xmmsplugindir
=`xmms-config --input-plugin-dir`
6471 if test -z "$_xmmslibdir" ; then
6472 _xmmslibdir
=`xmms-config --exec-prefix`/lib
6475 if test -z "$_xmmsplugindir" ; then
6476 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6478 if test -z "$_xmmslibdir" ; then
6479 _xmmslibdir
=/usr
/lib
6483 _def_xmms
='#define HAVE_XMMS 1'
6485 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
6487 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6490 _def_xmms
='#undef HAVE_XMMS'
6495 if test "$_inet6" = auto
; then
6497 #include <sys/types.h>
6498 #include <sys/socket.h>
6499 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6506 if test "$_inet6" = yes ; then
6507 _def_inet6
='#define HAVE_AF_INET6 1'
6509 _def_inet6
='#undef HAVE_AF_INET6'
6514 echocheck
"gethostbyname2"
6515 if test "$_gethostbyname2" = auto
; then
6517 #include <sys/types.h>
6518 #include <sys/socket.h>
6520 int main(void) { gethostbyname2("", AF_INET); }
6528 if test "$_gethostbyname2" = yes ; then
6529 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
6531 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
6533 echores
"$_gethostbyname2"
6535 # --------------- GUI specific tests begin -------------------
6538 if test "$_gui" = yes ; then
6540 # Required libraries
6541 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6542 test "$_x11" != yes && die
"X11 support required for GUI compilation"
6544 echocheck
"XShape extension"
6546 if test "$_x11" = yes ; then
6548 #include <X11/Xlib.h>
6549 #include <X11/Xproto.h>
6550 #include <X11/Xutil.h>
6551 #include <X11/extensions/shape.h>
6554 char *name = ":0.0";
6557 int eventbase, errorbase;
6558 if (getenv("DISPLAY"))
6559 name=getenv("DISPLAY");
6560 wsDisplay=XOpenDisplay(name);
6561 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6563 XCloseDisplay(wsDisplay);
6567 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
6569 if test "$_xshape" = yes ; then
6570 _def_xshape
='#define HAVE_XSHAPE 1'
6572 die
"The GUI requires the X11 extension XShape (which was not found)."
6578 echocheck
"GTK version"
6579 if test -z "$_gtkconfig" ; then
6580 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
6581 _gtkconfig
="gtk-config"
6582 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
6583 _gtkconfig
="gtk12-config"
6585 die
"The GUI requires GTK devel packages (which were not found)."
6588 _gtk
=`$_gtkconfig --version 2>&1`
6589 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
6590 _ld_gtk
=`$_gtkconfig --libs 2>&1`
6591 echores
"$_gtk (using $_gtkconfig)"
6594 echocheck
"glib version"
6595 if test -z "$_glibconfig" ; then
6596 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
6597 _glibconfig
="glib-config"
6598 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
6599 _glibconfig
="glib12-config"
6601 die
"The GUI requires GLib devel packages (which were not found)"
6604 _glib
=`$_glibconfig --version 2>&1`
6605 _inc_glib
=`$_glibconfig --cflags 2>&1`
6606 _ld_glib
=`$_glibconfig --libs 2>&1`
6607 echores
"$_glib (using $_glibconfig)"
6609 _def_gui
='#define HAVE_NEW_GUI 1'
6610 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
6612 echo "Creating Gui/config.mak"
6613 cat > Gui
/config.mak
<< EOF
6614 # -------- Generated by configure -----------
6618 GLIBINC = $_inc_glib
6619 GLIBLIBS = $_ld_glib
6624 _def_gui
='#undef HAVE_NEW_GUI'
6626 # --------------- GUI specific tests end -------------------
6630 #############################################################################
6632 # Checking for CFLAGS
6634 if test "$_profile" != "" ||
test "$_debug" != "" ; then
6635 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6636 if test "$_cc_major" -ge "3" ; then
6637 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6640 elif test -z "$CFLAGS" ; then
6641 CFLAGS
="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6642 # always compile with '-g' if .developer:
6643 if test -f ".developer" ; then
6645 if (test "$_crash_debug" = auto
) && (not mingw32
) ; then
6653 MPlayer compilation will use the CFLAGS set by you, but:
6655 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
6657 It is strongly recommended to let MPlayer choose the correct CFLAGS!
6658 To do so, execute 'CFLAGS= ./configure <options>'
6663 echocheck
"automatic gdb attach"
6664 if test "$_crash_debug" = yes ; then
6665 _def_crash_debug
='#define CRASH_DEBUG 1'
6667 _def_crash_debug
='#undef CRASH_DEBUG'
6670 echores
"$_crash_debug"
6673 CFLAGS
="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN"
6674 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6675 CFLAGS
="$CFLAGS -no-cpp-precomp"
6678 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
6679 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
6682 # use flag for HPUX missing setenv()
6683 CFLAGS
="$CFLAGS -DHPUX"
6687 CFLAGS
="$CFLAGS -D_REENTRANT"
6689 # FIXME bsd needs this so maybe other OS'es
6690 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
6692 # 64 bit file offsets?
6693 if test "$_largefiles" = yes || freebsd
; then
6694 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6695 if test "$_dvdread" = yes ; then
6696 # dvdread support requires this (for off64_t)
6697 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
6701 echocheck
"compiler support for -fno-PIC"
6704 int main(void) { return 0; }
6706 if cc_check
-fno-PIC ; then
6707 CFLAGS
="-fno-PIC $CFLAGS"
6713 echores
"only used for x86"
6716 echocheck
"compiler support for noexecstack"
6718 int main(void) { return 0; }
6720 if cc_check
-Wl,-z,noexecstack
; then
6721 _ld_extra
="-Wl,-z,noexecstack $_ld_extra"
6727 echocheck
"ftello()"
6728 # if we don't have ftello use the osdep/ compatibility module
6731 #include <sys/types.h>
6732 int main (void) { ftello(stdin); return 0; }
6735 cc_check
&& _ftello
=yes
6736 if test "$_ftello" = yes ; then
6737 _def_ftello
='#define HAVE_FTELLO 1'
6739 _def_ftello
='#undef HAVE_FTELLO'
6743 # Determine OS dependent libs
6745 _def_confwin32
='#define WIN32'
6746 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
6747 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
6748 CFLAGS
="$CFLAGS -D__CYGWIN__"
6752 _confwin32
='TARGET_WIN32 = yes'
6754 _confwin32
='TARGET_WIN32 = no'
6757 # Dynamic linking flags
6758 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6760 bsd
&& _ld_dl_dynamic
='-rdynamic'
6761 if test "$_real" = yes ||
test "$_xanim" = yes && not win32
&& not qnx
; then
6762 _ld_dl_dynamic
='-rdynamic'
6765 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6766 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
6768 x86
&& _ld_arch
="$_ld_arch -li386"
6771 _def_debug
='#undef MP_DEBUG'
6772 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
6774 _def_linux
='#undef TARGET_LINUX'
6775 linux
&& _def_linux
='#define TARGET_LINUX 1'
6777 # TODO cleanup the VIDIX stuff here
6778 _def_vidix
='#define CONFIG_VIDIX 1'
6779 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
6780 if test "$_vidix" = yes; then
6781 _vosrc
="$_vosrc vo_cvidix.c"
6782 _vomodules
="cvidix $_vomodules"
6784 _novomodules
="cvidix $_novomodules"
6786 if test "$_vidix" = yes && (win32
); then
6787 _vosrc
="$_vosrc vo_winvidix.c"
6788 _vomodules
="winvidix $_vomodules"
6789 _ld_win32libs
="-lgdi32 $_ld_win32libs"
6791 _novomodules
="winvidix $_novomodules"
6793 if test "$_vidix" = yes && test "$_x11" = yes; then
6794 _vosrc
="$_vosrc vo_xvidix.c"
6795 _vomodules
="xvidix $_vomodules"
6797 _novomodules
="xvidix $_novomodules"
6799 echo Checking
for VIDIX ...
"$_vidix"
6801 _def_joystick
='#undef HAVE_JOYSTICK'
6802 if test "$_joystick" = yes ; then
6804 # TODO add some check
6805 _def_joystick
='#define HAVE_JOYSTICK 1'
6807 _joystick
="no (unsupported under $system_name)"
6810 echo Checking
for joystick ...
"$_joystick"
6813 if test "$_lirc" = auto
; then
6815 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
6817 #include <lirc/lirc_client.h>
6818 int main(void) { return 0; }
6820 cc_check
-llirc_client && _lirc
=yes
6823 if test "$_lirc" = yes ; then
6824 _def_lirc
='#define HAVE_LIRC 1'
6825 _ld_lirc
='-llirc_client'
6827 _def_lirc
='#undef HAVE_LIRC'
6832 if test "$_lircc" = auto
; then
6835 #include <lirc/lircc.h>
6836 int main(void) { return 0; }
6838 cc_check
-llircc && _lircc
=yes
6840 if test "$_lircc" = yes ; then
6841 _def_lircc
='#define HAVE_LIRCC 1'
6844 _def_lircc
='#undef HAVE_LIRCC'
6848 #############################################################################
6849 echo "Creating config.mak"
6850 cat > config.mak
<< EOF
6851 # -------- Generated by configure -----------
6854 MAN_LANG = $MAN_LANG
6855 TARGET_OS = $system_name
6857 prefix = \$(DESTDIR)$_prefix
6858 BINDIR = \$(DESTDIR)$_bindir
6859 DATADIR = \$(DESTDIR)$_datadir
6860 MANDIR = \$(DESTDIR)$_mandir
6861 CONFDIR = \$(DESTDIR)$_confdir
6862 LIBDIR = \$(DESTDIR)$_libdir
6863 # FFmpeg uses libdir instead of LIBDIR
6871 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
6872 EXTRA_INC = $_inc_extra $_inc_gtk
6873 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC) $_opt_gnu99
6874 STRIPBINARIES = $_stripbinaries
6876 HELP_FILE = $_mp_help
6879 PRG_MENCODER = $_prg_mencoder
6883 MPLAYER_NETWORK = $_network
6884 STREAMING_LIVE_DOT_COM = $_live
6885 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
6888 SHARED_PP = $_shared_pp
6891 CONFIG_MP3LAME = $_mp3lame
6893 I18NLIBS = $_i18n_libs
6894 MATROSKA = $_matroska_internal
6896 OPENDIVX = $_opendivx
6900 LIBMPEG2 = $_libmpeg2
6901 TREMOR = $_tremor_internal
6902 TREMOR_FLAGS = $_tremor_flags
6904 UNRARLIB = $_unrarlib
6905 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
6910 EXTRA_LIB = $_ld_extra
6911 Z_LIB = $_ld_static $_ld_zlib
6913 WIN32_LIB = $_ld_win32libs
6914 STATIC_LIB = $_ld_static
6915 ENCA_LIB = $_ld_enca
6916 HAVE_PTHREADS = $_pthreads
6922 HAVE_XVMC_ACCEL = $_xvmc
6932 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
6934 MLIB_LIB = $_ld_mlib
6935 MLIB_INC = $_inc_mlib
6936 DXR2_INC = $_inc_dxr2
6942 SVGA_LIB = $_ld_svga
6944 CACA_INC = $_inc_caca
6945 CACA_LIB = $_ld_caca
6948 ALSA_LIB = $_ld_alsa
6950 ARTS_LIB = $_ld_arts
6951 ARTS_INC = $_inc_arts
6954 POLYP_LIB = $_ld_polyp
6955 POLYP_INC = $_inc_polyp
6956 JACK_LIB = $_ld_jack
6957 JACK_INC = $_inc_jack
6958 SGIAUDIO_LIB = $_ld_sgiaudio
6960 # input/demuxer/codecs
6961 TERMCAP_LIB = $_ld_termcap
6962 LIRC_LIB = $_ld_lirc
6963 LIRCC_LIB = $_ld_lircc
6964 DVDREAD_LIB = $_ld_dvdread
6969 W32_DEP = $_dep_win32
6970 W32_LIB = $_ld_win32
6971 DS_DEP = $_dep_dshow
6973 AV_DEP = $_dep_libavcodec $_dep_libavformat
6974 AV_LIB = $_ld_libavcodec $_ld_libavformat
6975 CONFIG_LIBAVCODEC = $_libavcodec
6976 CONFIG_LIBAVFORMAT = $_libavformat
6979 FAME_LIB = $_ld_fame
6980 MP1E_DEP = $_dep_mp1e
6981 MP1E_LIB = $_ld_mp1e
6982 ARCH_LIB = $_ld_arch $_ld_iconv
6984 XVID_INC = $_inc_xvid
6985 XVID_LIB = $_ld_xvid
6987 X264_INC = $_inc_x264
6988 X264_LIB = $_ld_x264
6989 CONFIG_DTS = $_libdts
6990 DTS_INC = $_inc_libdts
6991 DTS_LIB = $_ld_libdts
6992 DECORE_LIB = $_ld_decore $_ld_mp3lame
6993 MENCODER = $_mencoder
6994 ENCORE_LIB = $_ld_encore $_ld_mp3lame
6995 DIRECTFB_INC = $_inc_directfb
6996 DIRECTFB_LIB = $_ld_directfb
6997 CDPARANOIA_INC = $_inc_cdparanoia
6998 CDPARANOIA_LIB = $_ld_cdparanoia
6999 FREETYPE_INC = $_inc_freetype
7000 FREETYPE_LIB = $_ld_freetype
7001 FONTCONFIG_INC = $_inc_fontconfig
7002 FONTCONFIG_LIB = $_ld_fontconfig
7003 FRIBIDI_INC = $_inc_fribidi
7004 FRIBIDI_LIB = $_ld_fribidi
7005 LIBLZO_LIB= $_ld_liblzo
7007 VORBIS_LIB = $_ld_vorbis $_ld_libdv
7008 THEORA_LIB = $_ld_theora
7009 FAAD_LIB = $_ld_faad
7010 INTERNAL_FAAD = $_faad_internal
7011 SMBSUPPORT_LIB = $_ld_smb
7012 XMMS_PLUGINS = $_xmms
7013 XMMS_LIB = $_xmms_lib
7015 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7016 MACOSX_BUNDLE = $_macosx_bundle
7017 MACOSX_FRAMEWORKS = $_macosx_frameworks
7018 MACOSX_COREVIDEO = $_macosx_corevideo
7020 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
7021 TOOLAME_LIB=$_toolame_lib
7023 TWOLAME_LIB=$_twolame_lib
7027 AMR_NB_FIXED=$_amr_nb_fixed
7029 `echo $_libavcodecs | tr 'a-z ' 'A-Z\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7031 # --- Some stuff for autoconfigure ----
7036 TARGET_MMX2 = $_mmx2
7037 TARGET_3DNOW = $_3dnow
7038 TARGET_3DNOWEX = $_3dnowex
7040 TARGET_ALTIVEC = $_altivec
7044 GTKLIB = $_ld_static $_ld_gtk
7045 GLIBLIB = $_ld_static $_ld_glib
7046 GTK_LIBS = $_ld_static $_ld_gui
7052 #############################################################################
7053 echo "Creating config.h"
7054 cat > config.h
<< EOF
7055 /* -------- This file has been automatically generated by configure ---------
7056 Note: Any changes in it will be lost when you run configure again. */
7058 /* Protect against multiple inclusion */
7059 #ifndef MPLAYER_CONFIG_H
7060 #define MPLAYER_CONFIG_H 1
7062 /* use GNU internationalization */
7065 /* Runtime CPU detection */
7066 $_def_runtime_cpudetection
7068 /* Dynamic a/v plugins */
7069 $_def_dynamic_plugins
7071 /* "restrict" keyword */
7072 $_def_restrict_keyword
7074 /* __builtin_expect branch prediction hint */
7075 $_def_builtin_expect
7077 /* attribute(used) as needed by some compilers */
7078 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7079 # define attribute_used __attribute__((used))
7081 # define attribute_used
7084 #define PREFIX "$_prefix"
7089 /* enable/disable SIGHANDLER */
7092 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7095 /* Toggles debugging informations */
7098 /* Indicates that Ogle's libdvdread is available for DVD playback */
7101 /* Indicates that dvdread is from libmpdvdkit */
7104 /* Additional options for libmpdvdkit*/
7118 /* Common data directory (for fonts, etc) */
7119 #define MPLAYER_DATADIR "$_datadir"
7120 #define MPLAYER_CONFDIR "$_confdir"
7121 #define MPLAYER_LIBDIR "$_libdir"
7123 /* Define this to compile stream-caching support, it can be enabled via
7124 -cache <kilobytes> */
7125 #define USE_STREAM_CACHE 1
7127 /* Define to include support for XviD/Divx4Linux/OpenDivx */
7130 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
7131 /* You have to change DECORE_LIBS in config.mak, too! */
7134 /* Define if you are using DivX5Linux Decore library */
7137 /* Define if you are using XviD library */
7143 /* Define if you are using the X.264 library */
7146 /* Define to include support for libdv-0.9.5 */
7149 /* If build mencoder */
7152 /* Indicates if XviD/Divx4linux encore is available
7153 Note: for mencoder */
7156 /* Indicates if libmp3lame is available
7157 Note: for mencoder */
7161 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
7164 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7165 (use -bps or -nobps commandline option for run-time method selection)
7166 -bps gives better sync for vbr mp3 audio, it is now default */
7167 #define AVI_SYNC_BPS 1
7169 /* Undefine this if you do not want to select mono audio (left or right)
7170 with a stereo MPEG layer 2/3 audio stream. The command line option
7171 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7172 right-only), with 0 being the default.
7174 #define USE_FAKE_MONO 1
7176 /* Undefine this if your sound card driver has no working select().
7177 If you have kernel Oops, player hangups, or just no audio, you should
7178 try to recompile MPlayer with this option disabled! */
7181 /* define this to use iconv(3) function to codepage conversions */
7184 /* define this to use nl_langinfo function */
7187 /* define this to use RTC (/dev/rtc) for video timers */
7190 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7191 #define MAX_OUTBURST 65536
7193 /* set up audio OUTBURST. Do not change this! */
7194 #define OUTBURST 512
7196 /* Define this if your system has the header file for the OSS sound interface */
7199 /* Define this if your system has the header file for the OSS sound interface
7200 * in /usr/include */
7203 /* Define this if your system has the sysinfo header */
7206 /* Define this if your system has ftello() */
7210 /* Need these for FILE and off_t an config.h is usually before other includes*/
7212 #include <sys/types.h>
7213 off_t ftello(FILE *);
7216 /* Define this if your system has the "malloc.h" header file */
7219 /* memalign is mapped to malloc if unsupported */
7221 #ifndef HAVE_MEMALIGN
7222 # define memalign(a,b) malloc(b)
7223 #define MEMALIGN_HACK 1
7226 /* Define this if your system has the "alloca.h" header file */
7229 /* Define this if your system has the "sys/mman.h" header file */
7231 $_def_mman_has_map_failed
7233 /* Define this if you have the elf dynamic linker -ldl library */
7236 /* Define this if you have the kstat kernel statistics library */
7239 /* Define this if you have zlib */
7242 #define CONFIG_ZLIB 1
7245 /* Define this if you have shm support */
7248 /* Define this if your system has scandir & alphasort */
7251 /* Define this if your system has strsep */
7254 /* Define this if your system has strlcpy */
7256 #ifndef HAVE_STRLCPY
7257 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7260 /* Define this if your system has strlcat */
7262 #ifndef HAVE_STRLCAT
7263 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7266 /* Define this if your system has fseeko */
7269 /* Need these for FILE and off_t an config.h is usually before other includes*/
7271 #include <sys/types.h>
7272 int fseeko(FILE *, off_t, int);
7277 /* Define this if your system has vsscanf */
7280 /* Define this if your system has swab */
7283 /* Define this if your system has no posix select */
7284 $_def_no_posix_select
7286 /* Define this if your system has gettimeofday */
7289 /* Define this if your system has glob */
7292 /* Define this if your system has pthreads */
7295 /* Define this if you enabled thread support for libavcodec */
7298 /* LIRC (remote control, see www.lirc.org) support: */
7302 * LIRCCD (LIRC client daemon)
7303 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7307 /* DVD navigation support using libdvdnav */
7309 $_def_dvdnav_version
7311 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7312 #define MPEG12_POSTPROC 1
7314 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7317 /* Define to include support for OpenDivx postprocessing */
7318 $_def_odivx_postprocess
7320 /* Win32 DLL support */
7322 #define WIN32_PATH "$_win32libdir"
7324 /* DirectShow support */
7327 /* Mac OS X specific features */
7329 $_def_macosx_finder_support
7331 $_def_macosx_corevideo
7333 /* Build our Win32-loader */
7336 /* ffmpeg's libavcodec support (requires libavcodec source) */
7340 /* ffmpeg's libavformat support (requires libavformat source) */
7342 $_def_libavformat_win32
7345 #define CONFIG_RISKY 1
7347 /* Use libavcodec's decoders */
7348 #define CONFIG_DECODERS 1
7349 /* Use libavcodec's encoders */
7350 #define CONFIG_ENCODERS 1
7352 #define CONFIG_MPEGAUDIO_HP 1
7354 /* Use amr codecs from libavcodec (requires amr sources) */
7359 /* Use specific codecs from libavcodec */
7360 `echo $_libavcodecs | tr 'a-z ' 'A-Z\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7362 /* Use codec libs included in mplayer CVS / source dist: */
7368 /* Use libfame encoder filter */
7371 /* XAnim DLL support */
7373 /* Default search path */
7376 /* RealPlayer DLL support */
7378 /* Default search path */
7381 /* LIVE.COM Streaming Media library support */
7384 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7387 /* Use unrarlib for Vobsubs */
7390 /* gui support, please do not edit this option */
7393 /* Audio output drivers */
7395 $_def_ossaudio_devdsp
7396 $_def_ossaudio_devmixer
7405 $_def_sys_asoundlib_h
7406 $_def_alsa_asoundlib_h
7412 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7414 #undef FAST_OSD_TABLE
7416 /* Enable TV Interface support */
7419 /* Enable EDL support */
7422 /* Enable Video 4 Linux TV interface support */
7425 /* Enable Video 4 Linux 2 TV interface support */
7428 /* Enable *BSD BrookTree TV interface support */
7431 /* Define if your processor stores words with the most significant
7432 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7437 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
7438 have the instruction. */
7441 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7442 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7448 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7453 /* only gcc3 can compile mvi instructions */
7454 $_def_gcc_mvi_support
7456 /* Define this for Cygwin build for win32 */
7459 /* Define this to any prefered value from 386 up to infinity with step 100 */
7460 #define __CPU__ $iproc
7469 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7470 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7472 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7473 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7474 #elif defined(WIN32)
7475 #define DEFAULT_CDROM_DEVICE "D:"
7476 #define DEFAULT_DVD_DEVICE "D:"
7477 #elif defined(SYS_DARWIN)
7478 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7479 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7480 #elif defined(__OpenBSD__)
7481 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7482 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7484 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7485 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7489 /*----------------------------------------------------------------------------
7491 ** NOTE: Instead of modifying these definitions here, use the
7492 ** --enable/--disable options of the ./configure script!
7493 ** See ./configure --help for details.
7495 *---------------------------------------------------------------------------*/
7497 /* C99 lrintf function available */
7500 /* round function is available */
7503 /* yes, we have inttypes.h */
7504 #define HAVE_INTTYPES_H 1
7506 /* int_fastXY_t emulation */
7509 /* nanosleep support */
7515 /* termcap flag for getch2.c */
7518 /* termios flag for getch2.c */
7523 /* enable PNG support */
7526 /* enable JPEG support */
7529 /* enable PNM support */
7532 /* enable md5sum support */
7535 /* enable GIF support */
7540 /* enable FreeType support */
7543 /* enable Fontconfig support */
7546 /* enable FriBiDi usage */
7549 /* enable ENCA usage */
7552 /* liblzo support */
7555 /* libmad support */
7558 /* enable OggVorbis support */
7561 /* enable Tremor as vorbis decoder */
7564 /* enable OggTheora support */
7567 /* enable Matroska support */
7570 /* enable FAAD (AAC) support */
7574 /* enable FAAC (AAC encoder) support */
7577 /* enable LADSPA plugin support */
7580 /* enable network */
7583 /* enable ftp support */
7586 /* enable vstream support */
7589 /* enable winsock2 instead of Unix functions*/
7592 /* define this to use inet_aton() instead of inet_pton() */
7595 /* enables / disables cdparanoia support */
7598 /* enables / disables VIDIX usage */
7601 /* enables / disables new input joystick support */
7604 /* enables / disables QTX codecs */
7607 /* enables / disables osd menu */
7610 /* enables / disables subtitles sorting */
7613 /* XMMS input plugin support */
7615 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7617 /* enables inet6 support */
7620 /* do we have gethostbyname2? */
7621 $_def_gethostbyname2
7623 /* Extension defines */
7624 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
7625 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
7626 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
7627 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
7628 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
7629 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
7630 $_def_altivec // only define if you have Altivec (G4)
7632 $_def_altivec_h // enables usage of altivec.h
7635 $_def_mlib // Sun mediaLib, available only on solaris
7636 $_def_vis // only define if you have VIS ( ultrasparc )
7638 /* libmpeg2 uses a different feature test macro for mediaLib */
7640 #define LIBMPEG2_MLIB 1
7644 #define SCREEN_SIZE_X 1
7645 #define SCREEN_SIZE_Y 1
7657 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
7666 $_def_directfb_version
7689 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
7690 #define X11_FULLSCREEN 1
7693 #endif /* MPLAYER_CONFIG_H */
7696 #############################################################################
7698 echo "Creating libvo/config.mak"
7699 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g;s/\.m/\.o/g'`
7700 cat > libvo
/config.mak
<< EOF
7701 include ../config.mak
7702 OPTIONAL_SRCS = $_vosrc
7703 OPTIONAL_OBJS = $_voobj
7706 #############################################################################
7708 echo "Creating libao2/config.mak"
7709 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
7710 cat > libao
2/config.mak
<< EOF
7711 include ../config.mak
7712 OPTIONAL_SRCS = $_aosrc
7713 OPTIONAL_OBJS = $_aoobj
7716 #############################################################################
7718 echo "Creating libaf/config.mak"
7719 _afobj
=`echo $_afsrc | sed -e 's/\.c/\.o/g'`
7720 cat > libaf
/config.mak
<< EOF
7721 include ../config.mak
7722 OPTIONAL_SRCS = $_afsrc
7723 OPTIONAL_OBJS = $_afobj
7726 #############################################################################
7730 Config files successfully generated by ./configure !
7732 Install prefix: $_prefix
7733 Data directory: $_datadir
7734 Config direct.: $_confdir
7736 Byte order: $_byte_order
7737 Optimizing for: $_optimizing
7740 Messages/GUI: $_language
7743 echo -n " Manual pages: $MAN_LANG"
7744 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
7749 Enabled optional drivers:
7750 Input: $_inputmodules
7751 Codecs: $_codecmodules
7752 Audio output: $_aomodules
7753 Video output: $_vomodules
7754 Audio filters: $_afmodules
7755 Disabled optional drivers:
7756 Input: $_noinputmodules
7757 Codecs: $_nocodecmodules
7758 Audio output: $_noaomodules
7759 Video output: $_novomodules
7760 Audio filters: $_noafmodules
7762 'config.h' and 'config.mak' contain your configuration options.
7763 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7764 compile *** DO NOT REPORT BUGS if you tweak these files ***
7766 'make' will now compile MPlayer and 'make install' will install it.
7767 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7772 if test "$_mtrr" = yes ; then
7773 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
7777 if test "$_sdl" = "outdated" ; then
7779 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
7780 support has therefore been disabled.
7782 Please upgrade to a more recent version (version 1.1.8 and above are known to
7783 work). You may get this library from: http://www.libsdl.org
7785 You need to rerun ./configure and recompile after updating SDL. If you are
7786 only interested in the libSDL audio drivers, then an older version might work.
7788 Use --enable-sdl to force usage of libSDL.
7794 if test "$_win32" = no
; then
7795 if test "$_win32libdir" ; then
7796 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
7798 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
7801 Create it and copy the DLL files there! You can download the codecs from our
7802 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
7808 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
7809 operating system ($system_name). You may encounter a few files that cannot
7810 be played due to missing open source video/audio codec support.
7818 Check $TMPLOG if you wonder why an autodetection failed (check whether
7819 the development headers/packages are installed).
7821 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
7825 if test "$_vidix" = no
; then
7827 You've disabled VIDIX. Although it would be better to PORT it instead.
7828 Have a look at the documentation for supported cards!
7834 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"