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 _march
="-march=$proc"
993 _mcpu
="$cpuopt=$proc"
994 if test "$proc" = "error" ; then
995 echores
"Your $_cc does not even support \"athlon-xp\" for '-march' and '$cpuopt'."
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'
2831 if test "$_ld_pthread" != '' ; then
2832 echores
"yes (using $_ld_pthread)"
2834 _def_pthreads
='#define HAVE_PTHREADS 1'
2835 _def_threads
='#define HAVE_THREADS 1'
2837 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2839 _def_pthreads
='#undef HAVE_PTHREADS'
2840 _nas
=no
; _tv_v4l
=no
; _macosx
=no
2841 if not mingw32
; then
2847 echocheck
"sys/soundcard.h"
2849 #include <sys/soundcard.h>
2850 int main(void) { return 0; }
2853 cc_check
&& _sys_soundcard
=yes
2854 if test "$_sys_soundcard" = yes ; then
2855 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2856 _inc_soundcard
='#include <sys/soundcard.h>'
2858 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2860 echores
"$_sys_soundcard"
2862 if test "$_sys_soundcard" != yes ; then
2863 echocheck
"soundcard.h"
2865 #include <soundcard.h>
2866 int main(void) { return 0; }
2869 cc_check
&& _soundcard
=yes
2870 if linux ||
test "$_ossaudio" != no
; then
2871 # use soundcard.h on Linux, or when OSS support is enabled
2872 echores
"$_soundcard"
2874 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2875 echores
"$_soundcard, but ignored!"
2878 if test "$_soundcard" = yes ; then
2879 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2880 _inc_soundcard
='#include <soundcard.h>'
2882 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2885 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2889 echocheck
"sys/dvdio.h"
2892 #include <sys/dvdio.h>
2893 int main(void) { return 0; }
2896 cc_check
&& _dvdio
=yes
2897 if test "$_dvdio" = yes ; then
2898 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2900 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2905 echocheck
"sys/cdio.h"
2908 #include <sys/cdio.h>
2909 int main(void) { return 0; }
2912 cc_check
&& _cdio
=yes
2913 if test "$_cdio" = yes ; then
2914 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2916 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2921 echocheck
"linux/cdrom.h"
2923 #include <sys/types.h>
2924 #include <linux/cdrom.h>
2925 int main(void) { return 0; }
2928 cc_check
&& _cdrom
=yes
2929 if test "$_cdrom" = yes ; then
2930 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2932 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2940 int main(void) { return 0; }
2943 cc_check
&& _dvd
=yes
2944 if test "$_dvd" = yes ; then
2945 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2947 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2952 echocheck
"BSDI dvd.h"
2955 int main(void) { return 0; }
2958 cc_check
&& _bsdi_dvd
=yes
2959 if test "$_bsdi_dvd" = yes ; then
2960 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2962 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2964 echores
"$_bsdi_dvd"
2967 echocheck
"HPUX SCSI header"
2969 #include <sys/scsi.h>
2970 int main(void) { return 0; }
2973 cc_check
&& _hpux_scsi_h
=yes
2974 if test "$_hpux_scsi_h" = yes ; then
2975 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2977 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2979 echores
"$_hpux_scsi_h"
2982 echocheck
"userspace SCSI headers (Solaris)"
2984 # include <unistd.h>
2985 # include <stropts.h>
2986 # include <sys/scsi/scsi_types.h>
2987 # include <sys/scsi/impl/uscsi.h>
2988 int main(void) { return 0; }
2991 cc_check
&& _sol_scsi_h
=yes
2992 if test "$_sol_scsi_h" = yes ; then
2993 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2995 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2997 echores
"$_sol_scsi_h"
3001 if test "$_termcap" = auto
; then
3003 int main(void) { return 0; }
3006 cc_check
-ltermcap && _termcap
=yes && _ld_termcap
='-ltermcap'
3007 cc_check
-ltinfo && _termcap
=yes && _ld_termcap
='-ltinfo'
3009 if test "$_termcap" = yes ; then
3010 _def_termcap
='#define USE_TERMCAP 1'
3011 echores
"yes (using $_ld_termcap)"
3013 _def_termcap
='#undef USE_TERMCAP'
3019 if test "$_termios" = auto
; then
3021 #include <sys/termios.h>
3022 int main(void) { return 0; }
3025 cc_check
&& _termios
=yes
3026 _def_termios_h_name
='sys/termios.h'
3029 if test "$_termios" = auto
; then
3031 #include <termios.h>
3032 int main(void) { return 0; }
3035 cc_check
&& _termios
=yes
3036 _def_termios_h_name
='termios.h'
3039 if test "$_termios" = yes ; then
3040 _def_termios
='#define HAVE_TERMIOS 1'
3041 _def_termios_h
='#undef HAVE_TERMIOS_H'
3042 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3044 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3045 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3046 elif test "$_def_termios_h_name" = 'termios.h' ; then
3047 _def_termios_h
='#define HAVE_TERMIOS_H 1'
3049 echores
"yes (using $_def_termios_h_name)"
3051 _def_termios
='#undef HAVE_TERMIOS'
3052 _def_termios_h_name
=''
3058 if test "$_shm" = auto
; then
3060 #include <sys/types.h>
3061 #include <sys/shm.h>
3062 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3065 cc_check
&& _shm
=yes
3067 if test "$_shm" = yes ; then
3068 _def_shm
='#define HAVE_SHM 1'
3070 _def_shm
='#undef HAVE_SHM'
3075 # XXX: FIXME, add runtime checking
3076 echocheck
"linux devfs"
3077 echores
"$_linux_devfs"
3080 echocheck
"scandir()"
3082 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3085 cc_check
&& _scandir
=yes
3086 if test "$_scandir" = yes ; then
3087 _def_scandir
='#define HAVE_SCANDIR 1'
3089 _def_scandir
='#undef HAVE_SCANDIR'
3094 echocheck
"strsep()"
3097 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3100 cc_check
&& _strsep
=yes
3101 if test "$_strsep" = yes ; then
3102 _def_strsep
='#define HAVE_STRSEP 1'
3104 _def_strsep
='#undef HAVE_STRSEP'
3108 echocheck
"strlcpy()"
3111 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3114 cc_check
&& _strlcpy
=yes
3115 if test "$_strlcpy" = yes ; then
3116 _def_strlcpy
='#define HAVE_STRLCPY 1'
3118 _def_strlcpy
='#undef HAVE_STRLCPY'
3122 echocheck
"strlcat()"
3125 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3128 cc_check
&& _strlcat
=yes
3129 if test "$_strlcat" = yes ; then
3130 _def_strlcat
='#define HAVE_STRLCAT 1'
3132 _def_strlcat
='#undef HAVE_STRLCAT'
3136 echocheck
"fseeko()"
3139 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3142 cc_check
&& _fseeko
=yes
3143 if test "$_fseeko" = yes ; then
3144 _def_fseeko
='#define HAVE_FSEEKO 1'
3146 _def_fseeko
='#undef HAVE_FSEEKO'
3150 echocheck
"localtime_r()"
3153 int main( void ) { localtime_r(NULL, NULL); }
3156 cc_check
&& _localtime_r
=yes
3157 if test "$_localtime_r" = yes ; then
3158 _def_localtime_r
='#define HAVE_LOCALTIME_R 1'
3160 _def_localtime_r
='#undef HAVE_LOCALTIME_R'
3162 echores
"$_localtime_r"
3164 echocheck
"vsscanf()"
3167 int main(void) { vsscanf(0, 0, 0); return 0; }
3170 cc_check
&& _vsscanf
=yes
3171 if test "$_vsscanf" = yes ; then
3172 _def_vsscanf
='#define HAVE_VSSCANF 1'
3174 _def_vsscanf
='#undef HAVE_VSSCANF'
3182 int main(void) { swab(0, 0, 0); return 0; }
3185 cc_check
&& _swab
=yes
3186 if test "$_swab" = yes ; then
3187 _def_swab
='#define HAVE_SWAB 1'
3189 _def_swab
='#undef HAVE_SWAB'
3193 echocheck
"posix select()"
3197 #include <sys/types.h>
3199 #include <sys/time.h>
3201 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3204 cc_check
&& _posix_select
=yes
3205 if test "$_posix_select" = no
; then
3206 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
3208 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
3210 echores
"$_posix_select"
3213 echocheck
"gettimeofday()"
3216 #include <sys/time.h>
3217 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3220 cc_check
&& _gettimeofday
=yes
3221 if test "$_gettimeofday" = yes ; then
3222 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3224 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3226 echores
"$_gettimeofday"
3233 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3236 cc_check
&& _glob
=yes
3237 if test "$_glob" = yes ; then
3238 _def_glob
='#define HAVE_GLOB 1'
3240 _def_glob
='#undef HAVE_GLOB'
3245 echocheck
"sys/sysinfo.h"
3247 #include <sys/sysinfo.h>
3249 struct sysinfo s_info;
3255 cc_check
&& _sys_sysinfo
=yes
3256 if test "$_sys_sysinfo" = yes ; then
3257 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3258 _inc_sysinfo
='#include <sys/sysinfo.h>'
3260 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3262 echores
"$_sys_sysinfo"
3265 echocheck
"Mac OS X APIs"
3266 if test "$_macosx" = auto
; then
3267 if darwin
&& ppc
; then
3271 _def_macosx
='#undef MACOSX'
3272 _noaomodules
="macosx $_noaomodules"
3273 _novomodules
="quartz $_novomodules"
3276 if test "$_macosx" = yes ; then
3278 #include <Carbon/Carbon.h>
3279 #include <QuickTime/QuickTime.h>
3280 #include <CoreAudio/CoreAudio.h>
3284 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3287 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3289 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3290 _def_macosx
='#define MACOSX 1'
3291 _aosrc
="$_aosrc ao_macosx.c"
3292 _aomodules
="macosx $_aomodules"
3293 _vosrc
="$_vosrc vo_quartz.c"
3294 _vomodules
="quartz $_vomodules"
3297 _def_macosx
='#undef MACOSX'
3298 _noaomodules
="macosx $_noaomodules"
3299 _novomodules
="quartz $_novomodules"
3302 #include <Carbon/Carbon.h>
3303 #include <QuartzCore/CoreVideo.h>
3306 if cc_check
-framework Carbon
-framework QuartzCore
-framework OpenGL
; then
3307 _vosrc
="$_vosrc vo_macosx.m"
3308 _vomodules
="macosx $_vomodules"
3309 _macosx_frameworks
="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3310 _def_macosx_corevideo
='#define MACOSX_COREVIDEO 1'
3311 _macosx_corevideo
=yes
3313 _novomodules
="macosx $_novomodules"
3314 _def_macosx_corevideo
='#undef MACOSX_COREVIDEO'
3315 _macosx_corevideo
=no
3320 echocheck
"Mac OS X Finder Support"
3321 if test "$_macosx_finder_support" = auto
; then
3322 _macosx_finder_support
=$_macosx
3324 if test "$_macosx_finder_support" = yes; then
3325 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3326 _macosx_finder_support
=yes
3328 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3329 _macosx_finder_support
=no
3331 echores
"$_macosx_finder_support"
3333 echocheck
"Mac OS X Bundle file locations"
3334 if test "$_macosx_bundle" = auto
; then
3335 _macosx_bundle
=$_macosx_finder_support
3337 if test "$_macosx_bundle" = yes; then
3338 _def_macosx_bundle
='#define MACOSX_BUNDLE 1'
3340 _def_macosx_bundle
='#undef MACOSX_BUNDLE'
3343 echores
"$_macosx_bundle"
3345 echocheck
"Samba support (libsmbclient)"
3346 if test "$_smbsupport" = yes; then
3347 _ld_smb
="-lsmbclient"
3349 if test "$_smbsupport" = auto
; then
3352 #include <libsmbclient.h>
3353 int main(void) { smbc_opendir("smb://"); return 0; }
3355 if cc_check
-lsmbclient ; then
3357 _ld_smb
="-lsmbclient"
3359 if cc_check
-lsmbclient $_ld_dl ; then
3361 _ld_smb
="-lsmbclient $_ld_dl"
3363 if cc_check
-lsmbclient $_ld_dl -lnsl ; then
3365 _ld_smb
="-lsmbclient $_ld_dl -lnsl"
3367 if cc_check
-lsmbclient $_ld_dl -lssl -lnsl ; then
3369 _ld_smb
="-lsmbclient $_ld_dl -lssl -lnsl"
3376 if test "$_smbsupport" = yes; then
3377 _def_smbsupport
="#define LIBSMBCLIENT"
3378 _inputmodules
="smb $_inputmodules"
3380 _def_smbsupport
="#undef LIBSMBCLIENT"
3381 _noinputmodules
="smb $_noinputmodules"
3383 echores
"$_smbsupport"
3392 if test "$_3dfx" = yes ; then
3393 _def_3dfx
='#define HAVE_3DFX 1'
3394 _vosrc
="$_vosrc vo_3dfx.c"
3395 _vomodules
="3dfx $_vomodules"
3397 _def_3dfx
='#undef HAVE_3DFX'
3398 _novomodules
="3dfx $_novomodules"
3404 if test "$_tdfxfb" = yes ; then
3405 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3406 _vosrc
="$_vosrc vo_tdfxfb.c"
3407 _vomodules
="tdfxfb $_vomodules"
3409 _def_tdfxfb
='#undef HAVE_TDFXFB'
3410 _novomodules
="tdfxfb $_novomodules"
3415 if test "$_tdfxvid" = yes ; then
3416 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3417 _vosrc
="$_vosrc vo_tdfx_vid.c"
3418 _vomodules
="tdfx_vid $_vomodules"
3420 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3421 _novomodules
="tdfx_vid $_novomodules"
3426 if test "$_tga" = yes ; then
3427 _def_tga
='#define HAVE_TGA 1'
3428 _vosrc
="$_vosrc vo_tga.c"
3429 _vomodules
="tga $_vomodules"
3431 _def_tga
='#undef HAVE_TGA'
3432 _novomodules
="tga $_novomodules"
3436 echocheck
"DirectFB headers presence"
3437 if test -z "$_inc_directfb" ; then
3438 for I
in /usr
/include
/usr
/local
/include
$_inc_extra; do
3439 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3440 _inc_directfb
="-I$I/directfb"
3441 echores
"yes (using $_inc_directfb)"
3444 if test -d "$I" && test -f "$I/directfb.h" ; then
3445 _inc_directfb
="-I$I"
3446 echores
"yes (using $_inc_directfb)"
3450 if test -z "$_inc_directfb" ; then
3455 echores
"yes (using $_inc_directfb)"
3457 if test "$_inc_directfb" = "-I/usr/include" ; then
3461 echocheck
"DirectFB"
3462 if test "$_directfb" = auto
; then
3465 #include <directfb.h>
3466 int main(void) { IDirectFB *foo; return 0; }
3468 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
3471 if test "$_directfb" = yes; then
3473 #include <directfb.h>
3475 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
3479 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
3480 _directfb_version
=`"$TMPO"`
3481 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
3482 if test "$_directfb_version" -ge 913; then
3483 echores
"yes ($_directfb_version)"
3485 _def_directfb_version
='#undef DIRECTFBVERSION'
3487 echores
"no (version >=0.9.13 required)"
3491 echores
"no (failed to get version)"
3494 echores
"$_directfb"
3497 if test "$_directfb" = yes ; then
3498 _def_directfb
='#define HAVE_DIRECTFB 1'
3499 if test "$_directfb_version" -ge 913; then
3500 _vosrc
="$_vosrc vo_directfb2.c"
3501 _vomodules
="directfb $_vomodules"
3502 _ld_directfb
='-ldirectfb'
3505 if test "$_directfb_version" -ge 915; then
3506 _vosrc
="$_vosrc vo_dfbmga.c"
3507 _vomodules
="dfbmga $_vomodules"
3510 _def_directfb
='#undef HAVE_DIRECTFB'
3511 _novomodules
="directfb $_novomodules"
3516 echocheck
"X11 headers presence"
3517 if test -z "$_inc_x11" ; then
3518 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
3519 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3521 echores
"yes (using $I)"
3525 if test -z "$_inc_x11" ; then
3527 echores
"not found (check if the dev(el) packages are installed)"
3530 echores
"yes (using $_inc_x11)"
3532 if test "$_inc_x11" = "-I/usr/include" ; then
3538 if test "$_x11" != no
; then
3540 #include <X11/Xlib.h>
3541 #include <X11/Xutil.h>
3542 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3544 if test -z "$_x11_paths" ; then
3545 _x11_paths
="/usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 /usr/lib"
3547 for I
in $_x11_paths ; do
3548 _ld_x11
="-L$I -lXext -lX11 $_ld_sock"
3550 _ld_x11
="$_ld_x11 -Wl,-R$I"
3552 if test -d "$I" && cc_check
$_inc_x11 $_ld_x11 ; then
3558 if test "$_x11" = yes ; then
3559 _def_x11
='#define HAVE_X11 1'
3560 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3561 _vomodules
="x11 xover $_vomodules"
3562 echores
"yes (using $I)"
3565 _def_x11
='#undef HAVE_X11'
3568 _novomodules
="x11 $_novomodules"
3569 echores
"no (check if the dev(el) packages are installed)"
3575 if test "$_x11" = yes ; then
3577 #include <X11/Xmd.h>
3578 #include <X11/Xlib.h>
3579 #include <X11/Xutil.h>
3580 #include <X11/Xatom.h>
3581 #include <X11/extensions/dpms.h>
3583 (void) DPMSQueryExtension(0, 0, 0);
3586 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
3589 if test "$_x11" = yes ; then
3591 #include <X11/Xlib.h>
3592 #include <X11/extensions/dpms.h>
3594 (void) DPMSQueryExtension(0, 0, 0);
3597 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
3599 if test "$_xdpms4" = yes ; then
3600 _def_xdpms
='#define HAVE_XDPMS 1'
3601 echores
"yes (using Xdpms 4)"
3602 elif test "$_xdpms3" = yes ; then
3603 _def_xdpms
='#define HAVE_XDPMS 1'
3604 _ld_x11
="-lXdpms $_ld_x11"
3605 echores
"yes (using Xdpms 3)"
3607 _def_xdpms
='#undef HAVE_XDPMS'
3613 if test "$_x11" = yes && test "$_xv" != no
; then
3615 #include <X11/Xlib.h>
3616 #include <X11/extensions/Xvlib.h>
3618 (void) XvGetPortAttribute(0, 0, 0, 0);
3619 (void) XvQueryPortAttributes(0, 0, 0);
3623 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
3627 if test "$_xv" = yes ; then
3628 _def_xv
='#define HAVE_XV 1'
3630 _vosrc
="$_vosrc vo_xv.c"
3631 _vomodules
="xv $_vomodules"
3633 _def_xv
='#undef HAVE_XV'
3634 _novomodules
="xv $_novomodules"
3640 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
3643 #include <X11/Xlib.h>
3644 #include <X11/extensions/Xvlib.h>
3645 #include <X11/extensions/XvMClib.h>
3647 (void) XvMCQueryExtension(0,0,0);
3648 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3651 cc_check
$_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc
=yes
3653 if test "$_xvmc" = yes ; then
3654 _def_xvmc
='#define HAVE_XVMC 1'
3655 _ld_xvmc
="-lXvMC -l$_xvmclib"
3656 _vosrc
="$_vosrc vo_xvmc.c"
3657 _vomodules
="xvmc $_vomodules"
3659 _def_xvmc
='#undef HAVE_XVMC'
3660 _novomodules
="xvmc $_novomodules"
3665 echocheck
"Xinerama"
3666 if test "$_x11" = yes && test "$_xinerama" != no
; then
3668 #include <X11/Xlib.h>
3669 #include <X11/extensions/Xinerama.h>
3670 int main(void) { (void) XineramaIsActive(0); return 0; }
3673 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3677 if test "$_xinerama" = yes ; then
3678 _def_xinerama
='#define HAVE_XINERAMA 1'
3679 _ld_xinerama
='-lXinerama'
3681 _def_xinerama
='#undef HAVE_XINERAMA'
3683 echores
"$_xinerama"
3686 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3687 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3688 # named 'X extensions' or something similar.
3689 # This check may be useful for future mplayer versions (to change resolution)
3690 # If you run into problems, remove '-lXxf86vm'.
3692 if test "$_x11" = yes && test "$_vm" = auto
; then
3694 #include <X11/Xlib.h>
3695 #include <X11/extensions/xf86vmode.h>
3696 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3699 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3701 if test "$_vm" = yes ; then
3702 _def_vm
='#define HAVE_XF86VM 1'
3705 _def_vm
='#undef HAVE_XF86VM'
3709 # Check for the presence of special keycodes, like audio control buttons
3710 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3711 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3712 # have these new keycodes.
3713 echocheck
"XF86keysym"
3714 if test "$_xf86keysym" = auto
; then
3716 if test "$_x11" = yes ; then
3718 #include <X11/Xlib.h>
3719 #include <X11/XF86keysym.h>
3720 int main(void) { return XF86XK_AudioPause; }
3722 cc_check
$_inc_x11 $_ld_x11 && _xf86keysym
=yes
3725 if test "$_xf86keysym" = yes ; then
3726 _def_xf86keysym
='#define HAVE_XF86XK 1'
3728 _def_xf86keysym
='#undef HAVE_XF86XK'
3730 echores
"$_xf86keysym"
3733 if test "$_x11" = no
; then
3736 # Version 2 is preferred to version 1 if available
3737 if test "$_dga" = auto
; then
3739 #include <X11/Xlib.h>
3740 #include <X11/extensions/xf86dga.h>
3741 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3744 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3747 #include <X11/Xlib.h>
3748 #include <X11/extensions/xf86dga.h>
3749 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3751 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3754 _def_dga
='#undef HAVE_DGA'
3755 _def_dga2
='#undef HAVE_DGA2'
3756 if test "$_dga" = 1 ; then
3757 _def_dga
='#define HAVE_DGA 1'
3758 _ld_dga
='-lXxf86dga'
3759 _vosrc
="$_vosrc vo_dga.c"
3760 _vomodules
="dga $_vomodules"
3761 echores
"yes (using DGA 1.0)"
3762 elif test "$_dga" = 2 ; then
3763 _def_dga
='#define HAVE_DGA 1'
3764 _def_dga2
='#define HAVE_DGA2 1'
3765 _ld_dga
='-lXxf86dga'
3766 _vosrc
="$_vosrc vo_dga.c"
3767 _vomodules
="dga $_vomodules"
3768 echores
"yes (using DGA 2.0)"
3769 elif test "$_dga" = no
; then
3771 _novomodules
="dga $_novomodules"
3773 die
"DGA version must be 1 or 2"
3778 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3779 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
3782 int main(void) { return 0; }
3785 if cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3788 elif cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3790 _ld_gl
="-lGL $_ld_pthread"
3791 elif cc_check
-lopengl32 ; then
3794 _ld_gl
="-lopengl32 -lgdi32"
3799 if test "$_gl" = yes ; then
3800 _def_gl
='#define HAVE_GL 1'
3801 if test "$_gl_win32" = yes ; then
3802 _def_gl_win32
='#define GL_WIN32 1'
3803 _vosrc
="$_vosrc vo_gl2.c w32_common.c gl_common.c"
3805 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3807 _vomodules
="opengl $_vomodules"
3809 _def_gl
='#undef HAVE_GL'
3810 _def_gl_win32
='#undef GL_WIN32'
3811 _novomodules
="opengl $_novomodules"
3816 echocheck
"/dev/mga_vid"
3817 if test "$_mga" = auto
; then
3819 test -c /dev
/mga_vid
&& _mga
=yes
3821 if test "$_mga" = yes ; then
3822 _def_mga
='#define HAVE_MGA 1'
3823 _vosrc
="$_vosrc vo_mga.c"
3824 _vomodules
="mga $_vomodules"
3826 _def_mga
='#undef HAVE_MGA'
3827 _novomodules
="mga $_novomodules"
3832 # echocheck "syncfb"
3834 # test "$_mga" = yes && _syncfb=yes
3835 # if test "$_syncfb" = yes ; then
3836 # _def_syncfb='#define HAVE_SYNCFB 1'
3837 # _vosrc="$_vosrc vo_syncfb.c"
3839 # _def_syncfb='#undef HAVE_SYNCFB'
3841 # echores "$_syncfb"
3845 if test "$_xmga" = auto
; then
3847 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3849 if test "$_xmga" = yes ; then
3850 _def_xmga
='#define HAVE_XMGA 1'
3851 _vosrc
="$_vosrc vo_xmga.c"
3852 _vomodules
="xmga $_vomodules"
3854 _def_xmga
='#undef HAVE_XMGA'
3855 _novomodules
="xmga $_novomodules"
3861 if test "$_ggi" = auto
; then
3863 #include <ggi/ggi.h>
3864 int main(void) { return 0; }
3867 cc_check
-lggi && _ggi
=yes
3869 if test "$_ggi" = yes ; then
3870 _def_ggi
='#define HAVE_GGI 1'
3872 _vosrc
="$_vosrc vo_ggi.c"
3873 _vomodules
="ggi $_vomodules"
3875 _def_ggi
='#undef HAVE_GGI'
3876 _novomodules
="ggi $_novomodules"
3880 echocheck
"GGI extension: libggiwmh"
3881 if test "$_ggiwmh" = auto
; then
3884 #include <ggi/ggi.h>
3885 #include <ggi/wmh.h>
3886 int main(void) { return 0; }
3888 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
3890 # needed to get right output on obscure combination
3891 # like --disable-ggi --enable-ggiwmh
3892 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
3893 _def_ggiwmh
='#define HAVE_GGIWMH 1'
3894 _ld_ggi
="$_ld_ggi -lggiwmh"
3897 _def_ggiwmh
='#undef HAVE_GGIWMH'
3903 if test "$_aa" = auto
; then
3906 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3909 if cc_check
-laa ; then
3912 elif cc_check
$_ld_x11 -laa ; then
3914 _ld_aa
="$_ld_x11 -laa"
3917 if test "$_aa" = yes ; then
3918 _def_aa
='#define HAVE_AA 1'
3920 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
3922 _vosrc
="$_vosrc vo_aa.c"
3923 _vomodules
="aa $_vomodules"
3925 _def_aa
='#undef HAVE_AA'
3926 _novomodules
="aa $_novomodules"
3932 if test "$_caca" = auto
; then
3934 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
3937 int main(void) { (void) caca_init(); return 0; }
3939 cc_check
`caca-config --libs` && _caca
=yes
3942 if test "$_caca" = yes ; then
3943 _def_caca
='#define HAVE_CACA 1'
3944 _inc_caca
=`caca-config --cflags`
3945 _ld_caca
=`caca-config --libs`
3946 _vosrc
="$_vosrc vo_caca.c"
3947 _vomodules
="caca $_vomodules"
3949 _def_caca
='#undef HAVE_CACA'
3950 _novomodules
="caca $_novomodules"
3956 if test "$_svga" = auto
; then
3960 int main(void) { return 0; }
3963 cc_check
-lvgagl -lvga $_ld_lm && _svga
=yes
3965 if test "$_svga" = yes ; then
3966 _def_svga
='#define HAVE_SVGALIB 1'
3967 _ld_svga
="-lvgagl -lvga $_ld_lm"
3968 _vosrc
="$_vosrc vo_svga.c"
3969 _vomodules
="svga $_vomodules"
3971 _def_svga
='#undef HAVE_SVGALIB'
3972 _novomodules
="svga $_novomodules"
3978 if test "$_fbdev" = auto
; then
3980 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
3982 if test "$_fbdev" = yes ; then
3983 _def_fbdev
='#define HAVE_FBDEV 1'
3984 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
3985 _vomodules
="fbdev $_vomodules"
3987 _def_fbdev
='#undef HAVE_FBDEV'
3988 _novomodules
="fbdev $_novomodules"
3995 if test "$_dvb" != no
; then
3998 #include <sys/poll.h>
3999 #include <sys/ioctl.h>
4004 #include <ost/dmx.h>
4005 #include <ost/frontend.h>
4006 #include <ost/sec.h>
4007 #include <ost/video.h>
4008 #include <ost/audio.h>
4009 int main(void) {return 0;}
4015 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
4016 if cc_check
"$I" ; then
4019 echores
"yes (using $_inc_dvb)"
4023 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
4028 if test "$_dvb" = yes ; then
4029 _def_dvb
='#define HAVE_DVB 1'
4030 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4031 _aomodules
="mpegpes(dvb) $_aomodules"
4032 _vomodules
="mpegpes(dvb) $_vomodules"
4034 if test "$_dvbhead" != no
; then
4035 echocheck
"DVB HEAD"
4036 if test "$_dvbhead" != no
; then
4040 #include <sys/poll.h>
4041 #include <sys/ioctl.h>
4046 #include <linux/dvb/dmx.h>
4047 #include <linux/dvb/frontend.h>
4048 #include <linux/dvb/video.h>
4049 #include <linux/dvb/audio.h>
4050 int main(void) {return 0;}
4056 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
4057 if cc_check
"$I" ; then
4060 echores
"yes (using $_inc_dvb)"
4064 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
4069 if test "$_dvbhead" = yes ; then
4070 _def_dvb
='#define HAVE_DVB_HEAD 1'
4071 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4072 _aomodules
="mpegpes(dvb) $_aomodules"
4073 _vomodules
="mpegpes(dvb) $_vomodules"
4076 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4077 _def_dvb
='#undef HAVE_DVB'
4078 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
4079 _aomodules
="mpegpes(file) $_aomodules"
4080 _vomodules
="mpegpes(file) $_vomodules"
4083 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4085 _inputmodules
="dvb $_inputmodules"
4088 _noinputmodules
="dvb $_noinputmodules"
4091 echocheck
"PNG support"
4092 if test "$_png" = auto
; then
4095 # Don't check for -lpng on irix since it has its own libpng
4096 # incompatible with the GNU libpng
4097 echores
"disabled on irix (not GNU libpng)"
4103 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4104 printf("libpng: %s\n", png_libpng_ver);
4105 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4108 if cc_check
-lpng -lz $_ld_lm ; then
4109 if "$TMPO" >> "$TMPLOG" ; then
4113 echores
"no (mismatch of library and header versions)"
4122 if test "$_png" = yes ; then
4123 _def_png
='#define HAVE_PNG 1'
4125 _vosrc
="$_vosrc vo_png.c"
4126 _vomodules
="png $_vomodules"
4129 _def_png
='#undef HAVE_PNG'
4130 _novomodules
="png $_novomodules"
4134 echocheck
"JPEG support"
4135 if test "$_jpg" = auto
; then
4142 #include <jpeglib.h>
4147 if cc_check
-ljpeg $_ld_lm ; then
4148 if "$TMPO" >> "$TMPLOG" ; then
4155 if test "$_jpg" = yes ; then
4156 _def_jpg
='#define HAVE_JPEG 1'
4157 _vosrc
="$_vosrc vo_jpeg.c"
4158 _vomodules
="jpeg $_vomodules"
4162 _def_jpg
='#undef HAVE_JPEG'
4163 _novomodules
="jpeg $_novomodules"
4169 echocheck
"PNM support"
4170 if test "$_pnm" = yes; then
4171 _def_pnm
="#define HAVE_PNM"
4172 _vosrc
="$_vosrc vo_pnm.c"
4173 _vomodules
="pnm $_vomodules"
4175 _def_pnm
="#undef HAVE_PNM"
4176 _novomodules
="pnm $_novomodules"
4182 echocheck
"md5sum support"
4183 if test "$_md5sum" = yes; then
4184 _def_md5sum
="#define HAVE_MD5SUM"
4185 _vosrc
="$_vosrc vo_md5sum.c md5sum.c"
4186 _vomodules
="md5sum $_vomodules"
4188 _def_md5sum
="#undef HAVE_MD5SUM"
4189 _novomodules
="md5sum $_novomodules"
4195 echocheck
"GIF support"
4196 # This is to appease people who want to force gif support.
4197 # If it is forced to yes, then we still do checks to determine
4198 # which gif library to use.
4199 if test "$_gif" = yes ; then
4204 if test "$_gif" = auto
; then
4207 #include <gif_lib.h>
4212 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
4215 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4217 _ld_gif
="-lungif $_ld_x11"
4218 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
4221 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4223 _ld_gif
="-lgif $_ld_x11"
4227 # If no library was found, and the user wants support forced,
4228 # then we force it on with libgif, as this is the safest
4229 # assumption IMHO. (libungif & libregif both create symbolic
4230 # links to libgif. We also assume that no x11 support is needed,
4231 # because if you are forcing this, then you _should_ know what
4232 # you are doing. [ Besides, package maintainers should never
4233 # have compiled x11 deps into libungif in the first place. ] )
4236 if test "$_force_gif" = yes && test "$_gif" = no
; then
4241 if test "$_gif" = yes ; then
4242 _def_gif
='#define HAVE_GIF 1'
4243 _vosrc
="$_vosrc vo_gif89a.c"
4244 _codecmodules
="gif $_codecmodules"
4245 _vomodules
="gif89a $_vomodules"
4247 _gif
="yes (old version, some encoding functions disabled)"
4248 _def_gif_4
='#undef HAVE_GIF_4'
4252 #include <gif_lib.h>
4253 void catch() { exit(1); }
4255 signal(SIGSEGV, catch); // catch segfault
4256 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4257 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4261 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4262 _def_gif_4
='#define HAVE_GIF_4 1'
4266 _def_gif
='#undef HAVE_GIF'
4267 _def_gif_4
='#undef HAVE_GIF_4'
4268 _novomodules
="gif89a $_novomodules"
4269 _nocodecmodules
="gif $_nocodecmodules"
4275 case "$_gif" in yes*)
4276 echocheck
"broken giflib workaround"
4277 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4280 #include <gif_lib.h>
4283 printf("UserData is at address %p\n", gif.UserData);
4287 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4288 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4297 echocheck
"VESA support"
4298 if test "$_vesa" = auto
; then
4299 if x86
&& linux
; then
4303 int main(void) { return 0; }
4305 cc_check
&& _vesa
=yes
4308 if test "$_vesa" = yes ; then
4309 _def_vesa
='#define HAVE_VESA 1'
4310 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
4311 _vomodules
="vesa $_vomodules"
4314 _def_vesa
='#undef HAVE_VESA'
4315 echores
"no (not supported on this OS/architecture)"
4316 _novomodules
="vesa $_novomodules"
4325 if test -z "$_sdlconfig" ; then
4326 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4327 _sdlconfig
="sdl-config"
4328 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4329 _sdlconfig
="sdl11-config"
4334 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4337 int main(int argc, char *argv[]) { return 0; }
4340 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4341 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4342 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4343 if test "$_sdlversion" -gt 116 ; then
4344 if test "$_sdlversion" -lt 121 ; then
4345 _def_sdlbuggy
='#define BUGGY_SDL'
4347 _def_sdlbuggy
='#undef BUGGY_SDL'
4356 if test "$_sdl" = yes ; then
4357 _def_sdl
='#define HAVE_SDL 1'
4359 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4360 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4362 _ld_sdl
=`$_sdlconfig --libs | sed s/-mwindows//`
4363 _inc_sdl
=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4365 _ld_sdl
=`$_sdlconfig --libs`
4366 _inc_sdl
=`$_sdlconfig --cflags`
4368 _vosrc
="$_vosrc vo_sdl.c"
4369 _vomodules
="sdl $_vomodules"
4370 _aosrc
="$_aosrc ao_sdl.c"
4371 _aomodules
="sdl $_aomodules"
4372 echores
"yes (using $_sdlconfig)"
4374 _def_sdl
='#undef HAVE_SDL'
4375 _novomodules
="sdl $_novomodules"
4376 _noaomodules
="sdl $_noaomodules"
4380 echocheck
"Windows waveout"
4381 if test "$_win32waveout" = auto
; then
4383 #include <windows.h>
4384 #include <mmsystem.h>
4385 int main(void) { return 0; }
4388 cc_check
-lwinmm && _win32waveout
=yes
4390 if test "$_win32waveout" = yes ; then
4391 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4392 _ld_win32libs
="-lwinmm $_ld_win32libs"
4393 _aosrc
="$_aosrc ao_win32.c"
4394 _aomodules
="win32 $_aomodules"
4396 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4397 _noaomodules
="win32 $_noaomodules"
4399 echores
"$_win32waveout"
4402 if test "$_directx" = auto
; then
4404 #include <windows.h>
4407 int main(void) { return 0; }
4410 cc_check
-lgdi32 && _directx
=yes
4412 if test "$_directx" = yes ; then
4413 _def_directx
='#define HAVE_DIRECTX 1'
4414 _ld_win32libs
="-lgdi32 $_ld_win32libs"
4415 _vosrc
="$_vosrc vo_directx.c"
4416 _vomodules
="directx $_vomodules"
4417 _aosrc
="$_aosrc ao_dsound.c"
4418 _aomodules
="dsound $_aomodules"
4420 _def_directx
='#undef HAVE_DIRECTX'
4421 _novomodules
="directx $_novomodules"
4422 _noaomodules
="dsound $_noaomodules"
4427 if test "$_nas" = auto ||
test "$_nas" = yes ; then
4429 #include <audio/audiolib.h>
4430 int main(void) { return 0; }
4433 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas
=yes
4435 if test "$_nas" = yes ; then
4436 _def_nas
='#define HAVE_NAS 1'
4437 _ld_nas
="-laudio -lXt $_ld_x11"
4438 _aosrc
="$_aosrc ao_nas.c"
4439 _aomodules
="nas $_aomodules"
4441 _noaomodules
="nas $_noaomodules"
4442 _def_nas
='#undef HAVE_NAS'
4447 if test "$_dxr2" = auto
; then
4449 for _inc_dxr2
in "$_inc_dxr2" \
4450 "-I/usr/local/include/dxr2" \
4451 "-I/usr/include/dxr2"; do
4453 #include <dxr2ioctl.h>
4454 int main(void) { return 0; }
4456 cc_check
$_inc_dxr2 && _dxr2
=yes && break
4459 if test "$_dxr2" = yes; then
4460 _def_dxr2
='#define HAVE_DXR2 1'
4461 _vosrc
="$_vosrc vo_dxr2.c"
4462 _aosrc
="$_aosrc ao_dxr2.c"
4463 _aomodules
="dxr2 $_aomodules"
4464 _vomodules
="dxr2 $_vomodules"
4465 echores
"yes (using $_inc_dxr2)"
4467 _def_dxr2
='#undef HAVE_DXR2'
4468 _noaomodules
="dxr2 $_noaomodules"
4469 _novomodules
="dxr2 $_novomodules"
4475 if test "$_dxr3" = auto
; then
4477 #include <linux/em8300.h>
4478 int main(void) { return 0; }
4481 cc_check
&& _dxr3
=yes
4483 if test "$_dxr3" = yes ; then
4484 _def_dxr3
='#define HAVE_DXR3 1'
4485 _vosrc
="$_vosrc vo_dxr3.c"
4486 _vomodules
="dxr3 $_vomodules"
4488 _def_dxr3
='#undef HAVE_DXR3'
4489 _novomodules
="dxr3 $_novomodules"
4490 if test "$_mp1e" = auto
; then
4491 # we don't need mp1e
4498 if test "$_mmx" = no
; then
4499 # mp1e REQUIRES mmx!
4502 if test "$_mp1e" != no
; then
4504 _def_mp1e
='#define USE_MP1E'
4505 _ld_mp1e
='libmp1e/libmp1e.a'
4506 _dep_mp1e
='libmp1e/libmp1e.a'
4509 _def_mp1e
='#undef USE_MP1E'
4517 if test "$_fame" = auto
; then
4519 test "$_dxr2" = yes && _fame
=auto
4520 test "$_dxr3" = yes && _fame
=auto
4521 test "$_dvb" = yes && _fame
=auto
4523 if test "$_fame" = auto
; then
4525 if test -d libfame
&& test -f libfame
/fame.h
; then
4526 # disable fame on cygwin as no sense to port - atmos
4530 echores
"no (no fame dir)"
4536 _def_fame
='#undef USE_LIBFAME'
4537 if test "$_fame" = yes ; then
4538 _def_fame
='#define USE_LIBFAME 1'
4539 _ld_fame
='libfame/libfame.a'
4548 echocheck
"OSS Audio"
4549 if test "$_ossaudio" = auto
; then
4551 #include <sys/ioctl.h>
4553 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4556 cc_check
&& _ossaudio
=yes
4558 if test "$_ossaudio" = yes ; then
4559 _def_ossaudio
='#define USE_OSS_AUDIO 1'
4560 _aosrc
="$_aosrc ao_oss.c"
4561 _aomodules
="oss $_aomodules"
4562 if test "$_linux_devfs" = yes; then
4563 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
4564 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4567 #include <sys/ioctl.h>
4569 #ifdef OPEN_SOUND_SYSTEM
4570 int main(void) { return 0; }
4572 #error Not the real thing
4576 cc_check
&& _real_ossaudio
=yes
4577 if test "$_real_ossaudio" = yes; then
4578 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4579 elif netbsd || openbsd
; then
4580 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4581 _ld_arch
="$_ld_arch -lossaudio"
4583 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4585 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4588 _def_ossaudio
='#undef USE_OSS_AUDIO'
4589 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4590 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4591 _noaomodules
="oss $_noaomodules"
4593 echores
"$_ossaudio"
4597 if test "$_arts" = auto
; then
4599 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4603 int main(void) { return 0; }
4605 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
4610 if test "$_arts" = yes ; then
4611 _def_arts
='#define USE_ARTS 1'
4612 _aosrc
="$_aosrc ao_arts.c"
4613 _aomodules
="arts $_aomodules"
4614 _ld_arts
=`artsc-config --libs`
4615 _inc_arts
=`artsc-config --cflags`
4617 _noaomodules
="arts $_noaomodules"
4623 if test "$_esd" = auto
; then
4625 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4629 int main(void) { return 0; }
4631 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
4637 if test "$_esd" = yes ; then
4638 _def_esd
='#define USE_ESD 1'
4639 _aosrc
="$_aosrc ao_esd.c"
4640 _aomodules
="esd $_aomodules"
4641 _ld_esd
=`esd-config --libs`
4642 _inc_esd
=`esd-config --cflags`
4644 echocheck
"esd_get_latency()"
4647 int main(void) { return esd_get_latency(0); }
4649 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
4650 echores
"$_esd_latency"
4652 _def_esd
='#undef USE_ESD'
4653 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
4654 _noaomodules
="esd $_noaomodules"
4658 if test "$_polyp" = auto
; then
4660 if ( pkg-config
--exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4663 #include <polyp/polyplib.h>
4664 #include <polyp/mainloop.h>
4665 #include <polyp/polyplib-error.h>
4666 int main(void) { return 0; }
4668 cc_check
`pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _polyp
=yes
4674 if test "$_polyp" = yes ; then
4675 _def_polyp
='#define USE_POLYP 1'
4676 _aosrc
="$_aosrc ao_polyp.c"
4677 _aomodules
="polyp $_aomodules"
4678 _ld_polyp
=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4679 _inc_polyp
=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4681 _def_polyp
='#undef USE_POLYP'
4682 _noaomodules
="polyp $_noaomodules"
4687 if test "$_jack" = auto
; then
4689 if ( ( pkg-config
--modversion jack
) > /dev
/null
2>&1 ) &&
4690 ( jackd
--version |
grep version |
awk '{ print $3 }' ) >> "$TMPLOG" 2>&1 ; then
4693 #include <jack/jack.h>
4694 int main(void) { jack_client_new("test"); return 0; }
4696 cc_check
`pkg-config --libs --cflags jack` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _jack
=yes
4700 if test "$_jack" = yes ; then
4701 _def_jack
='#define USE_JACK 1'
4702 _aosrc
="$_aosrc ao_jack.c"
4703 _aomodules
="jack $_aomodules"
4704 _ld_jack
="`pkg-config --libs jack`"
4705 _inc_jack
=`pkg-config --cflags jack`
4707 _noaomodules
="jack $_noaomodules"
4712 echocheck
"ALSA audio"
4713 if test "$_alsa" != no
; then
4716 #include <sys/asoundlib.h>
4717 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
4719 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
4722 #include <sys/asoundlib.h>
4723 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4725 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-sys'
4727 #include <alsa/asoundlib.h>
4728 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4730 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
4733 #include <sys/asoundlib.h>
4734 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4736 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-sys'
4738 #include <alsa/asoundlib.h>
4739 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4741 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-alsa'
4743 _def_alsa5
='#undef HAVE_ALSA5'
4744 _def_alsa9
='#undef HAVE_ALSA9'
4745 _def_alsa1x
='#undef HAVE_ALSA1X'
4746 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
4747 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
4748 if test "$_alsaver" ; then
4749 if test "$_alsaver" = '0.5.x' ; then
4750 _aosrc
="$_aosrc ao_alsa5.c"
4751 _aomodules
="alsa5 $_aomodules"
4752 _def_alsa5
='#define HAVE_ALSA5 1'
4753 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4754 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
4755 elif test "$_alsaver" = '0.9.x-sys' ; then
4756 _aosrc
="$_aosrc ao_alsa.c"
4757 _aomodules
="alsa $_aomodules"
4758 _def_alsa9
='#define HAVE_ALSA9 1'
4759 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4760 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
4761 elif test "$_alsaver" = '0.9.x-alsa' ; then
4762 _aosrc
="$_aosrc ao_alsa.c"
4763 _aomodules
="alsa $_aomodules"
4764 _def_alsa9
='#define HAVE_ALSA9 1'
4765 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4766 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
4767 elif test "$_alsaver" = '1.0.x-sys' ; then
4768 _aosrc
="$_aosrc ao_alsa.c"
4769 _aomodules
="alsa $_aomodules"
4770 _def_alsa1x
="#define HAVE_ALSA1X 1"
4771 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4772 echores
"yes (using alsa 1.0.x and sys/asoundlib.h)"
4773 elif test "$_alsaver" = '1.0.x-alsa' ; then
4774 _aosrc
="$_aosrc ao_alsa.c"
4775 _aomodules
="alsa $_aomodules"
4776 _def_alsa1x
="#define HAVE_ALSA1X 1"
4777 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4778 echores
"yes (using alsa 1.0.x and alsa/asoundlib.h)"
4780 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
4782 _noaomodules
="alsa $_noaomodules"
4787 echocheck
"Sun audio"
4788 if test "$_sunaudio" = auto
; then
4790 #include <sys/types.h>
4791 #include <sys/audioio.h>
4792 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4795 cc_check
&& _sunaudio
=yes
4797 if test "$_sunaudio" = yes ; then
4798 _def_sunaudio
='#define USE_SUN_AUDIO 1'
4799 _aosrc
="$_aosrc ao_sun.c"
4800 _aomodules
="sun $_aomodules"
4802 _def_sunaudio
='#undef USE_SUN_AUDIO'
4803 _noaomodules
="sun $_noaomodules"
4805 echores
"$_sunaudio"
4808 echocheck
"Sun mediaLib"
4809 if test "$_mlib" = auto
; then
4811 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
4814 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4816 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
4818 if test "$_mlib" = yes ; then
4819 _def_mlib
='#define HAVE_MLIB 1'
4820 _inc_mlib
=" -I${_mlibdir}/include "
4821 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4823 _def_mlib
='#undef HAVE_MLIB'
4828 echocheck
"SGI audio"
4829 if test "$_sgiaudio" = auto
; then
4830 # check for SGI audio
4832 #include <dmedia/audio.h>
4833 int main(void) { return 0; }
4836 cc_check
&& _sgiaudio
=yes
4838 if test "$_sgiaudio" = "yes" ; then
4839 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
4840 _ld_sgiaudio
='-laudio'
4841 _aosrc
="$_aosrc ao_sgi.c"
4842 _aomodules
="sgi $_aomodules"
4844 _def_sgiaudio
='#undef USE_SGI_AUDIO'
4845 _noaomodules
="sgi $_noaomodules"
4847 echores
"$_sgiaudio"
4850 echocheck
"VCD support"
4851 if linux || bsdos || freebsd || netbsd || sunos || darwin
; then
4852 _inputmodules
="vcd $_inputmodules"
4853 _def_vcd
='#define HAVE_VCD 1'
4856 _def_vcd
='#undef HAVE_VCD'
4857 _noinputmodules
="vcd $_noinputmodules"
4858 echores
"not supported on this OS"
4861 echocheck
"DVD support (libmpdvdkit)"
4862 if test "$_dvdkit" = auto
; then
4864 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux
; then
4865 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
4866 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
4869 if test "$_dvdkit" = yes ; then
4870 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
4871 if test -f "./libmpdvdkit2/Makefile" ; then
4872 _inputmodules
="mpdvdkit2 $_inputmodules"
4873 _dvdread
=libmpdvdkit2
4877 _inputmodules
="mpdvdkit $_inputmodules"
4878 _dvdread
=libmpdvdkit
4881 _noinputmodules
="mpdvdkit $_noinputmodules"
4883 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
4884 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
4885 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
4886 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
4887 if linux || netbsd || openbsd || bsdos
; then
4888 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
4890 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
4894 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
4897 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
4902 _noinputmodules
="mpdvdkit $_noinputmodules"
4904 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
4910 echocheck
"DVD support (libdvdread)"
4911 if test "$_dvdread" = auto
; then
4913 #include <inttypes.h>
4914 #include <dvdread/dvd_reader.h>
4915 #include <dvdread/ifo_types.h>
4916 #include <dvdread/ifo_read.h>
4917 #include <dvdread/nav_read.h>
4918 int main(void) { return 0; }
4921 if test "$_dl" = yes; then
4923 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4927 _def_mpdvdkit
="#undef USE_MPDVDKIT"
4931 _def_dvdread
='#define USE_DVDREAD 1'
4932 _ld_dvdread
='-ldvdread'
4933 _inputmodules
="dvdread $_inputmodules"
4937 _def_dvdread
='#undef USE_DVDREAD'
4938 _noinputmodules
="dvdread $_noinputmodules"
4943 _def_dvdread
='#define USE_DVDREAD 1'
4944 _ld_dvdread
='-Llibmpdvdkit -lmpdvdkit'
4945 _noinputmodules
="dvdread $_noinputmodules"
4946 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
4947 echores
"disabled by libmpdvdkit"
4951 _def_dvdread
='#define USE_DVDREAD 1'
4952 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
4953 _noinputmodules
="dvdread $_noinputmodules"
4954 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
4955 echores
"disabled by libmpdvdkit2"
4959 # dvdnav disabled, it does not work
4960 # echocheck "DVD support (libdvdnav)"
4961 # if test "$_dvdnav" = yes ; then
4963 # #include <dvdnav.h>
4964 # int main(void) { dvdnav_t *dvd=0; return 0; }
4967 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4968 # if test -z "$_dvdnavconfig" ; then
4969 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4970 # _dvdnavconfig="dvdnav-config"
4973 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4975 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4976 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4978 # if test "$_dvdnav" = yes ; then
4980 # _def_dvdnav='#define USE_DVDNAV 1'
4981 # if test -n "$_legal_dvdnavdir" ; then
4982 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4983 # elif test -n "$_dvdnavconfig" ; then
4984 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4986 # _ld_css="$_ld_css -ldvdnav"
4988 # if test -n "$_dvdnavconfig" ; then
4989 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4990 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4992 # if test -n "$_dvdnavdir" ; then
4993 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4995 # _inputmodules="dvdnav $_inputmodules"
4998 # _def_dvdnav='#undef USE_DVDNAV'
4999 # _noinputmodules="dvdnav $_noinputmodules"
5003 echocheck
"cdparanoia"
5004 if test "$_cdparanoia" = auto
; then
5006 #include <cdda_interface.h>
5007 #include <cdda_paranoia.h>
5008 // This need a better test. How ?
5009 int main(void) { return 1; }
5012 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
5015 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
5016 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
5017 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
5022 if test "$_cdparanoia" = yes ; then
5023 _def_cdparanoia
='#define HAVE_CDDA'
5024 _inputmodules
="cdda $_inputmodules"
5025 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5026 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
5028 _def_cdparanoia
='#undef HAVE_CDDA'
5029 _noinputmodules
="cdda $_noinputmodules"
5031 echores
"$_cdparanoia"
5034 echocheck
"freetype >= 2.0.9"
5036 # freetype depends on iconv
5037 if test "$_iconv" = no
; then
5038 _freetype
="no (iconv support needed)"
5041 if test "$_freetype" = auto
; then
5042 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5045 #include <ft2build.h>
5046 #include FT_FREETYPE_H
5047 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5048 #error "Need FreeType 2.0.9 or newer"
5053 FT_Int major=-1,minor=-1,patch=-1;
5054 int err=FT_Init_FreeType(&library);
5056 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5059 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5060 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5061 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5062 (int)major,(int)minor,(int)patch );
5063 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5064 printf("Library and header version mismatch! Fix it in your distribution!\n");
5071 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
5076 if test "$_freetype" = yes ; then
5077 _def_freetype
='#define HAVE_FREETYPE'
5078 _inc_freetype
=`$_freetypeconfig --cflags`
5079 _ld_freetype
=`$_freetypeconfig --libs`
5081 _def_freetype
='#undef HAVE_FREETYPE'
5083 echores
"$_freetype"
5085 if test "$_freetype" = no
; then
5088 echocheck
"fontconfig"
5089 if test "$_fontconfig" = auto
; then
5090 if ( pkg-config
--modversion fontconfig
) > /dev
/null
2>&1 ; then
5093 #include <fontconfig/fontconfig.h>
5098 printf("Couldn't initialize fontconfig lib\n");
5106 cc_check
`pkg-config --cflags --libs fontconfig` && ( $TMPO >> "$TMPLOG" ) && _fontconfig
=yes
5111 if test "$_fontconfig" = yes ; then
5112 _def_fontconfig
='#define HAVE_FONTCONFIG'
5113 _inc_fontconfig
=`pkg-config --cflags fontconfig`
5114 _ld_fontconfig
=`pkg-config --libs fontconfig`
5116 _def_fontconfig
='#undef HAVE_FONTCONFIG'
5118 echores
"$_fontconfig"
5120 echocheck
"fribidi with charsets"
5121 if test "$_fribidi" = yes ; then
5122 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
5125 /* workaround for fribidi 0.10.4 and below */
5126 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5127 #include <fribidi/fribidi.h>
5130 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5131 printf("Fribidi headers are not consistents with the library!\n");
5138 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
5143 if test "$_fribidi" = yes ; then
5144 _def_fribidi
='#define USE_FRIBIDI'
5145 _inc_fribidi
=`$_fribidiconfig --cflags`
5146 _ld_fribidi
=`$_fribidiconfig --libs`
5148 _def_fribidi
='#undef USE_FRIBIDI'
5154 if test "$_enca" = auto
; then
5161 langs = enca_get_languages(&langcnt);
5166 cc_check
-lenca && _enca
=yes
5168 if test "$_enca" = yes ; then
5169 _def_enca
='#define HAVE_ENCA 1'
5172 _def_enca
='#undef HAVE_ENCA'
5180 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5183 cc_check
-lz && _zlib
=yes
5184 if test "$_zlib" = yes ; then
5185 _def_zlib
='#define HAVE_ZLIB 1'
5188 _def_zlib
='#undef HAVE_ZLIB'
5194 if test "$_rtc" = auto
; then
5196 #include <sys/ioctl.h>
5198 #include <linux/rtc.h>
5201 #define RTC_PIE_ON RTCIO_PIE_ON
5203 int main(void) { return RTC_PIE_ON; }
5206 cc_check
&& _rtc
=yes
5208 if test "$_rtc" = yes ; then
5209 _def_rtc
='#define HAVE_RTC 1'
5211 _def_rtc
='#undef HAVE_RTC'
5216 echocheck
"external liblzo support"
5217 if test "$_liblzo" = auto
; then
5221 int main(void) { lzo_init();return 0; }
5223 cc_check
-llzo && _liblzo
=yes
5225 if test "$_liblzo" = yes ; then
5226 _def_liblzo
='#define USE_LIBLZO 1'
5228 _codecmodules
="liblzo $_codecmodules"
5230 _def_liblzo
='#undef USE_LIBLZO'
5231 _nocodecmodules
="liblzo $_nocodecmodules"
5236 echocheck
"mad support"
5237 if test "$_mad" = auto
; then
5241 int main(void) { return 0; }
5243 cc_check
$_madlibdir -lmad && _mad
=yes
5245 if test "$_mad" = yes ; then
5246 _def_mad
='#define USE_LIBMAD 1'
5248 _codecmodules
="libmad $_codecmodules"
5250 _def_mad
='#undef USE_LIBMAD'
5251 _nocodecmodules
="libmad $_nocodecmodules"
5256 if test "$_toolame" = auto
; then
5258 #include <toolame.h>
5259 int main(void) { toolame_init(); return 0; }
5262 _toolame_extraflags
=""
5263 _toolame_lib
="-ltoolame"
5264 if test -n "$_toolamedir"; then
5265 _toolame_extraflags
="-I$_toolamedir -L$_toolamedir"
5267 cc_check
$_toolame_extraflags $_toolame_lib $_ld_lm && _toolame
=yes
5269 if test "$_toolame" = yes ; then
5270 _def_toolame
='#define HAVE_TOOLAME 1'
5271 _codecmodules
="$_codecmodules toolame"
5273 _def_toolame
='#undef HAVE_TOOLAME'
5275 _nocodecmodules
="toolame $_nocodecmodules"
5277 if test -z "$_toolamedir" ; then
5280 echores
"$_toolame (using $_toolamedir)"
5284 if test "$_twolame" = auto
; then
5286 #include <twolame.h>
5287 int main(void) { twolame_init(); return 0; }
5290 _twolame_lib
="-ltwolame"
5291 cc_check
$_twolame_lib $_ld_lm && _twolame
=yes
5293 if test "$_twolame" = yes ; then
5294 _def_twolame
='#define HAVE_TWOLAME 1'
5295 _codecmodules
="$_codecmodules twolame"
5297 _def_twolame
='#undef HAVE_TWOLAME'
5299 _nocodecmodules
="twolame $_nocodecmodules"
5303 echocheck
"OggVorbis support"
5304 if test "$_tremor_internal" = yes; then
5306 elif test "$_vorbis" = auto
; then
5309 #include <vorbis/codec.h>
5310 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5312 cc_check
-lvorbis -logg $_ld_lm && _vorbis
=yes
5314 if test "$_vorbis" = yes ; then
5315 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5316 if test "$_tremor_internal" = yes ; then
5317 # do not set _ld_vorbis as it is resolved separately
5318 # mp3lame support for vorbis is deprecated so don't care
5319 _def_tremor
='#define TREMOR 1'
5320 if test "$_tremor_low" = yes ; then
5321 _tremor_flags
='-D_LOW_ACCURACY_'
5325 _codecmodules
="tremor(internal) $_codecmodules"
5326 elif test "$_tremor" = yes ; then
5327 _def_tremor
='#define TREMOR 1'
5328 _ld_vorbis
='-lvorbisidec'
5329 _codecmodules
="tremor $_codecmodules"
5331 _def_tremor
='#undef TREMOR'
5332 _ld_vorbis
='-lvorbis -logg'
5333 _codecmodules
="libvorbis $_codecmodules"
5336 _def_vorbis
='#undef HAVE_OGGVORBIS'
5337 _def_tremor
='#undef TREMOR'
5338 _nocodecmodules
="libvorbis $_nocodecmodules"
5340 if test "$_vorbis" = yes -a "$_tremor_internal" = yes -a "$_tremor_low" = yes ; then
5341 echores
"$_vorbis (internal low accuracy Tremor)"
5342 elif test "$_vorbis" = yes -a "$_tremor_internal" = yes ; then
5343 echores
"$_vorbis (internal Tremor)"
5344 elif test "$_vorbis" = yes -a "$_tremor" = yes ; then
5345 echores
"$_vorbis (Tremor)"
5350 echocheck
"OggTheora support (only the CVS version!)"
5351 if test "$_theora" = auto
; then
5354 #include <theora/theora.h>
5358 /* theora is in flux, make sure that all interface routines and
5359 * datatypes exist and work the way we expect it, so we don't break
5369 theora_info_init (&inf);
5370 theora_comment_init (&tc);
5374 /* we don't want to execute this kind of nonsense; just for making sure
5375 * that compilation works... */
5376 memset(&op, 0, sizeof(op));
5377 r = theora_decode_header (&inf, &tc, &op);
5378 r = theora_decode_init (&st, &inf);
5379 t = theora_granule_time (&st, op.granulepos);
5380 r = theora_decode_packetin (&st, &op);
5381 r = theora_decode_YUVout (&st, &yuv);
5387 cc_check
-ltheora -logg $_ld_lm && _theora
=yes
5389 if test "$_theora" = yes ; then
5390 _def_theora
='#define HAVE_OGGTHEORA 1'
5391 _codecmodules
="libtheora $_codecmodules"
5392 _ld_theora
="-ltheora -logg"
5394 _def_theora
='#undef HAVE_OGGTHEORA'
5395 _nocodecmodules
="libtheora $_nocodecmodules"
5399 echocheck
"mp3lib support"
5400 if test "$_mp3lib" = yes ; then
5401 _def_mp3lib
='#define USE_MP3LIB 1'
5402 _codecmodules
="mp3lib $_codecmodules"
5404 _def_mp3lib
='#undef USE_MP3LIB'
5405 _nocodecmodules
="mp3lib $_nocodecmodules"
5409 echocheck
"liba52 support"
5410 if test "$_liba52" = yes ; then
5411 _def_liba52
='#define USE_LIBA52 1'
5412 _codecmodules
="liba52 $_codecmodules"
5414 _def_liba52
='#undef USE_LIBA52'
5415 _nocodecmodules
="liba52 $_nocodecmodules"
5419 echocheck
"libdts support"
5420 if test "$_libdts" = auto
; then
5423 #include <inttypes.h>
5425 int main(void) { dts_init (0); return 0; }
5427 cc_check
$_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts
=yes
5429 if test "$_libdts" = yes ; then
5430 _def_libdts
='#define CONFIG_DTS 1'
5431 _ld_libdts
="$_ld_libdts -ldts $_ld_lm"
5432 _codecmodules
="libdts $_codecmodules"
5434 _def_libdts
='#undef CONFIG_DTS'
5435 _nocodecmodules
="libdts $_nocodecmodules"
5439 echocheck
"libmpeg2 support"
5440 if test "$_libmpeg2" = yes ; then
5441 _def_libmpeg2
='#define USE_LIBMPEG2 1'
5442 _codecmodules
="libmpeg2 $_codecmodules"
5444 _def_libmpeg2
='#undef USE_LIBMPEG2'
5445 _nocodecmodules
="libmpeg2 $_nocodecmodules"
5447 echores
"$_libmpeg2"
5450 echocheck
"Matroska support"
5451 if test "$_matroska_internal" = yes ; then
5452 _inputmodules
="matroska $_inputmodules"
5453 _def_matroska
='#define HAVE_MATROSKA 1'
5455 _noinputmodules
="matroska $_noinputmodules"
5456 _def_matroska
='#undef HAVE_MATROSKA'
5458 echores
"$_matroska_internal"
5460 echocheck
"FAAC (AAC encoder) support"
5461 if test "$_faac" = auto
; then
5463 #include <inttypes.h>
5465 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5467 if ( cc_check
-c -O4 -lfaac $_ld_lm ); then
5469 elif ( cc_check
-c -O4 -lfaac -lmp4v2 -lstdc++ $_ld_lm ); then
5471 _ld_faac
="-lmp4v2 -lstdc++"
5476 if test "$_faac" = yes ; then
5477 _def_faac
="#define HAVE_FAAC 1"
5478 _codecmodules
="$_codecmodules faac"
5479 _ld_faac
="-lfaac $_ld_faac"
5481 _def_faac
="#undef HAVE_FAAC"
5482 _nocodecmodules
="$_nocodecmodules faac"
5486 echocheck
"internal FAAD2 (AAC) support"
5487 _inc_faad
="-I`pwd`/libfaad2"
5488 if test "$_faad_internal" = auto
; then
5489 # the faad check needs a config.h file
5490 if not
test -f "config.h" ; then
5491 cat > config.h
<< EOF
5492 /* C99 lrintf function available */
5496 # internal faad: check if our dear gcc is able to compile it...
5497 cp "`pwd`/libfaad2/cfft.c" $TMPC
5498 if ( cc_check
-c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer $_opt_gnu99 -D_GNU_SOURCE $_inc_faad ); then
5501 _faad_internal
="no (broken gcc)"
5504 if test "$_faad_internal" = yes ; then
5505 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
5508 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
5511 echores
"$_faad_internal"
5514 echocheck
"external FAAD2 (AAC) support"
5515 if test "$_faad_external" != no
; then
5517 _inc_faad
="$_inc_extra"
5518 # external faad: check if it's really faad2 :)
5519 if test "$_faad_external" = auto
; then
5523 #ifndef FAAD_MIN_STREAMSIZE
5524 #error Too old version
5526 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5528 cc_check
$_inc_faad $_ld_faad $_ld_lm && _faad_external
=yes
5530 echores
"$_faad_external"
5535 if test "$_faad_external" = yes; then
5536 _def_faad
='#define HAVE_FAAD 1'
5537 _codecmodules
="faad2(external) $_codecmodules"
5538 elif test "$_faad_internal" = yes; then
5539 _def_faad
='#define HAVE_FAAD 1'
5540 _codecmodules
="faad2(internal) $_codecmodules"
5542 _def_faad
='#undef HAVE_FAAD'
5543 _nocodecmodules
="faad2 $_nocodecmodules"
5548 echocheck
"LADSPA plugin support"
5549 if test "$_ladspa" = auto
; then
5554 const LADSPA_Descriptor *ld = NULL;
5559 cc_check
&& _ladspa
=yes
5561 if test "$_ladspa" = yes; then
5562 _def_ladspa
="#define HAVE_LADSPA"
5563 _afsrc
="$_afsrc af_ladspa.c"
5564 _afmodules
="ladspa $_afmodules"
5566 _def_ladspa
="#undef HAVE_LADSPA"
5567 _noafmodules
="ladspa $_noafmodules"
5572 if test "$_win32" = auto
; then
5576 _win32
=no
# x86 arch only
5580 if test "$_win32" != no
; then
5581 if test -z "$_win32libdir" ; then
5582 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs
/usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5583 if test -d "$I" ; then
5591 echocheck
"Win32 codec DLL support"
5592 if test "$_win32" = auto
; then
5594 test -n "$_win32libdir" && _win32
=yes
5596 if test "$_win32" = yes ; then
5597 _def_win32
='#define USE_WIN32DLL 1'
5598 echores
"yes (using $_win32libdir)"
5600 _def_win32
='#undef USE_WIN32DLL'
5601 _nocodecmodules
="win32 $_nocodecmodules"
5606 if test "$_win32" != no
; then
5607 _def_win32_loader
='#undef WIN32_LOADER'
5608 echocheck
"Win32 loader support"
5609 _ld_win32
='loader/libloader.a'
5610 _dep_win32
='loader/libloader.a'
5611 _codecmodules
="win32 $_codecmodules"
5613 x86
&& _ld_win32
="$_ld_win32 -li386"
5616 _def_win32_loader
='#define WIN32_LOADER 1'
5619 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
5620 echores
"no (using native windows)"
5624 echocheck
"DirectShow"
5627 if test "$_dshow" != no
; then
5629 # check if compiler supports C++ and C++-libs are installed correctly
5630 cat > "$TMPCPP" << EOF
5634 public: int myreturn(void);
5636 int myclass::myreturn(void) { ret = 0; return ret ; }
5637 int main(void) { myclass myobject; return myobject.myreturn(); }
5639 echo "------------------------------------------------" >> "$TMPLOG"
5640 cat "$TMPCPP" >> "$TMPLOG"
5641 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
5643 echores
"yes (C++ is ok)"
5648 Your C++ runtime environment is broken.
5650 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5651 Are the C++ libraries correctly installed?
5652 Check for libstdc++ and in (/etc/)ld.so.conf.
5654 If you do not need DirectShow support, you can also use:
5655 ./configure --disable-dshow <your-normal-configure-options>
5656 to disable building the C++ based DirectShow code.
5659 die
"$_cc's C++ is broken"
5667 if test "$_dshow" = yes ; then
5668 _def_dshow
='#define USE_DIRECTSHOW 1'
5669 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5670 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5671 _codecmodules
="dshow/dmo $_codecmodules"
5673 _def_dshow
='#undef USE_DIRECTSHOW'
5674 _nocodecmodules
="dshow/dmo $_nocodecmodules"
5678 echocheck
"XAnim DLL"
5679 if test "$_xanim" = auto
; then
5681 if test "$_dl" = yes ; then
5682 if test -z "$_xanimlibdir" ; then
5683 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
5684 if test -d "$I" ; then
5690 test "$_xanimlibdir" && _xanim
=yes
5691 if test "$_xanim" = yes ; then
5692 echores
"yes (using $_xanimlibdir)"
5694 echores
"no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5697 echores
"no (dynamic loader support needed)"
5700 echores
"$_xanim (using $_xanimlibdir)"
5702 if test "$_xanim" = yes ; then
5703 _def_xanim
='#define USE_XANIM 1'
5704 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
5705 _codecmodules
="xanim $_codecmodules"
5707 _def_xanim
='#undef USE_XANIM'
5708 _def_xanim_path
='#undef XACODEC_PATH'
5709 _nocodecmodules
="xanim $_nocodecmodules"
5712 echocheck
"RealPlayer DLL"
5713 if test "$_real" = auto
; then
5715 if test "$_dl" = yes ||
test "$_win32" = yes ; then
5716 # if test "$_dl" = yes ; then
5717 if linux || freebsd || netbsd || win32 || darwin
; then
5720 echores
"no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin)"
5722 if test "$_real" = yes ; then
5723 if test -z "$_reallibdir" ; then
5724 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
5725 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
5726 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
5727 {~
,}/Applications
/RealOne\ Player.app
/Contents
/MacOS
/Library
/Codecs \
5729 if test -d "$I" ; then
5735 test "$_reallibdir" || _real
=no
5736 if test "$_real" = yes ; then
5737 echores
"yes (using $_reallibdir)"
5739 echores
"no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5743 echores
"no (dynamic loader support needed)"
5746 echores
"$_real (using $_reallibdir)"
5748 if test "$_real" = yes ; then
5749 _def_real
='#define USE_REALCODECS 1'
5750 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
5751 _codecmodules
="real $_codecmodules"
5753 _def_real
='#undef USE_REALCODECS'
5754 _def_real_path
="#undef REALCODEC_PATH"
5755 _nocodecmodules
="real $_nocodecmodules"
5759 echocheck
"LIVE.COM Streaming Media libraries"
5760 if test "$_live" = auto
&& test "$_network" = yes ; then
5764 #include <liveMedia.hh>
5765 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5766 #error Please upgrade to version 2004.07.19 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/>
5772 if test -z "$_livelibdir" ; then
5773 if cc_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
5776 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
5777 if test -d "$I" ; then
5785 if test "$_live_dist" = no
&& test "$_livelibdir" && cc_check
-I$_livelibdir/liveMedia
/include \
5786 -I$_livelibdir/UsageEnvironment
/include
-I$_livelibdir/groupsock
/include
; then
5793 if test "$_live" = yes && test "$_network" = yes ; then
5794 echores
"yes (using $_livelibdir)"
5795 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
5796 _live_libs_def
="# LIVE.COM Streaming Media libraries:
5797 LIVE_LIB_DIR = $_livelibdir
5798 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
5799 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
5800 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
5801 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
5802 LIVE_LIBS += -lstdc++
5803 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
5804 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
5805 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
5806 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
5807 _ld_live
='$(LIVE_LIBS)'
5808 _inputmodules
="live.com $_inputmodules"
5809 elif test "$_live_dist" = yes && test "$_network" = yes ; then
5810 echores
"yes (using distribution version)"
5812 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
5813 _live_libs_def
="# LIVE.COM Streaming Media libraries:
5814 LIVE_LIB_DIR = $_livelibdir
5815 LIVE_LIBS = -lliveMedia
5816 LIVE_LIBS += -lgroupsock
5817 LIVE_LIBS += -lUsageEnvironment
5818 LIVE_LIBS += -lBasicUsageEnvironment
5819 LIVE_LIBS += -lstdc++
5820 LIVE_INCLUDES = -I/usr/include/liveMedia
5821 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
5822 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
5823 LIVE_INCLUDES += -I/usr/include/groupsock"
5824 _ld_live
='$(LIVE_LIBS)'
5825 _inputmodules
="live.com $_inputmodules"
5828 _def_live
='#undef STREAMING_LIVE_DOT_COM'
5829 _noinputmodules
="live.com $_noinputmodules"
5833 echocheck
"FFmpeg libavcodec (static)"
5834 if test "$_libavcodec" = auto
; then
5835 # Note: static linking is preferred to dynamic linking
5837 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
5838 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
5842 echores
"no (old ffmpeg version, use CVS !)"
5845 echores
"no (see DOCS/HTML/$_doc_lang/codecs.html)"
5848 echores
"$_libavcodec"
5851 echocheck
"FFmpeg libavformat (static)"
5852 if test "$_libavformat" = auto
; then
5853 # Note: static linking is preferred to dynamic linking
5855 if test -d libavformat
&& test -f libavformat
/utils.c
; then
5862 echores
"$_libavformat"
5865 _def_haveffpostprocess
='no'
5866 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
5867 _def_haveffpostprocess
='yes'
5870 if test "$_libavcodec" != yes ; then
5871 echocheck
"FFmpeg libavcodec (dynamic)"
5872 if test "$_libavcodecso" = auto
; then
5874 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
5876 #define FF_POSTPROCESS 1
5877 #include <ffmpeg/avcodec.h>
5879 avcodec_find_encoder_by_name("");
5883 if cc_check
-lavcodec $_ld_lm ; then
5885 echores
"yes (using libavcodec.so)"
5887 echores
"no (libavcodec.so is broken/obsolete)"
5890 echores
"$_libavcodecso"
5894 _def_libavcodec
='#undef USE_LIBAVCODEC'
5895 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
5896 _def_ffpostprocess
='#undef FF_POSTPROCESS'
5897 if test "$_libavcodec" = yes ; then
5898 _def_libavcodec
='#define USE_LIBAVCODEC 1'
5899 _ld_libavcodec
='libavcodec/libavcodec.a'
5900 _dep_libavcodec
='libavcodec/libavcodec.a'
5901 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
5902 _codecmodules
="libavcodec $_codecmodules"
5903 elif test "$_libavcodecso" = yes ; then
5904 _def_libavcodec
='#define USE_LIBAVCODEC 1'
5905 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
5906 _ld_libavcodec
='-lavcodec'
5907 _codecmodules
="libavcodec.so $_codecmodules"
5909 _nocodecmodules
="libavcodec $_nocodecmodules"
5912 _def_libavformat
='#undef USE_LIBAVFORMAT'
5913 _def_libavformat_win32
='#undef CONFIG_WIN32'
5914 if test "$_libavformat" = yes ; then
5915 _def_libavformat
='#define USE_LIBAVFORMAT 1'
5916 _ld_libavformat
='libavformat/libavformat.a'
5917 _dep_libavformat
='libavformat/libavformat.a'
5919 _def_libavformat_win32
='#define CONFIG_WIN32 1'
5923 echocheck
"amr narrowband"
5925 if test "$_amr_nb" = auto
; then
5926 if test -f libavcodec
/amr_float
/sp_dec.c
; then
5927 if test "$_libavcodec" = yes ; then
5931 _echomsg
"libavcodec (static) is required by amr_nb, sorry"
5937 if test "$_amr_nb" = yes ; then
5938 _def_amr_nb
='#define AMR_NB 1'
5940 _def_amr_nb
='#undef AMR_NB'
5942 echores
"$_amr_nb $_echomsg"
5944 echocheck
"amr narrowband, fixed point"
5946 if test "$_amr_nb_fixed" = auto
; then
5947 if test -f libavcodec
/amr
/dtx_dec.c
; then
5948 if test "$_libavcodec" = yes ; then
5949 if test "$_amr_nb" = no
; then
5953 _echomsg
="(disabled by amr_nb)"
5957 _echomsg
"libavcodec (static) is required by amr_nb-fixed, sorry"
5963 if test "$_amr_nb_fixed" = yes ; then
5964 _def_amr_nb
='#define AMR_NB 1'
5965 _def_amr_nb_fixed
='#define AMR_NB_FIXED 1'
5968 _def_amr_nb_fixed
='#undef AMR_NB_FIXED'
5970 echores
"$_amr_nb_fixed $_echomsg"
5972 if test "$_amr_nb" = yes ; then
5973 _codecmodules
="amr_nb $_codecmodules"
5975 _nocodecmodules
="amr_nb $_nocodecmodules"
5978 echocheck
"amr wideband"
5980 if test "$_amr_wb" = auto
; then
5981 if test -f libavcodec
/amrwb_float
/dec_dtx.c
; then
5982 if test "$_libavcodec" = yes ; then
5986 _echomsg
="libavcodec (static) is required by amr_wb, sorry"
5992 if test "$_amr_wb" = yes ; then
5993 _def_amr_wb
='#define AMR_WB 1'
5994 _codecmodules
="amr_wb $_codecmodules"
5996 _def_amr_wb
='#undef AMR_WB'
5997 _nocodecmodules
="amr_wb $_nocodecmodules"
5999 echores
"$_amr_wb $_echomsg"
6001 echocheck
"libdv-0.9.5+"
6002 if test "$_libdv" = auto
; then
6005 #include <libdv/dv.h>
6006 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6008 cc_check
-ldv $_ld_lm && _libdv
=yes
6010 if test "$_libdv" = yes ; then
6011 _def_libdv
='#define HAVE_LIBDV095 1'
6013 _codecmodules
="libdv $_codecmodules"
6015 _def_libdv
='#undef HAVE_LIBDV095'
6016 _nocodecmodules
="libdv $_nocodecmodules"
6021 if test "$_zr" = auto
; then
6022 #36067's seem to identify themselves as 36057PQC's, so the line
6023 #below should work for 36067's and 36057's.
6024 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
6030 if test "$_zr" = yes ; then
6031 if test "$_libavcodec" = yes ; then
6032 _def_zr
='#define HAVE_ZR 1'
6033 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6034 _vomodules
="zr zr2 $_vomodules"
6037 echores
"libavcodec (static) is required by zr, sorry"
6038 _novomodules
="zr $_novomodules"
6039 _def_zr
='#undef HAVE_ZR'
6042 _def_zr
='#undef HAVE_ZR'
6043 _novomodules
="zr zr2 $_novomodules"
6048 if test "$_bl" = yes ; then
6049 _def_bl
='#define HAVE_BL 1'
6050 _vosrc
="$_vosrc vo_bl.c"
6051 _vomodules
="bl $_vomodules"
6053 _def_bl
='#undef HAVE_BL'
6054 _novomodules
="bl $_novomodules"
6061 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6063 _ld_xvid
="$_ld_xvid -lxvidcore $_ld_lm"
6064 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
6066 _def_xvid3
='#define HAVE_XVID3 1'
6067 _def_xvid4
='#undef HAVE_XVID4'
6068 _codecmodules
="xvid $_codecmodules"
6072 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6074 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
6076 _def_xvid3
='#undef HAVE_XVID3'
6077 _def_xvid4
='#define HAVE_XVID4 1'
6078 _codecmodules
="xvid $_codecmodules"
6082 _def_xvid3
='#undef HAVE_XVID3'
6083 _def_xvid4
='#undef HAVE_XVID4'
6084 _nocodecmodules
="xvid $_nocodecmodules"
6090 _def_decore_xvid
='#undef DECORE_XVID'
6091 _def_encore_xvid
='#undef ENCORE_XVID'
6092 if test "$_xvid" = yes ; then
6093 echocheck
"DivX4 compatibility in XviD"
6096 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6098 cc_check
$_ld_lm "$_ld_xvid" && _xvidcompat
=yes
6099 echores
"$_xvidcompat"
6104 #include <inttypes.h>
6107 #error We do not support old versions of x264. Get the latest from SVN.
6109 int main(void) { x264_encoder_open((void*)0); return 0; }
6111 _ld_x264
="$_ld_x264 -lx264 $_ld_lm $_ld_pthread"
6112 if test "$_x264" != no
&& cc_check
$_inc_x264 $_ld_x264 ; then
6114 _def_x264
='#define HAVE_X264 1'
6115 _codecmodules
="x264 $_codecmodules"
6119 _def_x264
='#undef HAVE_X264'
6120 _nocodecmodules
="x264 $_nocodecmodules"
6124 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
6125 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
6128 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
6130 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
6132 _ld_decore
='-ldivxdecore'
6133 _def_decore
='#define NEW_DECORE 1'
6134 _def_divx
='#define USE_DIVX'
6135 _def_divx5
='#undef DECORE_DIVX5'
6136 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6137 _codecmodules
="divx4linux $_codecmodules"
6138 echores
"DivX4linux (with libdivxdecore.so)"
6140 # if test "$_divx4linux" != no ; then
6142 # OdivxPP disabled because of:
6143 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
6146 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
6148 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
6150 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
6151 _ld_decore
='-ldivxdecore'
6152 _def_decore
='#define NEW_DECORE 1'
6153 _def_divx
='#define USE_DIVX'
6154 _def_divx5
='#define DECORE_DIVX5 1'
6155 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6156 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6157 _codecmodules
="divx5linux $_codecmodules"
6158 _nocodecmodules
="divx4linux $_nocodecmodules"
6159 echores
"DivX5linux (with libdivxdecore.so)"
6160 elif test "$_opendivx" != no
; then
6162 _ld_decore
='opendivx/libdecore.a'
6163 _def_decore
='#undef NEW_DECORE'
6164 _def_divx
='#define USE_DIVX'
6165 _def_divx5
='#undef DECORE_DIVX5'
6166 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
6167 _codecmodules
="opendivx $_codecmodules"
6168 _nocodecmodules
="divx5linux $_nocodecmodules"
6170 elif test "$_xvidcompat" = yes ; then
6173 _def_decore
='#define NEW_DECORE 1'
6174 _def_divx
='#define USE_DIVX 1'
6175 _def_divx5
='#undef DECORE_DIVX5'
6176 _def_decore_xvid
='#define DECORE_XVID 1'
6177 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6178 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
6179 echores
"XviD compat."
6183 _def_decore
='#undef NEW_DECORE'
6184 _def_divx
='#undef USE_DIVX'
6185 _def_divx5
='#undef DECORE_DIVX5'
6186 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6187 _nocodecmodules
="opendivx $_nocodecmodules"
6193 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
6194 if test "$_mencoder" != no
; then
6196 echocheck
"libmp3lame (for mencoder)"
6199 #include <lame/lame.h>
6200 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; }
6202 # Note: libmp3lame usually depends on vorbis
6203 cc_check
-lmp3lame $_ld_vorbis $_ld_lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
6204 if test "$_mp3lame" = yes ; then
6205 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
6206 _def_cfg_mp3lame
="#define CONFIG_MP3LAME `$TMPO`"
6207 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
6209 _def_mp3lame
='#undef HAVE_MP3LAME'
6210 _def_cfg_mp3lame
='#undef CONFIG_MP3LAME'
6215 echocheck
"DivX4linux encore (for mencoder)"
6217 #include <encore2.h>
6218 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
6220 if test "$_divx4linux" != no
&& cc_check
-ldivxencore $_ld_lm ; then
6221 _def_encore
='#define HAVE_DIVX4ENCORE 1'
6222 _ld_encore
='-ldivxencore'
6223 echores
"DivX4linux (with libdivxencore.so)"
6224 elif test "$_xvidcompat" = yes ; then
6225 _def_encore
='#define HAVE_DIVX4ENCORE 1'
6227 _def_encore_xvid
='#define ENCORE_XVID 1'
6228 echores
"XviD compat."
6230 _def_encore
='#undef HAVE_DIVX4ENCORE'
6236 echocheck
"mencoder"
6237 _mencoder_flag
='#undef HAVE_MENCODER'
6238 if test "$_mencoder" = yes ; then
6239 _mencoder_flag
='#define HAVE_MENCODER'
6241 echores
"$_mencoder"
6243 echocheck
"fastmemcpy"
6244 # fastmemcpy check is done earlier with tests of CPU & binutils features
6245 if test "$_fastmemcpy" = yes ; then
6246 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
6248 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
6250 echores
"$_fastmemcpy"
6252 echocheck
"UniquE RAR File Library"
6253 if test "$_unrarlib" = yes ; then
6254 _def_unrarlib
='#define USE_UNRARLIB 1'
6256 _def_unrarlib
='#undef USE_UNRARLIB'
6258 echores
"$_unrarlib"
6260 echocheck
"TV interface"
6261 if test "$_tv" = yes ; then
6262 _def_tv
='#define USE_TV 1'
6263 _inputmodules
="tv $_inputmodules"
6265 _noinputmodules
="tv $_noinputmodules"
6266 _def_tv
='#undef USE_TV'
6270 echocheck
"EDL support"
6271 if test "$_edl" = yes ; then
6272 _def_edl
='#define USE_EDL'
6273 _inputmodules
="edl $_inputmodules"
6275 _noinputmodules
="edl $_noinputmodules"
6276 _def_edl
='#undef USE_EDL'
6280 echocheck
"*BSD BrookTree 848 TV interface"
6281 if test "$_tv_bsdbt848" = auto
; then
6283 if test "$_tv" = yes ; then
6285 #include <sys/types.h>
6286 #if defined(__NetBSD__)
6287 #include <dev/ic/bt8xx.h>
6289 #include <machine/ioctl_bt848.h>
6291 int main(void) { return 0; }
6293 cc_check
&& _tv_bsdbt848
=yes
6296 if test "$_tv_bsdbt848" = yes ; then
6297 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
6298 _inputmodules
="tv-bsdbt848 $_inputmodules"
6300 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
6301 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
6303 echores
"$_tv_bsdbt848"
6305 echocheck
"Video 4 Linux TV interface"
6306 if test "$_tv_v4l" = auto
; then
6308 if test "$_tv" = yes && linux
; then
6309 for I
in /dev
/video
/dev
/video?
; do
6310 if test -c $I ; then
6313 #include <linux/videodev.h>
6314 int main(void) { return 0; }
6316 cc_check
&& _tv_v4l
=yes
6322 if test "$_tv_v4l" = yes ; then
6323 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6324 _inputmodules
="tv-v4l $_inputmodules"
6326 _noinputmodules
="tv-v4l $_noinputmodules"
6327 _def_tv_v4l
='#undef HAVE_TV_V4L'
6332 echocheck
"Video 4 Linux 2 TV interface"
6333 if test "$_tv_v4l2" = auto
; then
6335 if test "$_tv" = yes && linux
; then
6336 for I
in /dev
/video
/dev
/video?
; do
6337 if test -c $I ; then
6344 if test "$_tv_v4l2" = yes ; then
6345 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
6346 _inputmodules
="tv-v4l2 $_inputmodules"
6348 _noinputmodules
="tv-v4l2 $_noinputmodules"
6349 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
6354 echocheck
"audio select()"
6355 if test "$_select" = no
; then
6356 _def_select
='#undef HAVE_AUDIO_SELECT'
6357 elif test "$_select" = yes ; then
6358 _def_select
='#define HAVE_AUDIO_SELECT 1'
6364 # FIXME network check
6365 if test "$_network" != no
; then
6366 _def_network
='#define MPLAYER_NETWORK 1'
6367 _ld_network
="$_ld_sock"
6368 _inputmodules
="network $_inputmodules"
6370 _noinputmodules
="network $_noinputmodules"
6371 _def_network
='#undef MPLAYER_NETWORK'
6377 if (not beos
) && (test "$_ftp" != no
) ; then
6378 _def_ftp
='#define HAVE_FTP 1'
6379 _inputmodules
="ftp $_inputmodules"
6381 _noinputmodules
="ftp $_noinputmodules"
6382 _def_ftp
='#undef HAVE_FTP'
6386 echocheck
"vstream client"
6387 if test "$_vstream" = auto
; then
6390 #include <vstream-client.h>
6391 void vstream_error(const char *format, ... ) {}
6392 int main(void) { vstream_start(); return 0; }
6394 cc_check
-lvstream-client && _vstream
=yes
6396 if test "$_vstream" = yes ; then
6397 _def_vstream
='#define HAVE_VSTREAM 1'
6398 _inputmodules
="vstream $_inputmodules"
6399 _ld_vstream
='-lvstream-client'
6401 _noinputmodules
="vstream $_noinputmodules"
6402 _def_vstream
='#undef HAVE_VSTREAM'
6407 echocheck
"byte order"
6408 if test "$_big_endian" = auto
; then
6410 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6411 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6413 char* s = (char*)ascii_name;
6418 if strings $TMPO |
grep -l MPlayerBigEndian
>/dev
/null
; then
6424 echo -n "failed to autodetect byte order, defaulting to "
6427 if test "$_big_endian" = yes ; then
6428 _byte_order
='big-endian'
6429 _def_words_endian
='#define WORDS_BIGENDIAN 1'
6431 _byte_order
='little-endian'
6432 _def_words_endian
='#undef WORDS_BIGENDIAN'
6434 echores
"$_byte_order"
6436 echocheck
"shared postprocess lib"
6437 echores
"$_shared_pp"
6439 echocheck
"OSD menu"
6440 if test "$_menu" = yes ; then
6441 _def_menu
='#define HAVE_MENU 1'
6443 _def_menu
='#undef HAVE_MENU'
6447 # Check to see if they want QTX codecs enabled
6448 echocheck
"QTX codecs"
6449 if test "$_qtx" = auto
; then
6452 if test "$_qtx" = yes ; then
6453 _def_qtx
='#define USE_QTX_CODECS 1'
6454 _codecmodules
="qtx $_codecmodules"
6456 _def_qtx
='#undef USE_QTX_CODECS'
6457 _nocodecmodules
="qtx $_nocodecmodules"
6462 echocheck
"Subtitles sorting"
6463 if test "$_sortsub" = yes ; then
6464 _def_sortsub
='#define USE_SORTSUB 1'
6466 _def_sortsub
='#undef USE_SORTSUB'
6471 echocheck
"XMMS inputplugin support"
6472 if test "$_xmms" = yes ; then
6474 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6475 if test -z "$_xmmsplugindir" ; then
6476 _xmmsplugindir
=`xmms-config --input-plugin-dir`
6478 if test -z "$_xmmslibdir" ; then
6479 _xmmslibdir
=`xmms-config --exec-prefix`/lib
6482 if test -z "$_xmmsplugindir" ; then
6483 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6485 if test -z "$_xmmslibdir" ; then
6486 _xmmslibdir
=/usr
/lib
6490 _def_xmms
='#define HAVE_XMMS 1'
6492 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
6494 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6497 _def_xmms
='#undef HAVE_XMMS'
6502 if test "$_inet6" = auto
; then
6504 #include <sys/types.h>
6505 #include <sys/socket.h>
6506 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6513 if test "$_inet6" = yes ; then
6514 _def_inet6
='#define HAVE_AF_INET6 1'
6516 _def_inet6
='#undef HAVE_AF_INET6'
6521 echocheck
"gethostbyname2"
6522 if test "$_gethostbyname2" = auto
; then
6524 #include <sys/types.h>
6525 #include <sys/socket.h>
6527 int main(void) { gethostbyname2("", AF_INET); }
6535 if test "$_gethostbyname2" = yes ; then
6536 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
6538 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
6540 echores
"$_gethostbyname2"
6542 # --------------- GUI specific tests begin -------------------
6545 if test "$_gui" = yes ; then
6547 # Required libraries
6548 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6549 test "$_x11" != yes && die
"X11 support required for GUI compilation"
6551 echocheck
"XShape extension"
6553 if test "$_x11" = yes ; then
6555 #include <X11/Xlib.h>
6556 #include <X11/Xproto.h>
6557 #include <X11/Xutil.h>
6558 #include <X11/extensions/shape.h>
6561 char *name = ":0.0";
6564 int eventbase, errorbase;
6565 if (getenv("DISPLAY"))
6566 name=getenv("DISPLAY");
6567 wsDisplay=XOpenDisplay(name);
6568 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6570 XCloseDisplay(wsDisplay);
6574 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
6576 if test "$_xshape" = yes ; then
6577 _def_xshape
='#define HAVE_XSHAPE 1'
6579 die
"The GUI requires the X11 extension XShape (which was not found)."
6585 echocheck
"GTK version"
6586 if test -z "$_gtkconfig" ; then
6587 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
6588 _gtkconfig
="gtk-config"
6589 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
6590 _gtkconfig
="gtk12-config"
6592 die
"The GUI requires GTK devel packages (which were not found)."
6595 _gtk
=`$_gtkconfig --version 2>&1`
6596 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
6597 _ld_gtk
=`$_gtkconfig --libs 2>&1`
6598 echores
"$_gtk (using $_gtkconfig)"
6601 echocheck
"glib version"
6602 if test -z "$_glibconfig" ; then
6603 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
6604 _glibconfig
="glib-config"
6605 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
6606 _glibconfig
="glib12-config"
6608 die
"The GUI requires GLib devel packages (which were not found)"
6611 _glib
=`$_glibconfig --version 2>&1`
6612 _inc_glib
=`$_glibconfig --cflags 2>&1`
6613 _ld_glib
=`$_glibconfig --libs 2>&1`
6614 echores
"$_glib (using $_glibconfig)"
6616 _def_gui
='#define HAVE_NEW_GUI 1'
6617 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
6619 echo "Creating Gui/config.mak"
6620 cat > Gui
/config.mak
<< EOF
6621 # -------- Generated by configure -----------
6625 GLIBINC = $_inc_glib
6626 GLIBLIBS = $_ld_glib
6631 _def_gui
='#undef HAVE_NEW_GUI'
6633 # --------------- GUI specific tests end -------------------
6637 #############################################################################
6639 # Checking for CFLAGS
6641 if test "$_profile" != "" ||
test "$_debug" != "" ; then
6642 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6643 if test "$_cc_major" -ge "3" ; then
6644 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6647 elif test -z "$CFLAGS" ; then
6648 CFLAGS
="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6649 # always compile with '-g' if .developer:
6650 if test -f ".developer" ; then
6652 if (test "$_crash_debug" = auto
) && (not mingw32
) ; then
6660 MPlayer compilation will use the CFLAGS set by you, but:
6662 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
6664 It is strongly recommended to let MPlayer choose the correct CFLAGS!
6665 To do so, execute 'CFLAGS= ./configure <options>'
6670 echocheck
"automatic gdb attach"
6671 if test "$_crash_debug" = yes ; then
6672 _def_crash_debug
='#define CRASH_DEBUG 1'
6674 _def_crash_debug
='#undef CRASH_DEBUG'
6677 echores
"$_crash_debug"
6680 CFLAGS
="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN"
6681 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6682 CFLAGS
="$CFLAGS -no-cpp-precomp"
6685 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
6686 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
6689 # use flag for HPUX missing setenv()
6690 CFLAGS
="$CFLAGS -DHPUX"
6694 CFLAGS
="$CFLAGS -D_REENTRANT"
6696 # FIXME bsd needs this so maybe other OS'es
6697 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
6699 # 64 bit file offsets?
6700 if test "$_largefiles" = yes || freebsd
; then
6701 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6702 if test "$_dvdread" = yes ; then
6703 # dvdread support requires this (for off64_t)
6704 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
6708 echocheck
"compiler support for -fno-PIC"
6711 int main(void) { return 0; }
6713 if cc_check
-fno-PIC ; then
6714 CFLAGS
="-fno-PIC $CFLAGS"
6720 echores
"only used for x86"
6723 echocheck
"compiler support for noexecstack"
6725 int main(void) { return 0; }
6727 if cc_check
-Wl,-z,noexecstack
; then
6728 _ld_extra
="-Wl,-z,noexecstack $_ld_extra"
6734 echocheck
"ftello()"
6735 # if we don't have ftello use the osdep/ compatibility module
6738 #include <sys/types.h>
6739 int main (void) { ftello(stdin); return 0; }
6742 cc_check
&& _ftello
=yes
6743 if test "$_ftello" = yes ; then
6744 _def_ftello
='#define HAVE_FTELLO 1'
6746 _def_ftello
='#undef HAVE_FTELLO'
6750 # Determine OS dependent libs
6752 _def_confwin32
='#define WIN32'
6753 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
6754 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
6755 CFLAGS
="$CFLAGS -D__CYGWIN__"
6759 _confwin32
='TARGET_WIN32 = yes'
6761 _confwin32
='TARGET_WIN32 = no'
6764 # Dynamic linking flags
6765 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6767 bsd
&& _ld_dl_dynamic
='-rdynamic'
6768 if test "$_real" = yes ||
test "$_xanim" = yes && not win32
&& not qnx
; then
6769 _ld_dl_dynamic
='-rdynamic'
6772 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6773 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
6775 x86
&& _ld_arch
="$_ld_arch -li386"
6778 _def_debug
='#undef MP_DEBUG'
6779 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
6781 _def_linux
='#undef TARGET_LINUX'
6782 linux
&& _def_linux
='#define TARGET_LINUX 1'
6784 # TODO cleanup the VIDIX stuff here
6785 _def_vidix
='#define CONFIG_VIDIX 1'
6786 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
6787 if test "$_vidix" = yes; then
6788 _vosrc
="$_vosrc vo_cvidix.c"
6789 _vomodules
="cvidix $_vomodules"
6791 _novomodules
="cvidix $_novomodules"
6793 if test "$_vidix" = yes && (win32
); then
6794 _vosrc
="$_vosrc vo_winvidix.c"
6795 _vomodules
="winvidix $_vomodules"
6796 _ld_win32libs
="-lgdi32 $_ld_win32libs"
6798 _novomodules
="winvidix $_novomodules"
6800 if test "$_vidix" = yes && test "$_x11" = yes; then
6801 _vosrc
="$_vosrc vo_xvidix.c"
6802 _vomodules
="xvidix $_vomodules"
6804 _novomodules
="xvidix $_novomodules"
6806 echo Checking
for VIDIX ...
"$_vidix"
6808 _def_joystick
='#undef HAVE_JOYSTICK'
6809 if test "$_joystick" = yes ; then
6811 # TODO add some check
6812 _def_joystick
='#define HAVE_JOYSTICK 1'
6814 _joystick
="no (unsupported under $system_name)"
6817 echo Checking
for joystick ...
"$_joystick"
6820 if test "$_lirc" = auto
; then
6822 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
6824 #include <lirc/lirc_client.h>
6825 int main(void) { return 0; }
6827 cc_check
-llirc_client && _lirc
=yes
6830 if test "$_lirc" = yes ; then
6831 _def_lirc
='#define HAVE_LIRC 1'
6832 _ld_lirc
='-llirc_client'
6834 _def_lirc
='#undef HAVE_LIRC'
6839 if test "$_lircc" = auto
; then
6842 #include <lirc/lircc.h>
6843 int main(void) { return 0; }
6845 cc_check
-llircc && _lircc
=yes
6847 if test "$_lircc" = yes ; then
6848 _def_lircc
='#define HAVE_LIRCC 1'
6851 _def_lircc
='#undef HAVE_LIRCC'
6855 #############################################################################
6856 echo "Creating config.mak"
6857 cat > config.mak
<< EOF
6858 # -------- Generated by configure -----------
6861 MAN_LANG = $MAN_LANG
6862 TARGET_OS = $system_name
6864 prefix = \$(DESTDIR)$_prefix
6865 BINDIR = \$(DESTDIR)$_bindir
6866 DATADIR = \$(DESTDIR)$_datadir
6867 MANDIR = \$(DESTDIR)$_mandir
6868 CONFDIR = \$(DESTDIR)$_confdir
6869 LIBDIR = \$(DESTDIR)$_libdir
6870 # FFmpeg uses libdir instead of LIBDIR
6878 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
6879 EXTRA_INC = $_inc_extra $_inc_gtk
6880 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC) $_opt_gnu99
6881 STRIPBINARIES = $_stripbinaries
6883 HELP_FILE = $_mp_help
6886 PRG_MENCODER = $_prg_mencoder
6890 MPLAYER_NETWORK = $_network
6891 STREAMING_LIVE_DOT_COM = $_live
6892 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
6895 SHARED_PP = $_shared_pp
6898 CONFIG_MP3LAME = $_mp3lame
6900 I18NLIBS = $_i18n_libs
6901 MATROSKA = $_matroska_internal
6903 OPENDIVX = $_opendivx
6907 LIBMPEG2 = $_libmpeg2
6908 TREMOR = $_tremor_internal
6909 TREMOR_FLAGS = $_tremor_flags
6911 UNRARLIB = $_unrarlib
6912 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
6917 EXTRA_LIB = $_ld_extra
6918 Z_LIB = $_ld_static $_ld_zlib
6920 WIN32_LIB = $_ld_win32libs
6921 STATIC_LIB = $_ld_static
6922 ENCA_LIB = $_ld_enca
6923 HAVE_PTHREADS = $_pthreads
6929 HAVE_XVMC_ACCEL = $_xvmc
6939 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
6941 MLIB_LIB = $_ld_mlib
6942 MLIB_INC = $_inc_mlib
6943 DXR2_INC = $_inc_dxr2
6949 SVGA_LIB = $_ld_svga
6951 CACA_INC = $_inc_caca
6952 CACA_LIB = $_ld_caca
6955 ALSA_LIB = $_ld_alsa
6957 ARTS_LIB = $_ld_arts
6958 ARTS_INC = $_inc_arts
6961 POLYP_LIB = $_ld_polyp
6962 POLYP_INC = $_inc_polyp
6963 JACK_LIB = $_ld_jack
6964 JACK_INC = $_inc_jack
6965 SGIAUDIO_LIB = $_ld_sgiaudio
6967 # input/demuxer/codecs
6968 TERMCAP_LIB = $_ld_termcap
6969 LIRC_LIB = $_ld_lirc
6970 LIRCC_LIB = $_ld_lircc
6971 DVDREAD_LIB = $_ld_dvdread
6976 W32_DEP = $_dep_win32
6977 W32_LIB = $_ld_win32
6978 DS_DEP = $_dep_dshow
6980 AV_DEP = $_dep_libavcodec $_dep_libavformat
6981 AV_LIB = $_ld_libavcodec $_ld_libavformat
6982 CONFIG_LIBAVCODEC = $_libavcodec
6983 CONFIG_LIBAVFORMAT = $_libavformat
6986 FAME_LIB = $_ld_fame
6987 MP1E_DEP = $_dep_mp1e
6988 MP1E_LIB = $_ld_mp1e
6989 ARCH_LIB = $_ld_arch $_ld_iconv
6991 XVID_INC = $_inc_xvid
6992 XVID_LIB = $_ld_xvid
6994 X264_INC = $_inc_x264
6995 X264_LIB = $_ld_x264
6996 CONFIG_DTS = $_libdts
6997 DTS_INC = $_inc_libdts
6998 DTS_LIB = $_ld_libdts
6999 DECORE_LIB = $_ld_decore $_ld_mp3lame
7000 MENCODER = $_mencoder
7001 ENCORE_LIB = $_ld_encore $_ld_mp3lame
7002 DIRECTFB_INC = $_inc_directfb
7003 DIRECTFB_LIB = $_ld_directfb
7004 CDPARANOIA_INC = $_inc_cdparanoia
7005 CDPARANOIA_LIB = $_ld_cdparanoia
7006 FREETYPE_INC = $_inc_freetype
7007 FREETYPE_LIB = $_ld_freetype
7008 FONTCONFIG_INC = $_inc_fontconfig
7009 FONTCONFIG_LIB = $_ld_fontconfig
7010 FRIBIDI_INC = $_inc_fribidi
7011 FRIBIDI_LIB = $_ld_fribidi
7012 LIBLZO_LIB= $_ld_liblzo
7014 VORBIS_LIB = $_ld_vorbis $_ld_libdv
7015 THEORA_LIB = $_ld_theora
7016 FAAD_LIB = $_ld_faad
7017 INTERNAL_FAAD = $_faad_internal
7018 SMBSUPPORT_LIB = $_ld_smb
7019 XMMS_PLUGINS = $_xmms
7020 XMMS_LIB = $_xmms_lib
7022 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7023 MACOSX_BUNDLE = $_macosx_bundle
7024 MACOSX_FRAMEWORKS = $_macosx_frameworks
7025 MACOSX_COREVIDEO = $_macosx_corevideo
7027 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
7028 TOOLAME_LIB=$_toolame_lib
7030 TWOLAME_LIB=$_twolame_lib
7034 AMR_NB_FIXED=$_amr_nb_fixed
7036 `echo $_libavcodecs | tr 'a-z ' 'A-Z\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7038 # --- Some stuff for autoconfigure ----
7043 TARGET_MMX2 = $_mmx2
7044 TARGET_3DNOW = $_3dnow
7045 TARGET_3DNOWEX = $_3dnowex
7047 TARGET_ALTIVEC = $_altivec
7051 GTKLIB = $_ld_static $_ld_gtk
7052 GLIBLIB = $_ld_static $_ld_glib
7053 GTK_LIBS = $_ld_static $_ld_gui
7059 #############################################################################
7060 echo "Creating config.h"
7061 cat > config.h
<< EOF
7062 /* -------- This file has been automatically generated by configure ---------
7063 Note: Any changes in it will be lost when you run configure again. */
7065 /* Protect against multiple inclusion */
7066 #ifndef MPLAYER_CONFIG_H
7067 #define MPLAYER_CONFIG_H 1
7069 /* use GNU internationalization */
7072 /* Runtime CPU detection */
7073 $_def_runtime_cpudetection
7075 /* Dynamic a/v plugins */
7076 $_def_dynamic_plugins
7078 /* "restrict" keyword */
7079 $_def_restrict_keyword
7081 /* __builtin_expect branch prediction hint */
7082 $_def_builtin_expect
7084 /* attribute(used) as needed by some compilers */
7085 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7086 # define attribute_used __attribute__((used))
7088 # define attribute_used
7091 #define PREFIX "$_prefix"
7096 /* enable/disable SIGHANDLER */
7099 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7102 /* Toggles debugging informations */
7105 /* Indicates that Ogle's libdvdread is available for DVD playback */
7108 /* Indicates that dvdread is from libmpdvdkit */
7111 /* Additional options for libmpdvdkit*/
7125 /* Common data directory (for fonts, etc) */
7126 #define MPLAYER_DATADIR "$_datadir"
7127 #define MPLAYER_CONFDIR "$_confdir"
7128 #define MPLAYER_LIBDIR "$_libdir"
7130 /* Define this to compile stream-caching support, it can be enabled via
7131 -cache <kilobytes> */
7132 #define USE_STREAM_CACHE 1
7134 /* Define to include support for XviD/Divx4Linux/OpenDivx */
7137 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
7138 /* You have to change DECORE_LIBS in config.mak, too! */
7141 /* Define if you are using DivX5Linux Decore library */
7144 /* Define if you are using XviD library */
7150 /* Define if you are using the X.264 library */
7153 /* Define to include support for libdv-0.9.5 */
7156 /* If build mencoder */
7159 /* Indicates if XviD/Divx4linux encore is available
7160 Note: for mencoder */
7163 /* Indicates if libmp3lame is available
7164 Note: for mencoder */
7168 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
7171 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7172 (use -bps or -nobps commandline option for run-time method selection)
7173 -bps gives better sync for vbr mp3 audio, it is now default */
7174 #define AVI_SYNC_BPS 1
7176 /* Undefine this if you do not want to select mono audio (left or right)
7177 with a stereo MPEG layer 2/3 audio stream. The command line option
7178 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7179 right-only), with 0 being the default.
7181 #define USE_FAKE_MONO 1
7183 /* Undefine this if your sound card driver has no working select().
7184 If you have kernel Oops, player hangups, or just no audio, you should
7185 try to recompile MPlayer with this option disabled! */
7188 /* define this to use iconv(3) function to codepage conversions */
7191 /* define this to use nl_langinfo function */
7194 /* define this to use RTC (/dev/rtc) for video timers */
7197 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7198 #define MAX_OUTBURST 65536
7200 /* set up audio OUTBURST. Do not change this! */
7201 #define OUTBURST 512
7203 /* Define this if your system has the header file for the OSS sound interface */
7206 /* Define this if your system has the header file for the OSS sound interface
7207 * in /usr/include */
7210 /* Define this if your system has the sysinfo header */
7213 /* Define this if your system has ftello() */
7217 /* Need these for FILE and off_t an config.h is usually before other includes*/
7219 #include <sys/types.h>
7220 off_t ftello(FILE *);
7223 /* Define this if your system has the "malloc.h" header file */
7226 /* memalign is mapped to malloc if unsupported */
7228 #ifndef HAVE_MEMALIGN
7229 # define memalign(a,b) malloc(b)
7230 #define MEMALIGN_HACK 1
7233 /* Define this if your system has the "alloca.h" header file */
7236 /* Define this if your system has the "sys/mman.h" header file */
7238 $_def_mman_has_map_failed
7240 /* Define this if you have the elf dynamic linker -ldl library */
7243 /* Define this if you have the kstat kernel statistics library */
7246 /* Define this if you have zlib */
7249 #define CONFIG_ZLIB 1
7252 /* Define this if you have shm support */
7255 /* Define this if your system has scandir & alphasort */
7258 /* Define this if your system has strsep */
7261 /* Define this if your system has strlcpy */
7263 #ifndef HAVE_STRLCPY
7264 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7267 /* Define this if your system has strlcat */
7269 #ifndef HAVE_STRLCAT
7270 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7273 /* Define this if your system has fseeko */
7276 /* Need these for FILE and off_t an config.h is usually before other includes*/
7278 #include <sys/types.h>
7279 int fseeko(FILE *, off_t, int);
7284 /* Define this if your system has vsscanf */
7287 /* Define this if your system has swab */
7290 /* Define this if your system has no posix select */
7291 $_def_no_posix_select
7293 /* Define this if your system has gettimeofday */
7296 /* Define this if your system has glob */
7299 /* Define this if your system has pthreads */
7302 /* Define this if you enabled thread support for libavcodec */
7305 /* LIRC (remote control, see www.lirc.org) support: */
7309 * LIRCCD (LIRC client daemon)
7310 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7314 /* DVD navigation support using libdvdnav */
7316 $_def_dvdnav_version
7318 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7319 #define MPEG12_POSTPROC 1
7321 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7324 /* Define to include support for OpenDivx postprocessing */
7325 $_def_odivx_postprocess
7327 /* Win32 DLL support */
7329 #define WIN32_PATH "$_win32libdir"
7331 /* DirectShow support */
7334 /* Mac OS X specific features */
7336 $_def_macosx_finder_support
7338 $_def_macosx_corevideo
7340 /* Build our Win32-loader */
7343 /* ffmpeg's libavcodec support (requires libavcodec source) */
7347 /* ffmpeg's libavformat support (requires libavformat source) */
7349 $_def_libavformat_win32
7352 #define CONFIG_RISKY 1
7354 /* Use libavcodec's decoders */
7355 #define CONFIG_DECODERS 1
7356 /* Use libavcodec's encoders */
7357 #define CONFIG_ENCODERS 1
7359 #define CONFIG_MPEGAUDIO_HP 1
7361 /* Use amr codecs from libavcodec (requires amr sources) */
7366 /* Use specific codecs from libavcodec */
7367 `echo $_libavcodecs | tr 'a-z ' 'A-Z\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7369 /* Use codec libs included in mplayer CVS / source dist: */
7375 /* Use libfame encoder filter */
7378 /* XAnim DLL support */
7380 /* Default search path */
7383 /* RealPlayer DLL support */
7385 /* Default search path */
7388 /* LIVE.COM Streaming Media library support */
7391 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7394 /* Use unrarlib for Vobsubs */
7397 /* gui support, please do not edit this option */
7400 /* Audio output drivers */
7402 $_def_ossaudio_devdsp
7403 $_def_ossaudio_devmixer
7412 $_def_sys_asoundlib_h
7413 $_def_alsa_asoundlib_h
7419 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7421 #undef FAST_OSD_TABLE
7423 /* Enable TV Interface support */
7426 /* Enable EDL support */
7429 /* Enable Video 4 Linux TV interface support */
7432 /* Enable Video 4 Linux 2 TV interface support */
7435 /* Enable *BSD BrookTree TV interface support */
7438 /* Define if your processor stores words with the most significant
7439 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7444 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
7445 have the instruction. */
7448 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7449 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7455 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7460 /* only gcc3 can compile mvi instructions */
7461 $_def_gcc_mvi_support
7463 /* Define this for Cygwin build for win32 */
7466 /* Define this to any prefered value from 386 up to infinity with step 100 */
7467 #define __CPU__ $iproc
7476 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7477 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7479 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7480 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7481 #elif defined(WIN32)
7482 #define DEFAULT_CDROM_DEVICE "D:"
7483 #define DEFAULT_DVD_DEVICE "D:"
7484 #elif defined(SYS_DARWIN)
7485 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7486 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7487 #elif defined(__OpenBSD__)
7488 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7489 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7491 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7492 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7496 /*----------------------------------------------------------------------------
7498 ** NOTE: Instead of modifying these definitions here, use the
7499 ** --enable/--disable options of the ./configure script!
7500 ** See ./configure --help for details.
7502 *---------------------------------------------------------------------------*/
7504 /* C99 lrintf function available */
7507 /* round function is available */
7510 /* yes, we have inttypes.h */
7511 #define HAVE_INTTYPES_H 1
7513 /* int_fastXY_t emulation */
7516 /* nanosleep support */
7522 /* termcap flag for getch2.c */
7525 /* termios flag for getch2.c */
7530 /* enable PNG support */
7533 /* enable JPEG support */
7536 /* enable PNM support */
7539 /* enable md5sum support */
7542 /* enable GIF support */
7547 /* enable FreeType support */
7550 /* enable Fontconfig support */
7553 /* enable FriBiDi usage */
7556 /* enable ENCA usage */
7559 /* liblzo support */
7562 /* libmad support */
7565 /* enable OggVorbis support */
7568 /* enable Tremor as vorbis decoder */
7571 /* enable OggTheora support */
7574 /* enable Matroska support */
7577 /* enable FAAD (AAC) support */
7581 /* enable FAAC (AAC encoder) support */
7584 /* enable LADSPA plugin support */
7587 /* enable network */
7590 /* enable ftp support */
7593 /* enable vstream support */
7596 /* enable winsock2 instead of Unix functions*/
7599 /* define this to use inet_aton() instead of inet_pton() */
7602 /* enables / disables cdparanoia support */
7605 /* enables / disables VIDIX usage */
7608 /* enables / disables new input joystick support */
7611 /* enables / disables QTX codecs */
7614 /* enables / disables osd menu */
7617 /* enables / disables subtitles sorting */
7620 /* XMMS input plugin support */
7622 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7624 /* enables inet6 support */
7627 /* do we have gethostbyname2? */
7628 $_def_gethostbyname2
7630 /* Extension defines */
7631 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
7632 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
7633 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
7634 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
7635 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
7636 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
7637 $_def_altivec // only define if you have Altivec (G4)
7639 $_def_altivec_h // enables usage of altivec.h
7642 $_def_mlib // Sun mediaLib, available only on solaris
7643 $_def_vis // only define if you have VIS ( ultrasparc )
7645 /* libmpeg2 uses a different feature test macro for mediaLib */
7647 #define LIBMPEG2_MLIB 1
7651 #define SCREEN_SIZE_X 1
7652 #define SCREEN_SIZE_Y 1
7664 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
7673 $_def_directfb_version
7696 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
7697 #define X11_FULLSCREEN 1
7700 #endif /* MPLAYER_CONFIG_H */
7703 #############################################################################
7705 echo "Creating libvo/config.mak"
7706 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g;s/\.m/\.o/g'`
7707 cat > libvo
/config.mak
<< EOF
7708 include ../config.mak
7709 OPTIONAL_SRCS = $_vosrc
7710 OPTIONAL_OBJS = $_voobj
7713 #############################################################################
7715 echo "Creating libao2/config.mak"
7716 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
7717 cat > libao
2/config.mak
<< EOF
7718 include ../config.mak
7719 OPTIONAL_SRCS = $_aosrc
7720 OPTIONAL_OBJS = $_aoobj
7723 #############################################################################
7725 echo "Creating libaf/config.mak"
7726 _afobj
=`echo $_afsrc | sed -e 's/\.c/\.o/g'`
7727 cat > libaf
/config.mak
<< EOF
7728 include ../config.mak
7729 OPTIONAL_SRCS = $_afsrc
7730 OPTIONAL_OBJS = $_afobj
7733 #############################################################################
7737 Config files successfully generated by ./configure !
7739 Install prefix: $_prefix
7740 Data directory: $_datadir
7741 Config direct.: $_confdir
7743 Byte order: $_byte_order
7744 Optimizing for: $_optimizing
7747 Messages/GUI: $_language
7750 echo -n " Manual pages: $MAN_LANG"
7751 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
7756 Enabled optional drivers:
7757 Input: $_inputmodules
7758 Codecs: $_codecmodules
7759 Audio output: $_aomodules
7760 Video output: $_vomodules
7761 Audio filters: $_afmodules
7762 Disabled optional drivers:
7763 Input: $_noinputmodules
7764 Codecs: $_nocodecmodules
7765 Audio output: $_noaomodules
7766 Video output: $_novomodules
7767 Audio filters: $_noafmodules
7769 'config.h' and 'config.mak' contain your configuration options.
7770 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7771 compile *** DO NOT REPORT BUGS if you tweak these files ***
7773 'make' will now compile MPlayer and 'make install' will install it.
7774 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7779 if test "$_mtrr" = yes ; then
7780 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
7784 if test "$_sdl" = "outdated" ; then
7786 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
7787 support has therefore been disabled.
7789 Please upgrade to a more recent version (version 1.1.8 and above are known to
7790 work). You may get this library from: http://www.libsdl.org
7792 You need to rerun ./configure and recompile after updating SDL. If you are
7793 only interested in the libSDL audio drivers, then an older version might work.
7795 Use --enable-sdl to force usage of libSDL.
7801 if test "$_win32" = no
; then
7802 if test "$_win32libdir" ; then
7803 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
7805 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
7808 Create it and copy the DLL files there! You can download the codecs from our
7809 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
7815 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
7816 operating system ($system_name). You may encounter a few files that cannot
7817 be played due to missing open source video/audio codec support.
7825 Check $TMPLOG if you wonder why an autodetection failed (check whether
7826 the development headers/packages are installed).
7828 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
7832 if test "$_vidix" = no
; then
7834 You've disabled VIDIX. Although it would be better to PORT it instead.
7835 Have a look at the documentation for supported cards!
7841 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"