synced with 1.183
[mplayer/greg.git] / configure
blob2f87deb76bd3eb63a9548adbe714fd9a053900b3
1 #! /bin/sh
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
11 # Guidelines:
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
20 # GOTCHAS:
21 # - config files are currently:
22 # config.h config.mak libvo/config.mak libao2/config.mak Gui/config.mak
23 # libaf/config.mak
25 #############################################################################
27 # Prevent locale nonsense from breaking basic text processing utils
28 LC_ALL=C
29 export LC_ALL
31 # Prefer these macros to full length text !
32 # These macros only return an error code - NO display is done
33 cc_check() {
34 echo >> "$TMPLOG"
35 cat "$TMPC" >> "$TMPLOG"
36 echo >> "$TMPLOG"
37 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $TMPC -o $TMPO $@" >> "$TMPLOG"
38 rm -f "$TMPO"
39 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra "$TMPC" -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
40 TMP="$?"
41 echo >> "$TMPLOG"
42 echo "ldd $TMPO" >> "$TMPLOG"
43 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
44 echo >> "$TMPLOG"
45 return "$TMP"
48 # Display error message, flushes tempfile, exit
49 die () {
50 echo
51 echo "Error: $@" >&2
52 echo >&2
53 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
54 echo "Check \"$TMPLOG\" if you do not understand why it failed."
55 exit 1
58 # OS test booleans functions
59 issystem() {
60 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
62 linux() { issystem "Linux" ; return "$?" ; }
63 sunos() { issystem "SunOS" ; return "$?" ; }
64 hpux() { issystem "HP-UX" ; return "$?" ; }
65 irix() { issystem "IRIX" ; return "$?" ; }
66 cygwin() { issystem "CYGWIN" ; return "$?" ; }
67 freebsd() { issystem "FreeBSD" ; return "$?" ; }
68 netbsd() { issystem "NetBSD" ; return "$?" ; }
69 bsdos() { issystem "BSD/OS" ; return "$?" ; }
70 openbsd() { issystem "OpenBSD" ; return "$?" ; }
71 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
72 qnx() { issystem "QNX" ; return "$?" ; }
73 darwin() { issystem "Darwin" ; return "$?" ; }
74 gnu() { issystem "GNU" ; return "$?" ; }
75 mingw32() { issystem "MINGW32" ; return "$?" ; }
76 morphos() { issystem "MorphOS" ; return "$?" ; }
77 win32() { cygwin || mingw32 ; return "$?" ; }
78 beos() { issystem "BEOS" ; return "$?" ; }
80 # arch test boolean functions
81 # x86/x86pc is used by QNX
82 x86() {
83 case "$host_arch" in
84 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
85 *) return 1 ;;
86 esac
89 x86_64() {
90 case "$host_arch" in
91 x86_64|amd64) return 0 ;;
92 *) return 1 ;;
93 esac
96 ppc() {
97 case "$host_arch" in
98 ppc) return 0;;
99 *) return 1;;
100 esac
103 alpha() {
104 case "$host_arch" in
105 alpha) return 0;;
106 *) return 1;;
107 esac
110 # not boolean test: implement the posix shell "!" operator for a
111 # non-posix /bin/sh.
112 # usage: not {command}
113 # returns exit status "success" when the execution of "command"
114 # fails.
115 not() {
116 eval "$@"
117 test $? -ne 0
120 # Use this before starting a check
121 echocheck() {
122 echo "============ Checking for $@ ============" >> "$TMPLOG"
123 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
126 # Use this to echo the results of a check
127 echores() {
128 if test "$_res_comment" ; then
129 _res_comment="($_res_comment)"
131 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
132 echo "##########################################" >> "$TMPLOG"
133 echo "" >> "$TMPLOG"
134 echo "$@ $_res_comment"
135 _res_comment=""
137 #############################################################################
139 # Check how echo works in this /bin/sh
140 case `echo -n` in
141 -n) _echo_n= _echo_c='\c' ;; # SysV echo
142 *) _echo_n='-n ' _echo_c= ;; # BSD echo
143 esac
145 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"`
147 for parm in "$@" ; do
148 if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
149 cat << EOF
151 Usage: $0 [OPTIONS]...
153 Configuration:
154 -h, --help display this help and exit
156 Installation directories:
157 --prefix=DIR use this prefix for installing mplayer [/usr/local]
158 --bindir=DIR use this prefix for installing mplayer binary
159 [PREFIX/bin]
160 --datadir=DIR use this prefix for installing machine independent
161 data files (fonts, skins) [PREFIX/share/mplayer]
162 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
163 --confdir=DIR use this prefix for installing configuration files
164 [PREFIX/etc/mplayer]
165 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
167 Optional features:
168 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
169 --enable-gui enable gmplayer compilation (GTK+ GUI) [disable]
170 --enable-old-gtk force using GTK 1.2 for GUI [disable]
171 --enable-largefiles enable support for files > 2 GBytes [disable]
172 --enable-linux-devfs set default devices to devfs ones [disable]
173 --enable-termcap use termcap database for key codes [autodetect]
174 --enable-termios use termios database for key codes [autodetect]
175 --disable-iconv do not use iconv(3) function [autodetect]
176 --disable-setlocale disable setlocale using in mplayer [autodetect]
177 --disable-langinfo do not use langinfo [autodetect]
178 --enable-lirc enable LIRC (remote control) support [autodetect]
179 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
180 --enable-joystick enable joystick support [disable]
181 --disable-vm disable support X video mode extensions [autodetect]
182 --disable-xf86keysym disable support for 'multimedia' keys [autodetect]
183 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
184 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
185 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
186 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
187 --disable-edl disable EDL (edit decision list) support [enable]
188 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
189 --disable-network disable network support (for: http/mms/rtp) [enable]
190 --enable-winsock2 enable winsock2 usage [autodetect]
191 --enable-smb enable Samba (SMB) input support [autodetect]
192 --enable-live enable LIVE555 Streaming Media support [autodetect]
193 --disable-dvdread Disable libdvdread support [autodetect]
194 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
195 --disable-cdparanoia Disable cdparanoia support [autodetect]
196 --disable-freetype Disable freetype2 font rendering support [autodetect]
197 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
198 --disable-unrarlib Disable Unique RAR File Library [enabled]
199 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
200 --disable-sortsub Disable subtitles sorting [enabled]
201 --enable-fribidi Enable using the FriBiDi libs [disabled]
202 --disable-enca Disable using ENCA charset oracle library [autodetect]
203 --disable-macosx Disable Mac OS X specific features [autodetect]
204 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
205 --enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
206 --disable-inet6 Disable IPv6 support [autodetect]
207 --disable-gethostbyname2 gethostbyname() function is not provided by the C
208 library [autodetect]
209 --disable-ftp Disable ftp support [enabled]
210 --disable-vstream Disable tivo vstream client support [autodetect]
211 --disable-pthreads Disable Posix threads support [autodetect]
213 Codecs:
214 --enable-gif enable gif support [autodetect]
215 --enable-png enable png input/output support [autodetect]
216 --enable-jpeg enable jpeg input/output support [autodetect]
217 --enable-liblzo enable external liblzo support [autodetect]
218 --disable-win32 disable Win32 DLL support [autodetect]
219 --disable-dshow disable Win32/DirectShow support [autodetect]
220 --disable-qtx disable Quicktime codecs [autodetect]
221 --disable-xanim disable XAnim DLL support [autodetect]
222 --disable-real disable RealPlayer DLL support [autodetect]
223 --disable-xvid disable XviD codec [autodetect]
224 --disable-x264 disable H.264 encoder [autodetect]
225 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
226 --enable-opendivx enable _old_ OpenDivx codec [disable]
227 --disable-libavcodec disable libavcodec [autodetect]
228 --disable-libavformat disable libavformat [autodetect]
229 --enable-libfame enable libfame realtime encoder [autodetect]
230 --disable-internal-tremor do not build internal OggVorbis support [enabled]
231 --enable-tremor-low build with lower accuracy internal tremor [disabled]
232 --enable-external-tremor build with external tremor [disabled]
233 --disable-vorbis disable OggVorbis support entirely [autodetect]
234 --enable-theora build with OggTheora support [autodetect]
235 --disable-internal-matroska disable internal Matroska support [enabled]
236 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
237 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
238 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
239 --disable-ladspa disable LADSPA plugin support [autodetect]
240 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
241 --disable-mad disable libmad (MPEG audio) support [autodetect]
242 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
243 --disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
244 --enable-xmms build with XMMS inputplugin support [disabled]
245 --disable-mp3lib disable builtin mp3lib [enabled]
246 --disable-liba52 disable builtin liba52 [enabled]
247 --enable-libdts enable libdts support [autodetect]
248 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
249 --disable-musepack disable musepack support [autodetect]
250 --disable-amr_nb disable amr narrowband, floating point [autodetect]
251 --disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
252 --disable-amr_wb disable amr wideband, floating point [autodetect]
253 --disable-codec=CODEC disable specified codec
254 --enable-codec=CODEC dnable specified codec
256 Video output:
257 --disable-vidix disable VIDIX [enable on x86 *nix]
258 --enable-gl build with OpenGL render support [autodetect]
259 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
260 --enable-vesa build with VESA support [autodetect]
261 --enable-svga build with SVGAlib support [autodetect]
262 --enable-sdl build with SDL render support [autodetect]
263 --enable-aa build with AAlib render support [autodetect]
264 --enable-caca build with CACA render support [autodetect]
265 --enable-ggi build with GGI render support [autodetect]
266 --enable-ggiwmh build with GGI libggiwmh extension [autodetect]
267 --enable-directx build with DirectX support [autodetect]
268 --enable-dxr2 build with DXR2 render support [autodetect]
269 --enable-dxr3 build with DXR3/H+ render support [autodetect]
270 --enable-dvb build with support for output via DVB-Card [autodetect]
271 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
272 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
273 (check for /dev/mga_vid) [autodetect]
274 --enable-xmga build with mga_vid X Window support
275 (check for X & /dev/mga_vid) [autodetect]
276 --enable-xv build with Xv render support for X 4.x [autodetect]
277 --enable-xvmc build with XvMC acceleration for X 4.x [disable]
278 --enable-vm build with XF86VidMode support for X11 [autodetect]
279 --enable-xinerama build with Xinerama support for X11 [autodetect]
280 --enable-x11 build with X11 render support [autodetect]
281 --enable-fbdev build with FBDev render support [autodetect]
282 --enable-mlib build with MLIB support (Solaris only) [autodetect]
283 --enable-3dfx build with obsolete /dev/3dfx support [disable]
284 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
285 --enable-directfb build with DirectFB support [autodetect]
286 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
287 --enable-bl build with Blinkenlights support [disable]
288 --enable-tdfxvid build with tdfx_vid support [disable]
289 --disable-tga disable targa output support [enable]
290 --disable-pnm disable pnm output support [enable]
291 --disable-md5sum disable md5sum output support [enable]
293 Audio output:
294 --disable-alsa disable ALSA sound support [autodetect]
295 --disable-ossaudio disable OSS sound support [autodetect]
296 --disable-arts disable aRts sound support [autodetect]
297 --disable-esd disable esd sound support [autodetect]
298 --disable-polyp disable Polypaudio sound support [autodetect]
299 --disable-jack disable JACK sound support [autodetect]
300 --disable-nas disable NAS sound support [autodetect]
301 --disable-sgiaudio disable SGI sound support [autodetect]
302 --disable-sunaudio disable Sun sound support [autodetect]
303 --disable-win32waveout disable Windows waveout sound support [autodetect]
304 --disable-select disable using select() on audio device [enable]
306 Miscellaneous options:
307 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
308 --cc=COMPILER use this C compiler to build MPlayer [gcc]
309 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
310 --as=ASSEMBLER use this assembler to build MPlayer [as]
311 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
312 --enable-static build a statically linked binary. Set further linking
313 options with --enable-static="-lslang -lncurses"
314 --charset convert the help messages to this charset
315 --language=list a white space or comma separated list of languages
316 for translated man pages, the first language is the
317 primary and therefore used for translated messages
318 and GUI (also the environment variable \$LINGUAS is
319 honored) [en]
320 (Available: $LANGUAGES all)
321 --with-install=PATH use a custom install program (useful if your OS uses
322 a GNU-incompatible install utility by default and
323 you want to use GNU version)
324 --install-path=PATH the path to a custom install program
325 this option is obsolete and will be removed soon,
326 use --with-install instead.
328 Advanced options:
329 --enable-mmx build with MMX support [autodetect]
330 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
331 --enable-3dnow build with 3DNow! support [autodetect]
332 --enable-3dnowex build with extended 3DNow! support [autodetect]
333 --enable-sse build with SSE support [autodetect]
334 --enable-sse2 build with SSE2 support [autodetect]
335 --enable-shm build with shm support [autodetect]
336 --enable-altivec build with Altivec support (PowerPC) [autodetect]
337 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
338 --enable-big-endian Force byte order to big-endian [autodetect]
339 --enable-debug[=1-3] compile debugging information into mplayer [disable]
340 --enable-profile compile profiling information into mplayer [disable]
341 --disable-sighandler disable sighandler for crashes [enable]
342 --enable-crash-debug enable automatic gdb attach on crash [disable]
343 --enable-i18n _experimental_ gnu gettext() support [autodetect]
344 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
346 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
347 --disable-gcc-checking disable gcc version checking [enable]
349 Use these options if autodetection fails (Options marked with (*) accept
350 multiple paths separated by ':'):
351 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
352 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR (*)
353 --with-x11incdir=DIR X headers in DIR (*)
354 --with-x11libdir=DIR X library files in DIR (*)
355 --with-dxr2incdir=DIR DXR2 headers in DIR (*)
356 --with-dvbincdir=DIR DVB headers in DIR (*)
357 --with-madlibdir=DIR libmad (libmad shared library) in DIR (*)
358 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
359 --with-codecsdir=DIR Binary codec files in DIR
360 --with-win32libdir=DIR W*ndows DLL files in DIR
361 --with-xanimlibdir=DIR XAnim DLL files in DIR
362 --with-reallibdir=DIR RealPlayer DLL files in DIR
363 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
364 --with-xvidincdir=DIR XviD header in DIR (*)
365 --with-x264libdir=DIR libx264 in DIR
366 --with-x264incdir=DIR x264 header in DIR
367 --with-dtslibdir=DIR libdts library in DIR (*)
368 --with-dtsincdir=DIR libdts header in DIR (*)
369 --with-livelibdir=DIR LIVE555 Streaming Media libraries in DIR
370 --with-toolamedir=DIR path to Toolame library and include file
371 --with-xmmsplugindir=DIR XMMS plugins in DIR
372 --with-xmmslibdir=DIR libxmms.so.1 in DIR
373 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR (*)
374 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
375 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
376 --with-termcaplib=NAME name of library with termcap functionality
377 name should be given without leading "lib"
378 checks for "termcap" and "tinfo"
380 --with-freetype-config=PATH path to freetype-config
381 (e.g. /opt/bin/freetype-config)
382 --with-fribidi-config=PATH path to fribidi-config
383 (e.g. /opt/bin/fribidi-config)
384 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
385 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
386 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
388 This configure script is NOT autoconf-based, even though its output is similar.
389 It will try to autodetect all configuration options. If you --enable an option
390 it will be forcefully turned on, skipping autodetection. This can break
391 compilation, so you need to know what you are doing.
393 exit 0
395 done # for parm in ...
398 # 1st pass checking for vital options
399 _install=install
400 _ranlib=ranlib
401 _cc=cc
402 test "$CC" && _cc="$CC"
403 _as=auto
404 _runtime_cpudetection=no
405 for ac_option do
406 case "$ac_option" in
407 --target=*)
408 _target=`echo $ac_option | cut -d '=' -f 2`
410 --cc=*)
411 _cc=`echo $ac_option | cut -d '=' -f 2`
413 --host-cc=*)
414 _host_cc=`echo $ac_option | cut -d '=' -f 2`
416 --as=*)
417 _as=`echo $ac_option | cut -d '=' -f 2`
419 --enable-gcc-checking)
420 _skip_cc_check=no
422 --disable-gcc-checking)
423 _skip_cc_check=yes
425 --enable-static)
426 _ld_static='-static'
428 --disable-static)
429 _ld_static=''
431 --enable-static=*)
432 _ld_static="-static `echo $ac_option | cut -d '=' -f 2`"
434 --with-extraincdir=*)
435 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
437 --with-extralibdir=*)
438 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
440 --enable-runtime-cpudetection)
441 _runtime_cpudetection=yes
443 --disable-runtime-cpudetection)
444 _runtime_cpudetection=no
446 --install-path=*)
447 _install=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
449 --with-install=*)
450 _install=`echo $ac_option | cut -d '=' -f 2 `
452 esac
453 done
455 # Determine our OS name and CPU architecture
456 if test -z "$_target" ; then
457 # OS name
458 system_name=`uname -s 2>&1`
459 case "$system_name" in
460 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS)
462 IRIX*)
463 system_name=IRIX
465 HP-UX*)
466 system_name=HP-UX
468 [cC][yY][gG][wW][iI][nN]*)
469 system_name=CYGWIN
471 MINGW32*)
472 system_name=MINGW32
474 MorphOS)
475 system_name=MorphOS
478 system_name="$system_name-UNKNOWN"
480 esac
483 # host's CPU/instruction set
484 host_arch=`uname -p 2>&1`
485 case "$host_arch" in
486 i386|sparc|ppc|alpha|arm|mips|vax)
488 powerpc) # Darwin returns 'powerpc'
489 host_arch=ppc
491 *) # uname -p on Linux returns 'unknown' for the processor type,
492 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
494 # Maybe uname -m (machine hardware name) returns something we
495 # recognize.
497 # x86/x86pc is used by QNX
498 case "`uname -m 2>&1`" in
499 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 ;;
500 ia64) host_arch=ia64 ;;
501 x86_64|amd64)
502 if [ "`$_cc -dumpmachine | grep x86_64 | cut -d- -f1`" = "x86_64" -a \
503 -z "`echo $CFLAGS | grep -- -m32`" ]; then
504 host_arch=x86_64
505 else
506 host_arch=i386
509 macppc|ppc|ppc64) host_arch=ppc ;;
510 alpha) host_arch=alpha ;;
511 sparc) host_arch=sparc ;;
512 sparc64) host_arch=sparc64 ;;
513 parisc*|hppa*|9000*) host_arch=hppa ;;
514 arm*) host_arch=arm ;;
515 s390) host_arch=s390 ;;
516 s390x) host_arch=s390x ;;
517 mips) host_arch=mips ;;
518 vax) host_arch=vax ;;
519 *) host_arch=UNKNOWN ;;
520 esac
522 esac
523 else
524 system_name=`echo $_target | cut -d '-' -f 2`
525 case "`echo $system_name | tr A-Z a-z`" in
526 linux) system_name=Linux ;;
527 freebsd) system_name=FreeBSD ;;
528 netbsd) system_name=NetBSD ;;
529 bsd/os) system_name=BSD/OS ;;
530 openbsd) system_name=OpenBSD ;;
531 sunos) system_name=SunOS ;;
532 qnx) system_name=QNX ;;
533 morphos) system_name=MorphOS ;;
534 mingw32msvc) system_name=MINGW32 ;;
535 esac
536 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
537 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
540 echo "Detected operating system: $system_name"
541 echo "Detected host architecture: $host_arch"
543 # LGB: temporary files
544 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
545 test "$I" && break
546 done
548 TMPLOG="configure.log"
549 rm -f "$TMPLOG"
550 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
551 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
552 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
553 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
555 # config files
557 # FIXME: A lot of stuff is installed under /usr/local
558 # NK: But we should never use this stuff implicitly since we call compiler
559 # from /usr we should be sure that there no effects from other compilers
560 # (libraries) which might be installed into /usr/local. Let users use this
561 # stuff explicitly as command line argument. In other words: It would be
562 # resonable to have only /usr/include or only /usr/local/include.
564 if freebsd ; then
565 _ld_extra="$_ld_extra -L/usr/local/lib"
566 _inc_extra="$_inc_extra -I/usr/local/include"
569 if netbsd ; then
570 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
571 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
572 done
573 _ld_extra=$tmp
576 _ldd=ldd
577 if darwin; then
578 _ldd="otool -L"
581 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
582 # if used as 'head -1' instead of 'head -n 1', but older versions don't
583 # know about '-n'.
584 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
585 _head() { head -$1 2>/dev/null ; }
586 else
587 _head() { head -n $1 2>/dev/null ; }
589 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
590 _tail() { tail -$1 2>/dev/null ; }
591 else
592 _tail() { tail -n $1 2>/dev/null ; }
595 # Checking CC version...
596 if test "$_skip_cc_check" != yes ; then
597 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
598 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
599 echocheck "$_cc version"
600 cc_vendor=intel
601 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
602 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
603 _cc_major=`echo $cc_version | cut -d '.' -f 1`
604 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
605 # TODO verify older icc/ecc compatibility
606 case $cc_version in
608 cc_version="v. ?.??, bad"
609 cc_verc_fail=yes
611 8.0)
612 cc_version="$cc_version, ok"
613 cc_verc_fail=no
616 cc_version="$cc_version, bad"
617 cc_verc_fail=yes
619 esac
620 echores "$cc_version"
621 else
622 for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
623 echocheck "$_cc version"
624 cc_vendor=gnu
625 cc_name=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
626 cc_version=`$_cc -dumpversion 2>&1`
627 if test "$?" -gt 0; then
628 cc_version="not found"
630 case $cc_version in
632 cc_version="v. ?.??, bad"
633 cc_verc_fail=yes
635 2.95.[2-9]|2.95.[2-9][-.]*|[3-4].*)
636 _cc_major=`echo $cc_version | cut -d '.' -f 1`
637 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
638 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
639 cc_version="$cc_version, ok"
640 cc_verc_fail=no
642 'not found')
643 cc_verc_fail=yes
646 cc_version="$cc_version, bad"
647 cc_verc_fail=yes
649 esac
650 echores "$cc_version"
651 test "$cc_verc_fail" = "no" && break
652 done
653 fi # icc
654 if test "$cc_verc_fail" = yes ; then
655 cat <<EOF
657 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
659 You are not using a supported compiler. We do not have the time to make sure
660 everything works with compilers other than the ones we use. Use either the
661 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
662 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
664 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
665 mplayer and lame (which is used for mencoder). If you get compile errors,
666 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
667 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
668 bugs!
670 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
672 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
675 die "Bad gcc version"
677 else
678 cat <<EOF
680 ******************************************************************************
682 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
683 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
685 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
686 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
687 Lame which is used by mencoder produces weird errors, too.
689 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
690 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
692 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
694 ******************************************************************************
698 read _answer
701 echocheck "host cc"
702 test "$_host_cc" || _host_cc=$_cc
703 echores $_host_cc
706 # ---
708 # now that we know what compiler should be used for compilation, try to find
709 # out which assembler is used by the $_cc compiler
710 if test "$_as" = auto ; then
711 _as=`$_cc -print-prog-name=as`
712 test -z "$_as" && _as=as
715 # XXX: this should be ok..
716 _cpuinfo="echo"
717 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
718 # FIXME: Remove the cygwin check once AMD CPUs are supported
719 if test -r /proc/cpuinfo && not cygwin; then
720 # Linux with /proc mounted, extract CPU information from it
721 _cpuinfo="cat /proc/cpuinfo"
722 elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
723 # FreeBSD with Linux emulation /proc mounted,
724 # extract CPU information from it
725 _cpuinfo="cat /compat/linux/proc/cpuinfo"
726 elif darwin ; then
727 # use hostinfo on Darwin
728 _cpuinfo="hostinfo"
729 elif x86; then
730 # all other OSes try to extract CPU information from a small helper
731 # program TOOLS/cpuinfo instead
732 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
733 _cpuinfo="TOOLS/cpuinfo"
736 x86_exts_check()
738 pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | _head 1`
739 if test -z "$pparam" ; then
740 pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
743 _mmx=no
744 _3dnow=no
745 _3dnowex=no
746 _mmx2=no
747 _sse=no
748 _sse2=no
749 _mtrr=no
751 for i in $pparam ; do
752 case "$i" in
753 3dnow) _3dnow=yes ;;
754 3dnowext) _3dnow=yes _3dnowex=yes ;;
755 mmx) _mmx=yes ;;
756 mmxext) _mmx2=yes ;;
757 mtrr|k6_mtrr|cyrix_arr) _mtrr=yes ;;
758 xmm|sse|kni) _sse=yes _mmx2=yes ;;
759 sse2) _sse2=yes ;;
760 esac
761 done
764 case "$host_arch" in
765 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
766 _def_arch="#define ARCH_X86 1"
767 _target_arch="TARGET_ARCH_X86 = yes"
769 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
770 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
771 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
772 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
773 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
775 x86_exts_check
777 echocheck "CPU vendor"
778 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
780 echocheck "CPU type"
781 echores "$pname"
783 case "$pvendor" in
784 AuthenticAMD)
785 case "$pfamily" in
786 3) proc=i386 iproc=386 ;;
787 4) proc=i486 iproc=486 ;;
788 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
789 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
790 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
791 proc=k6-3
792 elif test "$pmodel" -ge 8; then
793 proc=k6-2
794 elif test "$pmodel" -ge 6; then
795 proc=k6
796 else
797 proc=i586
798 iproc=586
801 6) iproc=686
802 if test "$pmodel" -ge 7; then
803 proc=athlon-4
804 elif test "$pmodel" -ge 6; then
805 # only Athlon XP supports ssem MP, Duron etc not
806 # but most of them are CPUID 666, so check if sse detected
807 # btw. there is also athlon-mp opt, but we need extended
808 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
809 if test "$_sse" = yes && test "$pstepping" -ge 2; then
810 proc=athlon-xp
811 else
812 proc=athlon-4
814 elif test "$pmodel" -ge 4; then
815 proc=athlon-tbird
816 else
817 proc=athlon # TODO: should the Duron Spitfire be considered a Thunderbird instead?
820 15) iproc=686
821 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
822 # caught and remedied in the optimization tests below.
823 proc=k8
826 *) proc=athlon-xp iproc=686 ;;
827 esac
829 GenuineIntel)
830 case "$pfamily" in
831 3) proc=i386 iproc=386 ;;
832 4) proc=i486 iproc=486 ;;
833 5) iproc=586
834 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
835 proc=pentium-mmx # 4 is desktop, 8 is mobile
836 else
837 proc=i586
840 6) iproc=686
841 if test "$pmodel" -ge 7; then
842 proc=pentium3
843 elif test "$pmodel" -ge 3; then
844 proc=pentium2
845 else
846 proc=i686
849 15) proc=pentium4 iproc=686 ;;
850 *) proc=pentium4 iproc=686 ;;
851 esac
853 unknown)
854 case "$pfamily" in
855 3) proc=i386 iproc=386 ;;
856 4) proc=i486 iproc=486 ;;
857 *) proc=i586 iproc=586 ;;
858 esac
861 proc=i586 iproc=586 ;;
862 esac
864 # check that gcc supports our CPU, if not, fall back to earlier ones
865 # LGB: check -mcpu and -march swithing step by step with enabling
866 # to fall back till 386.
868 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
870 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
871 cpuopt=-mtune
872 else
873 cpuopt=-mcpu
876 echocheck "GCC & CPU optimization abilities"
877 cat > $TMPC << EOF
878 int main(void) { return 0; }
880 if test "$_runtime_cpudetection" = no ; then
881 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
882 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
884 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
885 cc_check -march=$proc $cpuopt=$proc || proc=athlon
887 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
888 cc_check -march=$proc $cpuopt=$proc || proc=k6
890 if test "$proc" = "k6"; then
891 if not cc_check -march=$proc $cpuopt=$proc; then
892 if cc_check -march=i586 $cpuopt=i686; then
893 proc=i586-i686
894 else
895 proc=i586
899 if test "$proc" = "pentium4" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon"; then
900 cc_check -march=$proc $cpuopt=$proc || proc=i686
902 if test "$proc" = "i686" || test "$proc" = "pentium-mmx"; then
903 cc_check -march=$proc $cpuopt=$proc || proc=i586
905 if test "$proc" = "i586" ; then
906 cc_check -march=$proc $cpuopt=$proc || proc=i486
908 if test "$proc" = "i486" ; then
909 cc_check -march=$proc $cpuopt=$proc || proc=i386
911 if test "$proc" = "i386" ; then
912 cc_check -march=$proc $cpuopt=$proc || proc=error
914 if test "$proc" = "error" ; then
915 echores "Your $_cc does not even support \"i386\" for '-march' and '$cpuopt'."
916 _mcpu=""
917 _march=""
918 _optimizing=""
919 elif test "$proc" = "i586-i686"; then
920 _march="-march=i586"
921 _mcpu="$cpuopt=i686"
922 _optimizing="$proc"
923 else
924 _march="-march=$proc"
925 _mcpu="$cpuopt=$proc"
926 _optimizing="$proc"
928 else
929 # i686 is probably the most common CPU - optimize for it
930 _mcpu="$cpuopt=i686"
931 # at least i486 required, for bswap instruction
932 _march="-march=i486"
933 cc_check $_mcpu || _mcpu=""
934 cc_check $_march $_mcpu || _march=""
937 ## Gabucino : --target takes effect here (hopefully...) by overwriting
938 ## autodetected mcpu/march parameters
939 if test "$_target" ; then
940 # TODO: it may be a good idea to check GCC and fall back in all cases
941 if test "$host_arch" = "i586-i686"; then
942 _march="-march=i586"
943 _mcpu="$cpuopt=i686"
944 else
945 _march="-march=$host_arch"
946 _mcpu="$cpuopt=$host_arch"
949 proc="$host_arch"
951 case "$proc" in
952 i386) iproc=386 ;;
953 i486) iproc=486 ;;
954 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
955 i686|athlon*|pentium*) iproc=686 ;;
956 *) iproc=586 ;;
957 esac
960 echores "$proc"
963 ia64)
964 _def_arch='#define ARCH_IA64 1'
965 _target_arch='TARGET_ARCH_IA64 = yes'
966 iproc='ia64'
967 proc=''
968 _march=''
969 _mcpu=''
970 _optimizing=''
973 x86_64|amd64)
974 _def_arch='#define ARCH_X86_64 1'
975 _target_arch='TARGET_ARCH_X86_64 = yes'
976 iproc='x86_64'
978 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
979 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
980 cpuopt=-mtune
981 else
982 cpuopt=-mcpu
984 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
985 # caught and remedied in the optimization tests below.
986 proc=k8
988 echocheck "GCC & CPU optimization abilities"
989 cat > $TMPC << EOF
990 int main(void) { return 0; }
992 # This is a stripped-down version of the i386 fallback.
993 if test "$_runtime_cpudetection" = no ; then
994 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
995 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
997 # This will fail if gcc version < 3.3, which is ok because earlier
998 # versions don't really support 64-bit on amd64.
999 # Is this a valid assumption? -Corey
1000 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" ; then
1001 cc_check -march=$proc $cpuopt=$proc || proc=error
1003 _march="-march=$proc"
1004 _mcpu="$cpuopt=$proc"
1005 if test "$proc" = "error" ; then
1006 echores "Your $_cc does not even support \"athlon-xp\" for '-march' and '$cpuopt'."
1007 _mcpu=""
1008 _march=""
1010 else
1011 _march=""
1012 _mcpu=""
1015 _optimizing=""
1017 echores "$proc"
1019 x86_exts_check
1022 sparc)
1023 _def_arch='#define ARCH_SPARC 1'
1024 _target_arch='TARGET_ARCH_SPARC = yes'
1025 iproc='sparc'
1026 if sunos ; then
1027 echocheck "CPU type"
1028 karch=`uname -m`
1029 case "`echo $karch`" in
1030 sun4) proc=v7 ;;
1031 sun4c) proc=v7 ;;
1032 sun4d) proc=v8 ;;
1033 sun4m) proc=v8 ;;
1034 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1035 *) ;;
1036 esac
1037 echores "$proc"
1038 else
1039 proc=v8
1041 _march=''
1042 _mcpu="-mcpu=$proc"
1043 _optimizing="$proc"
1046 sparc64)
1047 _def_arch='#define ARCH_SPARC 1'
1048 _target_arch='TARGET_ARCH_SPARC = yes'
1049 _vis='yes'
1050 _def_vis='#define HAVE_VIS = yes'
1051 iproc='sparc'
1052 proc='v9'
1053 _march=''
1054 _mcpu="-mcpu=$proc"
1055 _optimizing="$proc"
1058 arm|armv4l|armv5tel)
1059 _def_arch='#define ARCH_ARMV4L 1'
1060 _target_arch='TARGET_ARCH_ARMV4L = yes'
1061 iproc='arm'
1062 proc=''
1063 _march=''
1064 _mcpu=''
1065 _optimizing=''
1068 ppc)
1069 _def_arch='#define ARCH_POWERPC 1'
1070 _def_dcbzl='#define NO_DCBZL 1'
1071 _target_arch='TARGET_ARCH_POWERPC = yes'
1072 iproc='ppc'
1073 proc=''
1074 _march=''
1075 _mcpu=''
1076 _optimizing=''
1077 _altivec=no
1079 echocheck "CPU type"
1080 if linux && test -n "$_cpuinfo"; then
1081 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1082 if test -n "`$_cpuinfo | grep altivec`"; then
1083 _altivec=yes
1086 if darwin ; then
1087 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1088 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
1089 _altivec=yes
1090 elif [ "`sysctl -n hw.optional.altivec 2>/dev/null`" = 1 ]; then
1091 _altivec=yes
1094 # only gcc 3.4 works reliably with altivec code under netbsd
1095 if netbsd ; then
1096 case $cc_version in
1097 2*|3.0*|3.1*|3.2*|3.3*)
1100 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1101 _altivec=yes
1104 esac
1106 if test "$_altivec" = yes; then
1107 echores "$proc altivec"
1108 else
1109 echores "$proc"
1112 echocheck "GCC & CPU optimization abilities"
1114 if test -n "$proc"; then
1115 case "$proc" in
1116 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1117 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1118 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1119 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1120 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1121 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1122 *) ;;
1123 esac
1124 # gcc 3.1(.1) and up supports 7400 and 7450
1125 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
1126 case "$proc" in
1127 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1128 7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1129 *) ;;
1130 esac
1132 # gcc 3.2 and up supports 970
1133 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1134 case "$proc" in
1135 970*) _march='-mcpu=970' _mcpu='-mtune=970'
1136 _def_dcbzl='#undef NO_DCBZL' ;;
1137 *) ;;
1138 esac
1142 if test -n "$_mcpu"; then
1143 _optimizing=`echo $_mcpu | cut -c 8-`
1144 echores "$_optimizing"
1145 else
1146 echores "none"
1151 alpha)
1152 _def_arch='#define ARCH_ALPHA 1'
1153 _target_arch='TARGET_ARCH_ALPHA = yes'
1154 iproc='alpha'
1155 _march=''
1157 echocheck "CPU type"
1158 cat > $TMPC << EOF
1159 int main() {
1160 unsigned long ver, mask;
1161 asm ("implver %0" : "=r" (ver));
1162 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1163 printf("%ld-%x\n", ver, ~mask);
1164 return 0;
1167 $_cc -o "$TMPO" "$TMPC"
1168 case `"$TMPO"` in
1170 0-0) proc="ev4"; cpu_understands_mvi="0";;
1171 1-0) proc="ev5"; cpu_understands_mvi="0";;
1172 1-1) proc="ev56"; cpu_understands_mvi="0";;
1173 1-101) proc="pca56"; cpu_understands_mvi="1";;
1174 2-303) proc="ev6"; cpu_understands_mvi="1";;
1175 2-307) proc="ev67"; cpu_understands_mvi="1";;
1176 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1177 esac
1178 echores "$proc"
1180 echocheck "GCC & CPU optimization abilities"
1181 if test "$proc" = "ev68" ; then
1182 cc_check -mcpu=$proc || proc=ev67
1184 if test "$proc" = "ev67" ; then
1185 cc_check -mcpu=$proc || proc=ev6
1187 _mcpu="-mcpu=$proc"
1188 echores "$proc"
1190 _optimizing="$proc"
1192 echocheck "MVI instruction support in GCC"
1193 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1194 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
1195 echores "yes"
1196 else
1197 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
1198 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1202 mips)
1203 _def_arch='#define ARCH_SGI_MIPS 1'
1204 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1205 iproc='sgi-mips'
1206 proc=''
1207 _march=''
1208 _mcpu=''
1209 _optimizing=''
1211 if irix ; then
1212 echocheck "CPU type"
1213 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
1214 case "`echo $proc`" in
1215 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
1216 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
1217 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
1218 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
1219 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
1220 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
1221 esac
1222 echores "$proc"
1227 hppa)
1228 _def_arch='#define ARCH_PA_RISC 1'
1229 _target_arch='TARGET_ARCH_PA_RISC = yes'
1230 iproc='PA-RISC'
1231 proc=''
1232 _march=''
1233 _mcpu=''
1234 _optimizing=''
1237 s390)
1238 _def_arch='#define ARCH_S390 1'
1239 _target_arch='TARGET_ARCH_S390 = yes'
1240 iproc='390'
1241 proc=''
1242 _march=''
1243 _mcpu=''
1244 _optimizing=''
1247 s390x)
1248 _def_arch='#define ARCH_S390X 1'
1249 _target_arch='TARGET_ARCH_S390X = yes'
1250 iproc='390x'
1251 proc=''
1252 _march=''
1253 _mcpu=''
1254 _optimizing=''
1257 vax)
1258 _def_arch='#define ARCH_VAX 1'
1259 _target_arch='TARGET_ARCH_VAX = yes'
1260 iproc='vax'
1261 proc=''
1262 _march=''
1263 _mcpu=''
1264 _optimizing=''
1268 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1269 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1270 die "unsupported architecture $host_arch"
1272 esac
1274 if test "$_runtime_cpudetection" = yes ; then
1275 if x86; then
1276 _mmx=yes
1277 _3dnow=yes
1278 _3dnowex=yes
1279 _mmx2=yes
1280 _sse=yes
1281 _sse2=yes
1282 _mtrr=yes
1284 if ppc; then
1285 _altivec=yes
1289 if x86 && test "$_runtime_cpudetection" = no ; then
1290 extcheck() {
1291 if test "$1" = yes ; then
1292 echocheck "kernel support of $2"
1293 cat > $TMPC <<EOF
1294 #include <signal.h>
1295 void catch() { exit(1); }
1296 int main(void){
1297 signal(SIGILL, catch);
1298 __asm__ __volatile__ ("$3":::"memory");return(0);
1302 if ( cc_check && $TMPO ) > /dev/null 2>&1 ; then
1303 echores "yes"
1304 _optimizing="$_optimizing $2"
1305 return 0
1306 else
1307 echores "failed"
1308 echo "It seems that your kernel does not correctly support $2."
1309 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1310 return 1
1313 return 0
1316 extcheck $_mmx "mmx" "emms" || _mmx=no
1317 extcheck $_mmx2 "mmx2" "sfence" || _mmx2=no
1318 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1319 extcheck $_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex=no
1320 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1321 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1322 echocheck "mtrr support"
1323 echores "$_mtrr"
1325 if test "$_mtrr" = yes ; then
1326 _optimizing="$_optimizing mtrr"
1329 if test "$_gcc3_ext" != ""; then
1330 # if we had to disable sse/sse2 because the active kernel does not
1331 # support this instruction set extension, we also have to tell
1332 # gcc3 to not generate sse/sse2 instructions for normal C code
1333 cat > $TMPC << EOF
1334 int main(void) { return 0; }
1336 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1341 echocheck "assembler support of -pipe option"
1342 cat > $TMPC << EOF
1343 int main(void) { return 0; }
1345 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1347 _prefix="/usr/local"
1348 _xvmclib="XvMCNVIDIA"
1350 # GOTCHA: the variables below defines the default behavior for autodetection
1351 # and have - unless stated otherwise - at least 2 states : yes no
1352 # If autodetection is available then the third state is: auto
1353 _libavcodec=auto
1354 _amr_nb=auto
1355 _amr_nb_fixed=auto
1356 _amr_wb=auto
1357 _libavcodecs=`grep 'register_avcodec(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1358 _libavcodecso=auto
1359 _libavformat=auto
1360 _fame=auto
1361 _mp1e=no
1362 _mencoder=yes
1363 _x11=auto
1364 _dga=auto # 1 2 no auto
1365 _xv=auto
1366 _xvmc=no #auto when complete
1367 _sdl=auto
1368 _directx=auto
1369 _win32waveout=auto
1370 _nas=auto
1371 _png=auto
1372 _jpg=auto
1373 _pnm=yes
1374 _md5sum=yes
1375 _gif=auto
1376 _gl=auto
1377 _ggi=auto
1378 _ggiwmh=auto
1379 _aa=auto
1380 _caca=auto
1381 _svga=auto
1382 _vesa=auto
1383 _fbdev=auto
1384 _dvb=auto
1385 _dvbhead=auto
1386 _dxr2=auto
1387 _dxr3=auto
1388 _iconv=auto
1389 _langinfo=auto
1390 _rtc=auto
1391 _ossaudio=auto
1392 _arts=auto
1393 _esd=auto
1394 _polyp=auto
1395 _jack=auto
1396 _liblzo=auto
1397 _mad=auto
1398 _toolame=auto
1399 _twolame=auto
1400 _tremor_internal=yes
1401 _tremor_low=no
1402 _vorbis=auto
1403 _theora=auto
1404 _mp3lib=yes
1405 _liba52=yes
1406 _libdts=auto
1407 _libmpeg2=yes
1408 _matroska_internal=yes
1409 _tremor=no
1410 _faad_internal=auto
1411 _faad_external=auto
1412 _faac=auto
1413 _ladspa=auto
1414 _xmms=no
1415 # dvdnav disabled, it does not work
1416 #_dvdnav=no
1417 _dvdread=auto
1418 _dvdkit=auto
1419 _xanim=auto
1420 _real=auto
1421 _live=auto
1422 _xinerama=auto
1423 _mga=auto
1424 _xmga=auto
1425 _vm=auto
1426 _xf86keysym=auto
1427 _mlib=auto
1428 _sgiaudio=auto
1429 _sunaudio=auto
1430 _alsa=auto
1431 _fastmemcpy=yes
1432 _unrarlib=yes
1433 _win32=auto
1434 _dshow=yes
1435 _select=yes
1436 _tv=yes
1437 _tv_v4l=auto
1438 _tv_v4l2=auto
1439 _tv_bsdbt848=auto
1440 _edl=yes
1441 _network=yes
1442 _winsock2=auto
1443 _smbsupport=auto
1444 _vidix=auto
1445 _joystick=no
1446 _xvid=auto
1447 _x264=auto
1448 _divx4linux=auto
1449 _opendivx=no
1450 _lirc=auto
1451 _lircc=auto
1452 _gui=no
1453 _gtk1=no
1454 _termcap=auto
1455 _termios=auto
1456 _3dfx=no
1457 _tdfxfb=no
1458 _tdfxvid=no
1459 _tga=yes
1460 _directfb=auto
1461 _zr=auto
1462 _bl=no
1463 _largefiles=no
1464 #_language=en
1465 _shm=auto
1466 _linux_devfs=no
1467 #_charset=utf8
1468 _i18n=auto
1469 _dynamic_plugins=no
1470 _crash_debug=auto
1471 _sighandler=yes
1472 _libdv=auto
1473 _cdparanoia=auto
1474 _big_endian=auto
1475 _freetype=auto
1476 _fontconfig=auto
1477 _menu=no
1478 _qtx=auto
1479 _macosx=auto
1480 _macosx_finder_support=no
1481 _macosx_bundle=auto
1482 _sortsub=yes
1483 _freetypeconfig='freetype-config'
1484 _fribidi=no
1485 _fribidiconfig='fribidi-config'
1486 _enca=auto
1487 _inet6=auto
1488 _gethostbyname2=auto
1489 _ftp=yes
1490 _musepack=auto
1491 _vstream=auto
1492 _pthreads=yes
1493 for ac_option do
1494 case "$ac_option" in
1495 # Skip 1st pass
1496 --target=*) ;;
1497 --cc=*) ;;
1498 --host-cc=*) ;;
1499 --as=*) ;;
1500 --enable-gcc-checking) ;;
1501 --disable-gcc-checking) ;;
1502 --enable-static*) ;;
1503 --disable-static*) ;;
1504 --with-extraincdir=*) ;;
1505 --with-extralibdir=*) ;;
1506 --enable-runtime-cpudetection) ;;
1507 --disable-runtime-cpudetection) ;;
1508 --install-path=*) ;;
1509 --with-install=*) ;;
1511 # Real 2nd pass
1512 --enable-mencoder) _mencoder=yes ;;
1513 --disable-mencoder) _mencoder=no ;;
1514 --enable-i18n) _i18n=yes ;;
1515 --disable-i18n) _i18n=no ;;
1516 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1517 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1518 --enable-x11) _x11=yes ;;
1519 --disable-x11) _x11=no ;;
1520 --enable-xv) _xv=yes ;;
1521 --disable-xv) _xv=no ;;
1522 --enable-xvmc) _xvmc=yes ;;
1523 --disable-xvmc) _xvmc=no ;;
1524 --enable-sdl) _sdl=yes ;;
1525 --disable-sdl) _sdl=no ;;
1526 --enable-directx) _directx=yes ;;
1527 --disable-directx) _directx=no ;;
1528 --enable-win32waveout) _win32waveout=yes ;;
1529 --disable-win32waveout) _win32waveout=no ;;
1530 --enable-nas) _nas=yes ;;
1531 --disable-nas) _nas=no ;;
1532 --enable-png) _png=yes ;;
1533 --disable-png) _png=no ;;
1534 --enable-jpeg) _jpg=yes ;;
1535 --disable-jpeg) _jpg=no ;;
1536 --enable-pnm) _pnm=yes ;;
1537 --disable-pnm) _pnm=no ;;
1538 --enable-md5sum) _md5sum=yes ;;
1539 --disable-md5sum) _md5sum=no ;;
1540 --enable-gif) _gif=yes ;;
1541 --disable-gif) _gif=no ;;
1542 --enable-gl) _gl=yes ;;
1543 --disable-gl) _gl=no ;;
1544 --enable-ggi) _ggi=yes ;;
1545 --disable-ggi) _ggi=no ;;
1546 --enable-ggiwmh) _ggiwmh=yes ;;
1547 --disable-ggiwmh) _ggiwmh=no ;;
1548 --enable-aa) _aa=yes ;;
1549 --disable-aa) _aa=no ;;
1550 --enable-caca) _caca=yes ;;
1551 --disable-caca) _caca=no ;;
1552 --enable-svga) _svga=yes ;;
1553 --disable-svga) _svga=no ;;
1554 --enable-vesa) _vesa=yes ;;
1555 --disable-vesa) _vesa=no ;;
1556 --enable-fbdev) _fbdev=yes ;;
1557 --disable-fbdev) _fbdev=no ;;
1558 --enable-dvb) _dvb=yes ;;
1559 --disable-dvb) _dvb=no ;;
1560 --enable-dvbhead) _dvbhead=yes ;;
1561 --disable-dvbhead) _dvbhead=no ;;
1562 --enable-dxr2) _dxr2=yes ;;
1563 --disable-dxr2) _dxr2=no ;;
1564 --enable-dxr3) _dxr3=yes ;;
1565 --disable-dxr3) _dxr3=no ;;
1566 --enable-iconv) _iconv=yes ;;
1567 --disable-iconv) _iconv=no ;;
1568 --enable-langinfo) _langinfo=yes ;;
1569 --disable-langinfo) _langinfo=no ;;
1570 --enable-rtc) _rtc=yes ;;
1571 --disable-rtc) _rtc=no ;;
1572 --enable-mp1e) _mp1e=yes ;;
1573 --disable-mp1e) _mp1e=no ;;
1574 --enable-libdv) _libdv=yes ;;
1575 --disable-libdv) _libdv=no ;;
1576 --enable-ossaudio) _ossaudio=yes ;;
1577 --disable-ossaudio) _ossaudio=no ;;
1578 --enable-arts) _arts=yes ;;
1579 --disable-arts) _arts=no ;;
1580 --enable-esd) _esd=yes ;;
1581 --disable-esd) _esd=no ;;
1582 --enable-polyp) _polyp=yes ;;
1583 --disable-polyp) _polyp=no ;;
1584 --enable-jack) _jack=yes ;;
1585 --disable-jack) _jack=no ;;
1586 --enable-mad) _mad=yes ;;
1587 --disable-mad) _mad=no ;;
1588 --disable-toolame) _toolame=no ;;
1589 --disable-twolame) _twolame=no ;;
1590 --enable-liblzo) _liblzo=yes ;;
1591 --disable-liblzo) _liblzo=no ;;
1592 --enable-vorbis) _vorbis=yes ;;
1593 --disable-vorbis) _vorbis=no ;;
1594 --enable-internal-tremor) _tremor_internal=yes ;;
1595 --disable-internal-tremor) _tremor_internal=no ;;
1596 --enable-tremor-low) _tremor_low=yes ;;
1597 --disable-tremor-low) _tremor_low=no ;;
1598 --enable-external-tremor) _tremor=yes ;;
1599 --disable-external-tremor) _tremor=no ;;
1600 --enable-theora) _theora=yes ;;
1601 --disable-theora) _theora=no ;;
1602 --enable-mp3lib) _mp3lib=yes ;;
1603 --disable-mp3lib) _mp3lib=no ;;
1604 --enable-liba52) _liba52=yes ;;
1605 --disable-liba52) _liba52=no ;;
1606 --enable-libdts) _libdts=yes ;;
1607 --disable-libdts) _libdts=no ;;
1608 --enable-libmpeg2) _libmpeg2=yes ;;
1609 --disable-libmpeg2) _libmpeg2=no ;;
1610 --enable-musepack) _musepack=yes ;;
1611 --disable-musepack) _musepack=no ;;
1612 --enable-internal-matroska) _matroska_internal=yes ;;
1613 --disable-internal-matroska) _matroska_internal=no ;;
1614 --enable-internal-faad) _faad_internal=yes _faad_external=no ;;
1615 --disable-internal-faad) _faad_internal=no ;;
1616 --enable-external-faad) _faad_external=yes _faad_internal=no ;;
1617 --disable-external-faad) _faad_external=no ;;
1618 --enable-faac) _faac=yes ;;
1619 --disable-faac) _faac=no ;;
1620 --enable-ladspa) _ladspa=yes ;;
1621 --disable-ladspa) _ladspa=no ;;
1622 --enable-xmms) _xmms=yes ;;
1623 --disable-xmms) _xmms=no ;;
1624 --enable-dvdread) _dvdread=yes ;;
1625 --disable-dvdread) _dvdread=no ;;
1626 --enable-mpdvdkit) _dvdkit=yes ;;
1627 --disable-mpdvdkit) _dvdkit=no ;;
1628 # dvdnav disabled, it does not work
1629 # --enable-dvdnav) _dvdnav=yes ;;
1630 # --disable-dvdnav) _dvdnav=no ;;
1631 --enable-xanim) _xanim=yes ;;
1632 --disable-xanim) _xanim=no ;;
1633 --enable-real) _real=yes ;;
1634 --disable-real) _real=no ;;
1635 --enable-live) _live=yes ;;
1636 --disable-live) _live=no ;;
1637 --enable-xinerama) _xinerama=yes ;;
1638 --disable-xinerama) _xinerama=no ;;
1639 --enable-mga) _mga=yes ;;
1640 --disable-mga) _mga=no ;;
1641 --enable-xmga) _xmga=yes ;;
1642 --disable-xmga) _xmga=no ;;
1643 --enable-vm) _vm=yes ;;
1644 --disable-vm) _vm=no ;;
1645 --enable-xf86keysym) _xf86keysym=yes ;;
1646 --disable-xf86keysym) _xf86keysym=no ;;
1647 --enable-mlib) _mlib=yes ;;
1648 --disable-mlib) _mlib=no ;;
1649 --enable-sunaudio) _sunaudio=yes ;;
1650 --disable-sunaudio) _sunaudio=no ;;
1651 --enable-sgiaudio) _sgiaudio=yes ;;
1652 --disable-sgiaudio) _sgiaudio=no ;;
1653 --enable-alsa) _alsa=yes ;;
1654 --disable-alsa) _alsa=no ;;
1655 --enable-tv) _tv=yes ;;
1656 --disable-tv) _tv=no ;;
1657 --enable-edl) _edl=yes ;;
1658 --disable-edl) _edl=no ;;
1659 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1660 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1661 --enable-tv-v4l) _tv_v4l=yes ;;
1662 --disable-tv-v4l) _tv_v4l=no ;;
1663 --enable-tv-v4l2) _tv_v4l2=yes ;;
1664 --disable-tv-v4l2) _tv_v4l2=no ;;
1665 --enable-fastmemcpy) _fastmemcpy=yes ;;
1666 --disable-fastmemcpy) _fastmemcpy=no ;;
1667 --enable-network) _network=yes ;;
1668 --disable-network) _network=no ;;
1669 --enable-winsock2) _winsock2=yes ;;
1670 --disable-winsock2) _winsock2=no ;;
1671 --enable-smb) _smbsupport=yes ;;
1672 --disable-smb) _smbsupport=no ;;
1673 --enable-vidix) _vidix=yes ;;
1674 --disable-vidix) _vidix=no ;;
1675 --enable-joystick) _joystick=yes ;;
1676 --disable-joystick) _joystick=no ;;
1677 --enable-xvid) _xvid=yes ;;
1678 --disable-xvid) _xvid=no ;;
1679 --enable-x264) _x264=yes ;;
1680 --disable-x264) _x264=no ;;
1681 --enable-divx4linux) _divx4linux=yes ;;
1682 --disable-divx4linux) _divx4linux=no ;;
1683 --enable-opendivx) _opendivx=yes ;;
1684 --disable-opendivx) _opendivx=no ;;
1685 --enable-libavcodec) _libavcodec=yes ;;
1686 --disable-libavcodec) _libavcodec=no ;;
1687 --enable-amr_nb) _amr_nb=yes ;;
1688 --disable-amr_nb) _amr_nb=no ;;
1689 --enable-amr_nb-fixed) _amr_nb_fixed=yes ;;
1690 --disable-amr_nb-fixed) _amr_nb_fixed=no ;;
1691 --enable-amr_wb) _amr_wb=yes ;;
1692 --disable-amr_wb) _amr_wb=no ;;
1693 --enable-codec=*) _libavcodecs="$_libavcodecs `echo $ac_option | cut -d '=' -f 2`" ;;
1694 --disable-codec=*) _libavcodecs=`echo $_libavcodecs | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1695 --enable-libavformat) _libavformat=yes;;
1696 --disable-libavformat) _libavformat=no ;;
1697 --enable-libfame) _fame=yes ;;
1698 --disable-libfame) _fame=no ;;
1699 --enable-lirc) _lirc=yes ;;
1700 --disable-lirc) _lirc=no ;;
1701 --enable-lircc) _lircc=yes ;;
1702 --disable-lircc) _lircc=no ;;
1703 --enable-gui) _gui=yes ;;
1704 --disable-gui) _gui=no ;;
1705 --enable-old-gtk) _gtk1=yes ;;
1706 --enable-termcap) _termcap=yes ;;
1707 --disable-termcap) _termcap=no ;;
1708 --enable-termios) _termios=yes ;;
1709 --disable-termios) _termios=no ;;
1710 --enable-3dfx) _3dfx=yes ;;
1711 --disable-3dfx) _3dfx=no ;;
1712 --enable-tdfxfb) _tdfxfb=yes ;;
1713 --disable-tdfxvid) _tdfxvid=no ;;
1714 --enable-tdfxvid) _tdfxvid=yes ;;
1715 --disable-tga) _tga=no ;;
1716 --enable-tga) _tga=yes ;;
1717 --disable-tdfxfb) _tdfxfb=no ;;
1718 --enable-directfb) _directfb=yes ;;
1719 --disable-directfb) _directfb=no ;;
1720 --enable-zr) _zr=yes ;;
1721 --disable-zr) _zr=no ;;
1722 --enable-bl) _bl=yes ;;
1723 --disable-bl) _bl=no ;;
1724 --enable-mtrr) _mtrr=yes ;;
1725 --disable-mtrr) _mtrr=no ;;
1726 --enable-largefiles) _largefiles=yes ;;
1727 --disable-largefiles) _largefiles=no ;;
1728 --enable-shm) _shm=yes ;;
1729 --disable-shm) _shm=no ;;
1730 --enable-select) _select=yes ;;
1731 --disable-select) _select=no ;;
1732 --enable-linux-devfs) _linux_devfs=yes ;;
1733 --disable-linux-devfs) _linux_devfs=no ;;
1734 --enable-cdparanoia) _cdparanoia=yes ;;
1735 --disable-cdparanoia) _cdparanoia=no ;;
1736 --enable-big-endian) _big_endian=yes ;;
1737 --disable-big-endian) _big_endian=no ;;
1738 --enable-freetype) _freetype=yes ;;
1739 --disable-freetype) _freetype=no ;;
1740 --enable-fontconfig) _fontconfig=yes ;;
1741 --disable-fontconfig) _fontconfig=no ;;
1742 --enable-unrarlib) _unrarlib=yes ;;
1743 --disable-unrarlib) _unrarlib=no ;;
1744 --enable-ftp) _ftp=yes ;;
1745 --disable-ftp) _ftp=no ;;
1746 --enable-vstream) _vstream=yes ;;
1747 --disable-vstream) _vstream=no ;;
1748 --enable-pthreads) _pthreads=yes ;;
1749 --disable-pthreads) _pthreads=no ;;
1751 --enable-fribidi) _fribidi=yes ;;
1752 --disable-fribidi) _fribidi=no ;;
1754 --enable-enca) _enca=yes ;;
1755 --disable-enca) _enca=no ;;
1757 --enable-inet6) _inet6=yes ;;
1758 --disable-inet6) _inet6=no ;;
1760 --enable-gethostbyname2) _gethostbyname2=yes ;;
1761 --disable-gethostbyname2) _gethostbyname2=no ;;
1763 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
1764 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
1765 --disable-dga) _dga=no ;;
1767 --enable-menu) _menu=yes ;;
1768 --disable-menu) _menu=no ;;
1770 --enable-qtx) _qtx=yes ;;
1771 --disable-qtx) _qtx=no ;;
1773 --enable-macosx) _macosx=yes ;;
1774 --disable-macosx) _macosx=no ;;
1775 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
1776 --disable-macosx-finder-support) _macosx_finder_support=no ;;
1777 --enable-macosx-bundle) _macosx_bundle=yes;;
1778 --disable-macosx-bundle) _macosx_bundle=no;;
1780 --enable-sortsub) _sortsub=yes ;;
1781 --disable-sortsub) _sortsub=no ;;
1783 --charset=*)
1784 _charset=`echo $ac_option | cut -d '=' -f 2`
1786 --language=*)
1787 _language=`echo $ac_option | cut -d '=' -f 2`
1789 # dvdnav disabled, it does not work
1790 # --with-libdvdnav=*)
1791 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1792 # _dvdnav=yes
1793 # ;;
1795 --with-codecsdir=*)
1796 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1797 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1798 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1800 --with-win32libdir=*)
1801 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1802 _win32=yes
1804 --with-xanimlibdir=*)
1805 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1806 _xanim=yes
1808 --with-reallibdir=*)
1809 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1810 _real=yes
1812 --with-livelibdir=*)
1813 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
1815 --with-toolamedir=*)
1816 _toolamedir=`echo $ac_option | cut -d '=' -f 2`
1818 --with-mlibdir=*)
1819 _mlibdir=`echo $ac_option | cut -d '=' -f 2`
1820 _mlib=yes
1823 --with-xmmslibdir=*)
1824 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
1827 --with-xmmsplugindir=*)
1828 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
1831 --enable-profile)
1832 _profile='-p'
1834 --disable-profile)
1835 _profile=
1837 --enable-debug)
1838 _debug='-g'
1840 --enable-debug=*)
1841 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1843 --disable-debug)
1844 _debug=
1846 --enable-crash-debug)
1847 _crash_debug=yes
1849 --disable-crash-debug)
1850 _crash_debug=no
1852 --enable-sighandler)
1853 _sighandler=yes
1855 --disable-sighandler)
1856 _sighandler=no
1859 --enable-sse) _sse=yes ;;
1860 --disable-sse) _sse=no ;;
1861 --enable-sse2) _sse2=yes ;;
1862 --disable-sse2) _sse2=no ;;
1863 --enable-mmx2) _mmx2=yes ;;
1864 --disable-mmx2) _mmx2=no ;;
1865 --enable-3dnow) _3dnow=yes ;;
1866 --disable-3dnow) _3dnow=no _3dnowex=no ;;
1867 --enable-3dnowex) _3dnow=yes _3dnowex=yes ;;
1868 --disable-3dnowex) _3dnowex=no ;;
1869 --enable-altivec) _altivec=yes ;;
1870 --disable-altivec) _altivec=no ;;
1871 --enable-mmx) _mmx=yes ;;
1872 --disable-mmx) # 3Dnow! and MMX2 require MMX
1873 _3dnow=no _3dnowex=no _mmx=no _mmx2=no ;;
1875 --enable-win32) _win32=yes ;;
1876 --disable-win32) _win32=no _dshow=no ;;
1877 --enable-dshow) _win32=yes _dshow=yes ;;
1878 --disable-dshow) _dshow=no ;;
1880 --with-x11incdir=*)
1881 _inc_x11=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1883 --with-x11libdir=*)
1884 _x11_paths=`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1886 --with-dxr2incdir=*)
1887 _inc_dxr2=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1889 --with-xvmclib=*)
1890 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
1892 --with-dvbincdir=*)
1893 _inc_dvb=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1895 --with-xvidlibdir=*)
1896 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1898 --with-xvidincdir=*)
1899 _inc_xvid=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1901 --with-dtslibdir=*)
1902 _ld_libdts=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1904 --with-dtsincdir=*)
1905 _inc_libdts=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1907 --with-x264libdir=*)
1908 _ld_x264=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1910 --with-x264incdir=*)
1911 _inc_x264=-I`echo $ac_option | cut -d '=' -f 2 |sed 's,:, -I,g'`
1913 --with-sdl-config=*)
1914 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
1916 --with-freetype-config=*)
1917 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
1919 --with-fribidi-config=*)
1920 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
1922 --with-gtk-config=*)
1923 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
1925 --with-glib-config=*)
1926 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
1928 # dvdnav disabled, it does not work
1929 # --with-dvdnav-config=*)
1930 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1931 # ;;
1932 --with-madlibdir=*)
1933 _ld_mad=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1935 --with-cdparanoiaincdir=*)
1936 _inc_cdparanoia=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1938 --with-cdparanoialibdir=*)
1939 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1941 --with-termcaplib=*)
1942 _ld_termcap=-l`echo $ac_option | cut -d '=' -f 2`
1943 _termcap=yes
1945 --prefix=*)
1946 _prefix=`echo $ac_option | cut -d '=' -f 2`
1948 --bindir=*)
1949 _bindir=`echo $ac_option | cut -d '=' -f 2`
1951 --datadir=*)
1952 _datadir=`echo $ac_option | cut -d '=' -f 2`
1954 --mandir=*)
1955 _mandir=`echo $ac_option | cut -d '=' -f 2`
1957 --confdir=*)
1958 _confdir=`echo $ac_option | cut -d '=' -f 2`
1960 --libdir=*)
1961 _libdir=`echo $ac_option | cut -d '=' -f 2`
1965 echo "Unknown parameter: $ac_option"
1966 exit 1
1969 esac
1970 done
1972 # Atmos: moved this here, to be correct, if --prefix is specified
1973 test -z "$_bindir" && _bindir="$_prefix/bin"
1974 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1975 test -z "$_mandir" && _mandir="$_prefix/man"
1976 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1977 test -z "$_libdir" && _libdir="$_prefix/lib"
1978 test -z "$_mlibdir" && _mlibdir="$MLIBHOME"
1980 if x86 ; then
1981 # Checking assembler (_as) compatibility...
1982 # Added workaround for older as that reads from stdin by default - atmos
1983 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1984 echocheck "assembler ($_as $as_version)"
1986 _pref_as_version='2.9.1'
1987 echo 'nop' > $TMPS
1988 if test "$_mmx" = yes ; then
1989 echo 'emms' >> $TMPS
1991 if test "$_3dnow" = yes ; then
1992 _pref_as_version='2.10.1'
1993 echo 'femms' >> $TMPS
1995 if test "$_3dnowex" = yes ; then
1996 _pref_as_version='2.10.1'
1997 echo 'pswapd %mm0, %mm0' >> $TMPS
1999 if test "$_mmx2" = yes ; then
2000 _pref_as_version='2.10.1'
2001 echo 'movntq %mm0, (%eax)' >> $TMPS
2003 if test "$_sse" = yes ; then
2004 _pref_as_version='2.10.1'
2005 echo 'xorps %xmm0, %xmm0' >> $TMPS
2007 #if test "$_sse2" = yes ; then
2008 # _pref_as_version='2.11'
2009 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2011 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2013 if test "$as_verc_fail" != yes ; then
2014 echores "ok"
2015 else
2016 echores "failed"
2017 echo "Upgrade binutils to ${_pref_as_version} ..."
2018 die "obsolete binutils version"
2022 if ppc ; then
2024 # check if altivec is supported by the compiler, and how to enable it
2026 _altivec_gcc_flags=''
2028 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2029 echocheck "GCC altivec support"
2031 p=''
2032 cat > $TMPC << EOF
2033 int main() {
2034 return 0;
2037 FSF_flags='-maltivec -mabi=altivec'
2038 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2040 # check for Darwin-style flags first, since
2041 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2042 # accepts but ignores FSF-style flags...
2044 if test -z "$p"; then
2045 cc_check $Darwin_flags && p='Darwin'
2047 if test -z "$p"; then
2048 cc_check $FSF_flags && p='FSF'
2051 case $p in
2052 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2053 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2054 *) _altivec=no ;;
2055 esac
2057 if test -z "$p"; then
2058 p=none
2059 else
2060 p="$p-style ($_altivec_gcc_flags)"
2063 echores "$p"
2066 # check if <altivec.h> should be included
2068 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2070 if test "$_altivec" = yes ; then
2071 echocheck "altivec.h"
2072 cat > $TMPC << EOF
2073 #include <altivec.h>
2074 int main(void) { return 0; }
2076 _have_altivec_h=no
2077 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2078 if test "$_have_altivec_h" = yes ; then
2079 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2081 echores "$_have_altivec_h"
2084 # disable runtime cpudetection if
2085 # - we cannot generate altivec code
2086 # - altivec is disabled by the user
2088 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2089 _runtime_cpudetection=no
2092 # show that we are optimizing for altivec (if enabled and supported)
2094 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2095 _optimizing="$_optimizing altivec"
2098 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2100 if test "$_altivec" = yes ; then
2101 _mcpu="$_mcpu $_altivec_gcc_flags"
2104 # setup _def_altivec correctly
2106 if test "$_altivec" = yes ; then
2107 _def_altivec='#define HAVE_ALTIVEC 1'
2108 else
2109 _def_altivec='#undef HAVE_ALTIVEC'
2113 _def_mmx='#undef HAVE_MMX'
2114 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2115 _def_mmx2='#undef HAVE_MMX2'
2116 test "$_mmx2" = yes && _def_mmx2='#define HAVE_MMX2 1'
2117 _def_3dnow='#undef HAVE_3DNOW'
2118 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2119 _def_3dnowex='#undef HAVE_3DNOWEX'
2120 test "$_3dnowex" = yes && _def_3dnowex='#define HAVE_3DNOWEX 1'
2121 _def_sse='#undef HAVE_SSE'
2122 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2123 _def_sse2='#undef HAVE_SSE2'
2124 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2126 # Checking kernel version...
2127 if x86 && linux ; then
2128 _k_verc_problem=no
2129 kernel_version=`uname -r 2>&1`
2130 echocheck "$system_name kernel version"
2131 case "$kernel_version" in
2132 '') kernel_version="?.??"; _k_verc_fail=yes;;
2133 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2134 _k_verc_problem=yes;;
2135 esac
2136 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2137 _k_verc_fail=yes
2139 if test "$_k_verc_fail" ; then
2140 echores "$kernel_version, fail"
2141 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2142 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2143 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2144 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2145 echo "2.2.x you must upgrade it to get SSE support!"
2146 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2147 else
2148 echores "$kernel_version, ok"
2152 if test "$_vidix" = auto ; then
2153 _vidix=no
2154 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2155 x86 && _vidix=yes
2156 x86_64 && _vidix=yes
2157 ppc && linux && _vidix=yes
2158 alpha && linux && _vidix=yes
2159 qnx && _vidix=no
2160 sunos && _vidix=no
2161 beos && _vidix=no
2164 echocheck "mplayer binary name"
2165 if win32 ; then
2166 _prg="mplayer.exe"
2167 _prg_mencoder="mencoder.exe"
2168 else
2169 _prg="mplayer"
2170 _prg_mencoder="mencoder"
2172 echores $_prg
2175 # On QNX we must link to libph - Gabucino
2176 if qnx ; then
2177 _ld_arch="$_ld_arch -lph"
2180 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2181 _awk=
2182 if test "$_vidix" = yes ; then
2183 _awk_verc_fail=yes
2184 echocheck "awk"
2185 for _awk in mawk gawk nawk awk; do
2186 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2187 _awk_verc_fail=no
2188 break
2190 done
2191 test "$_awk_verc_fail" = yes && _awk=no
2192 echores "$_awk"
2193 if test "$_awk_verc_fail" = yes; then
2194 echo "VIDIX needs awk, but no working implementation was found!"
2195 echo "Try the GNU version, which can be downloaded from:"
2196 echo "ftp://ftp.gnu.org/gnu/gawk/"
2197 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2198 die "no awk"
2202 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2203 if irix ; then
2204 _ranlib='ar -r'
2205 elif linux ; then
2206 _ranlib='true'
2209 ######################
2210 # MAIN TESTS GO HERE #
2211 ######################
2214 echocheck "extra headers"
2215 if test "$_inc_extra" ; then
2216 echores "$_inc_extra"
2217 else
2218 echores "none"
2222 echocheck "extra libs"
2223 if test "$_ld_extra" ; then
2224 echores "$_ld_extra"
2225 else
2226 echores "none"
2229 echocheck "-lposix"
2230 cat > $TMPC <<EOF
2231 int main(void) { return 0; }
2233 if cc_check -lposix ; then
2234 _ld_arch="$_ld_arch -lposix"
2235 echores "yes"
2236 else
2237 echores "no"
2240 echocheck "-lm"
2241 cat > $TMPC <<EOF
2242 int main(void) { return 0; }
2244 if cc_check -lm ; then
2245 _ld_lm="-lm"
2246 echores "yes"
2247 else
2248 _ld_lm=""
2249 echores "no"
2252 # Checking for localization ...
2253 # CSAK EGY MARADHAT - A HEGYLAKO
2254 echocheck "i18n"
2255 if test "$_i18n" != no ; then
2256 cat > $TMPC <<EOF
2257 #include <libintl.h>
2258 int main(void) { gettext("test"); return 0; }
2260 _i18n=no
2261 _i18n_libs=""
2262 if test "$_i18n" = auto ; then
2263 cc_check && _i18n=yes
2264 else
2265 for i18n_lib in "" "-lintl"; do
2266 cc_check $i18n_lib && _i18n=yes && _i18n_libs=$i18n_lib && break
2267 done
2270 if test "$_i18n" = yes ; then
2271 _def_i18n='#define USE_I18N 1'
2272 else
2273 _def_i18n='#undef USE_I18N'
2275 if test "$_i18n_libs" ; then
2276 _res_comment="using $_i18n_libs"
2278 echores "$_i18n"
2281 echocheck "langinfo"
2282 if test "$_langinfo" = auto ; then
2283 cat > $TMPC <<EOF
2284 #include <langinfo.h>
2285 int main(void) { nl_langinfo(CODESET); return 0; }
2287 _langinfo=no
2288 cc_check && _langinfo=yes
2290 if test "$_langinfo" = yes ; then
2291 _def_langinfo='#define USE_LANGINFO 1'
2292 else
2293 _def_langinfo='#undef USE_LANGINFO'
2295 echores "$_langinfo"
2298 echocheck "language"
2299 test -z "$_language" && _language=$LINGUAS
2300 _language=`echo $_language | sed 's/,/ /g'`
2301 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2302 for lang in $_language ; do
2303 test "$lang" = all && lang=en
2304 if test -f "help/help_mp-${lang}.h" ; then
2305 _language=$lang
2306 break
2307 else
2308 echo -n "$lang not found, "
2309 _language=`echo $_language | sed "s/$lang *//"`
2311 done
2312 test -z "$_language" && _language=en
2313 _mp_help="help/help_mp-${_language}.h"
2314 test -f $_mp_help || die "$_mp_help not found"
2315 for lang in $LANGUAGES ; do
2316 if test -f "DOCS/man/$lang/mplayer.1" ; then
2317 MAN_LANG="$MAN_LANG $lang"
2319 done
2320 _doc_lang=$_language
2321 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2322 echores "using $_language (man pages: $MAN_LANG)"
2325 echocheck "enable sighandler"
2326 if test "$_sighandler" = yes ; then
2327 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2328 else
2329 _def_sighandler='#undef ENABLE_SIGHANDLER'
2331 echores "$_sighandler"
2333 echocheck "runtime cpudetection"
2334 if test "$_runtime_cpudetection" = yes ; then
2335 _optimizing="Runtime CPU-Detection enabled"
2336 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2337 else
2338 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2340 echores "$_runtime_cpudetection"
2343 echocheck "restrict keyword"
2344 for restrict_keyword in restrict __restrict __restrict__ ; do
2345 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2346 if cc_check; then
2347 _def_restrict_keyword=$restrict_keyword
2348 break;
2350 done
2351 if [ -n "$_def_restrict_keyword" ]; then
2352 echores "$_def_restrict_keyword"
2353 else
2354 echores "none"
2356 # Avoid infinite recursion loop ("#define restrict restrict")
2357 if [ "$_def_restrict_keyword" != "restrict" ]; then
2358 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2359 else
2360 _def_restrict_keyword=""
2364 echocheck "__builtin_expect"
2365 # GCC branch prediction hint
2366 cat > $TMPC << EOF
2367 int foo (int a) {
2368 a = __builtin_expect (a, 10);
2369 return a == 10 ? 0 : 1;
2371 int main() { return foo(10) && foo(0); }
2373 _builtin_expect=no
2374 cc_check && _builtin_expect=yes
2375 if test "$_builtin_expect" = yes ; then
2376 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2377 else
2378 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2380 echores "$_builtin_expect"
2383 echocheck "kstat"
2384 cat > $TMPC << EOF
2385 #include <kstat.h>
2386 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2388 _kstat=no
2389 cc_check -lkstat && _kstat=yes
2390 if test "$_kstat" = yes ; then
2391 _def_kstat="#define HAVE_LIBKSTAT 1"
2392 _ld_arch="-lkstat $_ld_arch"
2393 else
2394 _def_kstat="#undef HAVE_LIBKSTAT"
2396 echores "$_kstat"
2399 echocheck "posix4"
2400 # required for nanosleep on some systems
2401 cat > $TMPC << EOF
2402 #include <time.h>
2403 int main(void) { (void) nanosleep(0, 0); return 0; }
2405 _posix4=no
2406 cc_check -lposix4 && _posix4=yes
2407 if test "$_posix4" = yes ; then
2408 _ld_arch="-lposix4 $_ld_arch"
2410 echores "$_posix4"
2412 echocheck "lrintf"
2413 cat > $TMPC << EOF
2414 #include <math.h>
2415 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2417 _lrintf=no
2418 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2419 if test "$_lrintf" = yes ; then
2420 _def_lrintf="#define HAVE_LRINTF 1"
2421 else
2422 _def_lrintf="#undef HAVE_LRINTF"
2424 echores "$_lrintf"
2426 echocheck "round"
2427 cat > $TMPC << EOF
2428 #include <math.h>
2429 int main(void) { (void) round(0.0); return 0; }
2431 _round=no
2432 cc_check $_ld_lm && _round=yes
2433 if test "$_round" = yes ; then
2434 _def_round="#define HAVE_ROUND 1"
2435 else
2436 _def_round="#undef HAVE_ROUND"
2438 echores "$_round"
2440 echocheck "nanosleep"
2441 # also check for nanosleep
2442 cat > $TMPC << EOF
2443 #include <time.h>
2444 int main(void) { (void) nanosleep(0, 0); return 0; }
2446 _nanosleep=no
2447 cc_check $_ld_arch && _nanosleep=yes
2448 if test "$_nanosleep" = yes ; then
2449 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2450 else
2451 _def_nanosleep='#undef HAVE_NANOSLEEP'
2453 echores "$_nanosleep"
2456 echocheck "socklib"
2457 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2458 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2459 cat > $TMPC << EOF
2460 #include <netdb.h>
2461 int main(void) { (void) gethostbyname(0); return 0; }
2463 for _ld_tmp in "-lsocket" "-lnsl" "-lsocket -lnsl" "-lsocket -ldnet" "-lsocket -lbind" ; do
2464 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && break
2465 done
2466 if test $_winsock2 = auto && not cygwin ; then
2467 _winsock2=no
2468 cat > $TMPC << EOF
2469 #include <winsock2.h>
2470 int main(void) { (void) gethostbyname(0); return 0; }
2472 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2474 if test "$_ld_sock" ; then
2475 echores "yes (using $_ld_sock)"
2476 else
2477 echores "no"
2481 if test $_winsock2 = yes ; then
2482 _ld_sock="-lws2_32"
2483 _def_winsock2='#define HAVE_WINSOCK2 1'
2484 else
2485 _def_winsock2='#undef HAVE_WINSOCK2'
2489 _use_aton=no
2490 echocheck "inet_pton()"
2491 cat > $TMPC << EOF
2492 #include <sys/types.h>
2493 #include <sys/socket.h>
2494 #include <arpa/inet.h>
2495 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2497 if test "$_winsock2" = yes ; then
2498 echores "not needed (using winsock2 functions)"
2499 elif cc_check $_ld_sock ; then
2500 # NOTE: Linux has libresolv but does not need it
2502 echores "yes (using $_ld_sock)"
2503 elif cc_check $_ld_sock -lresolv ; then
2504 # NOTE: needed for SunOS at least
2505 _ld_sock="$_ld_sock -lresolv"
2506 echores "yes (using $_ld_sock)"
2507 else
2508 echores "no (=> i'll try inet_aton next)"
2510 echocheck "inet_aton()"
2511 cat > $TMPC << EOF
2512 #include <sys/types.h>
2513 #include <sys/socket.h>
2514 #include <arpa/inet.h>
2515 int main(void) { (void) inet_aton(0, 0); return 0; }
2517 _use_aton=yes
2518 if cc_check $_ld_sock ; then
2519 # NOTE: Linux has libresolv but does not need it
2521 echores "yes (using $_ld_sock)"
2522 elif cc_check $_ld_sock -lresolv ; then
2523 # NOTE: needed for SunOS at least
2524 _ld_sock="$_ld_sock -lresolv"
2525 echores "yes (using $_ld_sock)"
2526 else
2527 _use_aton=no
2528 _network=no
2529 echores "no (=> network support disabled)"
2533 _def_use_aton='#undef USE_ATON'
2534 if test "$_use_aton" != no; then
2535 _def_use_aton='#define USE_ATON 1'
2539 echocheck "inttypes.h (required)"
2540 cat > $TMPC << EOF
2541 #include <inttypes.h>
2542 int main(void) { return 0; }
2544 _inttypes=no
2545 cc_check && _inttypes=yes
2546 if test "$_inttypes" = yes ; then
2547 # nothing to do
2549 else
2550 echores "no"
2551 echocheck "bitypes.h (inttypes.h predecessor)"
2552 cat > $TMPC << EOF
2553 #include <sys/bitypes.h>
2554 int main(void) { return 0; }
2556 _inttypes=no
2557 cc_check && _inttypes=yes
2558 if test "$_inttypes" = yes ; then
2559 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."
2560 else
2561 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2564 echores "$_inttypes"
2567 echocheck "int_fastXY_t in inttypes.h"
2568 cat > $TMPC << EOF
2569 #include <inttypes.h>
2570 int main(void) {
2571 volatile int_fast16_t v= 0;
2572 return v; }
2574 _fast_inttypes=no
2575 cc_check && _fast_inttypes=yes
2576 if test "$_fast_inttypes" = yes ; then
2577 # nothing to do
2579 else
2580 _def_fast_inttypes='
2581 typedef signed char int_fast8_t;
2582 typedef signed int int_fast16_t;
2583 typedef signed int int_fast32_t;
2584 typedef unsigned char uint_fast8_t;
2585 typedef unsigned int uint_fast16_t;
2586 typedef unsigned int uint_fast32_t;'
2588 echores "$_fast_inttypes"
2591 echocheck "word size"
2592 _mp_wordsize="#undef MP_WORDSIZE"
2593 cat > $TMPC << EOF
2594 #include <stdio.h>
2595 #include <sys/types.h>
2596 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2598 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2599 echores "$_wordsize"
2602 echocheck "stddef.h"
2603 cat > $TMPC << EOF
2604 #include <stddef.h>
2605 int main(void) { return 0; }
2607 _stddef=no
2608 cc_check && _stddef=yes
2609 if test "$_stddef" = yes ; then
2610 _def_stddef='#define HAVE_STDDEF_H 1'
2611 else
2612 _def_stddef='#undef HAVE_STDDEF_H'
2614 echores "$_stddef"
2617 echocheck "malloc.h"
2618 cat > $TMPC << EOF
2619 #include <malloc.h>
2620 int main(void) { (void) malloc(0); return 0; }
2622 _malloc=no
2623 cc_check && _malloc=yes
2624 if test "$_malloc" = yes ; then
2625 _def_malloc='#define HAVE_MALLOC_H 1'
2626 else
2627 _def_malloc='#undef HAVE_MALLOC_H'
2629 # malloc.h emits a warning in FreeBSD and OpenBSD
2630 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2631 echores "$_malloc"
2634 echocheck "memalign()"
2635 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2636 cat > $TMPC << EOF
2637 #include <malloc.h>
2638 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2640 _memalign=no
2641 cc_check && _memalign=yes
2642 if test "$_memalign" = yes ; then
2643 _def_memalign='#define HAVE_MEMALIGN 1'
2644 else
2645 _def_memalign='#undef HAVE_MEMALIGN'
2647 echores "$_memalign"
2650 echocheck "alloca.h"
2651 cat > $TMPC << EOF
2652 #include <alloca.h>
2653 int main(void) { (void) alloca(0); return 0; }
2655 _alloca=no
2656 cc_check && _alloca=yes
2657 if cc_check ; then
2658 _def_alloca='#define HAVE_ALLOCA_H 1'
2659 else
2660 _def_alloca='#undef HAVE_ALLOCA_H'
2662 echores "$_alloca"
2665 echocheck "mman.h"
2666 cat > $TMPC << EOF
2667 #include <sys/types.h>
2668 #include <sys/mman.h>
2669 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2671 _mman=no
2672 cc_check && _mman=yes
2673 if test "$_mman" = yes ; then
2674 _def_mman='#define HAVE_SYS_MMAN_H 1'
2675 else
2676 _def_mman='#undef HAVE_SYS_MMAN_H'
2678 echores "$_mman"
2680 cat > $TMPC << EOF
2681 #include <sys/types.h>
2682 #include <sys/mman.h>
2683 int main(void) { void *p = MAP_FAILED; return 0; }
2685 _mman_has_map_failed=no
2686 cc_check && _mman_has_map_failed=yes
2687 if test "$_mman_has_map_failed" = yes ; then
2688 _def_mman_has_map_failed=''
2689 else
2690 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2693 echocheck "dynamic loader"
2694 cat > $TMPC << EOF
2695 #include <dlfcn.h>
2696 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2698 _dl=no
2699 for _ld_tmp in "" "-ldl" ; do
2700 cc_check $_ld_tmp && ld_dl="$_ld_tmp" && _dl=yes && break
2701 done
2702 if test "$_dl" = yes ; then
2703 _def_dl='#define HAVE_LIBDL 1'
2704 else
2705 _def_dl='#undef HAVE_LIBDL'
2707 echores "$_dl"
2710 echocheck "dynamic a/v plugins support"
2711 if test "$_dl" = no ; then
2712 _dynamic_plugins=no
2714 if test "$_dynamic_plugins" = yes ; then
2715 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2716 else
2717 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2719 echores "$_dynamic_plugins"
2722 #echocheck "dynamic linking"
2723 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2724 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2725 #cat > $TMPC << EOF
2726 #int main(void) { return 0; }
2727 #EOF
2728 #if cc_check -rdynamic ; then
2729 # _ld_dl_dynamic='-rdynamic'
2730 #elif cc_check -Bdynamic ; then
2731 # _ld_dl_dynamic='-Bdynamic'
2732 #elif cc_check ; then
2733 # _ld_dl_dynamic=''
2735 #echores "using $_ld_dl_dynamic"
2737 _def_threads='#undef HAVE_THREADS'
2739 echocheck "pthread"
2740 if test "$_pthreads" != no ; then
2741 cat > $TMPC << EOF
2742 #include <pthread.h>
2743 void* func(void *arg) { return arg; }
2744 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2746 _pthreads=no
2747 if not hpux ; then
2748 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
2749 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2750 cc_check $_ld_tmp && ($TMPO || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
2751 done
2754 if test "$_pthreads" = yes ; then
2755 echores "yes (using $_ld_pthread)"
2756 _pthreads='yes'
2757 _def_pthreads='#define HAVE_PTHREADS 1'
2758 _def_threads='#define HAVE_THREADS 1'
2759 else
2760 echores "no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2761 _pthreads=''
2762 _def_pthreads='#undef HAVE_PTHREADS'
2763 _nas=no ; _tv_v4l=no ; _macosx=no
2764 if not mingw32 ; then
2765 _win32=no
2770 echocheck "iconv"
2771 if test "$_iconv" = auto ; then
2772 _iconv_tmp='#include <iconv.h>'
2774 cat > $TMPC << EOF
2775 #include <stdio.h>
2776 #include <unistd.h>
2777 $_iconv_tmp
2778 #define INBUFSIZE 1024
2779 #define OUTBUFSIZE 4096
2781 char inbuffer[INBUFSIZE];
2782 char outbuffer[OUTBUFSIZE];
2784 int main(void) {
2785 size_t numread;
2786 iconv_t icdsc;
2787 char *tocode="UTF-8";
2788 char *fromcode="cp1250";
2789 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
2790 while ((numread = read (0, inbuffer, INBUFSIZE))) {
2791 char *iptr=inbuffer;
2792 char *optr=outbuffer;
2793 size_t inleft=numread;
2794 size_t outleft=OUTBUFSIZE;
2795 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
2796 != (size_t)(-1)) {
2797 write (1, outbuffer, OUTBUFSIZE - outleft);
2800 if (iconv_close(icdsc) == -1)
2805 _iconv=no
2806 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
2807 cc_check $_ld_lm $_ld_tmp && _ld_iconv="$_ld_tmp" && _iconv=yes && break
2808 done
2810 if test "$_iconv" = yes ; then
2811 _def_iconv='#define USE_ICONV 1'
2812 else
2813 _def_iconv='#undef USE_ICONV'
2815 echores "$_iconv"
2818 echocheck "sys/soundcard.h"
2819 cat > $TMPC << EOF
2820 #include <sys/soundcard.h>
2821 int main(void) { return 0; }
2823 _sys_soundcard=no
2824 cc_check && _sys_soundcard=yes
2825 if test "$_sys_soundcard" = yes ; then
2826 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
2827 _inc_soundcard='#include <sys/soundcard.h>'
2828 else
2829 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
2831 echores "$_sys_soundcard"
2833 if test "$_sys_soundcard" != yes ; then
2834 echocheck "soundcard.h"
2835 cat > $TMPC << EOF
2836 #include <soundcard.h>
2837 int main(void) { return 0; }
2839 _soundcard=no
2840 cc_check && _soundcard=yes
2841 if linux || test "$_ossaudio" != no ; then
2842 # use soundcard.h on Linux, or when OSS support is enabled
2843 echores "$_soundcard"
2844 else
2845 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2846 echores "$_soundcard, but ignored!"
2847 _soundcard=no
2849 if test "$_soundcard" = yes ; then
2850 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
2851 _inc_soundcard='#include <soundcard.h>'
2852 else
2853 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2855 else
2856 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2860 echocheck "sys/dvdio.h"
2861 cat > $TMPC << EOF
2862 #include <unistd.h>
2863 #include <sys/dvdio.h>
2864 int main(void) { return 0; }
2866 _dvdio=no
2867 cc_check && _dvdio=yes
2868 if test "$_dvdio" = yes ; then
2869 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2870 else
2871 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2873 echores "$_dvdio"
2876 echocheck "sys/cdio.h"
2877 cat > $TMPC << EOF
2878 #include <unistd.h>
2879 #include <sys/cdio.h>
2880 int main(void) { return 0; }
2882 _cdio=no
2883 cc_check && _cdio=yes
2884 if test "$_cdio" = yes ; then
2885 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2886 else
2887 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2889 echores "$_cdio"
2892 echocheck "linux/cdrom.h"
2893 cat > $TMPC << EOF
2894 #include <sys/types.h>
2895 #include <linux/cdrom.h>
2896 int main(void) { return 0; }
2898 _cdrom=no
2899 cc_check && _cdrom=yes
2900 if test "$_cdrom" = yes ; then
2901 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2902 else
2903 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2905 echores "$_cdrom"
2908 echocheck "dvd.h"
2909 cat > $TMPC << EOF
2910 #include <dvd.h>
2911 int main(void) { return 0; }
2913 _dvd=no
2914 cc_check && _dvd=yes
2915 if test "$_dvd" = yes ; then
2916 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
2917 else
2918 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
2920 echores "$_dvd"
2923 echocheck "BSDI dvd.h"
2924 cat > $TMPC << EOF
2925 #include <dvd.h>
2926 int main(void) { return 0; }
2928 _bsdi_dvd=no
2929 cc_check && _bsdi_dvd=yes
2930 if test "$_bsdi_dvd" = yes ; then
2931 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2932 else
2933 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2935 echores "$_bsdi_dvd"
2938 echocheck "HPUX SCSI header"
2939 cat > $TMPC << EOF
2940 #include <sys/scsi.h>
2941 int main(void) { return 0; }
2943 _hpux_scsi_h=no
2944 cc_check && _hpux_scsi_h=yes
2945 if test "$_hpux_scsi_h" = yes ; then
2946 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
2947 else
2948 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
2950 echores "$_hpux_scsi_h"
2953 echocheck "userspace SCSI headers (Solaris)"
2954 cat > $TMPC << EOF
2955 # include <unistd.h>
2956 # include <stropts.h>
2957 # include <sys/scsi/scsi_types.h>
2958 # include <sys/scsi/impl/uscsi.h>
2959 int main(void) { return 0; }
2961 _sol_scsi_h=no
2962 cc_check && _sol_scsi_h=yes
2963 if test "$_sol_scsi_h" = yes ; then
2964 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
2965 else
2966 _def_sol_scsi_h='#undef SOLARIS_USCSI'
2968 echores "$_sol_scsi_h"
2971 echocheck "termcap"
2972 if test "$_termcap" = auto ; then
2973 cat > $TMPC <<EOF
2974 int main(void) { return 0; }
2976 _termcap=no
2977 for _ld_tmp in "-ltermcap" "-ltinfo" ; do
2978 cc_check $_ld_tmp && _ld_termcap="$_ld_tmp" && _termcap=yes && break
2979 done
2981 if test "$_termcap" = yes ; then
2982 _def_termcap='#define USE_TERMCAP 1'
2983 _res_comment="using $_ld_termcap"
2984 else
2985 _def_termcap='#undef USE_TERMCAP'
2987 echores "$_termcap"
2990 echocheck "termios"
2991 if test "$_termios" = auto ; then
2992 cat > $TMPC <<EOF
2993 #include <sys/termios.h>
2994 int main(void) { return 0; }
2996 _termios=auto
2997 cc_check && _termios=yes
2998 _def_termios_h_name='sys/termios.h'
3000 # second test:
3001 if test "$_termios" = auto ; then
3002 cat > $TMPC <<EOF
3003 #include <termios.h>
3004 int main(void) { return 0; }
3006 _termios=no
3007 cc_check && _termios=yes
3008 _def_termios_h_name='termios.h'
3011 if test "$_termios" = yes ; then
3012 _def_termios='#define HAVE_TERMIOS 1'
3013 _def_termios_h='#undef HAVE_TERMIOS_H'
3014 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3016 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3017 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3018 elif test "$_def_termios_h_name" = 'termios.h' ; then
3019 _def_termios_h='#define HAVE_TERMIOS_H 1'
3021 _res_comment="using $_def_termios_h_name"
3022 else
3023 _def_termios='#undef HAVE_TERMIOS'
3024 _def_termios_h_name=''
3025 _termios=no
3027 echores "$_termios"
3030 echocheck "shm"
3031 if test "$_shm" = auto ; then
3032 cat > $TMPC << EOF
3033 #include <sys/types.h>
3034 #include <sys/shm.h>
3035 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3037 _shm=no
3038 cc_check && _shm=yes
3040 if test "$_shm" = yes ; then
3041 _def_shm='#define HAVE_SHM 1'
3042 else
3043 _def_shm='#undef HAVE_SHM'
3045 echores "$_shm"
3048 # XXX: FIXME, add runtime checking
3049 echocheck "linux devfs"
3050 echores "$_linux_devfs"
3053 echocheck "scandir()"
3054 cat > $TMPC << EOF
3055 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3057 _scandir=no
3058 cc_check && _scandir=yes
3059 if test "$_scandir" = yes ; then
3060 _def_scandir='#define HAVE_SCANDIR 1'
3061 else
3062 _def_scandir='#undef HAVE_SCANDIR'
3064 echores "$_scandir"
3067 echocheck "strsep()"
3068 cat > $TMPC << EOF
3069 #include <string.h>
3070 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3072 _strsep=no
3073 cc_check && _strsep=yes
3074 if test "$_strsep" = yes ; then
3075 _def_strsep='#define HAVE_STRSEP 1'
3076 else
3077 _def_strsep='#undef HAVE_STRSEP'
3079 echores "$_strsep"
3081 echocheck "strlcpy()"
3082 cat > $TMPC << EOF
3083 #include <string.h>
3084 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3086 _strlcpy=no
3087 cc_check && _strlcpy=yes
3088 if test "$_strlcpy" = yes ; then
3089 _def_strlcpy='#define HAVE_STRLCPY 1'
3090 else
3091 _def_strlcpy='#undef HAVE_STRLCPY'
3093 echores "$_strlcpy"
3095 echocheck "strlcat()"
3096 cat > $TMPC << EOF
3097 #include <string.h>
3098 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3100 _strlcat=no
3101 cc_check && _strlcat=yes
3102 if test "$_strlcat" = yes ; then
3103 _def_strlcat='#define HAVE_STRLCAT 1'
3104 else
3105 _def_strlcat='#undef HAVE_STRLCAT'
3107 echores "$_strlcat"
3109 echocheck "fseeko()"
3110 cat > $TMPC << EOF
3111 #include <stdio.h>
3112 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3114 _fseeko=no
3115 cc_check && _fseeko=yes
3116 if test "$_fseeko" = yes ; then
3117 _def_fseeko='#define HAVE_FSEEKO 1'
3118 else
3119 _def_fseeko='#undef HAVE_FSEEKO'
3121 echores "$_fseeko"
3123 echocheck "localtime_r()"
3124 cat > $TMPC << EOF
3125 #include <time.h>
3126 int main( void ) { localtime_r(NULL, NULL); }
3128 _localtime_r=no
3129 cc_check && _localtime_r=yes
3130 if test "$_localtime_r" = yes ; then
3131 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3132 else
3133 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3135 echores "$_localtime_r"
3137 echocheck "vsscanf()"
3138 cat > $TMPC << EOF
3139 #include <stdarg.h>
3140 int main(void) { vsscanf(0, 0, 0); return 0; }
3142 _vsscanf=no
3143 cc_check && _vsscanf=yes
3144 if test "$_vsscanf" = yes ; then
3145 _def_vsscanf='#define HAVE_VSSCANF 1'
3146 else
3147 _def_vsscanf='#undef HAVE_VSSCANF'
3149 echores "$_vsscanf"
3152 echocheck "swab()"
3153 cat > $TMPC << EOF
3154 #include <unistd.h>
3155 int main(void) { swab(0, 0, 0); return 0; }
3157 _swab=no
3158 cc_check && _swab=yes
3159 if test "$_swab" = yes ; then
3160 _def_swab='#define HAVE_SWAB 1'
3161 else
3162 _def_swab='#undef HAVE_SWAB'
3164 echores "$_swab"
3166 echocheck "posix select()"
3167 cat > $TMPC << EOF
3168 #include <stdio.h>
3169 #include <stdlib.h>
3170 #include <sys/types.h>
3171 #include <string.h>
3172 #include <sys/time.h>
3173 #include <unistd.h>
3174 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3176 _posix_select=no
3177 cc_check && _posix_select=yes
3178 if test "$_posix_select" = no ; then
3179 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3180 else
3181 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3183 echores "$_posix_select"
3186 echocheck "gettimeofday()"
3187 cat > $TMPC << EOF
3188 #include <stdio.h>
3189 #include <sys/time.h>
3190 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3192 _gettimeofday=no
3193 cc_check && _gettimeofday=yes
3194 if test "$_gettimeofday" = yes ; then
3195 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3196 else
3197 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3199 echores "$_gettimeofday"
3202 echocheck "glob()"
3203 cat > $TMPC << EOF
3204 #include <stdio.h>
3205 #include <glob.h>
3206 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3208 _glob=no
3209 cc_check && _glob=yes
3210 if test "$_glob" = yes ; then
3211 _def_glob='#define HAVE_GLOB 1'
3212 else
3213 _def_glob='#undef HAVE_GLOB'
3215 echores "$_glob"
3218 echocheck "sys/sysinfo.h"
3219 cat > $TMPC << EOF
3220 #include <sys/sysinfo.h>
3221 int main(void) {
3222 struct sysinfo s_info;
3223 sysinfo(&s_info);
3224 return 0;
3227 _sys_sysinfo=no
3228 cc_check && _sys_sysinfo=yes
3229 if test "$_sys_sysinfo" = yes ; then
3230 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3231 _inc_sysinfo='#include <sys/sysinfo.h>'
3232 else
3233 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3235 echores "$_sys_sysinfo"
3238 echocheck "Mac OS X APIs"
3239 if test "$_macosx" = auto && darwin ; then
3240 productName=`/usr/bin/sw_vers -productName`
3241 if test "$productName" = "Mac OS X" ; then
3242 _macosx=yes
3243 else
3244 _macosx=no
3245 _def_macosx='#undef MACOSX'
3246 _noaomodules="macosx $_noaomodules"
3247 _novomodules="quartz $_novomodules"
3250 if test "$_macosx" = yes ; then
3251 cat > $TMPC <<EOF
3252 #include <Carbon/Carbon.h>
3253 #include <QuickTime/QuickTime.h>
3254 #include <CoreAudio/CoreAudio.h>
3255 int main(void) {
3256 EnterMovies();
3257 ExitMovies();
3258 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3261 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3262 _macosx=yes
3263 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3264 _def_macosx='#define MACOSX 1'
3265 _aosrc="$_aosrc ao_macosx.c"
3266 _aomodules="macosx $_aomodules"
3267 _vosrc="$_vosrc vo_quartz.c"
3268 _vomodules="quartz $_vomodules"
3269 else
3270 _macosx=no
3271 _def_macosx='#undef MACOSX'
3272 _noaomodules="macosx $_noaomodules"
3273 _novomodules="quartz $_novomodules"
3275 cat > $TMPC <<EOF
3276 #include <Carbon/Carbon.h>
3277 #include <QuartzCore/CoreVideo.h>
3278 int main(void) {}
3280 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3281 _vosrc="$_vosrc vo_macosx.m"
3282 _vomodules="macosx $_vomodules"
3283 _macosx_frameworks="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3284 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3285 _macosx_corevideo=yes
3286 else
3287 _novomodules="macosx $_novomodules"
3288 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3289 _macosx_corevideo=no
3292 echores "$_macosx"
3294 echocheck "Mac OS X Finder Support"
3295 if test "$_macosx_finder_support" = auto ; then
3296 _macosx_finder_support=$_macosx
3298 if test "$_macosx_finder_support" = yes; then
3299 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3300 _macosx_finder_support=yes
3301 else
3302 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3303 _macosx_finder_support=no
3305 echores "$_macosx_finder_support"
3307 echocheck "Mac OS X Bundle file locations"
3308 if test "$_macosx_bundle" = auto ; then
3309 _macosx_bundle=$_macosx_finder_support
3311 if test "$_macosx_bundle" = yes; then
3312 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3313 else
3314 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3315 _macosx_bundle=no
3317 echores "$_macosx_bundle"
3319 echocheck "Samba support (libsmbclient)"
3320 if test "$_smbsupport" = yes; then
3321 _ld_smb="-lsmbclient"
3323 if test "$_smbsupport" = auto; then
3324 _smbsupport=no
3325 cat > $TMPC << EOF
3326 #include <libsmbclient.h>
3327 int main(void) { smbc_opendir("smb://"); return 0; }
3329 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3330 cc_check $_ld_tmp && _ld_smb="$_ld_tmp" && _smbsupport=yes && break
3331 done
3334 if test "$_smbsupport" = yes; then
3335 _def_smbsupport="#define LIBSMBCLIENT"
3336 _inputmodules="smb $_inputmodules"
3337 else
3338 _def_smbsupport="#undef LIBSMBCLIENT"
3339 _noinputmodules="smb $_noinputmodules"
3341 echores "$_smbsupport"
3344 #########
3345 # VIDEO #
3346 #########
3349 echocheck "3dfx"
3350 if test "$_3dfx" = yes ; then
3351 _def_3dfx='#define HAVE_3DFX 1'
3352 _vosrc="$_vosrc vo_3dfx.c"
3353 _vomodules="3dfx $_vomodules"
3354 else
3355 _def_3dfx='#undef HAVE_3DFX'
3356 _novomodules="3dfx $_novomodules"
3358 echores "$_3dfx"
3361 echocheck "tdfxfb"
3362 if test "$_tdfxfb" = yes ; then
3363 _def_tdfxfb='#define HAVE_TDFXFB 1'
3364 _vosrc="$_vosrc vo_tdfxfb.c"
3365 _vomodules="tdfxfb $_vomodules"
3366 else
3367 _def_tdfxfb='#undef HAVE_TDFXFB'
3368 _novomodules="tdfxfb $_novomodules"
3370 echores "$_tdfxfb"
3372 echocheck "tdfxvid"
3373 if test "$_tdfxvid" = yes ; then
3374 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3375 _vosrc="$_vosrc vo_tdfx_vid.c"
3376 _vomodules="tdfx_vid $_vomodules"
3377 else
3378 _def_tdfxvid='#undef HAVE_TDFX_VID'
3379 _novomodules="tdfx_vid $_novomodules"
3381 echores "$_tdfxfb"
3383 echocheck "tga"
3384 if test "$_tga" = yes ; then
3385 _def_tga='#define HAVE_TGA 1'
3386 _vosrc="$_vosrc vo_tga.c"
3387 _vomodules="tga $_vomodules"
3388 else
3389 _def_tga='#undef HAVE_TGA'
3390 _novomodules="tga $_novomodules"
3392 echores "$_tga"
3394 echocheck "DirectFB headers presence"
3395 if test -z "$_inc_directfb" ; then
3396 for I in /usr/include /usr/local/include $_inc_extra; do
3397 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3398 _inc_directfb="-I$I/directfb"
3399 echores "yes (using $_inc_directfb)"
3400 break
3402 if test -d "$I" && test -f "$I/directfb.h" ; then
3403 _inc_directfb="-I$I"
3404 echores "yes (using $_inc_directfb)"
3405 break
3407 done
3408 if test -z "$_inc_directfb" ; then
3409 _directfb=no
3410 echores "not found"
3412 else
3413 echores "yes (using $_inc_directfb)"
3415 if test "$_inc_directfb" = "-I/usr/include" ; then
3416 _inc_directfb=""
3419 echocheck "DirectFB"
3420 if test "$_directfb" = auto ; then
3421 _directfb=no
3422 cat > $TMPC <<EOF
3423 #include <directfb.h>
3424 int main(void) { IDirectFB *foo; return 0; }
3426 linux && test -c /dev/fb0 && cc_check $_inc_directfb -ldirectfb && _directfb=yes
3429 if test "$_directfb" = yes; then
3430 cat > $TMPC <<EOF
3431 #include <directfb.h>
3432 int main(void) {
3433 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
3434 return 0;
3437 if cc_check $_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
3438 _directfb_version=`"$TMPO"`
3439 _def_directfb_version="#define DIRECTFBVERSION $_directfb_version"
3440 if test "$_directfb_version" -ge 913; then
3441 _res_comment="$_directfb_version"
3442 else
3443 _def_directfb_version='#undef DIRECTFBVERSION'
3444 _directfb=no
3445 _res_comment="version >=0.9.13 required"
3447 else
3448 _directfb=no
3449 _res_comment="failed to get version"
3452 echores "$_directfb"
3454 if test "$_directfb" = yes ; then
3455 _def_directfb='#define HAVE_DIRECTFB 1'
3456 if test "$_directfb_version" -ge 913; then
3457 _vosrc="$_vosrc vo_directfb2.c"
3458 _vomodules="directfb $_vomodules"
3459 _ld_directfb='-ldirectfb'
3462 if test "$_directfb_version" -ge 915; then
3463 _vosrc="$_vosrc vo_dfbmga.c"
3464 _vomodules="dfbmga $_vomodules"
3466 else
3467 _def_directfb='#undef HAVE_DIRECTFB'
3468 _novomodules="directfb $_novomodules"
3469 _inc_directfb=""
3473 echocheck "X11 headers presence"
3474 if test -z "$_inc_x11" ; then
3475 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
3476 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3477 _inc_x11="-I$I"
3478 echores "yes (using $I)"
3479 break
3481 done
3482 if test -z "$_inc_x11" ; then
3483 _x11=no
3484 echores "not found (check if the dev(el) packages are installed)"
3486 else
3487 echores "yes (using $_inc_x11)"
3489 if test "$_inc_x11" = "-I/usr/include" ; then
3490 _inc_x11=""
3494 echocheck "X11"
3495 if test "$_x11" != no ; then
3496 cat > $TMPC <<EOF
3497 #include <X11/Xlib.h>
3498 #include <X11/Xutil.h>
3499 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3501 if test -z "$_x11_paths" ; then
3502 _x11_paths="/usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 /usr/lib"
3504 for I in $_x11_paths ; do
3505 _ld_x11="-L$I -lXext -lX11 $_ld_sock $_ld_pthread"
3506 if netbsd; then
3507 _ld_x11="$_ld_x11 -Wl,-R$I"
3509 if test -d "$I" && cc_check $_inc_x11 $_ld_x11 ; then
3510 _x11=yes
3511 break
3513 done
3515 if test "$_x11" = yes ; then
3516 _def_x11='#define HAVE_X11 1'
3517 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3518 _vomodules="x11 xover $_vomodules"
3519 _res_comment="using $I"
3520 else
3521 _x11=no
3522 _def_x11='#undef HAVE_X11'
3523 _inc_x11=''
3524 _ld_x11=''
3525 _novomodules="x11 $_novomodules"
3526 _res_comment="check if the dev(el) packages are installed"
3528 echores "$_x11"
3531 echocheck "DPMS"
3532 _xdpms3=no
3533 _xdpms4=no
3534 if test "$_x11" = yes ; then
3535 cat > $TMPC <<EOF
3536 #include <X11/Xmd.h>
3537 #include <X11/Xlib.h>
3538 #include <X11/Xutil.h>
3539 #include <X11/Xatom.h>
3540 #include <X11/extensions/dpms.h>
3541 int main(void) {
3542 (void) DPMSQueryExtension(0, 0, 0);
3545 cc_check $_inc_x11 -lXdpms $_ld_x11 && _xdpms3=yes
3546 cat > $TMPC <<EOF
3547 #include <X11/Xlib.h>
3548 #include <X11/extensions/dpms.h>
3549 int main(void) {
3550 (void) DPMSQueryExtension(0, 0, 0);
3553 cc_check $_inc_x11 $_ld_x11 && _xdpms4=yes
3555 if test "$_xdpms4" = yes ; then
3556 _def_xdpms='#define HAVE_XDPMS 1'
3557 echores "yes (using Xdpms 4)"
3558 elif test "$_xdpms3" = yes ; then
3559 _def_xdpms='#define HAVE_XDPMS 1'
3560 _ld_x11="-lXdpms $_ld_x11"
3561 echores "yes (using Xdpms 3)"
3562 else
3563 _def_xdpms='#undef HAVE_XDPMS'
3564 echores "no"
3568 echocheck "Xv"
3569 if test "$_x11" = yes && test "$_xv" != no ; then
3570 cat > $TMPC <<EOF
3571 #include <X11/Xlib.h>
3572 #include <X11/extensions/Xvlib.h>
3573 int main(void) {
3574 (void) XvGetPortAttribute(0, 0, 0, 0);
3575 (void) XvQueryPortAttributes(0, 0, 0);
3576 return 0; }
3578 _xv=no
3579 cc_check $_inc_x11 -lXv $_ld_x11 && _xv=yes
3580 else
3581 _xv=no
3583 if test "$_xv" = yes ; then
3584 _def_xv='#define HAVE_XV 1'
3585 _ld_xv='-lXv'
3586 _vosrc="$_vosrc vo_xv.c"
3587 _vomodules="xv $_vomodules"
3588 else
3589 _def_xv='#undef HAVE_XV'
3590 _novomodules="xv $_novomodules"
3592 echores "$_xv"
3595 echocheck "XvMC"
3596 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no ; then
3597 _xvmc=no
3598 cat > $TMPC <<EOF
3599 #include <X11/Xlib.h>
3600 #include <X11/extensions/Xvlib.h>
3601 #include <X11/extensions/XvMClib.h>
3602 int main(void) {
3603 (void) XvMCQueryExtension(0,0,0);
3604 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3605 return 0; }
3607 cc_check $_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc=yes
3609 if test "$_xvmc" = yes ; then
3610 _def_xvmc='#define HAVE_XVMC 1'
3611 _ld_xvmc="-lXvMC -l$_xvmclib"
3612 _vosrc="$_vosrc vo_xvmc.c"
3613 _vomodules="xvmc $_vomodules"
3614 else
3615 _def_xvmc='#undef HAVE_XVMC'
3616 _novomodules="xvmc $_novomodules"
3618 echores "$_xvmc"
3621 echocheck "Xinerama"
3622 if test "$_x11" = yes && test "$_xinerama" != no ; then
3623 cat > $TMPC <<EOF
3624 #include <X11/Xlib.h>
3625 #include <X11/extensions/Xinerama.h>
3626 int main(void) { (void) XineramaIsActive(0); return 0; }
3628 _xinerama=no
3629 cc_check $_inc_x11 -lXinerama $_ld_x11 && _xinerama=yes
3630 else
3631 _xinerama=no
3633 if test "$_xinerama" = yes ; then
3634 _def_xinerama='#define HAVE_XINERAMA 1'
3635 _ld_xinerama='-lXinerama'
3636 else
3637 _def_xinerama='#undef HAVE_XINERAMA'
3639 echores "$_xinerama"
3642 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3643 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3644 # named 'X extensions' or something similar.
3645 # This check may be useful for future mplayer versions (to change resolution)
3646 # If you run into problems, remove '-lXxf86vm'.
3647 echocheck "Xxf86vm"
3648 if test "$_x11" = yes && test "$_vm" = auto ; then
3649 cat > $TMPC <<EOF
3650 #include <X11/Xlib.h>
3651 #include <X11/extensions/xf86vmode.h>
3652 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3654 _vm=no
3655 cc_check $_inc_x11 -lXxf86vm $_ld_x11 && _vm=yes
3657 if test "$_vm" = yes ; then
3658 _def_vm='#define HAVE_XF86VM 1'
3659 _ld_vm='-lXxf86vm'
3660 else
3661 _def_vm='#undef HAVE_XF86VM'
3663 echores "$_vm"
3665 # Check for the presence of special keycodes, like audio control buttons
3666 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3667 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3668 # have these new keycodes.
3669 echocheck "XF86keysym"
3670 if test "$_xf86keysym" = auto; then
3671 _xf86keysym=no
3672 if test "$_x11" = yes ; then
3673 cat > $TMPC <<EOF
3674 #include <X11/Xlib.h>
3675 #include <X11/XF86keysym.h>
3676 int main(void) { return XF86XK_AudioPause; }
3678 cc_check $_inc_x11 $_ld_x11 && _xf86keysym=yes
3681 if test "$_xf86keysym" = yes ; then
3682 _def_xf86keysym='#define HAVE_XF86XK 1'
3683 else
3684 _def_xf86keysym='#undef HAVE_XF86XK'
3686 echores "$_xf86keysym"
3688 echocheck "DGA"
3689 if test "$_x11" = no ; then
3690 _dga=no
3692 # Version 2 is preferred to version 1 if available
3693 if test "$_dga" = auto ; then
3694 cat > $TMPC << EOF
3695 #include <X11/Xlib.h>
3696 #include <X11/extensions/xf86dga.h>
3697 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3699 _dga=no
3700 cc_check $_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
3702 cat > $TMPC << EOF
3703 #include <X11/Xlib.h>
3704 #include <X11/extensions/xf86dga.h>
3705 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3707 cc_check $_inc_x11 -lXxf86dga $_ld_x11 && _dga=2
3710 _def_dga='#undef HAVE_DGA'
3711 _def_dga2='#undef HAVE_DGA2'
3712 if test "$_dga" = 1 ; then
3713 _def_dga='#define HAVE_DGA 1'
3714 _ld_dga='-lXxf86dga'
3715 _vosrc="$_vosrc vo_dga.c"
3716 _vomodules="dga $_vomodules"
3717 echores "yes (using DGA 1.0)"
3718 elif test "$_dga" = 2 ; then
3719 _def_dga='#define HAVE_DGA 1'
3720 _def_dga2='#define HAVE_DGA2 1'
3721 _ld_dga='-lXxf86dga'
3722 _vosrc="$_vosrc vo_dga.c"
3723 _vomodules="dga $_vomodules"
3724 echores "yes (using DGA 2.0)"
3725 elif test "$_dga" = no ; then
3726 echores "no"
3727 _novomodules="dga $_novomodules"
3728 else
3729 die "DGA version must be 1 or 2"
3733 echocheck "OpenGL"
3734 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3735 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
3736 cat > $TMPC << EOF
3737 #include <GL/gl.h>
3738 int main(void) { return 0; }
3740 _gl=no
3741 if cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3742 _gl=yes
3743 _ld_gl="-lGL $_ld_dl"
3744 elif cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3745 _gl=yes
3746 _ld_gl="-lGL $_ld_pthread $_ld_dl"
3747 elif cc_check -lopengl32 ; then
3748 _gl=yes
3749 _gl_win32=yes
3750 _ld_gl="-lopengl32 -lgdi32"
3752 else
3753 _gl=no
3755 if test "$_gl" = yes ; then
3756 _def_gl='#define HAVE_GL 1'
3757 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3758 if test "$_gl_win32" = yes ; then
3759 _def_gl_win32='#define GL_WIN32 1'
3760 _vosrc="$_vosrc w32_common.c"
3761 _res_comment="win32 version"
3763 _vomodules="opengl $_vomodules"
3764 else
3765 _def_gl='#undef HAVE_GL'
3766 _def_gl_win32='#undef GL_WIN32'
3767 _novomodules="opengl $_novomodules"
3769 echores "$_gl"
3772 echocheck "/dev/mga_vid"
3773 if test "$_mga" = auto ; then
3774 _mga=no
3775 test -c /dev/mga_vid && _mga=yes
3777 if test "$_mga" = yes ; then
3778 _def_mga='#define HAVE_MGA 1'
3779 _vosrc="$_vosrc vo_mga.c"
3780 _vomodules="mga $_vomodules"
3781 else
3782 _def_mga='#undef HAVE_MGA'
3783 _novomodules="mga $_novomodules"
3785 echores "$_mga"
3788 # echocheck "syncfb"
3789 # _syncfb=no
3790 # test "$_mga" = yes && _syncfb=yes
3791 # if test "$_syncfb" = yes ; then
3792 # _def_syncfb='#define HAVE_SYNCFB 1'
3793 # _vosrc="$_vosrc vo_syncfb.c"
3794 # else
3795 # _def_syncfb='#undef HAVE_SYNCFB'
3796 # fi
3797 # echores "$_syncfb"
3800 echocheck "xmga"
3801 if test "$_xmga" = auto ; then
3802 _xmga=no
3803 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
3805 if test "$_xmga" = yes ; then
3806 _def_xmga='#define HAVE_XMGA 1'
3807 _vosrc="$_vosrc vo_xmga.c"
3808 _vomodules="xmga $_vomodules"
3809 else
3810 _def_xmga='#undef HAVE_XMGA'
3811 _novomodules="xmga $_novomodules"
3813 echores "$_xmga"
3816 echocheck "GGI"
3817 if test "$_ggi" = auto ; then
3818 cat > $TMPC << EOF
3819 #include <ggi/ggi.h>
3820 int main(void) { return 0; }
3822 _ggi=no
3823 cc_check -lggi && _ggi=yes
3825 if test "$_ggi" = yes ; then
3826 _def_ggi='#define HAVE_GGI 1'
3827 _ld_ggi='-lggi'
3828 _vosrc="$_vosrc vo_ggi.c"
3829 _vomodules="ggi $_vomodules"
3830 else
3831 _def_ggi='#undef HAVE_GGI'
3832 _novomodules="ggi $_novomodules"
3834 echores "$_ggi"
3836 echocheck "GGI extension: libggiwmh"
3837 if test "$_ggiwmh" = auto ; then
3838 _ggiwmh=no
3839 cat > $TMPC << EOF
3840 #include <ggi/ggi.h>
3841 #include <ggi/wmh.h>
3842 int main(void) { return 0; }
3844 cc_check -lggi -lggiwmh && _ggiwmh=yes
3846 # needed to get right output on obscure combination
3847 # like --disable-ggi --enable-ggiwmh
3848 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
3849 _def_ggiwmh='#define HAVE_GGIWMH 1'
3850 _ld_ggi="$_ld_ggi -lggiwmh"
3851 else
3852 _ggiwmh=no
3853 _def_ggiwmh='#undef HAVE_GGIWMH'
3855 echores "$_ggiwmh"
3858 echocheck "AA"
3859 if test "$_aa" = auto ; then
3860 cat > $TMPC << EOF
3861 #include <aalib.h>
3862 extern struct aa_hardware_params aa_defparams;
3863 extern struct aa_renderparams aa_defrenderparams;
3864 int main(void) {
3865 aa_context *c;
3866 aa_renderparams *p;
3867 (void) aa_init(0, 0, 0);
3868 c = aa_autoinit(&aa_defparams);
3869 p = aa_getrenderparams();
3870 aa_autoinitkbd(c,0);
3871 return 0; }
3873 _aa=no
3874 for _ld_tmp in "-laa" "$_ld_x11 -laa" ; do
3875 cc_check $_ld_tmp && _ld_aa=$_ld_tmp && _aa=yes && break
3876 done
3878 if test "$_aa" = yes ; then
3879 _def_aa='#define HAVE_AA 1'
3880 if cygwin ; then
3881 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
3883 _vosrc="$_vosrc vo_aa.c"
3884 _vomodules="aa $_vomodules"
3885 else
3886 _def_aa='#undef HAVE_AA'
3887 _novomodules="aa $_novomodules"
3889 echores "$_aa"
3892 echocheck "CACA"
3893 if test "$_caca" = auto ; then
3894 _caca=no
3895 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
3896 cat > $TMPC << EOF
3897 #include <caca.h>
3898 int main(void) { (void) caca_init(); return 0; }
3900 cc_check `caca-config --libs` && _caca=yes
3903 if test "$_caca" = yes ; then
3904 _def_caca='#define HAVE_CACA 1'
3905 _inc_caca=`caca-config --cflags`
3906 _ld_caca=`caca-config --libs`
3907 _vosrc="$_vosrc vo_caca.c"
3908 _vomodules="caca $_vomodules"
3909 else
3910 _def_caca='#undef HAVE_CACA'
3911 _novomodules="caca $_novomodules"
3913 echores "$_caca"
3916 echocheck "SVGAlib"
3917 if test "$_svga" = auto ; then
3918 cat > $TMPC << EOF
3919 #include <vga.h>
3920 int main(void) { return 0; }
3922 _svga=no
3923 cc_check -lvga $_ld_lm && _svga=yes
3925 if test "$_svga" = yes ; then
3926 _def_svga='#define HAVE_SVGALIB 1'
3927 _ld_svga="-lvga"
3928 _vosrc="$_vosrc vo_svga.c"
3929 _vomodules="svga $_vomodules"
3930 else
3931 _def_svga='#undef HAVE_SVGALIB'
3932 _novomodules="svga $_novomodules"
3934 echores "$_svga"
3937 echocheck "FBDev"
3938 if test "$_fbdev" = auto ; then
3939 _fbdev=no
3940 linux && test -c /dev/fb0 && _fbdev=yes
3942 if test "$_fbdev" = yes ; then
3943 _def_fbdev='#define HAVE_FBDEV 1'
3944 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
3945 _vomodules="fbdev $_vomodules"
3946 else
3947 _def_fbdev='#undef HAVE_FBDEV'
3948 _novomodules="fbdev $_novomodules"
3950 echores "$_fbdev"
3954 echocheck "DVB"
3955 if test "$_dvb" != no ; then
3956 _dvb=no
3957 cat >$TMPC << EOF
3958 #include <sys/poll.h>
3959 #include <sys/ioctl.h>
3960 #include <stdio.h>
3961 #include <time.h>
3962 #include <unistd.h>
3964 #include <ost/dmx.h>
3965 #include <ost/frontend.h>
3966 #include <ost/sec.h>
3967 #include <ost/video.h>
3968 #include <ost/audio.h>
3969 int main(void) {return 0;}
3971 if cc_check ; then
3972 _dvb=yes
3973 else
3974 for I in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3975 if cc_check "$I" ; then
3976 _dvb=yes
3977 _inc_dvb="$I"
3978 _res_comment="using $_inc_dvb"
3979 break
3981 done
3982 test "$_dvb" = no && _res_comment="specify path to DVB/ost/include with --with-dvbincdir=DIR"
3985 echores "$_dvb"
3986 if test "$_dvb" = yes ; then
3987 _def_dvb='#define HAVE_DVB 1'
3988 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
3989 _aomodules="mpegpes(dvb) $_aomodules"
3990 _vomodules="mpegpes(dvb) $_vomodules"
3992 if test "$_dvbhead" != no ; then
3993 echocheck "DVB HEAD"
3994 if test "$_dvbhead" != no ; then
3995 _dvbhead=no
3997 cat >$TMPC << EOF
3998 #include <sys/poll.h>
3999 #include <sys/ioctl.h>
4000 #include <stdio.h>
4001 #include <time.h>
4002 #include <unistd.h>
4004 #include <linux/dvb/dmx.h>
4005 #include <linux/dvb/frontend.h>
4006 #include <linux/dvb/video.h>
4007 #include <linux/dvb/audio.h>
4008 int main(void) {return 0;}
4010 if cc_check ; then
4011 _dvbhead=yes
4012 else
4013 for I in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
4014 if cc_check "$I" ; then
4015 _dvbhead=yes
4016 _inc_dvb="$I"
4017 _res_comment="using $_inc_dvb"
4018 break
4020 done
4021 test "$_dvbhead" = no && _res_comment="specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR"
4024 echores "$_dvbhead"
4025 if test "$_dvbhead" = yes ; then
4026 _def_dvb='#define HAVE_DVB_HEAD 1'
4027 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4028 _aomodules="mpegpes(dvb) $_aomodules"
4029 _vomodules="mpegpes(dvb) $_vomodules"
4032 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4033 _def_dvb='#undef HAVE_DVB'
4034 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4035 _aomodules="mpegpes(file) $_aomodules"
4036 _vomodules="mpegpes(file) $_vomodules"
4039 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4040 _dvbin=yes
4041 _inputmodules="dvb $_inputmodules"
4042 else
4043 _dvbin=no
4044 _noinputmodules="dvb $_noinputmodules"
4047 echocheck "PNG support"
4048 if test "$_png" = auto ; then
4049 _png=no
4050 if irix ; then
4051 # Don't check for -lpng on irix since it has its own libpng
4052 # incompatible with the GNU libpng
4053 _res_comment="disabled on irix (not GNU libpng)"
4054 else
4055 cat > $TMPC << EOF
4056 #include <png.h>
4057 #include <string.h>
4058 int main(void) {
4059 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4060 printf("libpng: %s\n", png_libpng_ver);
4061 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4064 if cc_check -lpng -lz $_ld_lm ; then
4065 if "$TMPO" >> "$TMPLOG" ; then
4066 _png=yes
4067 else
4068 _res_comment="mismatch of library and header versions"
4073 echores "$_png"
4074 if test "$_png" = yes ; then
4075 _def_png='#define HAVE_PNG 1'
4076 _ld_png='-lpng -lz'
4077 _vosrc="$_vosrc vo_png.c"
4078 _vomodules="png $_vomodules"
4079 _mkf_png="yes"
4080 else
4081 _def_png='#undef HAVE_PNG'
4082 _novomodules="png $_novomodules"
4083 _mkf_png="no"
4086 echocheck "JPEG support"
4087 if test "$_jpg" = auto ; then
4088 _jpg=no
4089 cat > $TMPC << EOF
4090 #include <stdio.h>
4091 #include <stdlib.h>
4092 #include <setjmp.h>
4093 #include <string.h>
4094 #include <jpeglib.h>
4095 int main(void) {
4096 return 0;
4099 if cc_check -ljpeg $_ld_lm ; then
4100 if "$TMPO" >> "$TMPLOG" ; then
4101 _jpg=yes
4105 echores "$_jpg"
4107 if test "$_jpg" = yes ; then
4108 _def_jpg='#define HAVE_JPEG 1'
4109 _vosrc="$_vosrc vo_jpeg.c"
4110 _vomodules="jpeg $_vomodules"
4111 _ld_jpg="-ljpeg"
4112 _mkf_jpg="yes"
4113 else
4114 _def_jpg='#undef HAVE_JPEG'
4115 _novomodules="jpeg $_novomodules"
4116 _mkf_jpg="no"
4121 echocheck "PNM support"
4122 if test "$_pnm" = yes; then
4123 _def_pnm="#define HAVE_PNM"
4124 _vosrc="$_vosrc vo_pnm.c"
4125 _vomodules="pnm $_vomodules"
4126 else
4127 _def_pnm="#undef HAVE_PNM"
4128 _novomodules="pnm $_novomodules"
4130 echores "$_pnm"
4134 echocheck "md5sum support"
4135 if test "$_md5sum" = yes; then
4136 _def_md5sum="#define HAVE_MD5SUM"
4137 _vosrc="$_vosrc vo_md5sum.c md5sum.c"
4138 _vomodules="md5sum $_vomodules"
4139 else
4140 _def_md5sum="#undef HAVE_MD5SUM"
4141 _novomodules="md5sum $_novomodules"
4143 echores "$_md5sum"
4147 echocheck "GIF support"
4148 # This is to appease people who want to force gif support.
4149 # If it is forced to yes, then we still do checks to determine
4150 # which gif library to use.
4151 if test "$_gif" = yes ; then
4152 _force_gif=yes
4153 _gif=auto
4156 if test "$_gif" = auto ; then
4157 _gif=no
4158 cat > $TMPC << EOF
4159 #include <gif_lib.h>
4160 int main(void) {
4161 return 0;
4164 for _ld_tmp in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4165 cc_check $_ld_tmp && "$TMPO" >> "$TMPLOG" && _ld_gif="$_ld_tmp" && _gif=yes && break
4166 done
4169 # If no library was found, and the user wants support forced,
4170 # then we force it on with libgif, as this is the safest
4171 # assumption IMHO. (libungif & libregif both create symbolic
4172 # links to libgif. We also assume that no x11 support is needed,
4173 # because if you are forcing this, then you _should_ know what
4174 # you are doing. [ Besides, package maintainers should never
4175 # have compiled x11 deps into libungif in the first place. ] )
4176 # </rant>
4177 # --Joey
4178 if test "$_force_gif" = yes && test "$_gif" = no ; then
4179 _gif=yes
4180 _ld_gif="-lgif"
4183 if test "$_gif" = yes ; then
4184 _def_gif='#define HAVE_GIF 1'
4185 _vosrc="$_vosrc vo_gif89a.c"
4186 _codecmodules="gif $_codecmodules"
4187 _vomodules="gif89a $_vomodules"
4188 _mkf_gif="yes"
4189 _gif="yes (old version, some encoding functions disabled)"
4190 _def_gif_4='#undef HAVE_GIF_4'
4192 cat > $TMPC << EOF
4193 #include <signal.h>
4194 #include <gif_lib.h>
4195 void catch() { exit(1); }
4196 int main(void) {
4197 signal(SIGSEGV, catch); // catch segfault
4198 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4199 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4200 return 0;
4203 if cc_check "$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4204 _def_gif_4='#define HAVE_GIF_4 1'
4205 _gif="yes"
4207 else
4208 _def_gif='#undef HAVE_GIF'
4209 _def_gif_4='#undef HAVE_GIF_4'
4210 _novomodules="gif89a $_novomodules"
4211 _nocodecmodules="gif $_nocodecmodules"
4212 _mkf_gif="no"
4214 echores "$_gif"
4217 case "$_gif" in yes*)
4218 echocheck "broken giflib workaround"
4219 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4221 cat > $TMPC << EOF
4222 #include <gif_lib.h>
4223 int main(void) {
4224 GifFileType gif;
4225 printf("UserData is at address %p\n", gif.UserData);
4226 return 0;
4229 if cc_check "$_ld_gif" && "$TMPO" >>"$TMPLOG" 2>&1 ; then
4230 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4231 echores "disabled"
4232 else
4233 echores "enabled"
4236 esac
4239 echocheck "VESA support"
4240 if test "$_vesa" = auto ; then
4241 cat > $TMPC << EOF
4242 #include <vbe.h>
4243 int main(void) { vbeVersion(); return 0; }
4245 _vesa=no
4246 cc_check -lvbe -llrmi && _vesa=yes
4248 if test "$_vesa" = yes ; then
4249 _def_vesa='#define HAVE_VESA 1'
4250 _ld_vesa="-lvbe -llrmi"
4251 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4252 _vomodules="vesa $_vomodules"
4253 else
4254 _def_vesa='#undef HAVE_VESA'
4255 _novomodules="vesa $_novomodules"
4257 echores "$_vesa"
4259 #################
4260 # VIDEO + AUDIO #
4261 #################
4264 echocheck "SDL"
4265 if test -z "$_sdlconfig" ; then
4266 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4267 _sdlconfig="sdl-config"
4268 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4269 _sdlconfig="sdl11-config"
4270 else
4271 _sdlconfig=false
4274 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4275 cat > $TMPC << EOF
4276 #include <SDL.h>
4277 int main(int argc, char *argv[]) { return 0; }
4279 _sdl=no
4280 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4281 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4282 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4283 if test "$_sdlversion" -gt 116 ; then
4284 if test "$_sdlversion" -lt 121 ; then
4285 _def_sdlbuggy='#define BUGGY_SDL'
4286 else
4287 _def_sdlbuggy='#undef BUGGY_SDL'
4289 _sdl=yes
4290 else
4291 _res_comment=outdated
4296 if test "$_sdl" = yes ; then
4297 _def_sdl='#define HAVE_SDL 1'
4298 if cygwin ; then
4299 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4300 _inc_sdl=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4301 elif mingw32 ; then
4302 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
4303 _inc_sdl=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4304 else
4305 _ld_sdl=`$_sdlconfig --libs`
4306 _inc_sdl=`$_sdlconfig --cflags`
4308 _vosrc="$_vosrc vo_sdl.c"
4309 _vomodules="sdl $_vomodules"
4310 _aosrc="$_aosrc ao_sdl.c"
4311 _aomodules="sdl $_aomodules"
4312 _res_comment="using $_sdlconfig"
4313 else
4314 _def_sdl='#undef HAVE_SDL'
4315 _novomodules="sdl $_novomodules"
4316 _noaomodules="sdl $_noaomodules"
4318 echores "$_sdl"
4320 echocheck "Windows waveout"
4321 if test "$_win32waveout" = auto ; then
4322 cat > $TMPC << EOF
4323 #include <windows.h>
4324 #include <mmsystem.h>
4325 int main(void) { return 0; }
4327 _win32waveout=no
4328 cc_check -lwinmm && _win32waveout=yes
4330 if test "$_win32waveout" = yes ; then
4331 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4332 _ld_win32libs="-lwinmm $_ld_win32libs"
4333 _aosrc="$_aosrc ao_win32.c"
4334 _aomodules="win32 $_aomodules"
4335 else
4336 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4337 _noaomodules="win32 $_noaomodules"
4339 echores "$_win32waveout"
4341 echocheck "Directx"
4342 if test "$_directx" = auto ; then
4343 cat > $TMPC << EOF
4344 #include <windows.h>
4345 #include <ddraw.h>
4346 #include <dsound.h>
4347 int main(void) { return 0; }
4349 _directx=no
4350 cc_check -lgdi32 && _directx=yes
4352 if test "$_directx" = yes ; then
4353 _def_directx='#define HAVE_DIRECTX 1'
4354 _ld_win32libs="-lgdi32 $_ld_win32libs"
4355 _vosrc="$_vosrc vo_directx.c"
4356 _vomodules="directx $_vomodules"
4357 _aosrc="$_aosrc ao_dsound.c"
4358 _aomodules="dsound $_aomodules"
4359 else
4360 _def_directx='#undef HAVE_DIRECTX'
4361 _novomodules="directx $_novomodules"
4362 _noaomodules="dsound $_noaomodules"
4364 echores "$_directx"
4366 echocheck "NAS"
4367 if test "$_nas" = auto ; then
4368 cat > $TMPC << EOF
4369 #include <audio/audiolib.h>
4370 int main(void) { return 0; }
4372 _nas=no
4373 cc_check -laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas=yes
4375 if test "$_nas" = yes ; then
4376 _def_nas='#define HAVE_NAS 1'
4377 _ld_nas="-laudio -lXt $_ld_x11"
4378 _aosrc="$_aosrc ao_nas.c"
4379 _aomodules="nas $_aomodules"
4380 else
4381 _noaomodules="nas $_noaomodules"
4382 _def_nas='#undef HAVE_NAS'
4384 echores "$_nas"
4386 echocheck "DXR2"
4387 if test "$_dxr2" = auto; then
4388 _dxr2=no
4389 cat > $TMPC << EOF
4390 #include <dxr2ioctl.h>
4391 int main(void) { return 0; }
4393 for _inc_dxr2 in "$_inc_dxr2" \
4394 "-I/usr/local/include/dxr2" \
4395 "-I/usr/include/dxr2"; do
4396 cc_check $_inc_dxr2 && _dxr2=yes && break
4397 done
4399 if test "$_dxr2" = yes; then
4400 _def_dxr2='#define HAVE_DXR2 1'
4401 _vosrc="$_vosrc vo_dxr2.c"
4402 _aosrc="$_aosrc ao_dxr2.c"
4403 _aomodules="dxr2 $_aomodules"
4404 _vomodules="dxr2 $_vomodules"
4405 _res_comment="using $_inc_dxr2"
4406 else
4407 _def_dxr2='#undef HAVE_DXR2'
4408 _noaomodules="dxr2 $_noaomodules"
4409 _novomodules="dxr2 $_novomodules"
4410 _inc_dxr2=""
4412 echores "$_dxr2"
4414 echocheck "DXR3/H+"
4415 if test "$_dxr3" = auto ; then
4416 cat > $TMPC << EOF
4417 #include <linux/em8300.h>
4418 int main(void) { return 0; }
4420 _dxr3=no
4421 cc_check && _dxr3=yes
4423 if test "$_dxr3" = yes ; then
4424 _def_dxr3='#define HAVE_DXR3 1'
4425 _vosrc="$_vosrc vo_dxr3.c"
4426 _vomodules="dxr3 $_vomodules"
4427 else
4428 _def_dxr3='#undef HAVE_DXR3'
4429 _novomodules="dxr3 $_novomodules"
4430 if test "$_mp1e" = auto ; then
4431 # we don't need mp1e
4432 _mp1e=no
4435 echores "$_dxr3"
4437 echocheck "libmp1e"
4438 if test "$_mmx" = no ; then
4439 # mp1e REQUIRES mmx!
4440 _mp1e=no
4442 if test "$_mp1e" != no ; then
4443 _mp1e=yes
4444 _def_mp1e='#define USE_MP1E'
4445 _ld_mp1e='libmp1e/libmp1e.a'
4446 _dep_mp1e='libmp1e/libmp1e.a'
4447 else
4448 _mp1e=no
4449 _def_mp1e='#undef USE_MP1E'
4450 _ld_mp1e=""
4451 _dep_mp1e=''
4453 echores "$_mp1e"
4456 echocheck "libfame"
4457 if test "$_fame" = auto ; then
4458 _fame=no
4459 test "$_dxr2" = yes && _fame=auto
4460 test "$_dxr3" = yes && _fame=auto
4461 test "$_dvb" = yes && _fame=auto
4463 if test "$_fame" = auto ; then
4464 _fame=no
4465 if test -d libfame && test -f libfame/fame.h ; then
4466 # disable fame on cygwin as no sense to port - atmos
4467 cygwin || _fame=yes
4468 else
4469 _res_comment="no fame dir"
4472 echores "$_fame"
4474 _def_fame='#undef USE_LIBFAME'
4475 if test "$_fame" = yes ; then
4476 _def_fame='#define USE_LIBFAME 1'
4477 _ld_fame='libfame/libfame.a'
4481 #########
4482 # AUDIO #
4483 #########
4486 echocheck "OSS Audio"
4487 if test "$_ossaudio" = auto ; then
4488 cat > $TMPC << EOF
4489 #include <sys/ioctl.h>
4490 $_inc_soundcard
4491 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4493 _ossaudio=no
4494 cc_check && _ossaudio=yes
4496 if test "$_ossaudio" = yes ; then
4497 _def_ossaudio='#define USE_OSS_AUDIO 1'
4498 _aosrc="$_aosrc ao_oss.c"
4499 _aomodules="oss $_aomodules"
4500 if test "$_linux_devfs" = yes; then
4501 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4502 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4503 else
4504 cat > $TMPC << EOF
4505 #include <sys/ioctl.h>
4506 $_inc_soundcard
4507 #ifdef OPEN_SOUND_SYSTEM
4508 int main(void) { return 0; }
4509 #else
4510 #error Not the real thing
4511 #endif
4513 _real_ossaudio=no
4514 cc_check && _real_ossaudio=yes
4515 if test "$_real_ossaudio" = yes; then
4516 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4517 elif netbsd || openbsd ; then
4518 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4519 _ld_arch="$_ld_arch -lossaudio"
4520 else
4521 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4523 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4525 else
4526 _def_ossaudio='#undef USE_OSS_AUDIO'
4527 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4528 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4529 _noaomodules="oss $_noaomodules"
4531 echores "$_ossaudio"
4534 echocheck "aRts"
4535 if test "$_arts" = auto ; then
4536 _arts=no
4537 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4539 cat > $TMPC << EOF
4540 #include <artsc.h>
4541 int main(void) { return 0; }
4543 cc_check `artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts=yes
4548 if test "$_arts" = yes ; then
4549 _def_arts='#define USE_ARTS 1'
4550 _aosrc="$_aosrc ao_arts.c"
4551 _aomodules="arts $_aomodules"
4552 _ld_arts=`artsc-config --libs`
4553 _inc_arts=`artsc-config --cflags`
4554 else
4555 _noaomodules="arts $_noaomodules"
4557 echores "$_arts"
4560 echocheck "EsounD"
4561 if test "$_esd" = auto ; then
4562 _esd=no
4563 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4565 cat > $TMPC << EOF
4566 #include <esd.h>
4567 int main(void) { return 0; }
4569 cc_check `esd-config --libs` `esd-config --cflags` && "$TMPO" >> "$TMPLOG" 2>&1 && _esd=yes
4573 echores "$_esd"
4575 if test "$_esd" = yes ; then
4576 _def_esd='#define USE_ESD 1'
4577 _aosrc="$_aosrc ao_esd.c"
4578 _aomodules="esd $_aomodules"
4579 _ld_esd=`esd-config --libs`
4580 _inc_esd=`esd-config --cflags`
4582 echocheck "esd_get_latency()"
4583 cat > $TMPC << EOF
4584 #include <esd.h>
4585 int main(void) { return esd_get_latency(0); }
4587 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4588 echores "$_esd_latency"
4589 else
4590 _def_esd='#undef USE_ESD'
4591 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4592 _noaomodules="esd $_noaomodules"
4595 echocheck "Polyp"
4596 if test "$_polyp" = auto ; then
4597 _polyp=no
4598 if ( pkg-config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4600 cat > $TMPC << EOF
4601 #include <polyp/polyplib.h>
4602 #include <polyp/mainloop.h>
4603 #include <polyp/polyplib-error.h>
4604 int main(void) { return 0; }
4606 cc_check `pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && "$TMPO" >> "$TMPLOG" 2>&1 && _polyp=yes
4610 echores "$_polyp"
4612 if test "$_polyp" = yes ; then
4613 _def_polyp='#define USE_POLYP 1'
4614 _aosrc="$_aosrc ao_polyp.c"
4615 _aomodules="polyp $_aomodules"
4616 _ld_polyp=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4617 _inc_polyp=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4618 else
4619 _def_polyp='#undef USE_POLYP'
4620 _noaomodules="polyp $_noaomodules"
4624 echocheck "JACK"
4625 if test "$_jack" = auto ; then
4626 _jack=yes
4628 cat > $TMPC << EOF
4629 #include <jack/jack.h>
4630 int main(void) { jack_client_new("test"); return 0; }
4632 if cc_check -ljack ; then
4633 _ld_jack="-ljack"
4634 elif cc_check `pkg-config --libs --cflags --silence-errors jack` ; then
4635 _ld_jack="`pkg-config --libs jack`"
4636 _inc_jack="`pkg-config --cflags jack`"
4637 else
4638 _jack=no
4642 if test "$_jack" = yes ; then
4643 _def_jack='#define USE_JACK 1'
4644 _aosrc="$_aosrc ao_jack.c"
4645 _aomodules="jack $_aomodules"
4646 else
4647 _noaomodules="jack $_noaomodules"
4649 echores "$_jack"
4652 echocheck "ALSA audio"
4653 if test "$_alsa" != no ; then
4654 _alsa=no
4655 cat > $TMPC << EOF
4656 #include <sys/asoundlib.h>
4657 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
4659 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.5.x'
4661 cat > $TMPC << EOF
4662 #include <sys/asoundlib.h>
4663 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4665 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-sys'
4666 cat > $TMPC << EOF
4667 #include <alsa/asoundlib.h>
4668 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4670 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-alsa'
4672 cat > $TMPC << EOF
4673 #include <sys/asoundlib.h>
4674 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4676 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-sys'
4677 cat > $TMPC << EOF
4678 #include <alsa/asoundlib.h>
4679 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4681 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-alsa'
4683 _def_alsa5='#undef HAVE_ALSA5'
4684 _def_alsa9='#undef HAVE_ALSA9'
4685 _def_alsa1x='#undef HAVE_ALSA1X'
4686 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
4687 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
4688 if test "$_alsaver" ; then
4689 _alsa=yes
4690 if test "$_alsaver" = '0.5.x' ; then
4691 _aosrc="$_aosrc ao_alsa5.c"
4692 _aomodules="alsa5 $_aomodules"
4693 _def_alsa5='#define HAVE_ALSA5 1'
4694 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4695 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
4696 elif test "$_alsaver" = '0.9.x-sys' ; then
4697 _aosrc="$_aosrc ao_alsa.c"
4698 _aomodules="alsa $_aomodules"
4699 _def_alsa9='#define HAVE_ALSA9 1'
4700 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4701 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
4702 elif test "$_alsaver" = '0.9.x-alsa' ; then
4703 _aosrc="$_aosrc ao_alsa.c"
4704 _aomodules="alsa $_aomodules"
4705 _def_alsa9='#define HAVE_ALSA9 1'
4706 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4707 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
4708 elif test "$_alsaver" = '1.0.x-sys' ; then
4709 _aosrc="$_aosrc ao_alsa.c"
4710 _aomodules="alsa $_aomodules"
4711 _def_alsa1x="#define HAVE_ALSA1X 1"
4712 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4713 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
4714 elif test "$_alsaver" = '1.0.x-alsa' ; then
4715 _aosrc="$_aosrc ao_alsa.c"
4716 _aomodules="alsa $_aomodules"
4717 _def_alsa1x="#define HAVE_ALSA1X 1"
4718 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4719 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
4720 else
4721 _alsa=no
4722 _res_comment="unknown version"
4724 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
4725 else
4726 _noaomodules="alsa $_noaomodules"
4728 echores "$_alsa"
4731 echocheck "Sun audio"
4732 if test "$_sunaudio" = auto ; then
4733 cat > $TMPC << EOF
4734 #include <sys/types.h>
4735 #include <sys/audioio.h>
4736 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4738 _sunaudio=no
4739 cc_check && _sunaudio=yes
4741 if test "$_sunaudio" = yes ; then
4742 _def_sunaudio='#define USE_SUN_AUDIO 1'
4743 _aosrc="$_aosrc ao_sun.c"
4744 _aomodules="sun $_aomodules"
4745 else
4746 _def_sunaudio='#undef USE_SUN_AUDIO'
4747 _noaomodules="sun $_noaomodules"
4749 echores "$_sunaudio"
4752 echocheck "Sun mediaLib"
4753 if test "$_mlib" = auto ; then
4754 _mlib=no
4755 test -z "$_mlibdir" && _mlibdir=/opt/SUNWmlib
4756 cat > $TMPC << EOF
4757 #include <mlib.h>
4758 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4760 cc_check -I${_mlibdir}/include -L${_mlibdir}/lib -lmlib && _mlib=yes
4762 if test "$_mlib" = yes ; then
4763 _def_mlib='#define HAVE_MLIB 1'
4764 _inc_mlib=" -I${_mlibdir}/include "
4765 _ld_mlib=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4766 else
4767 _def_mlib='#undef HAVE_MLIB'
4769 echores "$_mlib"
4772 echocheck "SGI audio"
4773 if test "$_sgiaudio" = auto ; then
4774 # check for SGI audio
4775 cat > $TMPC << EOF
4776 #include <dmedia/audio.h>
4777 int main(void) { return 0; }
4779 _sgiaudio=no
4780 cc_check && _sgiaudio=yes
4782 if test "$_sgiaudio" = "yes" ; then
4783 _def_sgiaudio='#define USE_SGI_AUDIO 1'
4784 _ld_sgiaudio='-laudio'
4785 _aosrc="$_aosrc ao_sgi.c"
4786 _aomodules="sgi $_aomodules"
4787 else
4788 _def_sgiaudio='#undef USE_SGI_AUDIO'
4789 _noaomodules="sgi $_noaomodules"
4791 echores "$_sgiaudio"
4794 echocheck "VCD support"
4795 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
4796 _inputmodules="vcd $_inputmodules"
4797 _def_vcd='#define HAVE_VCD 1'
4798 echores "ok"
4799 else
4800 _def_vcd='#undef HAVE_VCD'
4801 _noinputmodules="vcd $_noinputmodules"
4802 echores "not supported on this OS"
4805 echocheck "DVD support (libmpdvdkit)"
4806 if test "$_dvdkit" = auto ; then
4807 _dvdkit=no
4808 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux; then
4809 test -f "./libmpdvdkit2/Makefile" && _dvdkit=yes
4810 test -f "./libmpdvdkit/Makefile" && _dvdkit=yes
4813 if test "$_dvdkit" = yes ; then
4814 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
4815 if test -f "./libmpdvdkit2/Makefile" ; then
4816 _inputmodules="mpdvdkit2 $_inputmodules"
4817 _dvdread=libmpdvdkit2
4818 _dvdkit2=yes
4819 _dvdkit=no
4820 else
4821 _inputmodules="mpdvdkit $_inputmodules"
4822 _dvdread=libmpdvdkit
4824 else
4825 _noinputmodules="mpdvdkit $_noinputmodules"
4827 _def_dvd_linux='#undef HAVE_LINUX_DVD_STRUCT'
4828 _def_dvd_bsd='#undef HAVE_BSD_DVD_STRUCT'
4829 _dev_dvd_openbsd='#undef HAVE_OPENBSD_DVD_STRUCT'
4830 _def_dvd_darwin='#undef DARWIN_DVD_IOCTL'
4831 if linux || netbsd || openbsd || bsdos ; then
4832 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
4833 if openbsd ; then
4834 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
4836 else
4837 if freebsd ; then
4838 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
4839 else
4840 if darwin ; then
4841 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
4845 else
4846 _noinputmodules="mpdvdkit $_noinputmodules"
4848 if test "$_dvdkit" = yes || test "$_dvdkit2" = yes; then
4849 echores "yes"
4850 else
4851 echores "no"
4854 echocheck "DVD support (libdvdread)"
4855 if test "$_dvdread" = auto ; then
4856 cat > $TMPC << EOF
4857 #include <inttypes.h>
4858 #include <dvdread/dvd_reader.h>
4859 #include <dvdread/ifo_types.h>
4860 #include <dvdread/ifo_read.h>
4861 #include <dvdread/nav_read.h>
4862 int main(void) { return 0; }
4864 _dvdread=no
4865 if test "$_dl" = yes; then
4866 cc_check \
4867 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4868 _dvdread=yes
4871 _def_mpdvdkit="#undef USE_MPDVDKIT"
4872 case "$_dvdread" in
4873 yes)
4874 _largefiles=yes
4875 _def_dvdread='#define USE_DVDREAD 1'
4876 _ld_dvdread='-ldvdread'
4877 _inputmodules="dvdread $_inputmodules"
4878 echores "yes"
4881 _def_dvdread='#undef USE_DVDREAD'
4882 _noinputmodules="dvdread $_noinputmodules"
4883 echores "no"
4885 libmpdvdkit)
4886 _largefiles=yes
4887 _def_dvdread='#define USE_DVDREAD 1'
4888 _ld_dvdread='-Llibmpdvdkit -lmpdvdkit'
4889 _noinputmodules="dvdread $_noinputmodules"
4890 _def_mpdvdkit="#define USE_MPDVDKIT 1"
4891 echores "disabled by libmpdvdkit"
4893 libmpdvdkit2)
4894 _largefiles=yes
4895 _def_dvdread='#define USE_DVDREAD 1'
4896 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
4897 _noinputmodules="dvdread $_noinputmodules"
4898 _def_mpdvdkit="#define USE_MPDVDKIT 2"
4899 echores "disabled by libmpdvdkit2"
4901 esac
4903 # dvdnav disabled, it does not work
4904 # echocheck "DVD support (libdvdnav)"
4905 # if test "$_dvdnav" = yes ; then
4906 # cat > $TMPC <<EOF
4907 # #include <dvdnav.h>
4908 # int main(void) { dvdnav_t *dvd=0; return 0; }
4909 # EOF
4910 # _dvdnav=no
4911 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4912 # if test -z "$_dvdnavconfig" ; then
4913 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4914 # _dvdnavconfig="dvdnav-config"
4915 # fi
4916 # fi
4917 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4918 # _used_css=
4919 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4920 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4921 # fi
4922 # if test "$_dvdnav" = yes ; then
4923 # _largefiles=yes
4924 # _def_dvdnav='#define USE_DVDNAV 1'
4925 # if test -n "$_legal_dvdnavdir" ; then
4926 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4927 # elif test -n "$_dvdnavconfig" ; then
4928 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4929 # else
4930 # _ld_css="$_ld_css -ldvdnav"
4931 # fi
4932 # if test -n "$_dvdnavconfig" ; then
4933 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4934 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4935 # fi
4936 # if test -n "$_dvdnavdir" ; then
4937 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4938 # fi
4939 # _inputmodules="dvdnav $_inputmodules"
4940 # echores "yes"
4941 # else
4942 # _def_dvdnav='#undef USE_DVDNAV'
4943 # _noinputmodules="dvdnav $_noinputmodules"
4944 # echores "no"
4945 # fi
4947 echocheck "cdparanoia"
4948 if test "$_cdparanoia" = auto ; then
4949 cat > $TMPC <<EOF
4950 #include <cdda_interface.h>
4951 #include <cdda_paranoia.h>
4952 // This need a better test. How ?
4953 int main(void) { return 1; }
4955 _cdparanoia=no
4956 for _inc_tmp in "$_inc_cdparanoia" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
4957 cc_check $_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && _inc_cdparanoia="$_inc_tmp" && _cdparanoia=yes && break
4958 done
4960 if test "$_cdparanoia" = yes ; then
4961 _def_cdparanoia='#define HAVE_CDDA'
4962 _inputmodules="cdda $_inputmodules"
4963 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4964 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
4965 else
4966 _def_cdparanoia='#undef HAVE_CDDA'
4967 _noinputmodules="cdda $_noinputmodules"
4969 echores "$_cdparanoia"
4972 echocheck "freetype >= 2.0.9"
4974 # freetype depends on iconv
4975 if test "$_iconv" = no ; then
4976 _freetype=no
4977 _res_comment="iconv support needed"
4980 if test "$_freetype" = auto ; then
4981 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
4982 cat > $TMPC << EOF
4983 #include <stdio.h>
4984 #include <ft2build.h>
4985 #include FT_FREETYPE_H
4986 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4987 #error "Need FreeType 2.0.9 or newer"
4988 #endif
4989 int main()
4991 FT_Library library;
4992 FT_Int major=-1,minor=-1,patch=-1;
4993 int err=FT_Init_FreeType(&library);
4994 if(err){
4995 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4996 exit(err);
4998 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4999 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5000 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5001 (int)major,(int)minor,(int)patch );
5002 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5003 printf("Library and header version mismatch! Fix it in your distribution!\n");
5004 exit(1);
5006 return 0;
5009 _freetype=no
5010 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && $TMPO >> "$TMPLOG" && _freetype=yes
5011 else
5012 _freetype=no
5015 if test "$_freetype" = yes ; then
5016 _def_freetype='#define HAVE_FREETYPE'
5017 _inc_freetype=`$_freetypeconfig --cflags`
5018 _ld_freetype=`$_freetypeconfig --libs`
5019 else
5020 _def_freetype='#undef HAVE_FREETYPE'
5022 echores "$_freetype"
5024 if test "$_freetype" = no ; then
5025 _fontconfig=no
5026 _res_comment="freetype support needed"
5028 echocheck "fontconfig"
5029 if test "$_fontconfig" = auto ; then
5030 cat > $TMPC << EOF
5031 #include <stdio.h>
5032 #include <fontconfig/fontconfig.h>
5033 int main()
5035 int err = FcInit();
5036 if(err == FcFalse){
5037 printf("Couldn't initialize fontconfig lib\n");
5038 exit(err);
5040 return 0;
5044 _fontconfig=yes
5045 if cc_check -lfontconfig ; then
5046 _ld_fontconfig="-lfontconfig"
5047 elif cc_check `pkg-config --cflags --libs fontconfig` ; then
5048 _inc_fontconfig=`pkg-config --cflags fontconfig`
5049 _ld_fontconfig=`pkg-config --libs fontconfig`
5050 else
5051 _fontconfig=no
5054 if test "$_fontconfig" = yes ; then
5055 _def_fontconfig='#define HAVE_FONTCONFIG'
5056 else
5057 _def_fontconfig='#undef HAVE_FONTCONFIG'
5059 echores "$_fontconfig"
5061 echocheck "fribidi with charsets"
5062 if test "$_fribidi" = yes ; then
5063 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5064 cat > $TMPC << EOF
5065 #include <stdio.h>
5066 /* workaround for fribidi 0.10.4 and below */
5067 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5068 #include <fribidi/fribidi.h>
5069 int main()
5071 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5072 printf("Fribidi headers are not consistents with the library!\n");
5073 exit(1);
5075 return 0;
5078 _fribidi=no
5079 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && $TMPO >> "$TMPLOG" && _fribidi=yes
5080 else
5081 _fribidi=no
5084 if test "$_fribidi" = yes ; then
5085 _def_fribidi='#define USE_FRIBIDI'
5086 _inc_fribidi=`$_fribidiconfig --cflags`
5087 _ld_fribidi=`$_fribidiconfig --libs`
5088 else
5089 _def_fribidi='#undef USE_FRIBIDI'
5091 echores "$_fribidi"
5094 echocheck "ENCA"
5095 if test "$_enca" = auto ; then
5096 cat > $TMPC << EOF
5097 #include <enca.h>
5098 int main()
5100 const char **langs;
5101 size_t langcnt;
5102 langs = enca_get_languages(&langcnt);
5103 return 0;
5106 _enca=no
5107 cc_check -lenca $_ld_lm && _enca=yes
5109 if test "$_enca" = yes ; then
5110 _def_enca='#define HAVE_ENCA 1'
5111 _ld_enca='-lenca'
5112 else
5113 _def_enca='#undef HAVE_ENCA'
5115 echores "$_enca"
5118 echocheck "zlib"
5119 cat > $TMPC << EOF
5120 #include <zlib.h>
5121 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5123 _zlib=no
5124 cc_check -lz && _zlib=yes
5125 if test "$_zlib" = yes ; then
5126 _def_zlib='#define HAVE_ZLIB 1'
5127 _ld_zlib='-lz'
5128 else
5129 _def_zlib='#undef HAVE_ZLIB'
5131 echores "$_zlib"
5134 echocheck "RTC"
5135 if test "$_rtc" = auto ; then
5136 cat > $TMPC << EOF
5137 #include <sys/ioctl.h>
5138 #ifdef __linux__
5139 #include <linux/rtc.h>
5140 #else
5141 #include <rtc.h>
5142 #define RTC_PIE_ON RTCIO_PIE_ON
5143 #endif
5144 int main(void) { return RTC_PIE_ON; }
5146 _rtc=no
5147 cc_check && _rtc=yes
5149 if test "$_rtc" = yes ; then
5150 _def_rtc='#define HAVE_RTC 1'
5151 else
5152 _def_rtc='#undef HAVE_RTC'
5154 echores "$_rtc"
5157 echocheck "external liblzo support"
5158 if test "$_liblzo" = auto ; then
5159 _liblzo=no
5160 cat > $TMPC << EOF
5161 #include <lzo1x.h>
5162 int main(void) { lzo_init();return 0; }
5164 cc_check -llzo && _liblzo=yes
5166 if test "$_liblzo" = yes ; then
5167 _def_liblzo='#define USE_LIBLZO 1'
5168 _ld_liblzo='-llzo'
5169 _codecmodules="liblzo $_codecmodules"
5170 else
5171 _def_liblzo='#undef USE_LIBLZO'
5172 _nocodecmodules="liblzo $_nocodecmodules"
5174 echores "$_liblzo"
5177 echocheck "mad support"
5178 if test "$_mad" = auto ; then
5179 _mad=no
5180 cat > $TMPC << EOF
5181 #include <mad.h>
5182 int main(void) { return 0; }
5184 cc_check $_madlibdir -lmad && _mad=yes
5186 if test "$_mad" = yes ; then
5187 _def_mad='#define USE_LIBMAD 1'
5188 _ld_mad='-lmad'
5189 _codecmodules="libmad $_codecmodules"
5190 else
5191 _def_mad='#undef USE_LIBMAD'
5192 _nocodecmodules="libmad $_nocodecmodules"
5194 echores "$_mad"
5196 echocheck "Toolame"
5197 if test "$_toolame" = auto ; then
5198 cat > $TMPC <<EOF
5199 #include <toolame.h>
5200 int main(void) { toolame_init(); return 0; }
5202 _toolame=no
5203 _toolame_extraflags=""
5204 _toolame_lib="-ltoolame"
5205 if test -n "$_toolamedir"; then
5206 _toolame_extraflags="-I$_toolamedir -L$_toolamedir"
5208 cc_check $_toolame_extraflags $_toolame_lib $_ld_lm && _toolame=yes
5210 if test "$_toolame" = yes ; then
5211 _def_toolame='#define HAVE_TOOLAME 1'
5212 _codecmodules="$_codecmodules toolame"
5213 else
5214 _def_toolame='#undef HAVE_TOOLAME'
5215 _toolame_lib=""
5216 _nocodecmodules="toolame $_nocodecmodules"
5218 if test "$_toolamedir" ; then
5219 _res_comment="using $_toolamedir"
5221 echores "$_toolame"
5223 echocheck "Twolame"
5224 if test "$_twolame" = auto ; then
5225 cat > $TMPC <<EOF
5226 #include <twolame.h>
5227 int main(void) { twolame_init(); return 0; }
5229 _twolame=no
5230 _twolame_lib="-ltwolame"
5231 cc_check $_twolame_lib $_ld_lm && _twolame=yes
5233 if test "$_twolame" = yes ; then
5234 _def_twolame='#define HAVE_TWOLAME 1'
5235 _codecmodules="$_codecmodules twolame"
5236 else
5237 _def_twolame='#undef HAVE_TWOLAME'
5238 _twolame_lib=""
5239 _nocodecmodules="twolame $_nocodecmodules"
5241 echores "$_twolame"
5243 echocheck "OggVorbis support"
5244 if test "$_tremor_internal" = yes; then
5245 _vorbis=yes
5246 elif test "$_vorbis" = auto; then
5247 _vorbis=no
5248 cat > $TMPC << EOF
5249 #include <vorbis/codec.h>
5250 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5252 cc_check -lvorbis -logg $_ld_lm && _vorbis=yes
5254 if test "$_vorbis" = yes ; then
5255 _def_vorbis='#define HAVE_OGGVORBIS 1'
5256 if test "$_tremor_internal" = yes ; then
5257 # do not set _ld_vorbis as it is resolved separately
5258 # mp3lame support for vorbis is deprecated so don't care
5259 _def_tremor='#define TREMOR 1'
5260 if test "$_tremor_low" = yes ; then
5261 _tremor_flags='-D_LOW_ACCURACY_'
5262 else
5263 _tremor_flags=''
5265 _codecmodules="tremor(internal) $_codecmodules"
5266 elif test "$_tremor" = yes ; then
5267 _def_tremor='#define TREMOR 1'
5268 _ld_vorbis='-lvorbisidec'
5269 _codecmodules="tremor $_codecmodules"
5270 else
5271 _def_tremor='#undef TREMOR'
5272 _ld_vorbis='-lvorbis -logg'
5273 _codecmodules="libvorbis $_codecmodules"
5275 else
5276 _def_vorbis='#undef HAVE_OGGVORBIS'
5277 _def_tremor='#undef TREMOR'
5278 _nocodecmodules="libvorbis $_nocodecmodules"
5280 if test "$_vorbis" = yes -a "$_tremor_internal" = yes -a "$_tremor_low" = yes ; then
5281 _res_comment="internal low accuracy Tremor"
5282 elif test "$_vorbis" = yes -a "$_tremor_internal" = yes ; then
5283 _res_comment="internal Tremor"
5284 elif test "$_vorbis" = yes -a "$_tremor" = yes ; then
5285 _res_comment="Tremor"
5287 echores "$_vorbis"
5289 echocheck "OggTheora support"
5290 if test "$_theora" = auto ; then
5291 _theora=no
5292 if ( pkg-config --exists 'theora' ) >> "$TMPLOG" 2>&1 ; then
5293 cat > $TMPC << EOF
5294 #include <theora/theora.h>
5295 #include <string.h>
5296 int main(void)
5298 /* theora is in flux, make sure that all interface routines and
5299 * datatypes exist and work the way we expect it, so we don't break
5300 * mplayer */
5301 ogg_packet op;
5302 theora_comment tc;
5303 theora_info inf;
5304 theora_state st;
5305 yuv_buffer yuv;
5306 int r;
5307 double t;
5309 theora_info_init (&inf);
5310 theora_comment_init (&tc);
5312 return 0;
5314 /* we don't want to execute this kind of nonsense; just for making sure
5315 * that compilation works... */
5316 memset(&op, 0, sizeof(op));
5317 r = theora_decode_header (&inf, &tc, &op);
5318 r = theora_decode_init (&st, &inf);
5319 t = theora_granule_time (&st, op.granulepos);
5320 r = theora_decode_packetin (&st, &op);
5321 r = theora_decode_YUVout (&st, &yuv);
5322 theora_clear (&st);
5324 return 0;
5327 cc_check `pkg-config --libs --cflags theora` && _theora=yes
5330 if test "$_theora" = yes ; then
5331 _def_theora='#define HAVE_OGGTHEORA 1'
5332 _codecmodules="libtheora $_codecmodules"
5333 _ld_theora=`pkg-config --libs --cflags theora`
5334 else
5335 _def_theora='#undef HAVE_OGGTHEORA'
5336 _nocodecmodules="libtheora $_nocodecmodules"
5338 echores "$_theora"
5340 echocheck "mp3lib support"
5341 if test "$_mp3lib" = yes ; then
5342 _def_mp3lib='#define USE_MP3LIB 1'
5343 _codecmodules="mp3lib $_codecmodules"
5344 else
5345 _def_mp3lib='#undef USE_MP3LIB'
5346 _nocodecmodules="mp3lib $_nocodecmodules"
5348 echores "$_mp3lib"
5350 echocheck "liba52 support"
5351 if test "$_liba52" = yes ; then
5352 _def_liba52='#define USE_LIBA52 1'
5353 _codecmodules="liba52 $_codecmodules"
5354 else
5355 _def_liba52='#undef USE_LIBA52'
5356 _nocodecmodules="liba52 $_nocodecmodules"
5358 echores "$_liba52"
5360 echocheck "libdts support"
5361 if test "$_libdts" = auto ; then
5362 _libdts=no
5363 cat > $TMPC << EOF
5364 #include <inttypes.h>
5365 #include <dts.h>
5366 int main(void) { dts_init (0); return 0; }
5368 cc_check $_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts=yes
5370 if test "$_libdts" = yes ; then
5371 _def_libdts='#define CONFIG_DTS 1'
5372 _ld_libdts="$_ld_libdts -ldts"
5373 _codecmodules="libdts $_codecmodules"
5374 else
5375 _def_libdts='#undef CONFIG_DTS'
5376 _nocodecmodules="libdts $_nocodecmodules"
5378 echores "$_libdts"
5380 echocheck "libmpeg2 support"
5381 if test "$_libmpeg2" = yes ; then
5382 _def_libmpeg2='#define USE_LIBMPEG2 1'
5383 _codecmodules="libmpeg2 $_codecmodules"
5384 else
5385 _def_libmpeg2='#undef USE_LIBMPEG2'
5386 _nocodecmodules="libmpeg2 $_nocodecmodules"
5388 echores "$_libmpeg2"
5390 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5391 if test "$_musepack" = auto ; then
5392 _musepack=no
5393 cat > $TMPC << EOF
5394 #include <mpcdec/mpcdec.h>
5395 int main(void) {
5396 mpc_streaminfo info;
5397 mpc_decoder decoder;
5398 mpc_decoder_set_streaminfo(&decoder, &info);
5399 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5402 cc_check -lmpcdec $_ld_lm && _musepack=yes
5404 if test "$_musepack" = yes ; then
5405 _def_musepack='#define HAVE_MUSEPACK 1'
5406 _ld_musepack='-lmpcdec'
5407 _codecmodules="musepack $_codecmodules"
5408 else
5409 _def_musepack='#undef HAVE_MUSEPACK'
5410 _nocodecmodules="musepack $_nocodecmodules"
5412 echores "$_musepack"
5415 echocheck "Matroska support"
5416 if test "$_matroska_internal" = yes ; then
5417 _inputmodules="matroska $_inputmodules"
5418 _def_matroska='#define HAVE_MATROSKA 1'
5419 else
5420 _noinputmodules="matroska $_noinputmodules"
5421 _def_matroska='#undef HAVE_MATROSKA'
5423 echores "$_matroska_internal"
5425 echocheck "FAAC (AAC encoder) support"
5426 if test "$_faac" = auto ; then
5427 cat > $TMPC <<EOF
5428 #include <inttypes.h>
5429 #include <faac.h>
5430 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5432 _faac=no
5433 for _ld_tmp in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5434 cc_check -c -O4 $_ld_tmp $_ld_lm && _ld_faac="$_ld_tmp" && faac=yes && break
5435 done
5437 if test "$_faac" = yes ; then
5438 _def_faac="#define HAVE_FAAC 1"
5439 _codecmodules="faac $_codecmodules"
5440 else
5441 _def_faac="#undef HAVE_FAAC"
5442 _nocodecmodules="faac $_nocodecmodules"
5444 echores "$_faac"
5446 echocheck "internal FAAD2 (AAC) support"
5447 _inc_faad="-I`pwd`/libfaad2"
5448 if test "$_faad_internal" = auto ; then
5449 # the faad check needs a config.h file
5450 if not test -f "config.h" ; then
5451 cat > config.h << EOF
5452 /* C99 lrintf function available */
5453 $_def_lrintf
5456 # internal faad: check if our dear gcc is able to compile it...
5457 cp "`pwd`/libfaad2/cfft.c" $TMPC
5458 if ( cc_check -c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer -D_GNU_SOURCE $_inc_faad ); then
5459 _faad_internal=yes
5460 else
5461 _faad_internal="no (broken gcc)"
5464 if test "$_faad_internal" = yes ; then
5465 _def_faad_internal="#define USE_INTERNAL_FAAD 1"
5466 _faad_external=no
5467 else
5468 _def_faad_internal="#undef USE_INTERNAL_FAAD"
5469 _inc_faad=
5471 echores "$_faad_internal"
5474 echocheck "external FAAD2 (AAC) support"
5475 if test "$_faad_external" != no ; then
5476 _ld_faad='-lfaad'
5477 _inc_faad="$_inc_extra"
5478 # external faad: check if it's really faad2 :)
5479 if test "$_faad_external" = auto ; then
5480 _faad_external=no
5481 cat > $TMPC << EOF
5482 #include <faad.h>
5483 #ifndef FAAD_MIN_STREAMSIZE
5484 #error Too old version
5485 #endif
5486 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5488 cc_check $_inc_faad $_ld_faad $_ld_lm && _faad_external=yes
5491 echores "$_faad_external"
5493 if test "$_faad_external" = yes; then
5494 _def_faad='#define HAVE_FAAD 1'
5495 _codecmodules="faad2(external) $_codecmodules"
5496 elif test "$_faad_internal" = yes; then
5497 _def_faad='#define HAVE_FAAD 1'
5498 _codecmodules="faad2(internal) $_codecmodules"
5499 else
5500 _def_faad='#undef HAVE_FAAD'
5501 _nocodecmodules="faad2 $_nocodecmodules"
5502 _ld_faad=
5506 echocheck "LADSPA plugin support"
5507 if test "$_ladspa" = auto ; then
5508 cat > $TMPC <<EOF
5509 #include <stdio.h>
5510 #include <ladspa.h>
5511 int main(void) {
5512 const LADSPA_Descriptor *ld = NULL;
5513 return 0;
5516 _ladspa=no
5517 cc_check && _ladspa=yes
5519 if test "$_ladspa" = yes; then
5520 _def_ladspa="#define HAVE_LADSPA"
5521 _afsrc="$_afsrc af_ladspa.c"
5522 _afmodules="ladspa $_afmodules"
5523 else
5524 _def_ladspa="#undef HAVE_LADSPA"
5525 _noafmodules="ladspa $_noafmodules"
5527 echores "$_ladspa"
5530 if test "$_win32" = auto ; then
5531 if x86 ; then
5532 qnx && _win32=no
5533 else
5534 _win32=no # x86 arch only
5538 if test "$_win32" != no ; then
5539 if test -z "$_win32libdir" ; then
5540 for I in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
5541 if test -d "$I" ; then
5542 _win32libdir="$I"
5543 break;
5545 done
5549 echocheck "Win32 codec DLL support"
5550 if test "$_win32" = auto ; then
5551 _win32=no
5552 test -n "$_win32libdir" && _win32=yes
5554 if test "$_win32" = yes ; then
5555 _def_win32='#define USE_WIN32DLL 1'
5556 _res_comment="using $_win32libdir"
5557 else
5558 _def_win32='#undef USE_WIN32DLL'
5559 _nocodecmodules="win32 $_nocodecmodules"
5560 _dshow=no
5562 echores "$_win32"
5564 if test "$_win32" != no ; then
5565 _def_win32_loader='#undef WIN32_LOADER'
5566 echocheck "Win32 loader support"
5567 _ld_win32='loader/libloader.a'
5568 _dep_win32='loader/libloader.a'
5569 _codecmodules="win32 $_codecmodules"
5570 if openbsd ; then
5571 x86 && _ld_win32="$_ld_win32 -li386"
5573 if not win32 ; then
5574 _def_win32_loader='#define WIN32_LOADER 1'
5575 echores "yes"
5576 else
5577 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
5578 echores "no (using native windows)"
5582 echocheck "DirectShow"
5583 if false ; then
5585 if test "$_dshow" != no ; then
5586 _dshow=no
5587 # check if compiler supports C++ and C++-libs are installed correctly
5588 cat > "$TMPCPP" << EOF
5589 #include <string>
5590 class myclass {
5591 private: int ret;
5592 public: int myreturn(void);
5594 int myclass::myreturn(void) { ret = 0; return ret ; }
5595 int main(void) { myclass myobject; return myobject.myreturn(); }
5597 echo "------------------------------------------------" >> "$TMPLOG"
5598 cat "$TMPCPP" >> "$TMPLOG"
5599 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
5600 _dshow=yes
5601 echores "yes (C++ is ok)"
5602 else
5603 echores "no"
5604 cat << EOF
5606 Your C++ runtime environment is broken.
5608 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5609 Are the C++ libraries correctly installed?
5610 Check for libstdc++ and in (/etc/)ld.so.conf.
5612 If you do not need DirectShow support, you can also use:
5613 ./configure --disable-dshow <your-normal-configure-options>
5614 to disable building the C++ based DirectShow code.
5617 die "$_cc's C++ is broken"
5623 echores "$_dshow"
5625 if test "$_dshow" = yes ; then
5626 _def_dshow='#define USE_DIRECTSHOW 1'
5627 _ld_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5628 _dep_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5629 _codecmodules="dshow/dmo $_codecmodules"
5630 else
5631 _def_dshow='#undef USE_DIRECTSHOW'
5632 _nocodecmodules="dshow/dmo $_nocodecmodules"
5636 echocheck "XAnim DLL"
5637 if test "$_xanim" = auto ; then
5638 _xanim=no
5639 _res_comment="dynamic loader support needed"
5640 if test "$_dl" = yes ; then
5641 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5642 if test -z "$_xanimlibdir" ; then
5643 for I in "$_libdir/codecs" /usr/local/lib/xanim/mods /usr/lib/xanim/mods /usr/lib/xanim $XANIM_MOD_DIR ; do
5644 if test -d "$I" ; then
5645 _xanimlibdir="$I"
5646 break;
5648 done
5650 test "$_xanimlibdir" && _xanim=yes
5653 if test "$_xanim" = yes ; then
5654 _def_xanim='#define USE_XANIM 1'
5655 _def_xanim_path="#define XACODEC_PATH \"$_xanimlibdir\""
5656 _codecmodules="xanim $_codecmodules"
5657 _res_comment="using $_xanimlibdir"
5658 else
5659 _def_xanim='#undef USE_XANIM'
5660 _def_xanim_path='#undef XACODEC_PATH'
5661 _nocodecmodules="xanim $_nocodecmodules"
5663 echores "$_xanim"
5665 echocheck "RealPlayer DLL"
5666 if test "$_real" = auto ; then
5667 _real=no
5668 _res_comment="dynamic loader support needed"
5669 if test "$_dl" = yes || test "$_win32" = yes ; then
5670 # if test "$_dl" = yes ; then
5671 _res_comment="tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin"
5672 if linux || freebsd || netbsd || win32 || darwin ; then
5673 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5674 if test -z "$_reallibdir" ; then
5675 for I in "$_libdir/codecs" "$_libdir/real" /usr/lib/real \
5676 /usr/lib/RealPlayer{9,8,}/Codecs /usr/local/RealPlayer{9,8,}/Codecs \
5677 /usr/local/lib/RealPlayer{9,8,}/Codecs /opt/RealPlayer{9,8,}/{Real/,}Codecs \
5678 {~,}/Applications/RealOne\ Player.app/Contents/MacOS/Library/Codecs \
5679 "$_win32libdir"; do
5680 if test -d "$I" ; then
5681 _reallibdir="$I"
5682 break
5684 done
5686 test "$_reallibdir" && _real=yes
5690 if test "$_real" = yes ; then
5691 _def_real='#define USE_REALCODECS 1'
5692 _def_real_path="#define REALCODEC_PATH \"$_reallibdir\""
5693 _codecmodules="real $_codecmodules"
5694 _res_comment="using $_reallibdir"
5695 else
5696 _def_real='#undef USE_REALCODECS'
5697 _def_real_path="#undef REALCODEC_PATH"
5698 _nocodecmodules="real $_nocodecmodules"
5700 echores "$_real"
5703 echocheck "LIVE555 Streaming Media libraries"
5704 if test "$_live" = auto && test "$_network" = yes ; then
5705 _TMPC=$TMPC
5706 TMPC=$TMPCPP
5707 cat >$TMPC <<EOF
5708 #include <liveMedia.hh>
5709 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5710 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
5711 #endif
5712 int main(void) {}
5715 _live=no
5716 for I in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
5717 cc_check -I$I/liveMedia/include -I$I/UsageEnvironment/include -I$I/groupsock/include && _livelibdir=$I && _live=yes && break
5718 done
5719 if test "$_live" != yes ; then
5720 if cc_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
5721 _live_dist=yes
5725 TMPC=$_TMPC
5727 if test "$_live" = yes && test "$_network" = yes ; then
5728 echores "yes (using $_livelibdir)"
5729 _def_live='#define STREAMING_LIVE555 1'
5730 _live_libs_def="# LIVE555 Streaming Media libraries:
5731 LIVE_LIB_DIR = $_livelibdir
5732 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
5733 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
5734 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
5735 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
5736 LIVE_LIBS += -lstdc++
5737 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
5738 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
5739 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
5740 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
5741 _ld_live='$(LIVE_LIBS)'
5742 _inputmodules="live555 $_inputmodules"
5743 elif test "$_live_dist" = yes && test "$_network" = yes ; then
5744 echores "yes (using distribution version)"
5745 _live="yes"
5746 _def_live='#define STREAMING_LIVE555 1'
5747 _live_libs_def="# LIVE555 Streaming Media libraries:
5748 LIVE_LIB_DIR = $_livelibdir
5749 LIVE_LIBS = -lliveMedia
5750 LIVE_LIBS += -lgroupsock
5751 LIVE_LIBS += -lUsageEnvironment
5752 LIVE_LIBS += -lBasicUsageEnvironment
5753 LIVE_LIBS += -lstdc++
5754 LIVE_INCLUDES = -I/usr/include/liveMedia
5755 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
5756 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
5757 LIVE_INCLUDES += -I/usr/include/groupsock"
5758 _ld_live='$(LIVE_LIBS)'
5759 _inputmodules="live555 $_inputmodules"
5760 else
5761 echores "no"
5762 _def_live='#undef STREAMING_LIVE555'
5763 _noinputmodules="live555 $_noinputmodules"
5766 echocheck "FFmpeg libavutil (static)"
5767 if test -d libavutil ; then
5768 _libavutil=yes
5769 else
5770 _libavutil=no
5772 echores "$_libavutil"
5774 echocheck "FFmpeg libavcodec (static)"
5775 if test "$_libavcodec" = auto ; then
5776 # Note: static linking is preferred to dynamic linking
5777 _libavcodec=no
5778 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
5779 if test -d libavcodec && test -f libavcodec/utils.c ; then
5780 _res_comment="old ffmpeg version, use CVS !"
5781 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
5782 # check if libavutil is a required
5783 cat > $TMPC << EOF
5784 #include "libavcodec/avcodec.h"
5785 #if LIBAVCODEC_BUILD >= 3211265
5786 #error We need libavutil!
5787 #endif
5788 int main(void) { return 0; }
5791 if cc_check -I. -I./libavutil; then
5792 _libavutil_required="no"
5793 else
5794 _libavutil_required="yes"
5796 _res_comment="libavutil availability does not fit libavcodec version"
5797 if test "$_libavutil_required" = "$_libavutil"; then
5798 _libavcodec="yes"
5799 _res_comment=""
5804 echores "$_libavcodec"
5806 echocheck "FFmpeg libavformat (static)"
5807 if test "$_libavformat" = auto ; then
5808 # Note: static linking is preferred to dynamic linking
5809 _libavformat=no
5810 if test -d libavformat && test -f libavformat/utils.c ; then
5811 _libavformat=yes
5814 echores "$_libavformat"
5816 _def_haveffpostprocess='no'
5817 if test -d libavcodec && test -f libavcodec/libpostproc/postprocess.h ; then
5818 _def_haveffpostprocess='yes'
5821 if test "$_libavcodec" != yes ; then
5822 echocheck "FFmpeg libavcodec (dynamic)"
5823 if test "$_libavcodecso" = auto ; then
5824 _libavcodecso=no
5825 _res_comment="libavcodec.so is broken/obsolete"
5826 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
5827 cat > $TMPC << EOF
5828 #define FF_POSTPROCESS 1
5829 #include <ffmpeg/avcodec.h>
5830 int main(void) {
5831 avcodec_find_encoder_by_name("");
5832 return 0;
5835 if cc_check -lavcodec $_ld_lm ; then
5836 _libavcodecso=yes
5837 _res_comment="using libavcodec.so, but static libavcodec is recommended"
5840 echores "$_libavcodecso"
5843 _def_libavcodec='#undef USE_LIBAVCODEC'
5844 _def_libavcodecso='#undef USE_LIBAVCODEC_SO'
5845 _def_ffpostprocess='#undef FF_POSTPROCESS'
5846 if test "$_libavcodec" = yes ; then
5847 _def_libavcodec='#define USE_LIBAVCODEC 1'
5848 _ld_libavcodec='libavcodec/libavcodec.a'
5849 _dep_libavcodec='libavcodec/libavcodec.a'
5850 _def_ffpostprocess='#define FF_POSTPROCESS 1'
5851 _codecmodules="libavcodec $_codecmodules"
5852 if test "$_libavutil" = yes; then
5853 _ld_libavutil='libavutil/libavutil.a'
5854 _dep_libavutil='libavutil/libavutil.a'
5856 elif test "$_libavcodecso" = yes ; then
5857 _def_libavcodec='#define USE_LIBAVCODEC 1'
5858 _def_libavcodecso='#define USE_LIBAVCODEC_SO 1'
5859 _ld_libavcodec='-lavcodec'
5860 _codecmodules="libavcodec.so $_codecmodules"
5861 else
5862 _nocodecmodules="libavcodec $_nocodecmodules"
5865 _def_libavformat='#undef USE_LIBAVFORMAT'
5866 _def_libavformat_win32='#undef CONFIG_WIN32'
5867 if test "$_libavformat" = yes ; then
5868 _def_libavformat='#define USE_LIBAVFORMAT 1'
5869 _ld_libavformat='libavformat/libavformat.a'
5870 _dep_libavformat='libavformat/libavformat.a'
5871 if win32 ; then
5872 _def_libavformat_win32='#define CONFIG_WIN32 1'
5876 echocheck "amr narrowband"
5877 if test "$_amr_nb" = auto ; then
5878 _amr_nb=no
5879 if test -f libavcodec/amr_float/sp_dec.c ; then
5880 if test "$_libavcodec" = yes ; then
5881 _amr_nb=yes
5882 else
5883 _res_comment="libavcodec (static) is required by amr_nb, sorry"
5887 if test "$_amr_nb" = yes ; then
5888 _def_amr_nb='#define AMR_NB 1'
5889 else
5890 _def_amr_nb='#undef AMR_NB'
5892 echores "$_amr_nb $_echomsg"
5894 echocheck "amr narrowband, fixed point"
5895 if test "$_amr_nb_fixed" = auto ; then
5896 _amr_nb_fixed=no
5897 if test -f libavcodec/amr/dtx_dec.c ; then
5898 if test "$_libavcodec" = yes ; then
5899 if test "$_amr_nb" = no ; then
5900 _amr_nb_fixed=yes
5901 else
5902 _res_comment="disabled by amr_nb"
5904 else
5905 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
5909 if test "$_amr_nb_fixed" = yes ; then
5910 _def_amr_nb='#define AMR_NB 1'
5911 _def_amr_nb_fixed='#define AMR_NB_FIXED 1'
5912 _amr_nb=yes;
5913 else
5914 _def_amr_nb_fixed='#undef AMR_NB_FIXED'
5916 echores "$_amr_nb_fixed"
5918 if test "$_amr_nb" = yes ; then
5919 _codecmodules="amr_nb $_codecmodules"
5920 else
5921 _nocodecmodules="amr_nb $_nocodecmodules"
5924 echocheck "amr wideband"
5925 if test "$_amr_wb" = auto ; then
5926 _amr_wb=no
5927 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
5928 if test "$_libavcodec" = yes ; then
5929 _amr_wb=yes
5930 else
5931 _res_comment="libavcodec (static) is required by amr_wb, sorry"
5935 if test "$_amr_wb" = yes ; then
5936 _def_amr_wb='#define AMR_WB 1'
5937 _codecmodules="amr_wb $_codecmodules"
5938 else
5939 _def_amr_wb='#undef AMR_WB'
5940 _nocodecmodules="amr_wb $_nocodecmodules"
5942 echores "$_amr_wb"
5944 echocheck "libdv-0.9.5+"
5945 if test "$_libdv" = auto ; then
5946 _libdv=no
5947 cat > $TMPC <<EOF
5948 #include <libdv/dv.h>
5949 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
5951 cc_check -ldv $_ld_lm && _libdv=yes
5953 if test "$_libdv" = yes ; then
5954 _def_libdv='#define HAVE_LIBDV095 1'
5955 _ld_libdv="-ldv"
5956 _codecmodules="libdv $_codecmodules"
5957 else
5958 _def_libdv='#undef HAVE_LIBDV095'
5959 _nocodecmodules="libdv $_nocodecmodules"
5961 echores "$_libdv"
5963 echocheck "zr"
5964 if test "$_zr" = auto ; then
5965 #36067's seem to identify themselves as 36057PQC's, so the line
5966 #below should work for 36067's and 36057's.
5967 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
5968 _zr=yes
5969 else
5970 _zr=no
5973 if test "$_zr" = yes ; then
5974 if test "$_libavcodec" = yes ; then
5975 _def_zr='#define HAVE_ZR 1'
5976 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
5977 _vomodules="zr zr2 $_vomodules"
5978 else
5979 _res_comment="libavcodec (static) is required by zr, sorry"
5980 _novomodules="zr $_novomodules"
5981 _def_zr='#undef HAVE_ZR'
5983 else
5984 _def_zr='#undef HAVE_ZR'
5985 _novomodules="zr zr2 $_novomodules"
5987 echores "$_zr"
5989 echocheck "bl"
5990 if test "$_bl" = yes ; then
5991 _def_bl='#define HAVE_BL 1'
5992 _vosrc="$_vosrc vo_bl.c"
5993 _vomodules="bl $_vomodules"
5994 else
5995 _def_bl='#undef HAVE_BL'
5996 _novomodules="bl $_novomodules"
5998 echores "$_bl"
6000 echocheck "XviD"
6001 cat > $TMPC << EOF
6002 #include <xvid.h>
6003 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6005 _ld_xvid="$_ld_xvid -lxvidcore"
6006 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid $_ld_lm ; then
6007 _xvid=yes
6008 _def_xvid3='#define HAVE_XVID3 1'
6009 _def_xvid4='#undef HAVE_XVID4'
6010 _codecmodules="xvid $_codecmodules"
6011 else
6012 cat > $TMPC << EOF
6013 #include <xvid.h>
6014 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6016 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid $_ld_lm ; then
6017 _xvid=yes
6018 _def_xvid3='#undef HAVE_XVID3'
6019 _def_xvid4='#define HAVE_XVID4 1'
6020 _codecmodules="xvid $_codecmodules"
6021 else
6022 _xvid=no
6023 _ld_xvid=''
6024 _def_xvid3='#undef HAVE_XVID3'
6025 _def_xvid4='#undef HAVE_XVID4'
6026 _nocodecmodules="xvid $_nocodecmodules"
6029 echores "$_xvid"
6031 _xvidcompat=no
6032 _def_decore_xvid='#undef DECORE_XVID'
6033 _def_encore_xvid='#undef ENCORE_XVID'
6034 if test "$_xvid" = yes ; then
6035 echocheck "DivX4 compatibility in XviD"
6036 cat > $TMPC << EOF
6037 #include <divx4.h>
6038 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6040 cc_check $_ld_lm "$_ld_xvid" && _xvidcompat=yes
6041 echores "$_xvidcompat"
6044 echocheck "x264"
6045 cat > $TMPC << EOF
6046 #include <inttypes.h>
6047 #include <x264.h>
6048 #if X264_BUILD < 29
6049 #error We do not support old versions of x264. Get the latest from SVN.
6050 #endif
6051 int main(void) { x264_encoder_open((void*)0); return 0; }
6053 _ld_x264="$_ld_x264 -lx264 $_ld_pthread"
6054 if test "$_x264" != no && \
6055 ( cc_check $_inc_x264 $_ld_x264 $_ld_lm || \
6056 ( test "$_x11" = yes && cc_check $_inc_x264 $_inc_x11 $_ld_x264 $_ld_x11 $_ld_lm )) ; \
6057 then
6058 _x264=yes
6059 _def_x264='#define HAVE_X264 1'
6060 _codecmodules="x264 $_codecmodules"
6061 else
6062 _x264=no
6063 _ld_x264=''
6064 _def_x264='#undef HAVE_X264'
6065 _nocodecmodules="x264 $_nocodecmodules"
6067 echores "$_x264"
6069 echocheck "DivX4linux/DivX5linux/OpenDivX decore"
6070 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
6071 cat > $TMPC << EOF
6072 #include <decore.h>
6073 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
6075 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
6076 _opendivx=no
6077 _ld_decore='-ldivxdecore'
6078 _def_decore='#define NEW_DECORE 1'
6079 _def_divx='#define USE_DIVX'
6080 _def_divx5='#undef DECORE_DIVX5'
6081 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6082 _codecmodules="divx4linux $_codecmodules"
6083 echores "DivX4linux (with libdivxdecore.so)"
6084 else
6085 # if test "$_divx4linux" != no ; then
6086 # DivX5 check
6087 # OdivxPP disabled because of:
6088 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
6089 cat > $TMPC << EOF
6090 #include <decore.h>
6091 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
6093 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
6094 _opendivx=no
6095 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
6096 _ld_decore='-ldivxdecore'
6097 _def_decore='#define NEW_DECORE 1'
6098 _def_divx='#define USE_DIVX'
6099 _def_divx5='#define DECORE_DIVX5 1'
6100 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6101 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6102 _codecmodules="divx5linux $_codecmodules"
6103 _nocodecmodules="divx4linux $_nocodecmodules"
6104 echores "DivX5linux (with libdivxdecore.so)"
6105 elif test "$_opendivx" != no ; then
6106 _opendivx=yes
6107 _ld_decore='opendivx/libdecore.a'
6108 _def_decore='#undef NEW_DECORE'
6109 _def_divx='#define USE_DIVX'
6110 _def_divx5='#undef DECORE_DIVX5'
6111 _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6112 _codecmodules="opendivx $_codecmodules"
6113 _nocodecmodules="divx5linux $_nocodecmodules"
6114 echores "OpenDivX"
6115 elif test "$_xvidcompat" = yes ; then
6116 _opendivx=no
6117 _ld_decore=''
6118 _def_decore='#define NEW_DECORE 1'
6119 _def_divx='#define USE_DIVX 1'
6120 _def_divx5='#undef DECORE_DIVX5'
6121 _def_decore_xvid='#define DECORE_XVID 1'
6122 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6123 _nocodecmodules="opendivx divx5linux divx4linux $_nocodecmodules"
6124 echores "XviD compat."
6125 else
6126 _opendivx=no
6127 _ld_decore=''
6128 _def_decore='#undef NEW_DECORE'
6129 _def_divx='#undef USE_DIVX'
6130 _def_divx5='#undef DECORE_DIVX5'
6131 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6132 _nocodecmodules="opendivx $_nocodecmodules"
6133 echores "no"
6134 fi # DivX5 check
6138 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
6139 if test "$_mencoder" != no ; then
6141 echocheck "libmp3lame (for mencoder)"
6142 _mp3lame=no
6143 cat > $TMPC <<EOF
6144 #include <lame/lame.h>
6145 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; }
6147 # Note: libmp3lame usually depends on vorbis
6148 cc_check -lmp3lame $_ld_vorbis $_ld_lm && "$TMPO" >> "$TMPLOG" 2>&1 && _mp3lame=yes
6149 if test "$_mp3lame" = yes ; then
6150 _def_mp3lame="#define HAVE_MP3LAME `$TMPO`"
6151 _def_cfg_mp3lame="#define CONFIG_MP3LAME `$TMPO`"
6152 _ld_mp3lame="-lmp3lame $_ld_vorbis"
6153 else
6154 _def_mp3lame='#undef HAVE_MP3LAME'
6155 _def_cfg_mp3lame='#undef CONFIG_MP3LAME'
6157 echores "$_mp3lame"
6160 echocheck "DivX4linux encore (for mencoder)"
6161 cat > $TMPC << EOF
6162 #include <encore2.h>
6163 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
6165 if test "$_divx4linux" != no && cc_check -ldivxencore $_ld_lm ; then
6166 _def_encore='#define HAVE_DIVX4ENCORE 1'
6167 _ld_encore='-ldivxencore'
6168 echores "DivX4linux (with libdivxencore.so)"
6169 elif test "$_xvidcompat" = yes ; then
6170 _def_encore='#define HAVE_DIVX4ENCORE 1'
6171 _ld_encore=''
6172 _def_encore_xvid='#define ENCORE_XVID 1'
6173 echores "XviD compat."
6174 else
6175 _def_encore='#undef HAVE_DIVX4ENCORE'
6176 echores "no"
6181 echocheck "mencoder"
6182 _mencoder_flag='#undef HAVE_MENCODER'
6183 if test "$_mencoder" = yes ; then
6184 _mencoder_flag='#define HAVE_MENCODER'
6186 echores "$_mencoder"
6188 echocheck "fastmemcpy"
6189 # fastmemcpy check is done earlier with tests of CPU & binutils features
6190 if test "$_fastmemcpy" = yes ; then
6191 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6192 else
6193 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6195 echores "$_fastmemcpy"
6197 echocheck "UniquE RAR File Library"
6198 if test "$_unrarlib" = yes ; then
6199 _def_unrarlib='#define USE_UNRARLIB 1'
6200 else
6201 _def_unrarlib='#undef USE_UNRARLIB'
6203 echores "$_unrarlib"
6205 echocheck "TV interface"
6206 if test "$_tv" = yes ; then
6207 _def_tv='#define USE_TV 1'
6208 _inputmodules="tv $_inputmodules"
6209 else
6210 _noinputmodules="tv $_noinputmodules"
6211 _def_tv='#undef USE_TV'
6213 echores "$_tv"
6215 echocheck "EDL support"
6216 if test "$_edl" = yes ; then
6217 _def_edl='#define USE_EDL'
6218 _inputmodules="edl $_inputmodules"
6219 else
6220 _noinputmodules="edl $_noinputmodules"
6221 _def_edl='#undef USE_EDL'
6223 echores "$_edl"
6225 echocheck "*BSD BrookTree 848 TV interface"
6226 if test "$_tv_bsdbt848" = auto ; then
6227 _tv_bsdbt848=no
6228 if test "$_tv" = yes ; then
6229 cat > $TMPC <<EOF
6230 #include <sys/types.h>
6231 #if defined(__NetBSD__)
6232 #include <dev/ic/bt8xx.h>
6233 #else
6234 #include <machine/ioctl_bt848.h>
6235 #endif
6236 int main(void) { return 0; }
6238 cc_check && _tv_bsdbt848=yes
6241 if test "$_tv_bsdbt848" = yes ; then
6242 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6243 _inputmodules="tv-bsdbt848 $_inputmodules"
6244 else
6245 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6246 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6248 echores "$_tv_bsdbt848"
6250 echocheck "Video 4 Linux TV interface"
6251 if test "$_tv_v4l" = auto ; then
6252 _tv_v4l=no
6253 if test "$_tv" = yes && linux ; then
6254 cat > $TMPC <<EOF
6255 #include <stdlib.h>
6256 #include <linux/videodev.h>
6257 int main(void) { return 0; }
6259 cc_check && _tv_v4l=yes
6260 break
6263 if test "$_tv_v4l" = yes ; then
6264 _def_tv_v4l='#define HAVE_TV_V4L 1'
6265 _inputmodules="tv-v4l $_inputmodules"
6266 else
6267 _noinputmodules="tv-v4l $_noinputmodules"
6268 _def_tv_v4l='#undef HAVE_TV_V4L'
6270 echores "$_tv_v4l"
6273 echocheck "Video 4 Linux 2 TV interface"
6274 if test "$_tv_v4l2" = auto ; then
6275 _tv_v4l2=no
6276 if test "$_tv" = yes && linux ; then
6277 cat > $TMPC <<EOF
6278 #include <stdlib.h>
6279 #include <linux/types.h>
6280 #include <linux/videodev2.h>
6281 int main(void) { return 0; }
6283 cc_check && _tv_v4l2=yes
6284 break
6287 if test "$_tv_v4l2" = yes ; then
6288 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6289 _inputmodules="tv-v4l2 $_inputmodules"
6290 else
6291 _noinputmodules="tv-v4l2 $_noinputmodules"
6292 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6294 echores "$_tv_v4l2"
6297 echocheck "audio select()"
6298 if test "$_select" = no ; then
6299 _def_select='#undef HAVE_AUDIO_SELECT'
6300 elif test "$_select" = yes ; then
6301 _def_select='#define HAVE_AUDIO_SELECT 1'
6303 echores "$_select"
6306 echocheck "network"
6307 # FIXME network check
6308 if test "$_network" != no ; then
6309 _def_network='#define MPLAYER_NETWORK 1'
6310 _ld_network="$_ld_sock"
6311 _inputmodules="network $_inputmodules"
6312 else
6313 _noinputmodules="network $_noinputmodules"
6314 _def_network='#undef MPLAYER_NETWORK'
6315 _ftp=no
6317 echores "$_network"
6319 echocheck "ftp"
6320 if not beos && test "$_ftp" != no ; then
6321 _def_ftp='#define HAVE_FTP 1'
6322 _inputmodules="ftp $_inputmodules"
6323 else
6324 _noinputmodules="ftp $_noinputmodules"
6325 _def_ftp='#undef HAVE_FTP'
6327 echores "$_ftp"
6329 echocheck "vstream client"
6330 if test "$_vstream" = auto ; then
6331 _vstream=no
6332 cat > $TMPC <<EOF
6333 #include <vstream-client.h>
6334 void vstream_error(const char *format, ... ) {}
6335 int main(void) { vstream_start(); return 0; }
6337 cc_check -lvstream-client && _vstream=yes
6339 if test "$_vstream" = yes ; then
6340 _def_vstream='#define HAVE_VSTREAM 1'
6341 _inputmodules="vstream $_inputmodules"
6342 _ld_vstream='-lvstream-client'
6343 else
6344 _noinputmodules="vstream $_noinputmodules"
6345 _def_vstream='#undef HAVE_VSTREAM'
6347 echores "$_vstream"
6349 # endian testing
6350 echocheck "byte order"
6351 if test "$_big_endian" = auto ; then
6352 cat > $TMPC <<EOF
6353 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6354 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6355 int main(){
6356 char* s = (char*)ascii_name;
6357 return 0;
6360 if cc_check ; then
6361 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6362 _big_endian=yes
6363 else
6364 _big_endian=no
6366 else
6367 echo -n "failed to autodetect byte order, defaulting to "
6370 if test "$_big_endian" = yes ; then
6371 _byte_order='big-endian'
6372 _def_words_endian='#define WORDS_BIGENDIAN 1'
6373 else
6374 _byte_order='little-endian'
6375 _def_words_endian='#undef WORDS_BIGENDIAN'
6377 echores "$_byte_order"
6379 echocheck "OSD menu"
6380 if test "$_menu" = yes ; then
6381 _def_menu='#define HAVE_MENU 1'
6382 else
6383 _def_menu='#undef HAVE_MENU'
6385 echores "$_menu"
6387 # Check to see if they want QTX codecs enabled
6388 echocheck "QTX codecs"
6389 if test "$_qtx" = auto ; then
6390 _qtx=$_win32
6392 if test "$_qtx" = yes ; then
6393 _def_qtx='#define USE_QTX_CODECS 1'
6394 _codecmodules="qtx $_codecmodules"
6395 else
6396 _def_qtx='#undef USE_QTX_CODECS'
6397 _nocodecmodules="qtx $_nocodecmodules"
6399 echores "$_qtx"
6402 echocheck "Subtitles sorting"
6403 if test "$_sortsub" = yes ; then
6404 _def_sortsub='#define USE_SORTSUB 1'
6405 else
6406 _def_sortsub='#undef USE_SORTSUB'
6408 echores "$_sortsub"
6411 echocheck "XMMS inputplugin support"
6412 if test "$_xmms" = yes ; then
6414 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6415 if test -z "$_xmmsplugindir" ; then
6416 _xmmsplugindir=`xmms-config --input-plugin-dir`
6418 if test -z "$_xmmslibdir" ; then
6419 _xmmslibdir=`xmms-config --exec-prefix`/lib
6421 else
6422 if test -z "$_xmmsplugindir" ; then
6423 _xmmsplugindir=/usr/lib/xmms/Input
6425 if test -z "$_xmmslibdir" ; then
6426 _xmmslibdir=/usr/lib
6430 _def_xmms='#define HAVE_XMMS 1'
6431 if darwin ; then
6432 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
6433 else
6434 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6436 else
6437 _def_xmms='#undef HAVE_XMMS'
6439 echores "$_xmms"
6441 echocheck "inet6"
6442 if test "$_inet6" = auto ; then
6443 cat > $TMPC << EOF
6444 #include <sys/types.h>
6445 #include <sys/socket.h>
6446 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6448 _inet6=no
6449 if cc_check ; then
6450 _inet6=yes
6453 if test "$_inet6" = yes ; then
6454 _def_inet6='#define HAVE_AF_INET6 1'
6455 else
6456 _def_inet6='#undef HAVE_AF_INET6'
6458 echores "$_inet6"
6461 echocheck "gethostbyname2"
6462 if test "$_gethostbyname2" = auto ; then
6463 cat > $TMPC << EOF
6464 #include <sys/types.h>
6465 #include <sys/socket.h>
6466 #include <netdb.h>
6467 int main(void) { gethostbyname2("", AF_INET); }
6469 _gethostbyname2=no
6470 if cc_check ; then
6471 _gethostbyname2=yes
6475 if test "$_gethostbyname2" = yes ; then
6476 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
6477 else
6478 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
6480 echores "$_gethostbyname2"
6482 # --------------- GUI specific tests begin -------------------
6483 echocheck "GUI"
6484 echo "$_gui"
6485 if test "$_gui" = yes ; then
6487 # Required libraries
6488 test "$_png" != yes && die "PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6489 test "$_x11" != yes && die "X11 support required for GUI compilation"
6491 echocheck "XShape extension"
6492 _xshape=no
6493 if test "$_x11" = yes ; then
6494 cat > $TMPC << EOF
6495 #include <X11/Xlib.h>
6496 #include <X11/Xproto.h>
6497 #include <X11/Xutil.h>
6498 #include <X11/extensions/shape.h>
6499 #include <stdlib.h>
6500 int main(void) {
6501 char *name = ":0.0";
6502 Display *wsDisplay;
6503 int exitvar = 0;
6504 int eventbase, errorbase;
6505 if (getenv("DISPLAY"))
6506 name=getenv("DISPLAY");
6507 wsDisplay=XOpenDisplay(name);
6508 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6509 exitvar=1;
6510 XCloseDisplay(wsDisplay);
6511 return exitvar;
6514 cc_check $_inc_x11 $_ld_x11 && _xshape=yes
6516 if test "$_xshape" = yes ; then
6517 _def_xshape='#define HAVE_XSHAPE 1'
6518 else
6519 die "The GUI requires the X11 extension XShape (which was not found)."
6521 echores "$_xshape"
6523 #Check for GTK
6524 if test "$_gtk1" = no ; then
6525 #Check for GTK2 :
6526 echocheck "GTK+ version"
6528 if pkg-config gtk+-2.0 --exists ; then
6529 _gtk=`pkg-config gtk+-2.0 --modversion 2>/dev/null`
6530 _inc_gtk=`pkg-config gtk+-2.0 --cflags 2>/dev/null`
6531 _ld_gtk=`pkg-config gtk+-2.0 --libs 2>/dev/null`
6532 echores "$_gtk"
6534 # Check for GLIB2
6535 if pkg-config glib-2.0 --exists ; then
6536 echocheck "glib version"
6537 _glib=`pkg-config glib-2.0 --modversion 2>/dev/null`
6538 _inc_glib=`pkg-config glib-2.0 --cflags 2>/dev/null`
6539 _ld_glib=`pkg-config glib-2.0 --libs 2>/dev/null`
6540 echores "$_glib"
6542 _def_gui='#define HAVE_NEW_GUI 1'
6543 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
6544 _ld_gui='$(GTKLIB) $(GLIBLIB)'
6545 else
6546 _gtk1=yes
6547 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
6549 else
6550 echo "GTK-2 devel packages were not found, trying GTK 1.2"
6551 _gtk1=yes
6555 if test "$_gtk1" = yes ; then
6556 # Check for old GTK (1.2.x)
6557 echocheck "GTK version"
6558 if test -z "$_gtkconfig" ; then
6559 if ( gtk-config --version ) >/dev/null 2>&1 ; then
6560 _gtkconfig="gtk-config"
6561 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
6562 _gtkconfig="gtk12-config"
6563 else
6564 die "The GUI requires GTK devel packages (which were not found)."
6567 _gtk=`$_gtkconfig --version 2>&1`
6568 _inc_gtk=`$_gtkconfig --cflags 2>&1`
6569 _ld_gtk=`$_gtkconfig --libs 2>&1`
6570 echores "$_gtk (using $_gtkconfig)"
6572 # Check for GLIB
6573 echocheck "glib version"
6574 if test -z "$_glibconfig" ; then
6575 if ( glib-config --version ) >/dev/null 2>&1 ; then
6576 _glibconfig="glib-config"
6577 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
6578 _glibconfig="glib12-config"
6579 else
6580 die "The GUI requires GLib devel packages (which were not found)"
6583 _glib=`$_glibconfig --version 2>&1`
6584 _inc_glib=`$_glibconfig --cflags 2>&1`
6585 _ld_glib=`$_glibconfig --libs 2>&1`
6586 echores "$_glib (using $_glibconfig)"
6588 _def_gui='#define HAVE_NEW_GUI 1'
6589 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
6590 _ld_gui='$(GTKLIB) $(GLIBLIB)'
6593 echo "Creating Gui/config.mak"
6594 cat > Gui/config.mak << EOF
6595 # -------- Generated by configure -----------
6597 GTKINC = $_inc_gtk
6598 GTKLIBS = $_ld_gtk
6599 GLIBINC = $_inc_glib
6600 GLIBLIBS = $_ld_glib
6604 else
6605 _def_gui='#undef HAVE_NEW_GUI'
6606 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
6608 # --------------- GUI specific tests end -------------------
6612 #############################################################################
6614 # Checking for CFLAGS
6615 _stripbinaries=yes
6616 if test "$_profile" != "" || test "$_debug" != "" ; then
6617 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6618 if test "$_cc_major" -ge "3" ; then
6619 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6621 _stripbinaries=no
6622 elif test -z "$CFLAGS" ; then
6623 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6624 # always compile with '-g' if .developer:
6625 if test -f ".developer" ; then
6626 CFLAGS="-g $CFLAGS"
6627 if test "$_crash_debug" = auto && not mingw32 ; then
6628 _crash_debug=yes
6630 _stripbinaries=no
6632 else
6633 _warn_CFLAGS=yes
6636 echocheck "automatic gdb attach"
6637 if test "$_crash_debug" = yes ; then
6638 _def_crash_debug='#define CRASH_DEBUG 1'
6639 else
6640 _def_crash_debug='#undef CRASH_DEBUG'
6641 _crash_debug=no
6643 echores "$_crash_debug"
6645 if darwin ; then
6646 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN"
6647 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6648 CFLAGS="$CFLAGS -no-cpp-precomp"
6651 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
6652 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
6654 if hpux ; then
6655 # use flag for HPUX missing setenv()
6656 CFLAGS="$CFLAGS -DHPUX"
6658 # Thread support
6659 if linux ; then
6660 CFLAGS="$CFLAGS -D_REENTRANT"
6661 elif bsd ; then
6662 # FIXME bsd needs this so maybe other OS'es
6663 CFLAGS="$CFLAGS -D_THREAD_SAFE"
6665 # 64 bit file offsets?
6666 if test "$_largefiles" = yes || freebsd ; then
6667 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6668 if test "$_dvdread" = yes ; then
6669 # dvdread support requires this (for off64_t)
6670 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
6674 echocheck "compiler support for -fno-PIC"
6675 if x86; then
6676 cat > $TMPC <<EOF
6677 int main(void) { return 0; }
6679 if cc_check -fno-PIC ; then
6680 CFLAGS="-fno-PIC $CFLAGS"
6681 echores "yes"
6682 else
6683 echores "no"
6685 else
6686 echores "only used for x86"
6689 echocheck "compiler support for noexecstack"
6690 cat > $TMPC <<EOF
6691 int main(void) { return 0; }
6693 if cc_check -Wl,-z,noexecstack ; then
6694 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
6695 echores "yes"
6696 else
6697 echores "no"
6700 echocheck "ftello()"
6701 # if we don't have ftello use the osdep/ compatibility module
6702 cat > $TMPC << EOF
6703 #include <stdio.h>
6704 #include <sys/types.h>
6705 int main (void) { ftello(stdin); return 0; }
6707 _ftello=no
6708 cc_check && _ftello=yes
6709 if test "$_ftello" = yes ; then
6710 _def_ftello='#define HAVE_FTELLO 1'
6711 else
6712 _def_ftello='#undef HAVE_FTELLO'
6714 echores "$_ftello"
6716 # Determine OS dependent libs
6717 if cygwin ; then
6718 _def_confwin32='#define WIN32'
6719 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
6720 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
6721 CFLAGS="$CFLAGS -D__CYGWIN__"
6724 if win32 ; then
6725 _confwin32='TARGET_WIN32 = yes'
6726 else
6727 _confwin32='TARGET_WIN32 = no'
6730 # Dynamic linking flags
6731 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6732 _ld_dl_dynamic=''
6733 bsd && _ld_dl_dynamic='-rdynamic'
6734 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx ; then
6735 _ld_dl_dynamic='-rdynamic'
6738 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6739 bsdos && _ld_arch="$_ld_arch -ldvd"
6740 if netbsd ; then
6741 x86 && _ld_arch="$_ld_arch -li386"
6744 _def_debug='#undef MP_DEBUG'
6745 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
6747 _def_linux='#undef TARGET_LINUX'
6748 linux && _def_linux='#define TARGET_LINUX 1'
6750 # TODO cleanup the VIDIX stuff here
6751 _def_vidix='#define CONFIG_VIDIX 1'
6752 test "$_vidix" = no && _def_vidix='#undef CONFIG_VIDIX'
6753 if test "$_vidix" = yes; then
6754 _vosrc="$_vosrc vo_cvidix.c"
6755 _vomodules="cvidix $_vomodules"
6756 else
6757 _novomodules="cvidix $_novomodules"
6759 if test "$_vidix" = yes && win32; then
6760 _vosrc="$_vosrc vo_winvidix.c"
6761 _vomodules="winvidix $_vomodules"
6762 _ld_win32libs="-lgdi32 $_ld_win32libs"
6763 else
6764 _novomodules="winvidix $_novomodules"
6766 if test "$_vidix" = yes && test "$_x11" = yes; then
6767 _vosrc="$_vosrc vo_xvidix.c"
6768 _vomodules="xvidix $_vomodules"
6769 else
6770 _novomodules="xvidix $_novomodules"
6772 echo Checking for VIDIX ... "$_vidix"
6774 _def_joystick='#undef HAVE_JOYSTICK'
6775 if test "$_joystick" = yes ; then
6776 if linux ; then
6777 # TODO add some check
6778 _def_joystick='#define HAVE_JOYSTICK 1'
6779 else
6780 _joystick="no (unsupported under $system_name)"
6783 echo Checking for joystick ... "$_joystick"
6785 echocheck "lirc"
6786 if test "$_lirc" = auto ; then
6787 _lirc=no
6788 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
6789 cat > $TMPC <<EOF
6790 #include <lirc/lirc_client.h>
6791 int main(void) { return 0; }
6793 cc_check -llirc_client && _lirc=yes
6796 if test "$_lirc" = yes ; then
6797 _def_lirc='#define HAVE_LIRC 1'
6798 _ld_lirc='-llirc_client'
6799 else
6800 _def_lirc='#undef HAVE_LIRC'
6802 echores "$_lirc"
6804 echocheck "lircc"
6805 if test "$_lircc" = auto ; then
6806 _lircc=no
6807 cat > $TMPC <<EOF
6808 #include <lirc/lircc.h>
6809 int main(void) { return 0; }
6811 cc_check -llircc && _lircc=yes
6813 if test "$_lircc" = yes ; then
6814 _def_lircc='#define HAVE_LIRCC 1'
6815 _ld_lircc='-llircc'
6816 else
6817 _def_lircc='#undef HAVE_LIRCC'
6819 echores "$_lircc"
6821 #############################################################################
6822 echo "Creating config.mak"
6823 cat > config.mak << EOF
6824 # -------- Generated by configure -----------
6826 LANG = C
6827 MAN_LANG = $MAN_LANG
6828 TARGET_OS = $system_name
6829 DESTDIR =
6830 prefix = \$(DESTDIR)$_prefix
6831 BINDIR = \$(DESTDIR)$_bindir
6832 DATADIR = \$(DESTDIR)$_datadir
6833 MANDIR = \$(DESTDIR)$_mandir
6834 CONFDIR = \$(DESTDIR)$_confdir
6835 LIBDIR = \$(DESTDIR)$_libdir
6836 # FFmpeg uses libdir instead of LIBDIR
6837 libdir = \$(LIBDIR)
6838 #AR = ar
6839 CC = $_cc
6840 HOST_CC = $_host_cc
6841 AWK = $_awk
6842 RANLIB = $_ranlib
6843 INSTALL = $_install
6844 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
6845 EXTRA_INC = $_inc_extra
6846 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC)
6847 STRIPBINARIES = $_stripbinaries
6848 CHARSET = $_charset
6849 HELP_FILE = $_mp_help
6851 PRG = $_prg
6852 PRG_MENCODER = $_prg_mencoder
6854 $_live_libs_def
6856 MPLAYER_NETWORK = $_network
6857 STREAMING_LIVE555 = $_live
6858 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
6859 DVBIN = $_dvbin
6860 VIDIX = $_vidix
6861 CONFIG_PP = yes
6862 CONFIG_MP3LAME = $_mp3lame
6863 LIBMENU = $_menu
6864 I18NLIBS = $_i18n_libs
6865 MATROSKA = $_matroska_internal
6867 OPENDIVX = $_opendivx
6869 MP3LIB = $_mp3lib
6870 LIBA52 = $_liba52
6871 LIBMPEG2 = $_libmpeg2
6872 TREMOR = $_tremor_internal
6873 TREMOR_FLAGS = $_tremor_flags
6875 MUSEPACK = $_musepack
6877 UNRARLIB = $_unrarlib
6878 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
6879 PNG = $_mkf_png
6880 JPEG = $_mkf_jpg
6881 GIF = $_mkf_gif
6883 EXTRA_LIB = $_ld_extra
6884 Z_LIB = $_ld_static $_ld_zlib
6885 HAVE_MLIB = $_mlib
6886 WIN32_LIB = $_ld_win32libs
6887 STATIC_LIB = $_ld_static
6888 ENCA_LIB = $_ld_enca
6889 HAVE_PTHREADS = $_pthreads
6890 MATH_LIB = $_ld_lm
6892 X11_INC = $_inc_x11
6893 X11DIR = $_ld_x11
6895 HAVE_XVMC_ACCEL = $_xvmc
6897 # for libavcodec:
6898 SRC_PATH=..
6899 LIBPREF=lib
6900 LIBSUF=.a
6901 SLIBPREF=lib
6902 SLIBSUF=.so
6904 # video output
6905 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
6906 GGI_LIB = $_ld_ggi
6907 MLIB_LIB = $_ld_mlib
6908 MLIB_INC = $_inc_mlib
6909 DXR2_INC = $_inc_dxr2
6910 DVB_INC = $_inc_dvb
6911 PNG_LIB = $_ld_png
6912 JPEG_LIB = $_ld_jpg
6913 GIF_LIB = $_ld_gif
6914 SDL_LIB = $_ld_sdl
6915 SVGA_LIB = $_ld_svga
6916 VESA_LIB = $_ld_vesa
6917 AA_LIB = $_ld_aa
6918 CACA_INC = $_inc_caca
6919 CACA_LIB = $_ld_caca
6921 # audio output
6922 ALSA_LIB = $_ld_alsa
6923 NAS_LIB = $_ld_nas
6924 ARTS_LIB = $_ld_arts
6925 ARTS_INC = $_inc_arts
6926 ESD_LIB = $_ld_esd
6927 ESD_INC = $_inc_esd
6928 POLYP_LIB = $_ld_polyp
6929 POLYP_INC = $_inc_polyp
6930 JACK_LIB = $_ld_jack
6931 JACK_INC = $_inc_jack
6932 SGIAUDIO_LIB = $_ld_sgiaudio
6934 # input/demuxer/codecs
6935 TERMCAP_LIB = $_ld_termcap
6936 LIRC_LIB = $_ld_lirc
6937 LIRCC_LIB = $_ld_lircc
6938 DVDREAD_LIB = $_ld_dvdread
6939 DVDKIT = $_dvdkit
6940 DVDKIT2 = $_dvdkit2
6941 DVDKIT_SHARED = no
6942 SDL_INC = $_inc_sdl
6943 W32_DEP = $_dep_win32
6944 W32_LIB = $_ld_win32
6945 DS_DEP = $_dep_dshow
6946 DS_LIB = $_ld_dshow
6947 AV_DEP = $_dep_libavutil $_dep_libavcodec $_dep_libavformat
6948 AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil
6949 CONFIG_LIBAVUTIL = $_libavutil
6950 CONFIG_LIBAVCODEC = $_libavcodec
6951 CONFIG_LIBAVCODECSO = $_libavcodecso
6952 CONFIG_LIBAVFORMAT = $_libavformat
6953 ZORAN = $_zr
6954 FAME = $_fame
6955 FAME_LIB = $_ld_fame
6956 MP1E_DEP = $_dep_mp1e
6957 MP1E_LIB = $_ld_mp1e
6958 ARCH_LIB = $_ld_arch $_ld_iconv
6959 XVID = $_xvid
6960 XVID_INC = $_inc_xvid
6961 XVID_LIB = $_ld_xvid
6962 X264 = $_x264
6963 X264_INC = $_inc_x264
6964 X264_LIB = $_ld_x264
6965 CONFIG_DTS = $_libdts
6966 DTS_INC = $_inc_libdts
6967 DTS_LIB = $_ld_libdts
6968 DECORE_LIB = $_ld_decore $_ld_mp3lame
6969 MENCODER = $_mencoder
6970 ENCORE_LIB = $_ld_encore $_ld_mp3lame
6971 DIRECTFB_INC = $_inc_directfb
6972 DIRECTFB_LIB = $_ld_directfb
6973 CDPARANOIA_INC = $_inc_cdparanoia
6974 CDPARANOIA_LIB = $_ld_cdparanoia
6975 FREETYPE_INC = $_inc_freetype
6976 FREETYPE_LIB = $_ld_freetype
6977 FONTCONFIG_INC = $_inc_fontconfig
6978 FONTCONFIG_LIB = $_ld_fontconfig
6979 FRIBIDI_INC = $_inc_fribidi
6980 FRIBIDI_LIB = $_ld_fribidi
6981 LIBLZO_LIB= $_ld_liblzo
6982 MAD_LIB = $_ld_mad
6983 VORBIS_LIB = $_ld_vorbis $_ld_libdv
6984 THEORA_LIB = $_ld_theora
6985 FAAD_LIB = $_ld_faad
6986 INTERNAL_FAAD = $_faad_internal
6987 SMBSUPPORT_LIB = $_ld_smb
6988 XMMS_PLUGINS = $_xmms
6989 XMMS_LIB = $_xmms_lib
6990 MACOSX = $_macosx
6991 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
6992 MACOSX_BUNDLE = $_macosx_bundle
6993 MACOSX_FRAMEWORKS = $_macosx_frameworks
6994 MACOSX_COREVIDEO = $_macosx_corevideo
6995 TOOLAME=$_toolame
6996 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
6997 TOOLAME_LIB=$_toolame_lib
6998 TWOLAME=$_twolame
6999 TWOLAME_LIB=$_twolame_lib
7000 MUSEPACK_LIB = $_ld_musepack
7001 FAAC=$_faac
7002 FAAC_LIB=$_ld_faac
7003 AMR_NB=$_amr_nb
7004 AMR_NB_FIXED=$_amr_nb_fixed
7005 AMR_WB=$_amr_wb
7006 `echo $_libavcodecs | tr 'a-z ' 'A-Z\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7007 CONFIG_GPL=yes
7009 # --- Some stuff for autoconfigure ----
7010 $_target_arch
7011 $_confwin32
7012 TARGET_CPU=$iproc
7013 TARGET_MMX = $_mmx
7014 TARGET_MMX2 = $_mmx2
7015 TARGET_3DNOW = $_3dnow
7016 TARGET_3DNOWEX = $_3dnowex
7017 TARGET_SSE = $_sse
7018 TARGET_ALTIVEC = $_altivec
7019 TARGET_VIS = $_vis
7021 # --- GUI stuff ---
7022 GTKINC = $_inc_gtk
7023 GTKLIB = $_ld_static $_ld_gtk
7024 GLIBLIB = $_ld_static $_ld_glib
7025 GTK_LIBS = $_ld_static $_ld_gui
7026 GUI = $_gui
7027 DEBUG = -DDEBUG
7031 #############################################################################
7032 echo "Creating config.h"
7033 cat > config.h << EOF
7034 /* -------- This file has been automatically generated by configure ---------
7035 Note: Any changes in it will be lost when you run configure again. */
7037 /* Protect against multiple inclusion */
7038 #ifndef MPLAYER_CONFIG_H
7039 #define MPLAYER_CONFIG_H 1
7041 /* use GNU internationalization */
7042 $_def_i18n
7044 /* Runtime CPU detection */
7045 $_def_runtime_cpudetection
7047 /* Dynamic a/v plugins */
7048 $_def_dynamic_plugins
7050 /* "restrict" keyword */
7051 $_def_restrict_keyword
7053 /* __builtin_expect branch prediction hint */
7054 $_def_builtin_expect
7055 #ifdef HAVE_BUILTIN_EXPECT
7056 #define likely(x) __builtin_expect ((x) != 0, 1)
7057 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7058 #else
7059 #define likely(x) (x)
7060 #define unlikely(x) (x)
7061 #endif
7063 /* attribute(used) as needed by some compilers */
7064 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7065 # define attribute_used __attribute__((used))
7066 #else
7067 # define attribute_used
7068 #endif
7070 #define PREFIX "$_prefix"
7072 #define USE_OSD 1
7073 #define USE_SUB 1
7075 /* enable/disable SIGHANDLER */
7076 $_def_sighandler
7078 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7079 $_def_crash_debug
7081 /* Toggles debugging informations */
7082 $_def_debug
7084 /* Toggles colorized output */
7085 //#define MSG_USE_COLORS 1
7087 /* Indicates that Ogle's libdvdread is available for DVD playback */
7088 $_def_dvdread
7090 /* Indicates that dvdread is from libmpdvdkit */
7091 $_def_mpdvdkit
7093 /* Additional options for libmpdvdkit*/
7094 $_def_dvd
7095 $_def_cdrom
7096 $_def_cdio
7097 $_def_dvdio
7098 $_def_bsdi_dvd
7099 $_def_dvd_bsd
7100 $_def_dvd_linux
7101 $_dev_dvd_openbsd
7102 $_def_dvd_darwin
7103 $_def_sol_scsi_h
7104 $_def_hpux_scsi_h
7105 $_def_stddef
7107 /* Common data directory (for fonts, etc) */
7108 #define MPLAYER_DATADIR "$_datadir"
7109 #define MPLAYER_CONFDIR "$_confdir"
7110 #define MPLAYER_LIBDIR "$_libdir"
7112 /* Define this to compile stream-caching support, it can be enabled via
7113 -cache <kilobytes> */
7114 #define USE_STREAM_CACHE 1
7116 /* Define to include support for XviD/Divx4Linux/OpenDivx */
7117 $_def_divx
7119 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
7120 /* You have to change DECORE_LIBS in config.mak, too! */
7121 $_def_decore
7123 /* Define if you are using DivX5Linux Decore library */
7124 $_def_divx5
7126 /* Define if you are using XviD library */
7127 $_def_xvid3
7128 $_def_xvid4
7129 $_def_decore_xvid
7130 $_def_encore_xvid
7132 /* Define if you are using the X.264 library */
7133 $_def_x264
7135 /* Define to include support for libdv-0.9.5 */
7136 $_def_libdv
7138 /* If build mencoder */
7139 $_mencoder_flag
7141 /* Indicates if XviD/Divx4linux encore is available
7142 Note: for mencoder */
7143 $_def_encore
7145 /* Indicates if libmp3lame is available
7146 Note: for mencoder */
7147 $_def_mp3lame
7148 $_def_cfg_mp3lame
7150 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
7151 $_def_mp1e
7153 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7154 (use -bps or -nobps commandline option for run-time method selection)
7155 -bps gives better sync for vbr mp3 audio, it is now default */
7156 #define AVI_SYNC_BPS 1
7158 /* Undefine this if you do not want to select mono audio (left or right)
7159 with a stereo MPEG layer 2/3 audio stream. The command line option
7160 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7161 right-only), with 0 being the default.
7163 #define USE_FAKE_MONO 1
7165 /* Undefine this if your sound card driver has no working select().
7166 If you have kernel Oops, player hangups, or just no audio, you should
7167 try to recompile MPlayer with this option disabled! */
7168 $_def_select
7170 /* define this to use iconv(3) function to codepage conversions */
7171 $_def_iconv
7173 /* define this to use nl_langinfo function */
7174 $_def_langinfo
7176 /* define this to use RTC (/dev/rtc) for video timers */
7177 $_def_rtc
7179 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7180 #define MAX_OUTBURST 65536
7182 /* set up audio OUTBURST. Do not change this! */
7183 #define OUTBURST 512
7185 /* Define this if your system has the header file for the OSS sound interface */
7186 $_def_sys_soundcard
7188 /* Define this if your system has the header file for the OSS sound interface
7189 * in /usr/include */
7190 $_def_soundcard
7192 /* Define this if your system has the sysinfo header */
7193 $_def_sys_sysinfo
7195 /* Define this if your system has ftello() */
7197 $_def_ftello
7198 #ifndef HAVE_FTELLO
7199 /* Need these for FILE and off_t an config.h is usually before other includes*/
7200 #include <stdio.h>
7201 #include <sys/types.h>
7202 off_t ftello(FILE *);
7203 #endif
7205 /* Define this if your system has the "malloc.h" header file */
7206 $_def_malloc
7208 /* memalign is mapped to malloc if unsupported */
7209 $_def_memalign
7210 #ifndef HAVE_MEMALIGN
7211 # define memalign(a,b) malloc(b)
7212 #define MEMALIGN_HACK 1
7213 #endif
7215 /* Define this if your system has the "alloca.h" header file */
7216 $_def_alloca
7218 /* Define this if your system has the "sys/mman.h" header file */
7219 $_def_mman
7220 $_def_mman_has_map_failed
7222 /* Define this if you have the elf dynamic linker -ldl library */
7223 $_def_dl
7225 /* Define this if you have the kstat kernel statistics library */
7226 $_def_kstat
7228 /* Define this if you have zlib */
7229 $_def_zlib
7230 #ifdef HAVE_ZLIB
7231 #define CONFIG_ZLIB 1
7232 #endif
7234 /* Define this if you have shm support */
7235 $_def_shm
7237 /* Define this if your system has scandir & alphasort */
7238 $_def_scandir
7240 /* Define this if your system has strsep */
7241 $_def_strsep
7243 /* Define this if your system has strlcpy */
7244 $_def_strlcpy
7245 #ifndef HAVE_STRLCPY
7246 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7247 #endif
7249 /* Define this if your system has strlcat */
7250 $_def_strlcat
7251 #ifndef HAVE_STRLCAT
7252 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7253 #endif
7255 /* Define this if your system has fseeko */
7256 $_def_fseeko
7257 #ifndef HAVE_FSEEKO
7258 /* Need these for FILE and off_t an config.h is usually before other includes*/
7259 #include <stdio.h>
7260 #include <sys/types.h>
7261 int fseeko(FILE *, off_t, int);
7262 #endif
7264 $_def_localtime_r
7266 /* Define this if your system has vsscanf */
7267 $_def_vsscanf
7269 /* Define this if your system has swab */
7270 $_def_swab
7272 /* Define this if your system has no posix select */
7273 $_def_no_posix_select
7275 /* Define this if your system has gettimeofday */
7276 $_def_gettimeofday
7278 /* Define this if your system has glob */
7279 $_def_glob
7281 /* Define this if your system has pthreads */
7282 $_def_pthreads
7284 /* Define this if you enabled thread support for libavcodec */
7285 $_def_threads
7287 /* LIRC (remote control, see www.lirc.org) support: */
7288 $_def_lirc
7291 * LIRCCD (LIRC client daemon)
7292 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7294 $_def_lircc
7296 /* DVD navigation support using libdvdnav */
7297 $_def_dvdnav
7298 $_def_dvdnav_version
7300 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7301 #define MPEG12_POSTPROC 1
7303 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7304 $_def_ffpostprocess
7306 /* Define to include support for OpenDivx postprocessing */
7307 $_def_odivx_postprocess
7309 /* Win32 DLL support */
7310 $_def_win32
7311 #define WIN32_PATH "$_win32libdir"
7313 /* DirectShow support */
7314 $_def_dshow
7316 /* Mac OS X specific features */
7317 $_def_macosx
7318 $_def_macosx_finder_support
7319 $_def_macosx_bundle
7320 $_def_macosx_corevideo
7322 /* Build our Win32-loader */
7323 $_def_win32_loader
7325 /* ffmpeg's libavcodec support (requires libavcodec source) */
7326 $_def_libavcodec
7327 $_def_libavcodecso
7329 /* ffmpeg's libavformat support (requires libavformat source) */
7330 $_def_libavformat
7331 $_def_libavformat_win32
7333 /* Use libavcodec's decoders */
7334 #define CONFIG_DECODERS 1
7335 /* Use libavcodec's encoders */
7336 #define CONFIG_ENCODERS 1
7338 /* Use libavformat's demuxers */
7339 #define CONFIG_DEMUXERS 1
7340 /* Use libavformat's muxers */
7341 #define CONFIG_MUXERS 1
7343 #define CONFIG_MPEGAUDIO_HP 1
7345 #define CONFIG_GPL 1
7347 /* Use amr codecs from libavcodec (requires amr sources) */
7348 $_def_amr_nb
7349 $_def_amr_nb_fixed
7350 $_def_amr_wb
7352 /* Use specific codecs from libavcodec */
7353 `echo $_libavcodecs | tr 'a-z ' 'A-Z\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7355 /* Use codec libs included in mplayer CVS / source dist: */
7356 $_def_mp3lib
7357 $_def_liba52
7358 $_def_libdts
7359 $_def_libmpeg2
7361 /* Use libfame encoder filter */
7362 $_def_fame
7364 /* XAnim DLL support */
7365 $_def_xanim
7366 /* Default search path */
7367 $_def_xanim_path
7369 /* RealPlayer DLL support */
7370 $_def_real
7371 /* Default search path */
7372 $_def_real_path
7374 /* LIVE555 Streaming Media library support */
7375 $_def_live
7377 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7378 $_def_fastmemcpy
7380 /* Use unrarlib for Vobsubs */
7381 $_def_unrarlib
7383 /* gui support, please do not edit this option */
7384 $_def_gui
7385 $_def_gtk2_gui
7387 /* Audio output drivers */
7388 $_def_ossaudio
7389 $_def_ossaudio_devdsp
7390 $_def_ossaudio_devmixer
7391 $_def_alsa5
7392 $_def_alsa9
7393 $_def_alsa1x
7394 $_def_arts
7395 $_def_esd
7396 $_def_esd_latency
7397 $_def_polyp
7398 $_def_jack
7399 $_def_sys_asoundlib_h
7400 $_def_alsa_asoundlib_h
7401 $_def_sunaudio
7402 $_def_sgiaudio
7403 $_def_win32waveout
7404 $_def_nas
7406 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7407 #undef FAST_OSD
7408 #undef FAST_OSD_TABLE
7410 /* Enable TV Interface support */
7411 $_def_tv
7413 /* Enable EDL support */
7414 $_def_edl
7416 /* Enable Video 4 Linux TV interface support */
7417 $_def_tv_v4l
7419 /* Enable Video 4 Linux 2 TV interface support */
7420 $_def_tv_v4l2
7422 /* Enable *BSD BrookTree TV interface support */
7423 $_def_tv_bsdbt848
7425 /* Define if your processor stores words with the most significant
7426 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7427 $_def_words_endian
7429 $_def_arch
7431 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
7432 have the instruction. */
7433 $_def_dcbzl
7435 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7436 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7438 #ifdef ARCH_POWERPC
7439 #define ARCH_PPC 1
7440 #endif
7442 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7443 #ifdef ARCH_ARMV4L
7444 #define ARCH_ARM 1
7445 #endif
7447 /* only gcc3 can compile mvi instructions */
7448 $_def_gcc_mvi_support
7450 /* Define this for Cygwin build for win32 */
7451 $_def_confwin32
7453 /* Define this to any prefered value from 386 up to infinity with step 100 */
7454 #define __CPU__ $iproc
7456 $_mp_wordsize
7458 $_def_linux
7460 $_def_vcd
7462 #ifdef sun
7463 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7464 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7465 #elif defined(HPUX)
7466 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7467 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7468 #elif defined(WIN32)
7469 #define DEFAULT_CDROM_DEVICE "D:"
7470 #define DEFAULT_DVD_DEVICE "D:"
7471 #elif defined(SYS_DARWIN)
7472 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7473 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7474 #elif defined(__OpenBSD__)
7475 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7476 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7477 #elif defined(__FreeBSD__)
7478 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
7479 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7480 #else
7481 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7482 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7483 #endif
7486 /*----------------------------------------------------------------------------
7488 ** NOTE: Instead of modifying these definitions here, use the
7489 ** --enable/--disable options of the ./configure script!
7490 ** See ./configure --help for details.
7492 *---------------------------------------------------------------------------*/
7494 /* C99 lrintf function available */
7495 $_def_lrintf
7497 /* round function is available */
7498 $_def_round
7500 /* yes, we have inttypes.h */
7501 #define HAVE_INTTYPES_H 1
7503 /* int_fastXY_t emulation */
7504 $_def_fast_inttypes
7506 /* nanosleep support */
7507 $_def_nanosleep
7509 /* SMB support */
7510 $_def_smbsupport
7512 /* termcap flag for getch2.c */
7513 $_def_termcap
7515 /* termios flag for getch2.c */
7516 $_def_termios
7517 $_def_termios_h
7518 $_def_termios_sys_h
7520 /* enable PNG support */
7521 $_def_png
7523 /* enable JPEG support */
7524 $_def_jpg
7526 /* enable PNM support */
7527 $_def_pnm
7529 /* enable md5sum support */
7530 $_def_md5sum
7532 /* enable GIF support */
7533 $_def_gif
7534 $_def_gif_4
7535 $_def_gif_tvt_hack
7537 /* enable FreeType support */
7538 $_def_freetype
7540 /* enable Fontconfig support */
7541 $_def_fontconfig
7543 /* enable FriBiDi usage */
7544 $_def_fribidi
7546 /* enable ENCA usage */
7547 $_def_enca
7549 /* liblzo support */
7550 $_def_liblzo
7552 /* libmad support */
7553 $_def_mad
7555 /* enable OggVorbis support */
7556 $_def_vorbis
7558 /* enable Tremor as vorbis decoder */
7559 $_def_tremor
7561 /* enable musepack support */
7562 $_def_musepack
7564 /* enable OggTheora support */
7565 $_def_theora
7567 /* enable Matroska support */
7568 $_def_matroska
7570 /* enable FAAD (AAC) support */
7571 $_def_faad
7572 $_def_faad_internal
7574 /* enable FAAC (AAC encoder) support */
7575 $_def_faac
7577 /* enable LADSPA plugin support */
7578 $_def_ladspa
7580 /* enable network */
7581 $_def_network
7583 /* enable ftp support */
7584 $_def_ftp
7586 /* enable vstream support */
7587 $_def_vstream
7589 /* enable winsock2 instead of Unix functions*/
7590 $_def_winsock2
7592 /* define this to use inet_aton() instead of inet_pton() */
7593 $_def_use_aton
7595 /* enables / disables cdparanoia support */
7596 $_def_cdparanoia
7598 /* enables / disables VIDIX usage */
7599 $_def_vidix
7601 /* enables / disables new input joystick support */
7602 $_def_joystick
7604 /* enables / disables QTX codecs */
7605 $_def_qtx
7607 /* enables / disables osd menu */
7608 $_def_menu
7610 /* enables / disables subtitles sorting */
7611 $_def_sortsub
7613 /* XMMS input plugin support */
7614 $_def_xmms
7615 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7617 /* enables inet6 support */
7618 $_def_inet6
7620 /* do we have gethostbyname2? */
7621 $_def_gethostbyname2
7623 /* Extension defines */
7624 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
7625 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
7626 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
7627 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
7628 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
7629 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
7630 $_def_altivec // only define if you have Altivec (G4)
7632 $_def_altivec_h // enables usage of altivec.h
7635 $_def_mlib // Sun mediaLib, available only on solaris
7636 $_def_vis // only define if you have VIS ( ultrasparc )
7638 /* libmpeg2 uses a different feature test macro for mediaLib */
7639 #ifdef HAVE_MLIB
7640 #define LIBMPEG2_MLIB 1
7641 #endif
7643 /* libvo options */
7644 #define SCREEN_SIZE_X 1
7645 #define SCREEN_SIZE_Y 1
7646 $_def_x11
7647 $_def_xv
7648 $_def_xvmc
7649 $_def_vm
7650 $_def_xf86keysym
7651 $_def_xinerama
7652 $_def_gl
7653 $_def_gl_win32
7654 $_def_dga
7655 $_def_dga2
7656 $_def_sdl
7657 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
7658 $_def_sdlbuggy
7659 $_def_directx
7660 $_def_ggi
7661 $_def_ggiwmh
7662 $_def_3dfx
7663 $_def_tdfxfb
7664 $_def_tdfxvid
7665 $_def_directfb
7666 $_def_directfb_version
7667 $_def_zr
7668 $_def_bl
7669 $_def_mga
7670 $_def_xmga
7671 $_def_syncfb
7672 $_def_fbdev
7673 $_def_dxr2
7674 $_def_dxr3
7675 $_def_dvb
7676 $_def_dvb_in
7677 $_def_svga
7678 $_def_vesa
7679 $_def_xdpms
7680 $_def_aa
7681 $_def_caca
7682 $_def_tga
7683 $_def_toolame
7684 $_def_twolame
7686 /* used by GUI: */
7687 $_def_xshape
7689 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
7690 #define X11_FULLSCREEN 1
7691 #endif
7693 #endif /* MPLAYER_CONFIG_H */
7696 #############################################################################
7698 echo "Creating libvo/config.mak"
7699 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g;s/\.m/\.o/g'`
7700 cat > libvo/config.mak << EOF
7701 include ../config.mak
7702 OPTIONAL_SRCS = $_vosrc
7703 OPTIONAL_OBJS = $_voobj
7706 #############################################################################
7708 echo "Creating libao2/config.mak"
7709 _aoobj=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
7710 cat > libao2/config.mak << EOF
7711 include ../config.mak
7712 OPTIONAL_SRCS = $_aosrc
7713 OPTIONAL_OBJS = $_aoobj
7716 #############################################################################
7718 echo "Creating libaf/config.mak"
7719 _afobj=`echo $_afsrc | sed -e 's/\.c/\.o/g'`
7720 cat > libaf/config.mak << EOF
7721 include ../config.mak
7722 OPTIONAL_SRCS = $_afsrc
7723 OPTIONAL_OBJS = $_afobj
7726 #############################################################################
7728 cat << EOF
7730 Config files successfully generated by ./configure !
7732 Install prefix: $_prefix
7733 Data directory: $_datadir
7734 Config direct.: $_confdir
7736 Byte order: $_byte_order
7737 Optimizing for: $_optimizing
7739 Languages:
7740 Messages/GUI: $_language
7743 echo -n " Manual pages: $MAN_LANG"
7744 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
7745 echo
7747 cat << EOF
7749 Enabled optional drivers:
7750 Input: $_inputmodules
7751 Codecs: $_codecmodules
7752 Audio output: $_aomodules
7753 Video output: $_vomodules
7754 Audio filters: $_afmodules
7755 Disabled optional drivers:
7756 Input: $_noinputmodules
7757 Codecs: $_nocodecmodules
7758 Audio output: $_noaomodules
7759 Video output: $_novomodules
7760 Audio filters: $_noafmodules
7762 'config.h' and 'config.mak' contain your configuration options.
7763 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7764 compile *** DO NOT REPORT BUGS if you tweak these files ***
7766 'make' will now compile MPlayer and 'make install' will install it.
7767 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7772 if test "$_mtrr" = yes ; then
7773 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
7774 echo
7777 if test "$_sdl" = "outdated" ; then
7778 cat <<EOF
7779 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
7780 support has therefore been disabled.
7782 Please upgrade to a more recent version (version 1.1.8 and above are known to
7783 work). You may get this library from: http://www.libsdl.org
7785 You need to rerun ./configure and recompile after updating SDL. If you are
7786 only interested in the libSDL audio drivers, then an older version might work.
7788 Use --enable-sdl to force usage of libSDL.
7793 if x86; then
7794 if test "$_win32" = no ; then
7795 if test "$_win32libdir" ; then
7796 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
7797 else
7798 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
7800 cat << EOF
7801 Create it and copy the DLL files there! You can download the codecs from our
7802 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
7806 else
7807 cat <<EOF
7808 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
7809 operating system ($system_name). You may encounter a few files that cannot
7810 be played due to missing open source video/audio codec support.
7816 cat <<EOF
7818 Check $TMPLOG if you wonder why an autodetection failed (check whether
7819 the development headers/packages are installed).
7820 Do not report compilation errors if you used any of the --enable-* options
7821 (except --enable-gui and maybe --enable-debug).
7823 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
7827 if test "$_vidix" = no ; then
7828 cat <<EOF
7829 You've disabled VIDIX. Although it would be better to PORT it instead.
7830 Have a look at the documentation for supported cards!
7835 if test "$_warn_CFLAGS" = yes; then
7836 cat <<EOF
7838 MPlayer compilation will use the CFLAGS set by you, but:
7840 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
7842 It is strongly recommended to let MPlayer choose the correct CFLAGS!
7843 To do so, execute 'CFLAGS= ./configure <options>'
7848 # Last move:
7849 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"