10l initial patch by Oded Shimon <ods15 at ods15.dyndns.org>
[mplayer/greg.git] / configure
blobd5ac8632aa2a816d8d49e4091957776e7093c4c7
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
24 #############################################################################
26 # Prefer these macros to full length text !
27 # These macros only return an error code - NO display is done
28 cc_check() {
29 echo >> "$TMPLOG"
30 cat "$TMPC" >> "$TMPLOG"
31 echo >> "$TMPLOG"
32 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $TMPC -o $TMPO $@" >> "$TMPLOG"
33 rm -f "$TMPO"
34 ( $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra "$TMPC" -o "$TMPO" "$@" ) >> "$TMPLOG" 2>&1
35 TMP="$?"
36 echo >> "$TMPLOG"
37 echo "ldd $TMPO" >> "$TMPLOG"
38 ( $_ldd "$TMPO" ) >> "$TMPLOG" 2>&1
39 echo >> "$TMPLOG"
40 return "$TMP"
43 # Display error message, flushes tempfile, exit
44 die () {
45 echo
46 echo "Error: $@" >&2
47 echo >&2
48 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
49 echo "Check \"$TMPLOG\" if you do not understand why it failed."
50 exit 1
53 # OS test booleans functions
54 issystem() {
55 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
57 linux() { issystem "Linux" ; return "$?" ; }
58 sunos() { issystem "SunOS" ; return "$?" ; }
59 hpux() { issystem "HP-UX" ; return "$?" ; }
60 irix() { issystem "IRIX" ; return "$?" ; }
61 cygwin() { issystem "CYGWIN" ; return "$?" ; }
62 freebsd() { issystem "FreeBSD" ; return "$?" ; }
63 netbsd() { issystem "NetBSD" ; return "$?" ; }
64 bsdos() { issystem "BSD/OS" ; return "$?" ; }
65 openbsd() { issystem "OpenBSD" ; return "$?" ; }
66 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
67 qnx() { issystem "QNX" ; return "$?" ; }
68 darwin() { issystem "Darwin" ; return "$?" ; }
69 gnu() { issystem "GNU" ; return "$?" ; }
70 mingw32() { issystem "MINGW32" ; return "$?" ; }
71 morphos() { issystem "MorphOS" ; return "$?" ; }
72 win32() { cygwin || mingw32 ; return "$?" ; }
73 beos() { issystem "BEOS" ; return "$?" ; }
75 # arch test boolean functions
76 # x86/x86pc is used by QNX
77 x86() {
78 case "$host_arch" in
79 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
80 *) return 1 ;;
81 esac
84 ppc() {
85 case "$host_arch" in
86 ppc) return 0;;
87 *) return 1;;
88 esac
91 alpha() {
92 case "$host_arch" in
93 alpha) return 0;;
94 *) return 1;;
95 esac
98 # not boolean test: implement the posix shell "!" operator for a
99 # non-posix /bin/sh.
100 # usage: not {command}
101 # returns exit status "success" when the execution of "command"
102 # fails.
103 not() {
104 eval "$@"
105 test $? -ne 0
108 # Use this before starting a check
109 echocheck() {
110 echo "============ Checking for $@ ============" >> "$TMPLOG"
111 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
114 # Use this to echo the results of a check
115 echores() {
116 echo "Result is: $@" >> "$TMPLOG"
117 echo "##########################################" >> "$TMPLOG"
118 echo "" >> "$TMPLOG"
119 echo "$@"
121 #############################################################################
123 # Check how echo works in this /bin/sh
124 case `echo -n` in
125 -n) _echo_n= _echo_c='\c' ;; # SysV echo
126 *) _echo_n='-n ' _echo_c= ;; # BSD echo
127 esac
129 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"`
131 for parm in "$@" ; do
132 if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
133 cat << EOF
135 Usage: $0 [OPTIONS]...
137 Configuration:
138 -h, --help display this help and exit
140 Installation directories:
141 --prefix=DIR use this prefix for installing mplayer [/usr/local]
142 --bindir=DIR use this prefix for installing mplayer binary
143 [PREFIX/bin]
144 --datadir=DIR use this prefix for installing machine independent
145 data files (fonts, skins) [PREFIX/share/mplayer]
146 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
147 --confdir=DIR use this prefix for installing configuration files
148 [PREFIX/etc/mplayer]
149 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
151 Optional features:
152 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
153 --enable-gui enable gmplayer compilation (GTK 1.2 GUI) [disable]
154 --enable-largefiles enable support for files > 2 GBytes [disable]
155 --enable-linux-devfs set default devices to devfs ones [disable]
156 --enable-termcap use termcap database for key codes [autodetect]
157 --enable-termios use termios database for key codes [autodetect]
158 --disable-iconv do not use iconv(3) function [autodetect]
159 --disable-setlocale disable setlocale using in mplayer [autodetect]
160 --disable-langinfo do not use langinfo [autodetect]
161 --enable-lirc enable LIRC (remote control) support [autodetect]
162 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
163 --enable-joystick enable joystick support [disable]
164 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
165 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
166 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
167 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
168 --disable-edl disable EDL (edit decision list) support [enable]
169 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
170 --disable-network disable network support (for: http/mms/rtp) [enable]
171 --enable-winsock2 enable winsock2 usage [autodetect]
172 --enable-smb enable Samba (SMB) input support [autodetect]
173 --enable-live enable LIVE.COM Streaming Media support [autodetect]
174 --disable-dvdread Disable libdvdread support [autodetect]
175 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
176 --disable-cdparanoia Disable cdparanoia support [autodetect]
177 --disable-freetype Disable freetype2 font rendering support [autodetect]
178 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
179 --disable-unrarlib Disable Unique RAR File Library [enabled]
180 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
181 --disable-sortsub Disable subtitles sorting [enabled]
182 --enable-fribidi Enable using the FriBiDi libs [disabled]
183 --disable-enca Disable using ENCA charset oracle library [autodetect]
184 --disable-macosx Disable Mac OS X specific features [autodetect]
185 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
186 --disable-inet6 Disable IPv6 support [autodetect]
187 --disable-gethostbyname2 gethostbyname() function is not provided by the C
188 library [autodetect]
189 --disable-ftp Disable ftp support [enabled]
191 Codecs:
192 --enable-gif enable gif support [autodetect]
193 --enable-png enable png input/output support [autodetect]
194 --enable-jpeg enable jpeg input/output support [autodetect]
195 --enable-liblzo enable external liblzo support [autodetect]
196 --disable-win32 disable Win32 DLL support [autodetect]
197 --disable-dshow disable Win32/DirectShow support [autodetect]
198 --disable-qtx disable Quicktime codecs [autodetect]
199 --disable-xanim disable XAnim DLL support [autodetect]
200 --disable-real disable RealPlayer DLL support [autodetect]
201 --disable-xvid disable XviD codec [autodetect]
202 --disable-x264 disable H.264 encoder [autodetect]
203 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
204 --enable-opendivx enable _old_ OpenDivx codec [disable]
205 --disable-libavcodec disable libavcodec [autodetect]
206 --disable-libavformat disable libavformat [autodetect]
207 --enable-libfame enable libfame realtime encoder [autodetect]
208 --enable-vorbis build with OggVorbis support [autodetect]
209 --enable-tremor build with integer-only OggVorbis support [disabled]
210 --enable-theora build with OggTheora support [autodetect]
211 --disable-internal-matroska disable internal Matroska support [enabled]
212 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
213 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
214 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
215 --disable-mad disable libmad (MPEG audio) support [autodetect]
216 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
217 --enable-xmms build with XMMS inputplugin support [disabled]
218 --disable-mp3lib disable builtin mp3lib [enabled]
219 --disable-liba52 disable builtin liba52 [enabled]
220 --enable-libdts enable libdts support [autodetect]
221 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
223 Video output:
224 --disable-vidix disable VIDIX [enable on x86 *nix]
225 --enable-gl build with OpenGL render support [autodetect]
226 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
227 --enable-vesa build with VESA support [autodetect]
228 --enable-svga build with SVGAlib support [autodetect]
229 --enable-sdl build with SDL render support [autodetect]
230 --enable-aa build with AAlib render support [autodetect]
231 --enable-caca build with CACA render support [autodetect]
232 --enable-ggi build with GGI render support [autodetect]
233 --enable-directx build with DirectX support [autodetect]
234 --enable-dxr2 build with DXR2 render support [autodetect]
235 --enable-dxr3 build with DXR3/H+ render support [autodetect]
236 --enable-dvb build with support for output via DVB-Card [autodetect]
237 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
238 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
239 (check for /dev/mga_vid) [autodetect]
240 --enable-xmga build with mga_vid X Window support
241 (check for X & /dev/mga_vid) [autodetect]
242 --enable-xv build with Xv render support for X 4.x [autodetect]
243 --enable-xvmc build with XvMC acceleration for X 4.x [autodetect]
244 --enable-vm build with XF86VidMode support for X11 [autodetect]
245 --enable-xinerama build with Xinerama support for X11 [autodetect]
246 --enable-x11 build with X11 render support [autodetect]
247 --enable-fbdev build with FBDev render support [autodetect]
248 --enable-mlib build with MLIB support (Solaris only) [autodetect]
249 --enable-3dfx build with obsolete /dev/3dfx support [disable]
250 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
251 --enable-directfb build with DirectFB support [autodetect]
252 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
253 --enable-bl build with Blinkenlights support [disable]
254 --enable-tdfxvid build with tdfx_vid support [disable]
255 --disable-tga disable targa output support [enable]
256 --disable-pnm disable pnm output support [enable]
257 --disable-md5sum disable md5sum output support [enable]
259 Audio output:
260 --disable-alsa disable ALSA sound support [autodetect]
261 --disable-ossaudio disable OSS sound support [autodetect]
262 --disable-arts disable aRts sound support [autodetect]
263 --disable-esd disable esd sound support [autodetect]
264 --disable-polyp disable Polypaudio sound support [autodetect]
265 --disable-jack disable JACK sound support [autodetect]
266 --disable-nas disable NAS sound support [autodetect]
267 --disable-sgiaudio disable SGI sound support [autodetect]
268 --disable-sunaudio disable Sun sound support [autodetect]
269 --disable-win32waveout disable Windows waveout sound support [autodetect]
270 --disable-select disable using select() on audio device [enable]
272 Miscellaneous options:
273 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
274 --cc=COMPILER use this C compiler to build MPlayer [gcc]
275 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
276 --as=ASSEMBLER use this assembler to build MPlayer [as]
277 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
278 --enable-static build a statically linked binary. Set further linking
279 options with --enable-static="-lslang -lncurses"
280 --language=list a white space or comma separated list of languages
281 for translated man pages, the first language is the
282 primary and therefore used for translated messages
283 and GUI (also the environment variable \$LINGUAS is
284 honored) [en]
285 (Available: $LANGUAGES all)
286 --enable-shared-pp install & use shared postprocessing lib
287 --with-install=PATH use a custom install program (useful if your OS uses
288 a GNU-incompatible install utility by default and
289 you want to use GNU version)
290 --install-path=PATH the path to a custom install program
291 this option is obsolete and will be removed soon,
292 use --with-install instead.
294 Advanced options:
295 --enable-mmx build with MMX support [autodetect]
296 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
297 --enable-3dnow build with 3DNow! support [autodetect]
298 --enable-3dnowex build with extended 3DNow! support [autodetect]
299 --enable-sse build with SSE support [autodetect]
300 --enable-sse2 build with SSE2 support [autodetect]
301 --enable-shm build with shm support [autodetect]
302 --enable-altivec build with Altivec support (PowerPC) [autodetect]
303 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
304 --enable-big-endian Force byte order to big-endian [autodetect]
305 --enable-debug[=1-3] compile debugging information into mplayer [disable]
306 --enable-profile compile profiling information into mplayer [disable]
307 --disable-sighandler disable sighandler for crashes [enable]
308 --enable-crash-debug enable automatic gdb attach on crash [disable]
309 --enable-i18n _experimental_ gnu gettext() support [autodetect]
310 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
312 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
313 --disable-gcc-checking disable gcc version checking [enable]
315 Use these options if autodetection fails (Options marked with (*) accept
316 multiple paths separated by ':'):
317 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
318 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR (*)
319 --with-x11incdir=DIR X headers in DIR (*)
320 --with-x11libdir=DIR X library files in DIR (*)
321 --with-dxr2incdir=DIR DXR2 headers in DIR (*)
322 --with-dvbincdir=DIR DVB headers in DIR (*)
323 --with-madlibdir=DIR libmad (libmad shared library) in DIR (*)
324 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
325 --with-codecsdir=DIR Binary codec files in DIR
326 --with-win32libdir=DIR W*ndows DLL files in DIR
327 --with-xanimlibdir=DIR XAnim DLL files in DIR
328 --with-reallibdir=DIR RealPlayer DLL files in DIR
329 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
330 --with-xvidincdir=DIR XviD header in DIR (*)
331 --with-x264libdir=DIR libx264 in DIR
332 --with-x264incdir=DIR x264 header in DIR
333 --with-dtslibdir=DIR libdts library in DIR (*)
334 --with-dtsincdir=DIR libdts header in DIR (*)
335 --with-livelibdir=DIR LIVE.COM Streaming Media libraries in DIR
336 --with-toolamedir=DIR path to Toolame library and include file
337 --with-xmmsplugindir=DIR XMMS plugins in DIR
338 --with-xmmslibdir=DIR libxmms.so.1 in DIR
339 --with-bio2jack=DIR libbio2jack.a in DIR
340 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR (*)
341 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
342 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
343 --with-termcaplib=NAME name of library with termcap functionality
344 name should be given without leading "lib"
345 checks for "termcap" and "tinfo"
347 --with-freetype-config=PATH path to freetype-config
348 (e.g. /opt/bin/freetype-config)
349 --with-fribidi-config=PATH path to fribidi-config
350 (e.g. /opt/bin/fribidi-config)
351 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
352 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
353 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
355 exit 0
357 done # for parm in ...
360 # 1st pass checking for vital options
361 _install=install
362 _ranlib=ranlib
363 _cc=cc
364 test "$CC" && _cc="$CC"
365 _as=auto
366 _runtime_cpudetection=no
367 for ac_option do
368 case "$ac_option" in
369 --target=*)
370 _target=`echo $ac_option | cut -d '=' -f 2`
372 --cc=*)
373 _cc=`echo $ac_option | cut -d '=' -f 2`
375 --host-cc=*)
376 _host_cc=`echo $ac_option | cut -d '=' -f 2`
378 --as=*)
379 _as=`echo $ac_option | cut -d '=' -f 2`
381 --enable-gcc-checking)
382 _skip_cc_check=no
384 --disable-gcc-checking)
385 _skip_cc_check=yes
387 --enable-static)
388 _ld_static='-static'
390 --disable-static)
391 _ld_static=''
393 --enable-static=*)
394 _ld_static="-static `echo $ac_option | cut -d '=' -f 2`"
396 --with-extraincdir=*)
397 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
399 --with-extralibdir=*)
400 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
402 --enable-runtime-cpudetection)
403 _runtime_cpudetection=yes
405 --disable-runtime-cpudetection)
406 _runtime_cpudetection=no
408 --install-path=*)
409 _install=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
411 --with-install=*)
412 _install=`echo $ac_option | cut -d '=' -f 2 `
414 esac
415 done
417 # Determine our OS name and CPU architecture
418 if test -z "$_target" ; then
419 # OS name
420 system_name=`( uname -s ) 2>&1`
421 case "$system_name" in
422 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS)
424 IRIX*)
425 system_name=IRIX
427 HP-UX*)
428 system_name=HP-UX
430 [cC][yY][gG][wW][iI][nN]*)
431 system_name=CYGWIN
433 MINGW32*)
434 system_name=MINGW32
436 MorphOS)
437 system_name=MorphOS
440 system_name="$system_name-UNKNOWN"
442 esac
445 # host's CPU/instruction set
446 host_arch=`( uname -p ) 2>&1`
447 case "$host_arch" in
448 i386|sparc|ppc|alpha|arm|mips|vax)
450 powerpc) # Darwin returns 'powerpc'
451 host_arch=ppc
453 *) # uname -p on Linux returns 'unknown' for the processor type,
454 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
456 # Maybe uname -m (machine hardware name) returns something we
457 # recognize.
459 # x86/x86pc is used by QNX
460 case "`( uname -m ) 2>&1`" in
461 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 ;;
462 ia64) host_arch=ia64 ;;
463 x86_64|amd64)
464 if [ "`$_cc -dumpmachine | grep x86_64 | cut -d- -f1`" = "x86_64" -a \
465 -z "`echo $CFLAGS | grep -- -m32`" ]; then
466 host_arch=x86_64
467 else
468 host_arch=i386
471 macppc|ppc) host_arch=ppc ;;
472 alpha) host_arch=alpha ;;
473 sparc) host_arch=sparc ;;
474 sparc64) host_arch=sparc64 ;;
475 parisc*|hppa*|9000*) host_arch=hppa ;;
476 arm*) host_arch=arm ;;
477 s390) host_arch=s390 ;;
478 s390x) host_arch=s390x ;;
479 mips) host_arch=mips ;;
480 vax) host_arch=vax ;;
481 *) host_arch=UNKNOWN ;;
482 esac
484 esac
485 else
486 system_name=`echo $_target | cut -d '-' -f 2`
487 case "`echo $system_name | tr A-Z a-z`" in
488 linux) system_name=Linux ;;
489 freebsd) system_name=FreeBSD ;;
490 netbsd) system_name=NetBSD ;;
491 bsd/os) system_name=BSD/OS ;;
492 openbsd) system_name=OpenBSD ;;
493 sunos) system_name=SunOS ;;
494 qnx) system_name=QNX ;;
495 morphos) system_name=MorphOS ;;
496 mingw32msvc) system_name=MINGW32 ;;
497 esac
498 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
499 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
502 echo "Detected operating system: $system_name"
503 echo "Detected host architecture: $host_arch"
505 # LGB: temporary files
506 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
507 test "$I" && break
508 done
510 TMPLOG="configure.log"
511 rm -f "$TMPLOG"
512 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
513 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
514 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
515 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
517 # config files
519 # FIXME: A lot of stuff is installed under /usr/local
520 # NK: But we should never use this stuff implicitly since we call compiler
521 # from /usr we should be sure that there no effects from other compilers
522 # (libraries) which might be installed into /usr/local. Let users use this
523 # stuff explicitly as command line argument. In other words: It would be
524 # resonable to have only /usr/include or only /usr/local/include.
526 if freebsd ; then
527 _ld_extra="$_ld_extra -L/usr/local/lib"
528 _inc_extra="$_inc_extra -I/usr/local/include"
531 if netbsd ; then
532 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
533 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
534 done
535 _ld_extra=$tmp
538 _ldd=ldd
539 if darwin; then
540 _ldd="otool -L"
543 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
544 # if used as 'head -1' instead of 'head -n 1', but older versions don't
545 # know about '-n'.
546 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
547 _head() { head -$1 2>/dev/null ; }
548 else
549 _head() { head -n $1 2>/dev/null ; }
551 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
552 _tail() { tail -$1 2>/dev/null ; }
553 else
554 _tail() { tail -n $1 2>/dev/null ; }
557 # Checking CC version...
558 if test "$_skip_cc_check" != yes ; then
559 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
560 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
561 echocheck "$_cc version"
562 cc_vendor=intel
563 cc_name=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 1`
564 cc_version=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
565 _cc_major=`echo $cc_version | cut -d '.' -f 1`
566 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
567 # TODO verify older icc/ecc compatibility
568 case $cc_version in
570 cc_version="v. ?.??, bad"
571 cc_verc_fail=yes
573 8.0)
574 cc_version="$cc_version, ok"
575 cc_verc_fail=no
578 cc_version="$cc_version, bad"
579 cc_verc_fail=yes
581 esac
582 echores "$cc_version"
583 else
584 for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
585 echocheck "$_cc version"
586 cc_vendor=gnu
587 cc_name=`( $_cc -v ) 2>&1 | _tail 1 | cut -d ' ' -f 1`
588 cc_version=`( $_cc -dumpversion ) 2>&1`
589 if test "$?" -gt 0; then
590 cc_version="not found"
592 case $cc_version in
594 cc_version="v. ?.??, bad"
595 cc_verc_fail=yes
597 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9])
598 _cc_major=`echo $cc_version | cut -d '.' -f 1`
599 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
600 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
601 cc_version="$cc_version, ok"
602 cc_verc_fail=no
604 'not found')
605 cc_verc_fail=yes
608 cc_version="$cc_version, bad"
609 cc_verc_fail=yes
611 esac
612 echores "$cc_version"
613 (test "$cc_verc_fail" = "no") && break
614 done
615 fi # icc
616 if test "$cc_verc_fail" = yes ; then
617 cat <<EOF
619 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
621 You are not using a supported compiler. We do not have the time to make sure
622 everything works with compilers other than the ones we use. Use either the
623 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
624 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
626 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
627 mplayer and lame (which is used for mencoder). If you get compile errors,
628 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
629 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
630 bugs!
632 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
634 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
637 die "Bad gcc version"
639 else
640 cat <<EOF
642 ******************************************************************************
644 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
645 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
647 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
648 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
649 Lame which is used by mencoder produces weird errors, too.
651 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
652 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
654 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
656 ******************************************************************************
660 read _answer
663 echocheck "host cc"
664 if not test "$_host_cc" ; then
665 _host_cc=$_cc
667 echores $_host_cc
670 # ---
672 # now that we know what compiler should be used for compilation, try to find
673 # out which assembler is used by the $_cc compiler
674 if test "$_as" = auto ; then
675 _as=`$_cc -print-prog-name=as`
676 test -z "$_as" && _as=as
679 # XXX: this should be ok..
680 _cpuinfo="echo"
681 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
682 # FIXME: Remove the cygwin check once AMD CPUs are supported
683 if test -r /proc/cpuinfo && not cygwin; then
684 # Linux with /proc mounted, extract CPU information from it
685 _cpuinfo="cat /proc/cpuinfo"
686 elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
687 # FreeBSD with Linux emulation /proc mounted,
688 # extract CPU information from it
689 _cpuinfo="cat /compat/linux/proc/cpuinfo"
690 elif darwin ; then
691 # use hostinfo on Darwin
692 _cpuinfo="hostinfo"
693 elif x86; then
694 # all other OSes try to extract CPU information from a small helper
695 # program TOOLS/cpuinfo instead
696 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
697 _cpuinfo="TOOLS/cpuinfo"
700 x86_exts_check()
702 pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | _head 1`
703 if test -z "$pparam" ; then
704 pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
707 _mmx=no
708 _3dnow=no
709 _3dnowex=no
710 _mmx2=no
711 _sse=no
712 _sse2=no
713 _mtrr=no
715 for i in $pparam ; do
716 case "$i" in
717 3dnow) _3dnow=yes ;;
718 3dnowext) _3dnow=yes _3dnowex=yes ;;
719 mmx) _mmx=yes ;;
720 mmxext) _mmx2=yes ;;
721 mtrr|k6_mtrr|cyrix_arr) _mtrr=yes ;;
722 xmm|sse|kni) _sse=yes _mmx2=yes ;;
723 sse2) _sse2=yes ;;
724 esac
725 done
728 case "$host_arch" in
729 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
730 _def_arch="#define ARCH_X86 1"
731 _target_arch="TARGET_ARCH_X86 = yes"
733 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
734 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
735 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
736 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
737 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
739 x86_exts_check
741 echocheck "CPU vendor"
742 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
744 echocheck "CPU type"
745 echores "$pname"
747 case "$pvendor" in
748 AuthenticAMD)
749 case "$pfamily" in
750 3) proc=i386 iproc=386 ;;
751 4) proc=i486 iproc=486 ;;
752 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
753 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
754 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
755 proc=k6-3
756 elif test "$pmodel" -ge 8; then
757 proc=k6-2
758 elif test "$pmodel" -ge 6; then
759 proc=k6
760 else
761 proc=i586
762 iproc=586
765 6) iproc=686
766 if test "$pmodel" -ge 7; then
767 proc=athlon-4
768 elif test "$pmodel" -ge 6; then
769 # only Athlon XP supports ssem MP, Duron etc not
770 # but most of them are CPUID 666, so check if sse detected
771 # btw. there is also athlon-mp opt, but we need extended
772 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
773 if test "$_sse" = yes && test "$pstepping" -ge 2; then
774 proc=athlon-xp
775 else
776 proc=athlon-4
778 elif test "$pmodel" -ge 4; then
779 proc=athlon-tbird
780 else
781 proc=athlon # TODO: should the Duron Spitfire be considered a Thunderbird instead?
785 *) proc=athlon-xp iproc=686 ;;
786 esac
788 GenuineIntel)
789 case "$pfamily" in
790 3) proc=i386 iproc=386 ;;
791 4) proc=i486 iproc=486 ;;
792 5) iproc=586
793 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
794 proc=pentium-mmx # 4 is desktop, 8 is mobile
795 else
796 proc=i586
799 6) iproc=686
800 if test "$pmodel" -ge 7; then
801 proc=pentium3
802 elif test "$pmodel" -ge 3; then
803 proc=pentium2
804 else
805 proc=i686
808 15) proc=pentium4 iproc=686 ;;
809 *) proc=pentium4 iproc=686 ;;
810 esac
812 unknown)
813 case "$pfamily" in
814 3) proc=i386 iproc=386 ;;
815 4) proc=i486 iproc=486 ;;
816 *) proc=i586 iproc=586 ;;
817 esac
820 proc=i586 iproc=586 ;;
821 esac
823 # check that gcc supports our CPU, if not, fall back to earlier ones
824 # LGB: check -mcpu and -march swithing step by step with enabling
825 # to fall back till 386.
827 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
829 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
830 cpuopt=-mtune
831 else
832 cpuopt=-mcpu
835 echocheck "GCC & CPU optimization abilities"
836 cat > $TMPC << EOF
837 int main(void) { return 0; }
839 if test "$_runtime_cpudetection" = no ; then
840 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
841 cc_check -march=$proc $cpuopt=$proc || proc=athlon
843 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
844 cc_check -march=$proc $cpuopt=$proc || proc=k6
846 if test "$proc" = "k6"; then
847 if not cc_check -march=$proc $cpuopt=$proc; then
848 if cc_check -march=i586 $cpuopt=i686; then
849 proc=i586-i686
850 else
851 proc=i586
855 if test "$proc" = "pentium4" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon"; then
856 cc_check -march=$proc $cpuopt=$proc || proc=i686
858 if test "$proc" = "i686" || test "$proc" = "pentium-mmx"; then
859 cc_check -march=$proc $cpuopt=$proc || proc=i586
861 if test "$proc" = "i586" ; then
862 cc_check -march=$proc $cpuopt=$proc || proc=i486
864 if test "$proc" = "i486" ; then
865 cc_check -march=$proc $cpuopt=$proc || proc=i386
867 if test "$proc" = "i386" ; then
868 cc_check -march=$proc $cpuopt=$proc || proc=error
870 if test "$proc" = "error" ; then
871 echores "Your $_cc does not even support \"i386\" for '-march' and '$cpuopt'."
872 _mcpu=""
873 _march=""
874 _optimizing=""
875 elif test "$proc" = "i586-i686"; then
876 _march="-march=i586"
877 _mcpu="$cpuopt=i686"
878 _optimizing="$proc"
879 else
880 _march="-march=$proc"
881 _mcpu="$cpuopt=$proc"
882 _optimizing="$proc"
884 else
885 # i686 is probably the most common CPU - optimize for it
886 _mcpu="$cpuopt=i686"
887 # at least i486 required, for bswap instruction
888 _march="-march=i486"
889 cc_check $_mcpu || _mcpu=""
890 cc_check $_march $_mcpu || _march=""
893 ## Gabucino : --target takes effect here (hopefully...) by overwriting
894 ## autodetected mcpu/march parameters
895 if test "$_target" ; then
896 # TODO: it may be a good idea to check GCC and fall back in all cases
897 if test "$host_arch" = "i586-i686"; then
898 _march="-march=i586"
899 _mcpu="$cpuopt=i686"
900 else
901 _march="-march=$host_arch"
902 _mcpu="$cpuopt=$host_arch"
905 proc="$host_arch"
907 case "$proc" in
908 i386) iproc=386 ;;
909 i486) iproc=486 ;;
910 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
911 i686|athlon*|pentium*) iproc=686 ;;
912 *) iproc=586 ;;
913 esac
916 echores "$proc"
919 ia64)
920 _def_arch='#define ARCH_IA64 1'
921 _target_arch='TARGET_ARCH_IA64 = yes'
922 iproc='ia64'
923 proc=''
924 _march=''
925 _mcpu=''
926 _optimizing=''
929 x86_64|amd64)
930 _def_arch='#define ARCH_X86_64 1'
931 _target_arch='TARGET_ARCH_X86_64 = yes'
932 iproc='x86_64'
933 proc=''
934 _march=''
935 _mcpu=''
936 _optimizing=''
937 x86_exts_check
940 sparc)
941 _def_arch='#define ARCH_SPARC 1'
942 _target_arch='TARGET_ARCH_SPARC = yes'
943 iproc='sparc'
944 if sunos ; then
945 echocheck "CPU type"
946 karch=`uname -m`
947 case "`echo $karch`" in
948 sun4) proc=v7 ;;
949 sun4c) proc=v7 ;;
950 sun4d) proc=v8 ;;
951 sun4m) proc=v8 ;;
952 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
953 *) ;;
954 esac
955 echores "$proc"
956 else
957 proc=v8
959 _march=''
960 _mcpu="-mcpu=$proc"
961 _optimizing="$proc"
964 sparc64)
965 _def_arch='#define ARCH_SPARC 1'
966 _target_arch='TARGET_ARCH_SPARC = yes'
967 _vis='yes'
968 _def_vis='#define HAVE_VIS = yes'
969 iproc='sparc'
970 proc='v9'
971 _march=''
972 _mcpu="-mcpu=$proc"
973 _optimizing="$proc"
976 arm|armv4l|armv5tel)
977 _def_arch='#define ARCH_ARMV4L 1'
978 _target_arch='TARGET_ARCH_ARMV4L = yes'
979 iproc='arm'
980 proc=''
981 _march=''
982 _mcpu=''
983 _optimizing=''
986 ppc)
987 _def_arch='#define ARCH_POWERPC 1'
988 _target_arch='TARGET_ARCH_POWERPC = yes'
989 iproc='ppc'
990 proc=''
991 _march=''
992 _mcpu=''
993 _optimizing=''
994 _altivec=no
996 echocheck "CPU type"
997 if linux && test -n "$_cpuinfo"; then
998 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
999 if test -n "`$_cpuinfo | grep altivec`"; then
1000 _altivec=yes
1003 if darwin ; then
1004 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1005 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
1006 _altivec=yes
1007 elif [ "`sysctl -n hw.optional.altivec 2>/dev/null`" = 1 ]; then
1008 _altivec=yes
1011 # only gcc 3.4 works reliably with altivec code under netbsd
1012 if netbsd ; then
1013 case $cc_version in
1014 2*|3.0*|3.1*|3.2*|3.3*)
1017 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1018 _altivec=yes
1021 esac
1023 if test "$_altivec" = yes; then
1024 echores "$proc altivec"
1025 else
1026 echores "$proc"
1029 echocheck "GCC & CPU optimization abilities"
1031 if test -n "$proc"; then
1032 case "$proc" in
1033 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1034 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1035 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1036 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1037 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1038 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1039 *) ;;
1040 esac
1041 # gcc 3.1(.1) and up supports 7400 and 7450
1042 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1"; then
1043 case "$proc" in
1044 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1045 7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1046 *) ;;
1047 esac
1049 # gcc 3.2 and up supports 970
1050 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3"; then
1051 case "$proc" in
1052 970*) _march='-mcpu=970' _mcpu='-mtune=970' ;;
1053 *) ;;
1054 esac
1058 if test -n "$_mcpu"; then
1059 _optimizing=`echo $_mcpu | cut -c 8-`
1060 echores "$_optimizing"
1061 else
1062 echores "none"
1067 alpha)
1068 _def_arch='#define ARCH_ALPHA 1'
1069 _target_arch='TARGET_ARCH_ALPHA = yes'
1070 iproc='alpha'
1071 _march=''
1073 echocheck "CPU type"
1074 cat > $TMPC << EOF
1075 int main() {
1076 unsigned long ver, mask;
1077 asm ("implver %0" : "=r" (ver));
1078 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1079 printf("%ld-%x\n", ver, ~mask);
1080 return 0;
1083 $_cc -o "$TMPO" "$TMPC"
1084 case `"$TMPO"` in
1086 0-0) proc="ev4"; cpu_understands_mvi="0";;
1087 1-0) proc="ev5"; cpu_understands_mvi="0";;
1088 1-1) proc="ev56"; cpu_understands_mvi="0";;
1089 1-101) proc="pca56"; cpu_understands_mvi="1";;
1090 2-303) proc="ev6"; cpu_understands_mvi="1";;
1091 2-307) proc="ev67"; cpu_understands_mvi="1";;
1092 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1093 esac
1094 echores "$proc"
1096 echocheck "GCC & CPU optimization abilities"
1097 if test "$proc" = "ev68" ; then
1098 cc_check -mcpu=$proc || proc=ev67
1100 if test "$proc" = "ev67" ; then
1101 cc_check -mcpu=$proc || proc=ev6
1103 _mcpu="-mcpu=$proc"
1104 echores "$proc"
1106 _optimizing="$proc"
1108 echocheck "MVI instruction support in GCC"
1109 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1110 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
1111 echores "yes"
1112 else
1113 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
1114 echores "no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1118 mips)
1119 _def_arch='#define ARCH_SGI_MIPS 1'
1120 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1121 iproc='sgi-mips'
1122 proc=''
1123 _march=''
1124 _mcpu=''
1125 _optimizing=''
1127 if irix ; then
1128 echocheck "CPU type"
1129 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
1130 case "`echo $proc`" in
1131 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
1132 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
1133 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
1134 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
1135 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
1136 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
1137 esac
1138 echores "$proc"
1143 hppa)
1144 _def_arch='#define ARCH_PA_RISC 1'
1145 _target_arch='TARGET_ARCH_PA_RISC = yes'
1146 iproc='PA-RISC'
1147 proc=''
1148 _march=''
1149 _mcpu=''
1150 _optimizing=''
1153 s390)
1154 _def_arch='#define ARCH_S390 1'
1155 _target_arch='TARGET_ARCH_S390 = yes'
1156 iproc='390'
1157 proc=''
1158 _march=''
1159 _mcpu=''
1160 _optimizing=''
1163 s390x)
1164 _def_arch='#define ARCH_S390X 1'
1165 _target_arch='TARGET_ARCH_S390X = yes'
1166 iproc='390x'
1167 proc=''
1168 _march=''
1169 _mcpu=''
1170 _optimizing=''
1173 vax)
1174 _def_arch='#define ARCH_VAX 1'
1175 _target_arch='TARGET_ARCH_VAX = yes'
1176 iproc='vax'
1177 proc=''
1178 _march=''
1179 _mcpu=''
1180 _optimizing=''
1184 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1185 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1186 die "unsupported architecture $host_arch"
1188 esac
1190 if test "$_runtime_cpudetection" = yes ; then
1191 if x86; then
1192 _mmx=yes
1193 _3dnow=yes
1194 _3dnowex=yes
1195 _mmx2=yes
1196 _sse=yes
1197 _sse2=yes
1198 _mtrr=yes
1200 if ppc; then
1201 _altivec=yes
1205 if x86 && test "$_runtime_cpudetection" = no ; then
1206 extcheck() {
1207 if test "$1" = yes ; then
1208 echocheck "kernel support of $2"
1209 cat > $TMPC <<EOF
1210 #include <signal.h>
1211 void catch() { exit(1); }
1212 int main(void){
1213 signal(SIGILL, catch);
1214 __asm__ __volatile__ ("$3":::"memory");return(0);
1218 if ( cc_check && $TMPO ) > /dev/null 2>&1 ; then
1219 echores "yes"
1220 _optimizing="$_optimizing $2"
1221 return 0
1222 else
1223 echores "failed"
1224 echo "It seems that your kernel does not correctly support $2."
1225 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1226 return 1
1229 return 0
1232 extcheck $_mmx "mmx" "emms" || _mmx=no
1233 extcheck $_mmx2 "mmx2" "sfence" || _mmx2=no
1234 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1235 extcheck $_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex=no
1236 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1237 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1238 echocheck "mtrr support"
1239 echores "$_mtrr"
1241 if test "$_mtrr" = yes ; then
1242 _optimizing="$_optimizing mtrr"
1245 if test "$_gcc3_ext" != ""; then
1246 # if we had to disable sse/sse2 because the active kernel does not
1247 # support this instruction set extension, we also have to tell
1248 # gcc3 to not generate sse/sse2 instructions for normal C code
1249 cat > $TMPC << EOF
1250 int main(void) { return 0; }
1252 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1257 echocheck "assembler support of -pipe option"
1258 cat > $TMPC << EOF
1259 int main(void) { return 0; }
1261 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1263 _prefix="/usr/local"
1264 _xvmclib="XvMCNVIDIA"
1266 # GOTCHA: the variables below defines the default behavior for autodetection
1267 # and have - unless stated otherwise - at least 2 states : yes no
1268 # If autodetection is available then the third state is: auto
1269 _libavcodec=auto
1270 _libavcodecso=auto
1271 _libavformat=auto
1272 _fame=auto
1273 _mp1e=no
1274 _mencoder=yes
1275 _x11=auto
1276 _dga=auto # 1 2 no auto
1277 _xv=auto
1278 _xvmc=no #auto when complete
1279 _sdl=auto
1280 _directx=auto
1281 _win32waveout=auto
1282 _nas=auto
1283 _png=auto
1284 _jpg=auto
1285 _pnm=yes
1286 _md5sum=yes
1287 _gif=auto
1288 _gl=auto
1289 _ggi=auto
1290 _aa=auto
1291 _caca=auto
1292 _svga=auto
1293 _vesa=auto
1294 _fbdev=auto
1295 _dvb=auto
1296 _dvbhead=auto
1297 _dxr2=auto
1298 _dxr3=auto
1299 _iconv=auto
1300 _langinfo=auto
1301 _rtc=auto
1302 _ossaudio=auto
1303 _arts=auto
1304 _esd=auto
1305 _polyp=auto
1306 _jack=auto
1307 _liblzo=auto
1308 _mad=auto
1309 _toolame=auto
1310 _vorbis=auto
1311 _theora=auto
1312 _mp3lib=yes
1313 _liba52=yes
1314 _libdts=auto
1315 _libmpeg2=yes
1316 _matroska_internal=yes
1317 _tremor=no
1318 _faad_internal=auto
1319 _faad_external=auto
1320 _xmms=no
1321 # dvdnav disabled, it does not work
1322 #_dvdnav=no
1323 _dvdread=auto
1324 _dvdkit=auto
1325 _xanim=auto
1326 _real=auto
1327 _live=auto
1328 _xinerama=auto
1329 _mga=auto
1330 _xmga=auto
1331 _vm=auto
1332 _mlib=auto
1333 _sgiaudio=auto
1334 _sunaudio=auto
1335 _alsa=auto
1336 _fastmemcpy=yes
1337 _unrarlib=yes
1338 _win32=auto
1339 _dshow=yes
1340 _select=yes
1341 _tv=yes
1342 _tv_v4l=auto
1343 _tv_v4l2=auto
1344 _tv_bsdbt848=auto
1345 _edl=yes
1346 _network=yes
1347 _winsock2=auto
1348 _smbsupport=auto
1349 _vidix=auto
1350 _joystick=no
1351 _xvid=auto
1352 _x264=auto
1353 _divx4linux=auto
1354 _opendivx=no
1355 _lirc=auto
1356 _lircc=auto
1357 _gui=no
1358 _termcap=auto
1359 _termios=auto
1360 _3dfx=no
1361 _tdfxfb=no
1362 _tdfxvid=no
1363 _tga=yes
1364 _directfb=auto
1365 _zr=auto
1366 _bl=no
1367 _largefiles=no
1368 #_language=en
1369 _shm=auto
1370 _linux_devfs=no
1371 _i18n=auto
1372 _dynamic_plugins=no
1373 _setlocale=auto
1374 _crash_debug=auto
1375 _sighandler=yes
1376 _libdv=auto
1377 _cdparanoia=auto
1378 _big_endian=auto
1379 _freetype=auto
1380 _fontconfig=auto
1381 _shared_pp=no
1382 _menu=no
1383 _qtx=auto
1384 _macosx=auto
1385 _macosx_finder_support=no
1386 _sortsub=yes
1387 _freetypeconfig='freetype-config'
1388 _fribidi=no
1389 _fribidiconfig='fribidi-config'
1390 _enca=auto
1391 _inet6=auto
1392 _gethostbyname2=auto
1393 _ftp=yes
1394 for ac_option do
1395 case "$ac_option" in
1396 # Skip 1st pass
1397 --target=*) ;;
1398 --cc=*) ;;
1399 --host-cc=*) ;;
1400 --as=*) ;;
1401 --enable-gcc-checking) ;;
1402 --disable-gcc-checking) ;;
1403 --enable-static*) ;;
1404 --disable-static*) ;;
1405 --with-extraincdir=*) ;;
1406 --with-extralibdir=*) ;;
1407 --enable-runtime-cpudetection) ;;
1408 --disable-runtime-cpudetection) ;;
1409 --install-path=*) ;;
1410 --with-install=*) ;;
1412 # Real 2nd pass
1413 --enable-mencoder) _mencoder=yes ;;
1414 --disable-mencoder) _mencoder=no ;;
1415 --enable-i18n) _i18n=yes ;;
1416 --disable-i18n) _i18n=no ;;
1417 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1418 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1419 --enable-setlocale) _setlocale=yes ;;
1420 --disable-setlocale) _setlocale=no ;;
1421 --enable-x11) _x11=yes ;;
1422 --disable-x11) _x11=no ;;
1423 --enable-xv) _xv=yes ;;
1424 --disable-xv) _xv=no ;;
1425 --enable-xvmc) _xvmc=yes ;;
1426 --disable-xvmc) _xvmc=no ;;
1427 --enable-sdl) _sdl=yes ;;
1428 --disable-sdl) _sdl=no ;;
1429 --enable-directx) _directx=yes ;;
1430 --disable-directx) _directx=no ;;
1431 --enable-win32waveout) _win32waveout=yes ;;
1432 --disable-win32waveout) _win32waveout=no ;;
1433 --enable-nas) _nas=yes ;;
1434 --disable-nas) _nas=no ;;
1435 --enable-png) _png=yes ;;
1436 --disable-png) _png=no ;;
1437 --enable-jpeg) _jpg=yes ;;
1438 --disable-jpeg) _jpg=no ;;
1439 --enable-pnm) _pnm=yes ;;
1440 --disable-pnm) _pnm=no ;;
1441 --enable-md5sum) _md5sum=yes ;;
1442 --disable-md5sum) _md5sum=no ;;
1443 --enable-gif) _gif=yes ;;
1444 --disable-gif) _gif=no ;;
1445 --enable-gl) _gl=yes ;;
1446 --disable-gl) _gl=no ;;
1447 --enable-ggi) _ggi=yes ;;
1448 --disable-ggi) _ggi=no ;;
1449 --enable-aa) _aa=yes ;;
1450 --disable-aa) _aa=no ;;
1451 --enable-caca) _caca=yes ;;
1452 --disable-caca) _caca=no ;;
1453 --enable-svga) _svga=yes ;;
1454 --disable-svga) _svga=no ;;
1455 --enable-vesa) _vesa=yes ;;
1456 --disable-vesa) _vesa=no ;;
1457 --enable-fbdev) _fbdev=yes ;;
1458 --disable-fbdev) _fbdev=no ;;
1459 --enable-dvb) _dvb=yes ;;
1460 --disable-dvb) _dvb=no ;;
1461 --enable-dvbhead) _dvbhead=yes ;;
1462 --disable-dvbhead) _dvbhead=no ;;
1463 --enable-dxr2) _dxr2=yes ;;
1464 --disable-dxr2) _dxr2=no ;;
1465 --enable-dxr3) _dxr3=yes ;;
1466 --disable-dxr3) _dxr3=no ;;
1467 --enable-iconv) _iconv=yes ;;
1468 --disable-iconv) _iconv=no ;;
1469 --enable-langinfo) _langinfo=yes ;;
1470 --disable-langinfo) _langinfo=no ;;
1471 --enable-rtc) _rtc=yes ;;
1472 --disable-rtc) _rtc=no ;;
1473 --enable-mp1e) _mp1e=yes ;;
1474 --disable-mp1e) _mp1e=no ;;
1475 --enable-libdv) _libdv=yes ;;
1476 --disable-libdv) _libdv=no ;;
1477 --enable-ossaudio) _ossaudio=yes ;;
1478 --disable-ossaudio) _ossaudio=no ;;
1479 --enable-arts) _arts=yes ;;
1480 --disable-arts) _arts=no ;;
1481 --enable-esd) _esd=yes ;;
1482 --disable-esd) _esd=no ;;
1483 --enable-polyp) _polyp=yes ;;
1484 --disable-polyp) _polyp=no ;;
1485 --enable-jack) _jack=yes ;;
1486 --disable-jack) _jack=no ;;
1487 --enable-mad) _mad=yes ;;
1488 --disable-mad) _mad=no ;;
1489 --disable-toolame) _toolame=no ;;
1490 --enable-liblzo) _liblzo=yes ;;
1491 --disable-liblzo) _liblzo=no ;;
1492 --enable-vorbis) _vorbis=yes ;;
1493 --disable-vorbis) _vorbis=no ;;
1494 --enable-tremor) _tremor=yes ;;
1495 --disable-tremor) _tremor=no ;;
1496 --enable-theora) _theora=yes ;;
1497 --disable-theora) _theora=no ;;
1498 --enable-mp3lib) _mp3lib=yes ;;
1499 --disable-mp3lib) _mp3lib=no ;;
1500 --enable-liba52) _liba52=yes ;;
1501 --disable-liba52) _liba52=no ;;
1502 --enable-libdts) _libdts=yes ;;
1503 --disable-libdts) _libdts=no ;;
1504 --enable-libmpeg2) _libmpeg2=yes ;;
1505 --disable-libmpeg2) _libmpeg2=no ;;
1506 --enable-internal-matroska) _matroska_internal=yes ;;
1507 --disable-internal-matroska) _matroska_internal=no ;;
1508 --enable-internal-faad) _faad_internal=yes _faad_external=no ;;
1509 --disable-internal-faad) _faad_internal=no ;;
1510 --enable-external-faad) _faad_external=yes _faad_internal=no ;;
1511 --disable-external-faad) _faad_external=no ;;
1512 --enable-xmms) _xmms=yes ;;
1513 --disable-xmms) _xmms=no ;;
1514 --enable-dvdread) _dvdread=yes ;;
1515 --disable-dvdread) _dvdread=no ;;
1516 --enable-mpdvdkit) _dvdkit=yes ;;
1517 --disable-mpdvdkit) _dvdkit=no ;;
1518 # dvdnav disabled, it does not work
1519 # --enable-dvdnav) _dvdnav=yes ;;
1520 # --disable-dvdnav) _dvdnav=no ;;
1521 --enable-xanim) _xanim=yes ;;
1522 --disable-xanim) _xanim=no ;;
1523 --enable-real) _real=yes ;;
1524 --disable-real) _real=no ;;
1525 --enable-live) _live=yes ;;
1526 --disable-live) _live=no ;;
1527 --enable-xinerama) _xinerama=yes ;;
1528 --disable-xinerama) _xinerama=no ;;
1529 --enable-mga) _mga=yes ;;
1530 --disable-mga) _mga=no ;;
1531 --enable-xmga) _xmga=yes ;;
1532 --disable-xmga) _xmga=no ;;
1533 --enable-vm) _vm=yes ;;
1534 --disable-vm) _vm=no ;;
1535 --enable-mlib) _mlib=yes ;;
1536 --disable-mlib) _mlib=no ;;
1537 --enable-sunaudio) _sunaudio=yes ;;
1538 --disable-sunaudio) _sunaudio=no ;;
1539 --enable-sgiaudio) _sgiaudio=yes ;;
1540 --disable-sgiaudio) _sgiaudio=no ;;
1541 --enable-alsa) _alsa=yes ;;
1542 --disable-alsa) _alsa=no ;;
1543 --enable-tv) _tv=yes ;;
1544 --disable-tv) _tv=no ;;
1545 --enable-edl) _edl=yes ;;
1546 --disable-edl) _edl=no ;;
1547 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1548 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1549 --enable-tv-v4l) _tv_v4l=yes ;;
1550 --disable-tv-v4l) _tv_v4l=no ;;
1551 --enable-tv-v4l2) _tv_v4l2=yes ;;
1552 --disable-tv-v4l2) _tv_v4l2=no ;;
1553 --enable-fastmemcpy) _fastmemcpy=yes ;;
1554 --disable-fastmemcpy) _fastmemcpy=no ;;
1555 --enable-network) _network=yes ;;
1556 --disable-network) _network=no ;;
1557 --enable-winsock2) _winsock2=yes ;;
1558 --disable-winsock2) _winsock2=no ;;
1559 --enable-smb) _smbsupport=yes ;;
1560 --disable-smb) _smbsupport=no ;;
1561 --enable-vidix) _vidix=yes ;;
1562 --disable-vidix) _vidix=no ;;
1563 --enable-joystick) _joystick=yes ;;
1564 --disable-joystick) _joystick=no ;;
1565 --enable-xvid) _xvid=yes ;;
1566 --disable-xvid) _xvid=no ;;
1567 --enable-x264) _x264=yes ;;
1568 --disable-x264) _x264=no ;;
1569 --enable-divx4linux) _divx4linux=yes ;;
1570 --disable-divx4linux) _divx4linux=no ;;
1571 --enable-opendivx) _opendivx=yes ;;
1572 --disable-opendivx) _opendivx=no ;;
1573 --enable-libavcodec) _libavcodec=yes ;;
1574 --disable-libavcodec) _libavcodec=no ;;
1575 --enable-libavformat) _libavformat=yes;;
1576 --disable-libavformat) _libavformat=no ;;
1577 --enable-libfame) _fame=yes ;;
1578 --disable-libfame) _fame=no ;;
1579 --enable-lirc) _lirc=yes ;;
1580 --disable-lirc) _lirc=no ;;
1581 --enable-lircc) _lircc=yes ;;
1582 --disable-lircc) _lircc=no ;;
1583 --enable-gui) _gui=yes ;;
1584 --disable-gui) _gui=no ;;
1585 --enable-termcap) _termcap=yes ;;
1586 --disable-termcap) _termcap=no ;;
1587 --enable-termios) _termios=yes ;;
1588 --disable-termios) _termios=no ;;
1589 --enable-3dfx) _3dfx=yes ;;
1590 --disable-3dfx) _3dfx=no ;;
1591 --enable-tdfxfb) _tdfxfb=yes ;;
1592 --disable-tdfxvid) _tdfxvid=no ;;
1593 --enable-tdfxvid) _tdfxvid=yes ;;
1594 --disable-tga) _tga=no ;;
1595 --enable-tga) _tga=yes ;;
1596 --disable-tdfxfb) _tdfxfb=no ;;
1597 --enable-directfb) _directfb=yes ;;
1598 --disable-directfb) _directfb=no ;;
1599 --enable-zr) _zr=yes ;;
1600 --disable-zr) _zr=no ;;
1601 --enable-bl) _bl=yes ;;
1602 --disable-bl) _bl=no ;;
1603 --enable-mtrr) _mtrr=yes ;;
1604 --disable-mtrr) _mtrr=no ;;
1605 --enable-largefiles) _largefiles=yes ;;
1606 --disable-largefiles) _largefiles=no ;;
1607 --enable-shm) _shm=yes ;;
1608 --disable-shm) _shm=no ;;
1609 --enable-select) _select=yes ;;
1610 --disable-select) _select=no ;;
1611 --enable-linux-devfs) _linux_devfs=yes ;;
1612 --disable-linux-devfs) _linux_devfs=no ;;
1613 --enable-cdparanoia) _cdparanoia=yes ;;
1614 --disable-cdparanoia) _cdparanoia=no ;;
1615 --enable-big-endian) _big_endian=yes ;;
1616 --disable-big-endian) _big_endian=no ;;
1617 --enable-freetype) _freetype=yes ;;
1618 --disable-freetype) _freetype=no ;;
1619 --enable-fontconfig) _fontconfig=yes ;;
1620 --disable-fontconfig) _fontconfig=no ;;
1621 --enable-unrarlib) _unrarlib=yes ;;
1622 --disable-unrarlib) _unrarlib=no ;;
1623 --enable-ftp) _ftp=yes ;;
1624 --disable-ftp) _ftp=no ;;
1626 --enable-fribidi) _fribidi=yes ;;
1627 --disable-fribidi) _fribidi=no ;;
1629 --enable-enca) _enca=yes ;;
1630 --disable-enca) _enca=no ;;
1632 --enable-inet6) _inet6=yes ;;
1633 --disable-inet6) _inet6=no ;;
1635 --enable-gethostbyname2) _gethostbyname2=yes ;;
1636 --disable-gethostbyname2) _gethostbyname2=no ;;
1638 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
1639 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
1640 --disable-dga) _dga=no ;;
1642 --enable-shared-pp) _shared_pp=yes ;;
1643 --disable-shared-pp) _shared_pp=no ;;
1645 --enable-menu) _menu=yes ;;
1646 --disable-menu) _menu=no ;;
1648 --enable-qtx) _qtx=yes ;;
1649 --disable-qtx) _qtx=no ;;
1651 --enable-macosx) _macosx=yes ;;
1652 --disable-macosx) _macosx=no ;;
1653 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
1654 --disable-macosx-finder-support) _macosx_finder_support=no ;;
1656 --enable-sortsub) _sortsub=yes ;;
1657 --disable-sortsub) _sortsub=no ;;
1659 --language=*)
1660 _language=`echo $ac_option | cut -d '=' -f 2`
1662 # dvdnav disabled, it does not work
1663 # --with-libdvdnav=*)
1664 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1665 # _dvdnav=yes
1666 # ;;
1668 --with-codecsdir=*)
1669 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1670 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1671 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1673 --with-win32libdir=*)
1674 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1675 _win32=yes
1677 --with-xanimlibdir=*)
1678 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1679 _xanim=yes
1681 --with-reallibdir=*)
1682 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1683 _real=yes
1685 --with-livelibdir=*)
1686 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
1688 --with-toolamedir=*)
1689 _toolamedir=`echo $ac_option | cut -d '=' -f 2`
1691 --with-mlibdir=*)
1692 _mlibdir=`echo $ac_option | cut -d '=' -f 2`
1693 _mlib=yes
1696 --with-xmmslibdir=*)
1697 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
1700 --with-xmmsplugindir=*)
1701 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
1704 --with-bio2jack=*)
1705 _bio2jackdir=`echo $ac_option | cut -d '=' -f 2`
1708 --enable-profile)
1709 _profile='-p'
1711 --disable-profile)
1712 _profile=
1714 --enable-debug)
1715 _debug='-g'
1717 --enable-debug=*)
1718 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1720 --disable-debug)
1721 _debug=
1723 --enable-crash-debug)
1724 _crash_debug=yes
1726 --disable-crash-debug)
1727 _crash_debug=no
1729 --enable-sighandler)
1730 _sighandler=yes
1732 --disable-sighandler)
1733 _sighandler=no
1736 --enable-sse) _sse=yes ;;
1737 --disable-sse) _sse=no ;;
1738 --enable-sse2) _sse2=yes ;;
1739 --disable-sse2) _sse2=no ;;
1740 --enable-mmx2) _mmx2=yes ;;
1741 --disable-mmx2) _mmx2=no ;;
1742 --enable-3dnow) _3dnow=yes ;;
1743 --disable-3dnow) _3dnow=no _3dnowex=no ;;
1744 --enable-3dnowex) _3dnow=yes _3dnowex=yes ;;
1745 --disable-3dnowex) _3dnowex=no ;;
1746 --enable-altivec) _altivec=yes ;;
1747 --disable-altivec) _altivec=no ;;
1748 --enable-mmx) _mmx=yes ;;
1749 --disable-mmx) # 3Dnow! and MMX2 require MMX
1750 _3dnow=no _3dnowex=no _mmx=no _mmx2=no ;;
1752 --enable-win32) _win32=yes ;;
1753 --disable-win32) _win32=no _dshow=no ;;
1754 --enable-dshow) _win32=yes _dshow=yes ;;
1755 --disable-dshow) _dshow=no ;;
1757 --with-x11incdir=*)
1758 _inc_x11=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1760 --with-x11libdir=*)
1761 _ld_x11=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1763 --with-dxr2incdir=*)
1764 _inc_dxr2=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1766 --with-xvmclib=*)
1767 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
1769 --with-dvbincdir=*)
1770 _inc_dvb=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1772 --with-xvidlibdir=*)
1773 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1775 --with-xvidincdir=*)
1776 _inc_xvid=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1778 --with-dtslibdir=*)
1779 _ld_libdts=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1781 --with-dtsincdir=*)
1782 _inc_libdts=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1784 --with-x264libdir=*)
1785 _ld_x264=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1787 --with-x264incdir=*)
1788 _inc_x264=-I`echo $ac_option | cut -d '=' -f 2 |sed 's,:, -I,g'`
1790 --with-sdl-config=*)
1791 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
1793 --with-freetype-config=*)
1794 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
1796 --with-fribidi-config=*)
1797 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
1799 --with-gtk-config=*)
1800 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
1802 --with-glib-config=*)
1803 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
1805 # dvdnav disabled, it does not work
1806 # --with-dvdnav-config=*)
1807 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1808 # ;;
1809 --with-madlibdir=*)
1810 _ld_mad=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1812 --with-cdparanoiaincdir=*)
1813 _inc_cdparanoia=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1815 --with-cdparanoialibdir=*)
1816 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1818 --with-termcaplib=*)
1819 _ld_termcap=-l`echo $ac_option | cut -d '=' -f 2`
1820 _termcap=yes
1822 --prefix=*)
1823 _prefix=`echo $ac_option | cut -d '=' -f 2`
1825 --bindir=*)
1826 _bindir=`echo $ac_option | cut -d '=' -f 2`
1828 --datadir=*)
1829 _datadir=`echo $ac_option | cut -d '=' -f 2`
1831 --mandir=*)
1832 _mandir=`echo $ac_option | cut -d '=' -f 2`
1834 --confdir=*)
1835 _confdir=`echo $ac_option | cut -d '=' -f 2`
1837 --libdir=*)
1838 _libdir=`echo $ac_option | cut -d '=' -f 2`
1842 echo "Unknown parameter: $ac_option"
1843 exit 1
1846 esac
1847 done
1849 # Atmos: moved this here, to be correct, if --prefix is specified
1850 test -z "$_bindir" && _bindir="$_prefix/bin"
1851 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1852 test -z "$_mandir" && _mandir="$_prefix/man"
1853 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1854 test -z "$_libdir" && _libdir="$_prefix/lib"
1855 test -z "$_mlibdir" && _mlibdir="$MLIBHOME"
1857 if x86 ; then
1858 # Checking assembler (_as) compatibility...
1859 # Added workaround for older as that reads from stdin by default - atmos
1860 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1861 echocheck "assembler ($_as $as_version)"
1863 _pref_as_version='2.9.1'
1864 echo 'nop' > $TMPS
1865 if test "$_mmx" = yes ; then
1866 echo 'emms' >> $TMPS
1868 if test "$_3dnow" = yes ; then
1869 _pref_as_version='2.10.1'
1870 echo 'femms' >> $TMPS
1872 if test "$_3dnowex" = yes ; then
1873 _pref_as_version='2.10.1'
1874 echo 'pswapd %mm0, %mm0' >> $TMPS
1876 if test "$_mmx2" = yes ; then
1877 _pref_as_version='2.10.1'
1878 echo 'movntq %mm0, (%eax)' >> $TMPS
1880 if test "$_sse" = yes ; then
1881 _pref_as_version='2.10.1'
1882 echo 'xorps %xmm0, %xmm0' >> $TMPS
1884 #if test "$_sse2" = yes ; then
1885 # _pref_as_version='2.11'
1886 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1888 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
1890 if test "$as_verc_fail" != yes ; then
1891 echores "ok"
1892 else
1893 echores "failed"
1894 echo "Upgrade binutils to ${_pref_as_version} ..."
1895 die "obsolete binutils version"
1899 if ppc ; then
1901 # check if altivec is supported by the compiler, and how to enable it
1903 _altivec_gcc_flags=''
1905 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1906 echocheck "GCC altivec support"
1908 p=''
1909 cat > $TMPC << EOF
1910 int main() {
1911 return 0;
1914 FSF_flags='-maltivec -mabi=altivec'
1915 Darwin_flags='-faltivec'
1917 # check for Darwin-style flags first, since
1918 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1919 # accepts but ignores FSF-style flags...
1921 if test -z "$p"; then
1922 cc_check $Darwin_flags && p='Darwin'
1924 if test -z "$p"; then
1925 cc_check $FSF_flags && p='FSF'
1928 case $p in
1929 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
1930 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
1931 *) _altivec=no ;;
1932 esac
1934 if test -z "$p"; then
1935 p=none
1936 else
1937 p="$p-style ($_altivec_gcc_flags)"
1940 echores "$p"
1943 # check if <altivec.h> should be included
1945 _def_altivec_h='#undef HAVE_ALTIVEC_H'
1947 if test "$_altivec" = yes ; then
1948 echocheck "altivec.h"
1949 cat > $TMPC << EOF
1950 #include <altivec.h>
1951 int main(void) { return 0; }
1953 _have_altivec_h=no
1954 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
1955 if test "$_have_altivec_h" = yes ; then
1956 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
1958 echores "$_have_altivec_h"
1961 # disable runtime cpudetection if
1962 # - we cannot generate altivec code
1963 # - altivec is disabled by the user
1965 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
1966 _runtime_cpudetection=no
1969 # show that we are optimizing for altivec (if enabled and supported)
1971 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
1972 _optimizing="$_optimizing altivec"
1975 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1977 if test "$_altivec" = yes ; then
1978 _mcpu="$_mcpu $_altivec_gcc_flags"
1981 # setup _def_altivec correctly
1983 if test "$_altivec" = yes ; then
1984 _def_altivec='#define HAVE_ALTIVEC 1'
1985 else
1986 _def_altivec='#undef HAVE_ALTIVEC'
1990 _def_mmx='#undef HAVE_MMX'
1991 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
1992 _def_mmx2='#undef HAVE_MMX2'
1993 test "$_mmx2" = yes && _def_mmx2='#define HAVE_MMX2 1'
1994 _def_3dnow='#undef HAVE_3DNOW'
1995 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
1996 _def_3dnowex='#undef HAVE_3DNOWEX'
1997 test "$_3dnowex" = yes && _def_3dnowex='#define HAVE_3DNOWEX 1'
1998 _def_sse='#undef HAVE_SSE'
1999 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2000 _def_sse2='#undef HAVE_SSE2'
2001 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2003 # Checking kernel version...
2004 if x86 && linux ; then
2005 _k_verc_problem=no
2006 kernel_version=`uname -r 2>&1`
2007 echocheck "$system_name kernel version"
2008 case "$kernel_version" in
2009 '') kernel_version="?.??"; _k_verc_fail=yes;;
2010 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2011 _k_verc_problem=yes;;
2012 esac
2013 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2014 _k_verc_fail=yes
2016 if test "$_k_verc_fail" ; then
2017 echores "$kernel_version, fail"
2018 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2019 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2020 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2021 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2022 echo "2.2.x you must upgrade it to get SSE support!"
2023 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2024 else
2025 echores "$kernel_version, ok"
2029 if test "$_vidix" = auto ; then
2030 _vidix=no
2031 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2032 x86 && _vidix=yes
2033 ppc && linux && _vidix=yes
2034 alpha && linux && _vidix=yes
2035 qnx && _vidix=no
2036 sunos && _vidix=no
2037 beos && _vidix=no
2040 echocheck "mplayer binary name"
2041 if win32 ; then
2042 _prg="mplayer.exe"
2043 _prg_mencoder="mencoder.exe"
2044 else
2045 _prg="mplayer"
2046 _prg_mencoder="mencoder"
2048 echores $_prg
2051 # On QNX we must link to libph - Gabucino
2052 if qnx ; then
2053 _ld_arch="$_ld_arch -lph"
2056 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2057 _awk=
2058 if test "$_vidix" = yes ; then
2059 _awk_verc_fail=yes
2060 echocheck "awk"
2061 for _awk in mawk gawk nawk awk; do
2062 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2063 _awk_verc_fail=no
2064 break
2066 done
2067 test "$_awk_verc_fail" = yes && _awk=no
2068 echores "$_awk"
2069 if test "$_awk_verc_fail" = yes; then
2070 echo "VIDIX needs awk, but no working implementation was found!"
2071 echo "Try the GNU version, which can be downloaded from:"
2072 echo "ftp://ftp.gnu.org/gnu/gawk/"
2073 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2074 die "no awk"
2078 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2079 if irix ; then
2080 _ranlib='ar -r'
2081 elif linux ; then
2082 _ranlib='true'
2085 ######################
2086 # MAIN TESTS GO HERE #
2087 ######################
2090 echocheck "extra headers"
2091 if test "$_inc_extra" ; then
2092 echores "$_inc_extra"
2093 else
2094 echores "none"
2098 echocheck "extra libs"
2099 if test "$_ld_extra" ; then
2100 echores "$_ld_extra"
2101 else
2102 echores "none"
2105 echocheck "-lposix"
2106 cat > $TMPC <<EOF
2107 int main(void) { return 0; }
2109 if cc_check -lposix ; then
2110 _ld_arch="$_ld_arch -lposix"
2111 echores "yes"
2112 else
2113 echores "no"
2116 echocheck "-lm"
2117 cat > $TMPC <<EOF
2118 int main(void) { return 0; }
2120 if cc_check -lm ; then
2121 _ld_lm="-lm"
2122 echores "yes"
2123 else
2124 _ld_lm=""
2125 echores "no"
2128 # Checking for localization ...
2129 # CSAK EGY MARADHAT - A HEGYLAKO
2130 echocheck "i18n"
2131 if test "$_i18n" != no ; then
2132 cat > $TMPC <<EOF
2133 #include <libintl.h>
2134 int main(void) { gettext("test"); return 0; }
2136 _i18n=no
2137 _i18n_libs=""
2138 if test "$_i18n" = auto ; then
2139 cc_check && _i18n=yes
2140 else
2141 for i18n_lib in "" "-lintl"; do
2142 cc_check $i18n_lib && _i18n=yes && _i18n_libs=$i18n_lib && break
2143 done
2146 if test "$_i18n" = yes ; then
2147 _def_i18n='#define USE_I18N 1'
2148 else
2149 _def_i18n='#undef USE_I18N'
2151 if test -z "$_i18n_libs" ; then
2152 echores "$_i18n"
2153 else
2154 echores "$_i18n (using $_i18n_libs)"
2158 # Checking for setlocale() ...
2159 # CSAK EGY MARADHAT - A HEGYLAKO
2160 # Nemnem. a TV Maci !
2161 echocheck "setlocale()"
2162 if test "$_setlocale" = auto ; then
2163 cat > $TMPC <<EOF
2164 #include <locale.h>
2165 int main(void) { setlocale( LC_ALL,"" ); return 0; }
2167 _setlocale=no
2168 cc_check && _setlocale=yes
2170 if test "$_setlocale" = yes ; then
2171 _def_setlocale='#define USE_SETLOCALE 1'
2172 else
2173 _def_setlocale='#undef USE_SETLOCALE'
2175 echores "$_setlocale"
2178 echocheck "iconv"
2179 if test "$_iconv" = auto ; then
2180 _iconv_tmp='#include <iconv.h>'
2182 cat > $TMPC << EOF
2183 #include <stdio.h>
2184 #include <unistd.h>
2185 $_iconv_tmp
2186 #define INBUFSIZE 1024
2187 #define OUTBUFSIZE 4096
2189 char inbuffer[INBUFSIZE];
2190 char outbuffer[OUTBUFSIZE];
2192 int main(void) {
2193 size_t numread;
2194 iconv_t icdsc;
2195 char *tocode="UTF-8";
2196 char *fromcode="cp1250";
2197 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
2198 while ((numread = read (0, inbuffer, INBUFSIZE))) {
2199 char *iptr=inbuffer;
2200 char *optr=outbuffer;
2201 size_t inleft=numread;
2202 size_t outleft=OUTBUFSIZE;
2203 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
2204 != (size_t)(-1)) {
2205 write (1, outbuffer, OUTBUFSIZE - outleft);
2208 if (iconv_close(icdsc) == -1)
2213 _iconv=no
2214 if cc_check $_ld_lm ; then
2215 _iconv=yes
2216 elif cc_check $_ld_lm -liconv ; then
2217 _iconv=yes
2218 _ld_iconv='-liconv'
2221 if test "$_iconv" = yes ; then
2222 _def_iconv='#define USE_ICONV 1'
2223 else
2224 _def_iconv='#undef USE_ICONV'
2226 echores "$_iconv"
2229 echocheck "langinfo"
2230 if test "$_langinfo" = auto ; then
2231 cat > $TMPC <<EOF
2232 #include <langinfo.h>
2233 int main(void) { nl_langinfo(CODESET); return 0; }
2235 _langinfo=no
2236 cc_check && _langinfo=yes
2238 if test "$_langinfo" = yes ; then
2239 _def_langinfo='#define USE_LANGINFO 1'
2240 else
2241 _def_langinfo='#undef USE_LANGINFO'
2243 echores "$_langinfo"
2246 echocheck "language"
2247 test -z "$_language" && _language=$LINGUAS
2248 _language=`echo $_language | sed 's/,/ /g'`
2249 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2250 for lang in $_language ; do
2251 test "$lang" = all && lang=en
2252 if test -f "help/help_mp-${lang}.h" ; then
2253 _language=$lang
2254 break
2255 else
2256 echo -n "$lang not found, "
2257 _language=`echo $_language | sed "s/$lang *//"`
2259 done
2260 test -z "$_language" && _language=en
2261 _mp_help="help/help_mp-${_language}.h"
2262 test -f $_mp_help || die "$_mp_help not found"
2263 for lang in $LANGUAGES ; do
2264 if test -f "DOCS/man/$lang/mplayer.1" ; then
2265 MAN_LANG="$MAN_LANG $lang"
2267 done
2268 _doc_lang=$_language
2269 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2270 echores "using $_language (man pages: $MAN_LANG)"
2273 echocheck "enable sighandler"
2274 if test "$_sighandler" = yes ; then
2275 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2276 else
2277 _def_sighandler='#undef ENABLE_SIGHANDLER'
2279 echores "$_sighandler"
2281 echocheck "runtime cpudetection"
2282 if test "$_runtime_cpudetection" = yes ; then
2283 _optimizing="Runtime CPU-Detection enabled"
2284 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2285 else
2286 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2288 echores "$_runtime_cpudetection"
2291 echocheck "restrict keyword"
2292 for restrict_keyword in restrict __restrict __restrict__ ; do
2293 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2294 if cc_check; then
2295 _def_restrict_keyword=$restrict_keyword
2296 break;
2298 done
2299 if [ -n "$_def_restrict_keyword" ]; then
2300 echores "$_def_restrict_keyword"
2301 else
2302 echores "none"
2304 # Avoid infinite recursion loop ("#define restrict restrict")
2305 if [ "$_def_restrict_keyword" != "restrict" ]; then
2306 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2307 else
2308 _def_restrict_keyword=""
2312 echocheck "__builtin_expect"
2313 # GCC branch prediction hint
2314 cat > $TMPC << EOF
2315 int foo (int a) {
2316 a = __builtin_expect (a, 10);
2317 return a == 10 ? 0 : 1;
2319 int main() { return foo(10) && foo(0); }
2321 _builtin_expect=no
2322 cc_check && _builtin_expect=yes
2323 if test "$_builtin_expect" = yes ; then
2324 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2325 else
2326 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2328 echores "$_builtin_expect"
2331 echocheck "kstat"
2332 cat > $TMPC << EOF
2333 #include <kstat.h>
2334 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2336 _kstat=no
2337 cc_check -lkstat && _kstat=yes
2338 if test "$_kstat" = yes ; then
2339 _ld_arch="-lkstat $_ld_arch"
2341 if test "$_kstat" = yes ; then
2342 _def_kstat="#define HAVE_LIBKSTAT 1"
2343 else
2344 _def_kstat="#undef HAVE_LIBKSTAT"
2346 echores "$_kstat"
2349 echocheck "posix4"
2350 # required for nanosleep on some systems
2351 cat > $TMPC << EOF
2352 #include <time.h>
2353 int main(void) { (void) nanosleep(0, 0); return 0; }
2355 _posix4=no
2356 cc_check -lposix4 && _posix4=yes
2357 if test "$_posix4" = yes ; then
2358 _ld_arch="-lposix4 $_ld_arch"
2360 echores "$_posix4"
2363 echocheck "lrintf"
2364 cat > $TMPC << EOF
2365 #include <math.h>
2366 int main(void) { (void) lrintf(0.0); return 0; }
2368 _lrintf=no
2369 cc_check $_ld_lm && _lrintf=yes
2370 if test "$_lrintf" = yes ; then
2371 _def_lrintf="#define HAVE_LRINTF 1"
2372 else
2373 _def_lrintf="#undef HAVE_LRINTF"
2375 echores "$_lrintf"
2378 echocheck "nanosleep"
2379 # also check for nanosleep
2380 cat > $TMPC << EOF
2381 #include <time.h>
2382 int main(void) { (void) nanosleep(0, 0); return 0; }
2384 _nanosleep=no
2385 cc_check $_ld_arch && _nanosleep=yes
2386 if test "$_nanosleep" = yes ; then
2387 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2388 else
2389 _def_nanosleep='#undef HAVE_NANOSLEEP'
2391 echores "$_nanosleep"
2394 echocheck "socklib"
2395 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2396 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2397 cat > $TMPC << EOF
2398 #include <netdb.h>
2399 int main(void) { (void) gethostbyname(0); return 0; }
2401 cc_check -lsocket && _ld_sock="-lsocket"
2402 cc_check -lnsl && _ld_sock="-lnsl"
2403 cc_check -lsocket -lnsl && _ld_sock="-lsocket -lnsl"
2404 cc_check -lsocket -ldnet && _ld_sock="-lsocket -ldnet"
2405 cc_check -lsocket -lbind && _ld_sock="-lsocket -lbind"
2406 if test $_winsock2 = auto && not cygwin ; then
2407 _winsock2=no
2408 cat > $TMPC << EOF
2409 #include <winsock2.h>
2410 int main(void) { (void) gethostbyname(0); return 0; }
2412 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2414 if test "$_ld_sock" ; then
2415 echores "yes (using $_ld_sock)"
2416 else
2417 echores "no"
2421 if test $_winsock2 = yes ; then
2422 _ld_sock="-lws2_32"
2423 _def_winsock2='#define HAVE_WINSOCK2 1'
2424 else
2425 _def_winsock2='#undef HAVE_WINSOCK2'
2429 _use_aton=no
2430 echocheck "inet_pton()"
2431 cat > $TMPC << EOF
2432 #include <sys/types.h>
2433 #include <sys/socket.h>
2434 #include <arpa/inet.h>
2435 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2437 if test "$_winsock2" = yes ; then
2438 echores "not needed (using winsock2 functions)"
2439 elif cc_check $_ld_sock ; then
2440 # NOTE: Linux has libresolv but does not need it
2442 echores "yes (using $_ld_sock)"
2443 elif cc_check $_ld_sock -lresolv ; then
2444 # NOTE: needed for SunOS at least
2445 _ld_sock="$_ld_sock -lresolv"
2446 echores "yes (using $_ld_sock)"
2447 else
2448 echores "no (=> i'll try inet_aton next)"
2450 echocheck "inet_aton()"
2451 cat > $TMPC << EOF
2452 #include <sys/types.h>
2453 #include <sys/socket.h>
2454 #include <arpa/inet.h>
2455 int main(void) { (void) inet_aton(0, 0); return 0; }
2457 _use_aton=yes
2458 if cc_check $_ld_sock ; then
2459 # NOTE: Linux has libresolv but does not need it
2461 echores "yes (using $_ld_sock)"
2462 elif cc_check $_ld_sock -lresolv ; then
2463 # NOTE: needed for SunOS at least
2464 _ld_sock="$_ld_sock -lresolv"
2465 echores "yes (using $_ld_sock)"
2466 else
2467 _use_aton=no
2468 _network=no
2469 echores "no (=> network support disabled)"
2473 _def_use_aton='#undef USE_ATON'
2474 if test "$_use_aton" != no; then
2475 _def_use_aton='#define USE_ATON 1'
2479 echocheck "inttypes.h (required)"
2480 cat > $TMPC << EOF
2481 #include <inttypes.h>
2482 int main(void) { return 0; }
2484 _inttypes=no
2485 cc_check && _inttypes=yes
2486 if test "$_inttypes" = yes ; then
2487 # nothing to do
2489 else
2490 echores "no"
2491 echocheck "bitypes.h (inttypes.h predecessor)"
2492 cat > $TMPC << EOF
2493 #include <sys/bitypes.h>
2494 int main(void) { return 0; }
2496 _inttypes=no
2497 cc_check && _inttypes=yes
2498 if test "$_inttypes" = yes ; then
2499 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."
2500 else
2501 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2504 echores "$_inttypes"
2507 echocheck "int_fastXY_t in inttypes.h"
2508 cat > $TMPC << EOF
2509 #include <inttypes.h>
2510 int main(void) {
2511 volatile int_fast16_t v= 0;
2512 return v; }
2514 _fast_inttypes=no
2515 cc_check && _fast_inttypes=yes
2516 if test "$_fast_inttypes" = yes ; then
2517 # nothing to do
2519 else
2520 _def_fast_inttypes='
2521 typedef signed char int_fast8_t;
2522 typedef signed int int_fast16_t;
2523 typedef signed int int_fast32_t;
2524 typedef unsigned char uint_fast8_t;
2525 typedef unsigned int uint_fast16_t;
2526 typedef unsigned int uint_fast32_t;'
2528 echores "$_fast_inttypes"
2531 echocheck "word size"
2532 _mp_wordsize="#undef MP_WORDSIZE"
2533 cat > $TMPC << EOF
2534 #include <stdio.h>
2535 #include <sys/types.h>
2536 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2538 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2539 echores "$_wordsize"
2542 echocheck "stddef.h"
2543 cat > $TMPC << EOF
2544 #include <stddef.h>
2545 int main(void) { return 0; }
2547 _stddef=no
2548 cc_check && _stddef=yes
2549 if test "$_stddef" = yes ; then
2550 _def_stddef='#define HAVE_STDDEF_H 1'
2551 else
2552 _def_stddef='#undef HAVE_STDDEF_H'
2554 echores "$_stddef"
2557 echocheck "malloc.h"
2558 cat > $TMPC << EOF
2559 #include <malloc.h>
2560 int main(void) { (void) malloc(0); return 0; }
2562 _malloc=no
2563 cc_check && _malloc=yes
2564 if test "$_malloc" = yes ; then
2565 _def_malloc='#define HAVE_MALLOC_H 1'
2566 else
2567 _def_malloc='#undef HAVE_MALLOC_H'
2569 # malloc.h emits a warning in FreeBSD and OpenBSD
2570 (freebsd || openbsd) && _def_malloc='#undef HAVE_MALLOC_H'
2571 echores "$_malloc"
2574 echocheck "memalign()"
2575 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2576 cat > $TMPC << EOF
2577 #include <malloc.h>
2578 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2580 _memalign=no
2581 cc_check && _memalign=yes
2582 if test "$_memalign" = yes ; then
2583 _def_memalign='#define HAVE_MEMALIGN 1'
2584 else
2585 _def_memalign='#undef HAVE_MEMALIGN'
2587 echores "$_memalign"
2590 echocheck "alloca.h"
2591 cat > $TMPC << EOF
2592 #include <alloca.h>
2593 int main(void) { (void) alloca(0); return 0; }
2595 _alloca=no
2596 cc_check && _alloca=yes
2597 if cc_check ; then
2598 _def_alloca='#define HAVE_ALLOCA_H 1'
2599 else
2600 _def_alloca='#undef HAVE_ALLOCA_H'
2602 echores "$_alloca"
2605 echocheck "mman.h"
2606 cat > $TMPC << EOF
2607 #include <sys/types.h>
2608 #include <sys/mman.h>
2609 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2611 _mman=no
2612 cc_check && _mman=yes
2613 if test "$_mman" = yes ; then
2614 _def_mman='#define HAVE_SYS_MMAN_H 1'
2615 else
2616 _def_mman='#undef HAVE_SYS_MMAN_H'
2618 echores "$_mman"
2620 echocheck "dynamic loader"
2621 cat > $TMPC << EOF
2622 #include <dlfcn.h>
2623 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2625 _dl=no
2626 if cc_check ; then
2627 _dl=yes
2628 elif cc_check -ldl ; then
2629 _dl=yes
2630 _ld_dl='-ldl'
2632 if test "$_dl" = yes ; then
2633 _def_dl='#define HAVE_LIBDL 1'
2634 else
2635 _def_dl='#undef HAVE_LIBDL'
2637 echores "$_dl"
2640 echocheck "dynamic a/v plugins support"
2641 if test "$_dl" = no ; then
2642 _dynamic_plugins=no
2644 if test "$_dynamic_plugins" = yes ; then
2645 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2646 else
2647 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2649 echores "$_dynamic_plugins"
2652 #echocheck "dynamic linking"
2653 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2654 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2655 #cat > $TMPC << EOF
2656 #int main(void) { return 0; }
2657 #EOF
2658 #if cc_check -rdynamic ; then
2659 # _ld_dl_dynamic='-rdynamic'
2660 #elif cc_check -Bdynamic ; then
2661 # _ld_dl_dynamic='-Bdynamic'
2662 #elif cc_check ; then
2663 # _ld_dl_dynamic=''
2665 #echores "using $_ld_dl_dynamic"
2668 echocheck "pthread"
2669 cat > $TMPC << EOF
2670 #include <pthread.h>
2671 void* func(void *arg) { return arg; }
2672 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2674 if mingw32 ; then
2675 _ld_pthread=''
2676 elif ( cc_check && $TMPO ) ; then # QNX
2677 _ld_pthread=''
2678 elif ( cc_check -lpthread && $TMPO ) ; then
2679 _ld_pthread='-lpthread'
2680 elif ( cc_check -pthread && $TMPO ) ; then
2681 _ld_pthread='-pthread'
2682 else
2683 if test "$_ld_static" ; then
2684 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2685 if ( cc_check -lpthread ) ; then
2686 _ld_pthread='-lpthread'
2687 elif ( cc_check -pthread ) ; then
2688 _ld_pthread='-pthread'
2689 else
2690 echores "no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2691 _ld_pthread='' ; _nas=no ; _tv_v4l=no ; _macosx=no ; _win32=no
2693 else
2694 echores "no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2695 _ld_pthread='' ; _nas=no ; _tv_v4l=no ; _macosx=no ; _win32=no
2698 if test "$_ld_pthread" != '' ; then
2699 echores "yes (using $_ld_pthread)"
2700 _pthreads='yes'
2701 _def_pthreads='#define HAVE_PTHREADS 1'
2702 else
2703 echores "no"
2704 _pthreads=''
2705 _def_pthreads='#undef HAVE_PTHREADS'
2709 echocheck "sys/soundcard.h"
2710 cat > $TMPC << EOF
2711 #include <sys/soundcard.h>
2712 int main(void) { return 0; }
2714 _sys_soundcard=no
2715 cc_check && _sys_soundcard=yes
2716 if test "$_sys_soundcard" = yes ; then
2717 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
2718 _inc_soundcard='#include <sys/soundcard.h>'
2719 else
2720 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
2722 echores "$_sys_soundcard"
2724 if test "$_sys_soundcard" != yes ; then
2725 echocheck "soundcard.h"
2726 cat > $TMPC << EOF
2727 #include <soundcard.h>
2728 int main(void) { return 0; }
2730 _soundcard=no
2731 cc_check && _soundcard=yes
2732 if linux || test "$_ossaudio" != no ; then
2733 # use soundcard.h on Linux, or when OSS support is enabled
2734 echores "$_soundcard"
2735 else
2736 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2737 echores "$_soundcard, but ignored!"
2738 _soundcard=no
2740 if test "$_soundcard" = yes ; then
2741 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
2742 _inc_soundcard='#include <soundcard.h>'
2743 else
2744 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2746 else
2747 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2751 echocheck "sys/dvdio.h"
2752 cat > $TMPC << EOF
2753 #include <unistd.h>
2754 #include <sys/dvdio.h>
2755 int main(void) { return 0; }
2757 _dvdio=no
2758 cc_check && _dvdio=yes
2759 if test "$_dvdio" = yes ; then
2760 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2761 else
2762 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2764 echores "$_dvdio"
2767 echocheck "sys/cdio.h"
2768 cat > $TMPC << EOF
2769 #include <unistd.h>
2770 #include <sys/cdio.h>
2771 int main(void) { return 0; }
2773 _cdio=no
2774 cc_check && _cdio=yes
2775 if test "$_cdio" = yes ; then
2776 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2777 else
2778 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2780 echores "$_cdio"
2783 echocheck "linux/cdrom.h"
2784 cat > $TMPC << EOF
2785 #include <sys/types.h>
2786 #include <linux/cdrom.h>
2787 int main(void) { return 0; }
2789 _cdrom=no
2790 cc_check && _cdrom=yes
2791 if test "$_cdrom" = yes ; then
2792 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2793 else
2794 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2796 echores "$_cdrom"
2799 echocheck "dvd.h"
2800 cat > $TMPC << EOF
2801 #include <dvd.h>
2802 int main(void) { return 0; }
2804 _dvd=no
2805 cc_check && _dvd=yes
2806 if test "$_dvd" = yes ; then
2807 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
2808 else
2809 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
2811 echores "$_dvd"
2814 echocheck "BSDI dvd.h"
2815 cat > $TMPC << EOF
2816 #include <dvd.h>
2817 int main(void) { return 0; }
2819 _bsdi_dvd=no
2820 cc_check && _bsdi_dvd=yes
2821 if test "$_bsdi_dvd" = yes ; then
2822 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2823 else
2824 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2826 echores "$_bsdi_dvd"
2829 echocheck "HPUX SCSI header"
2830 cat > $TMPC << EOF
2831 #include <sys/scsi.h>
2832 int main(void) { return 0; }
2834 _hpux_scsi_h=no
2835 cc_check && _hpux_scsi_h=yes
2836 if test "$_hpux_scsi_h" = yes ; then
2837 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
2838 else
2839 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
2841 echores "$_hpux_scsi_h"
2844 echocheck "userspace SCSI headers (Solaris)"
2845 cat > $TMPC << EOF
2846 # include <unistd.h>
2847 # include <stropts.h>
2848 # include <sys/scsi/scsi_types.h>
2849 # include <sys/scsi/impl/uscsi.h>
2850 int main(void) { return 0; }
2852 _sol_scsi_h=no
2853 cc_check && _sol_scsi_h=yes
2854 if test "$_sol_scsi_h" = yes ; then
2855 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
2856 else
2857 _def_sol_scsi_h='#undef SOLARIS_USCSI'
2859 echores "$_sol_scsi_h"
2862 echocheck "termcap"
2863 if test "$_termcap" = auto ; then
2864 cat > $TMPC <<EOF
2865 int main(void) { return 0; }
2867 _termcap=no
2868 cc_check -ltermcap && _termcap=yes && _ld_termcap='-ltermcap'
2869 cc_check -ltinfo && _termcap=yes && _ld_termcap='-ltinfo'
2871 if test "$_termcap" = yes ; then
2872 _def_termcap='#define USE_TERMCAP 1'
2873 echores "yes (using $_ld_termcap)"
2874 else
2875 _def_termcap='#undef USE_TERMCAP'
2876 echores no
2880 echocheck "termios"
2881 if test "$_termios" = auto ; then
2882 cat > $TMPC <<EOF
2883 #include <sys/termios.h>
2884 int main(void) { return 0; }
2886 _termios=auto
2887 cc_check && _termios=yes
2888 _def_termios_h_name='sys/termios.h'
2890 # second test:
2891 if test "$_termios" = auto ; then
2892 cat > $TMPC <<EOF
2893 #include <termios.h>
2894 int main(void) { return 0; }
2896 _termios=no
2897 cc_check && _termios=yes
2898 _def_termios_h_name='termios.h'
2901 if test "$_termios" = yes ; then
2902 _def_termios='#define HAVE_TERMIOS 1'
2903 _def_termios_h='#undef HAVE_TERMIOS_H'
2904 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
2906 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2907 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
2908 elif test "$_def_termios_h_name" = 'termios.h' ; then
2909 _def_termios_h='#define HAVE_TERMIOS_H 1'
2911 echores "yes (using $_def_termios_h_name)"
2912 else
2913 _def_termios='#undef HAVE_TERMIOS'
2914 _def_termios_h_name=''
2915 echores "no"
2919 echocheck "shm"
2920 if test "$_shm" = auto ; then
2921 cat > $TMPC << EOF
2922 #include <sys/types.h>
2923 #include <sys/shm.h>
2924 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2926 _shm=no
2927 cc_check && _shm=yes
2929 if test "$_shm" = yes ; then
2930 _def_shm='#define HAVE_SHM 1'
2931 else
2932 _def_shm='#undef HAVE_SHM'
2934 echores "$_shm"
2937 # XXX: FIXME, add runtime checking
2938 echocheck "linux devfs"
2939 echores "$_linux_devfs"
2942 echocheck "scandir()"
2943 cat > $TMPC << EOF
2944 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2946 _scandir=no
2947 cc_check && _scandir=yes
2948 if test "$_scandir" = yes ; then
2949 _def_scandir='#define HAVE_SCANDIR 1'
2950 else
2951 _def_scandir='#undef HAVE_SCANDIR'
2953 echores "$_scandir"
2956 echocheck "strsep()"
2957 cat > $TMPC << EOF
2958 #include <string.h>
2959 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2961 _strsep=no
2962 cc_check && _strsep=yes
2963 if test "$_strsep" = yes ; then
2964 _def_strsep='#define HAVE_STRSEP 1'
2965 else
2966 _def_strsep='#undef HAVE_STRSEP'
2968 echores "$_strsep"
2970 echocheck "strlcpy()"
2971 cat > $TMPC << EOF
2972 #include <string.h>
2973 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
2975 _strlcpy=no
2976 cc_check && _strlcpy=yes
2977 if test "$_strlcpy" = yes ; then
2978 _def_strlcpy='#define HAVE_STRLCPY 1'
2979 else
2980 _def_strlcpy='#undef HAVE_STRLCPY'
2982 echores "$_strlcpy"
2984 echocheck "strlcat()"
2985 cat > $TMPC << EOF
2986 #include <string.h>
2987 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
2989 _strlcat=no
2990 cc_check && _strlcat=yes
2991 if test "$_strlcat" = yes ; then
2992 _def_strlcat='#define HAVE_STRLCAT 1'
2993 else
2994 _def_strlcat='#undef HAVE_STRLCAT'
2996 echores "$_strlcat"
2998 echocheck "fseeko()"
2999 cat > $TMPC << EOF
3000 #include <stdio.h>
3001 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3003 _fseeko=no
3004 cc_check && _fseeko=yes
3005 if test "$_fseeko" = yes ; then
3006 _def_fseeko='#define HAVE_FSEEKO 1'
3007 else
3008 _def_fseeko='#undef HAVE_FSEEKO'
3010 echores "$_fseeko"
3012 echocheck "localtime_r()"
3013 cat > $TMPC << EOF
3014 #include <time.h>
3015 int main( void ) { localtime_r(NULL, NULL); }
3017 _localtime_r=no
3018 cc_check && _localtime_r=yes
3019 if test "$_localtime_r" = yes ; then
3020 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3021 else
3022 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3024 echores "$_localtime_r"
3026 echocheck "vsscanf()"
3027 cat > $TMPC << EOF
3028 #include <stdarg.h>
3029 int main(void) { vsscanf(0, 0, 0); return 0; }
3031 _vsscanf=no
3032 cc_check && _vsscanf=yes
3033 if test "$_vsscanf" = yes ; then
3034 _def_vsscanf='#define HAVE_VSSCANF 1'
3035 else
3036 _def_vsscanf='#undef HAVE_VSSCANF'
3038 echores "$_vsscanf"
3041 echocheck "swab()"
3042 cat > $TMPC << EOF
3043 #include <unistd.h>
3044 int main(void) { swab(0, 0, 0); return 0; }
3046 _swab=no
3047 cc_check && _swab=yes
3048 if test "$_swab" = yes ; then
3049 _def_swab='#define HAVE_SWAB 1'
3050 else
3051 _def_swab='#undef HAVE_SWAB'
3053 echores "$_swab"
3055 echocheck "posix select()"
3056 cat > $TMPC << EOF
3057 #include <stdio.h>
3058 #include <stdlib.h>
3059 #include <sys/types.h>
3060 #include <string.h>
3061 #include <sys/time.h>
3062 #include <unistd.h>
3063 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3065 _posix_select=no
3066 cc_check && _posix_select=yes
3067 if test "$_posix_select" = no ; then
3068 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3069 else
3070 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3072 echores "$_posix_select"
3075 echocheck "gettimeofday()"
3076 cat > $TMPC << EOF
3077 #include <stdio.h>
3078 #include <sys/time.h>
3079 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3081 _gettimeofday=no
3082 cc_check && _gettimeofday=yes
3083 if test "$_gettimeofday" = yes ; then
3084 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3085 else
3086 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3088 echores "$_gettimeofday"
3091 echocheck "glob()"
3092 cat > $TMPC << EOF
3093 #include <stdio.h>
3094 #include <glob.h>
3095 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3097 _glob=no
3098 cc_check && _glob=yes
3099 if test "$_glob" = yes ; then
3100 _def_glob='#define HAVE_GLOB 1'
3101 else
3102 _def_glob='#undef HAVE_GLOB'
3104 echores "$_glob"
3107 echocheck "sys/sysinfo.h"
3108 cat > $TMPC << EOF
3109 #include <sys/sysinfo.h>
3110 int main(void) {
3111 struct sysinfo s_info;
3112 sysinfo(&s_info);
3113 return 0;
3116 _sys_sysinfo=no
3117 cc_check && _sys_sysinfo=yes
3118 if test "$_sys_sysinfo" = yes ; then
3119 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3120 _inc_sysinfo='#include <sys/sysinfo.h>'
3121 else
3122 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3124 echores "$_sys_sysinfo"
3127 echocheck "Mac OS X APIs"
3128 if test "$_macosx" = auto ; then
3129 if darwin && ppc; then
3130 _macosx=yes
3131 else
3132 _macosx=no
3133 _def_macosx='#undef MACOSX'
3134 _noaomodules="macosx $_noaomodules"
3135 _novomodules="quartz $_novomodules"
3138 if test "$_macosx" = yes ; then
3139 cat > $TMPC <<EOF
3140 #include <Carbon/Carbon.h>
3141 #include <QuickTime/QuickTime.h>
3142 #include <CoreAudio/CoreAudio.h>
3143 int main(void) {
3144 EnterMovies();
3145 ExitMovies();
3146 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3149 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3150 _macosx=yes
3151 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio"
3152 _def_macosx='#define MACOSX 1'
3153 _aosrc="$_aosrc ao_macosx.c"
3154 _aomodules="macosx $_aomodules"
3155 _vosrc="$_vosrc vo_quartz.c"
3156 _vomodules="quartz $_vomodules"
3157 else
3158 _macosx=no
3159 _def_macosx='#undef MACOSX'
3160 _noaomodules="macosx $_noaomodules"
3161 _novomodules="quartz $_novomodules"
3164 echores "$_macosx"
3166 echocheck "Mac OS X Finder Support"
3167 if test "$_macosx_finder_support" = auto ; then
3168 _macosx_finder_support=$_macosx
3170 if test "$_macosx_finder_support" = yes; then
3171 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3172 _macosx_finder_support=yes
3173 else
3174 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3175 _macosx_finder_support=no
3177 echores "$_macosx_finder_support"
3179 echocheck "Samba support (libsmbclient)"
3180 if test "$_smbsupport" = yes; then
3181 _ld_smb="-lsmbclient"
3183 if test "$_smbsupport" = auto; then
3184 _smbsupport=no
3185 cat > $TMPC << EOF
3186 #include <libsmbclient.h>
3187 int main(void) { smbc_opendir("smb://"); return 0; }
3189 if cc_check -lsmbclient ; then
3190 _smbsupport=yes
3191 _ld_smb="-lsmbclient"
3192 else
3193 if cc_check -lsmbclient $_ld_dl ; then
3194 _smbsupport=yes
3195 _ld_smb="-lsmbclient $_ld_dl"
3196 else
3197 if cc_check -lsmbclient $_ld_dl -lnsl ; then
3198 _smbsupport=yes
3199 _ld_smb="-lsmbclient $_ld_dl -lnsl"
3205 if test "$_smbsupport" = yes; then
3206 _def_smbsupport="#define LIBSMBCLIENT"
3207 _inputmodules="smb $_inputmodules"
3208 else
3209 _def_smbsupport="#undef LIBSMBCLIENT"
3210 _noinputmodules="smb $_noinputmodules"
3212 echores "$_smbsupport"
3215 #########
3216 # VIDEO #
3217 #########
3220 echocheck "3dfx"
3221 if test "$_3dfx" = yes ; then
3222 _def_3dfx='#define HAVE_3DFX 1'
3223 _vosrc="$_vosrc vo_3dfx.c"
3224 _vomodules="3dfx $_vomodules"
3225 else
3226 _def_3dfx='#undef HAVE_3DFX'
3227 _novomodules="3dfx $_novomodules"
3229 echores "$_3dfx"
3232 echocheck "tdfxfb"
3233 if test "$_tdfxfb" = yes ; then
3234 _def_tdfxfb='#define HAVE_TDFXFB 1'
3235 _vosrc="$_vosrc vo_tdfxfb.c"
3236 _vomodules="tdfxfb $_vomodules"
3237 else
3238 _def_tdfxfb='#undef HAVE_TDFXFB'
3239 _novomodules="tdfxfb $_novomodules"
3241 echores "$_tdfxfb"
3243 echocheck "tdfxvid"
3244 if test "$_tdfxvid" = yes ; then
3245 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3246 _vosrc="$_vosrc vo_tdfx_vid.c"
3247 _vomodules="tdfx_vid $_vomodules"
3248 else
3249 _def_tdfxvid='#undef HAVE_TDFX_VID'
3250 _novomodules="tdfx_vid $_novomodules"
3252 echores "$_tdfxfb"
3254 echocheck "tga"
3255 if test "$_tga" = yes ; then
3256 _def_tga='#define HAVE_TGA 1'
3257 _vosrc="$_vosrc vo_tga.c"
3258 _vomodules="tga $_vomodules"
3259 else
3260 _def_tga='#undef HAVE_TGA'
3261 _novomodules="tga $_novomodules"
3263 echores "$_tga"
3265 echocheck "DirectFB headers presence"
3266 if test -z "$_inc_directfb" ; then
3267 for I in /usr/include /usr/local/include $_inc_extra; do
3268 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3269 _inc_directfb="-I$I/directfb"
3270 echores "yes (using $_inc_directfb)"
3271 break
3273 if test -d "$I" && test -f "$I/directfb.h" ; then
3274 _inc_directfb="-I$I"
3275 echores "yes (using $_inc_directfb)"
3276 break
3278 done
3279 if test -z "$_inc_directfb" ; then
3280 _directfb=no
3281 echores "not found"
3283 else
3284 echores "yes (using $_inc_directfb)"
3286 if test "$_inc_directfb" = "-I/usr/include" ; then
3287 _inc_directfb=""
3290 echocheck "DirectFB"
3291 if test "$_directfb" = auto ; then
3292 _directfb=no
3293 cat > $TMPC <<EOF
3294 #include <directfb.h>
3295 int main(void) { IDirectFB *foo; return 0; }
3297 linux && test -c /dev/fb0 && cc_check $_inc_directfb -ldirectfb && _directfb=yes
3300 if test "$_directfb" = yes; then
3301 cat > $TMPC <<EOF
3302 #include <directfb.h>
3303 int main(void) {
3304 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
3305 return 0;
3308 if cc_check $_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
3309 _directfb_version=`"$TMPO"`
3310 _def_directfb_version="#define DIRECTFBVERSION $_directfb_version"
3311 echores "yes ($_directfb_version)"
3312 else
3313 _directfb=no
3314 echores "no (failed to get version)"
3316 else
3317 echores "$_directfb"
3320 if test "$_directfb" = yes ; then
3321 _def_directfb='#define HAVE_DIRECTFB 1'
3322 if test "$_directfb_version" -ge 913; then
3323 _vosrc="$_vosrc vo_directfb2.c"
3324 else
3325 _vosrc="$_vosrc vo_directfb.c"
3327 _vomodules="directfb $_vomodules"
3328 _ld_directfb='-ldirectfb'
3330 if test "$_directfb_version" -ge 915; then
3331 _vosrc="$_vosrc vo_dfbmga.c"
3332 _vomodules="dfbmga $_vomodules"
3334 else
3335 _def_directfb='#undef HAVE_DIRECTFB'
3336 _novomodules="directfb $_novomodules"
3337 _inc_directfb=""
3341 echocheck "X11 headers presence"
3342 if test -z "$_inc_x11" ; then
3343 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
3344 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3345 _inc_x11="-I$I"
3346 echores "yes (using $I)"
3347 break
3349 done
3350 if test -z "$_inc_x11" ; then
3351 _x11=no
3352 echores "not found (check if the dev(el) packages are installed)"
3354 else
3355 echores "yes (using $_inc_x11)"
3357 if test "$_inc_x11" = "-I/usr/include" ; then
3358 _inc_x11=""
3362 echocheck "X11 libs presence"
3363 if test -z "$_ld_x11" ; then
3364 for I in /usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 /usr/lib ; do
3365 if test -d "$I" && ( test -f "$I/libX11.so" || test -f "$I/libX11.a" || test -f "$I/libX11.dll.a" ) ; then
3366 if netbsd; then
3367 _ld_x11="-L$I -Wl,-R$I"
3368 else
3369 _ld_x11="-L$I"
3371 echores "yes (using $I)"
3372 break;
3374 done
3375 if test -z "$_ld_x11" ; then
3376 _x11=no
3377 echores "not found (check if the dev(el) packages are installed)"
3379 else
3380 echores "yes (using $_ld_x11)"
3382 _ld_x11="$_ld_x11 -lXext -lX11 $_ld_sock"
3385 echocheck "X11"
3386 if test "$_x11" != no ; then
3387 cat > $TMPC <<EOF
3388 #include <X11/Xlib.h>
3389 #include <X11/Xutil.h>
3390 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3392 _x11=no
3393 cc_check $_inc_x11 $_ld_x11 && _x11=yes
3395 if test "$_x11" = yes ; then
3396 _def_x11='#define HAVE_X11 1'
3397 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3398 _vomodules="x11 xover $_vomodules"
3399 else
3400 _def_x11='#undef HAVE_X11'
3401 _inc_x11=''
3402 _ld_x11=''
3403 _novomodules="x11 $_novomodules"
3405 echores "$_x11"
3408 echocheck "DPMS"
3409 _xdpms3=no
3410 if test "$_x11" = yes ; then
3411 cat > $TMPC <<EOF
3412 #include <X11/Xmd.h>
3413 #include <X11/Xlib.h>
3414 #include <X11/Xutil.h>
3415 #include <X11/Xatom.h>
3416 #include <X11/extensions/dpms.h>
3417 int main(void) {
3418 (void) DPMSQueryExtension(0, 0, 0);
3421 cc_check $_inc_x11 -lXdpms $_ld_x11 && _xdpms3=yes
3423 _xdpms4=no
3424 if test "$_x11" = yes ; then
3425 cat > $TMPC <<EOF
3426 #include <X11/Xlib.h>
3427 #include <X11/extensions/dpms.h>
3428 int main(void) {
3429 (void) DPMSQueryExtension(0, 0, 0);
3432 cc_check $_inc_x11 $_ld_x11 && _xdpms4=yes
3434 if test "$_xdpms4" = yes ; then
3435 _def_xdpms='#define HAVE_XDPMS 1'
3436 echores "yes (using Xdpms 4)"
3437 elif test "$_xdpms3" = yes ; then
3438 _def_xdpms='#define HAVE_XDPMS 1'
3439 _ld_x11="-lXdpms $_ld_x11"
3440 echores "yes (using Xdpms 3)"
3441 else
3442 _def_xdpms='#undef HAVE_XDPMS'
3443 echores "no"
3447 echocheck "Xv"
3448 if test "$_x11" = yes && test "$_xv" != no ; then
3449 cat > $TMPC <<EOF
3450 #include <X11/Xlib.h>
3451 #include <X11/extensions/Xvlib.h>
3452 int main(void) {
3453 (void) XvGetPortAttribute(0, 0, 0, 0);
3454 (void) XvQueryPortAttributes(0, 0, 0);
3455 return 0; }
3457 _xv=no
3458 cc_check $_inc_x11 -lXv $_ld_x11 && _xv=yes
3459 else
3460 _xv=no
3462 if test "$_xv" = yes ; then
3463 _def_xv='#define HAVE_XV 1'
3464 _ld_xv='-lXv'
3465 _vosrc="$_vosrc vo_xv.c"
3466 _vomodules="xv $_vomodules"
3467 else
3468 _def_xv='#undef HAVE_XV'
3469 _novomodules="xv $_novomodules"
3471 echores "$_xv"
3474 echocheck "XvMC"
3475 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no ; then
3476 _xvmc=no
3477 cat > $TMPC <<EOF
3478 #include <X11/Xlib.h>
3479 #include <X11/extensions/Xvlib.h>
3480 #include <X11/extensions/XvMClib.h>
3481 int main(void) {
3482 (void) XvMCQueryExtension(0,0,0);
3483 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3484 return 0; }
3486 cc_check $_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc=yes
3488 if test "$_xvmc" = yes ; then
3489 _def_xvmc='#define HAVE_XVMC 1'
3490 _ld_xvmc="-lXvMC -l$_xvmclib"
3491 _vosrc="$_vosrc vo_xvmc.c"
3492 _vomodules="xvmc $_vomodules"
3493 else
3494 _def_xvmc='#undef HAVE_XVMC'
3495 _novomodules="xvmc $_novomodules"
3497 echores "$_xvmc"
3500 echocheck "Xinerama"
3501 if test "$_x11" = yes && test "$_xinerama" != no ; then
3502 cat > $TMPC <<EOF
3503 #include <X11/Xlib.h>
3504 #include <X11/extensions/Xinerama.h>
3505 int main(void) { (void) XineramaIsActive(0); return 0; }
3507 _xinerama=no
3508 cc_check $_inc_x11 -lXinerama $_ld_x11 && _xinerama=yes
3509 else
3510 _xinerama=no
3512 if test "$_xinerama" = yes ; then
3513 _def_xinerama='#define HAVE_XINERAMA 1'
3514 _ld_xinerama='-lXinerama'
3515 else
3516 _def_xinerama='#undef HAVE_XINERAMA'
3518 echores "$_xinerama"
3521 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3522 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3523 # named 'X extensions' or something similar.
3524 # This check may be useful for future mplayer versions (to change resolution)
3525 # If you run into problems, remove '-lXxf86vm'.
3526 echocheck "Xxf86vm"
3527 if test "$_x11" = yes && test "$_vm" != no ; then
3528 cat > $TMPC <<EOF
3529 #include <X11/Xlib.h>
3530 #include <X11/extensions/xf86vmode.h>
3531 #include <X11/XF86keysym.h>
3532 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3534 _vm=no
3535 cc_check $_inc_x11 -lXxf86vm $_ld_x11 && _vm=yes
3536 else
3537 _vm=no
3539 if test "$_vm" = yes ; then
3540 _def_vm='#define HAVE_XF86VM 1'
3541 _ld_vm='-lXxf86vm'
3542 else
3543 _def_vm='#undef HAVE_XF86VM'
3545 echores "$_vm"
3548 echocheck "DGA"
3549 # Version 2 is preferred to version 1 if available
3550 if test "$_dga" = auto ; then
3551 cat > $TMPC << EOF
3552 #include <X11/Xlib.h>
3553 #include <X11/extensions/xf86dga.h>
3554 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3556 _dga=no
3557 cc_check $_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
3559 cat > $TMPC << EOF
3560 #include <X11/Xlib.h>
3561 #include <X11/extensions/xf86dga.h>
3562 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3564 cc_check $_inc_x11 -lXxf86dga $_ld_x11 && _dga=2
3567 _def_dga='#undef HAVE_DGA'
3568 _def_dga2='#undef HAVE_DGA2'
3569 if test "$_dga" = 1 ; then
3570 _def_dga='#define HAVE_DGA 1'
3571 _ld_dga='-lXxf86dga'
3572 _vosrc="$_vosrc vo_dga.c"
3573 _vomodules="dga $_vomodules"
3574 echores "yes (using DGA 1.0)"
3575 elif test "$_dga" = 2 ; then
3576 _def_dga='#define HAVE_DGA 1'
3577 _def_dga2='#define HAVE_DGA2 1'
3578 _ld_dga='-lXxf86dga'
3579 _vosrc="$_vosrc vo_dga.c"
3580 _vomodules="dga $_vomodules"
3581 echores "yes (using DGA 2.0)"
3582 elif test "$_dga" = no ; then
3583 echores "no"
3584 _novomodules="dga $_novomodules"
3585 else
3586 die "DGA version must be 1 or 2"
3590 echocheck "OpenGL"
3591 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3592 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
3593 cat > $TMPC << EOF
3594 #include <GL/gl.h>
3595 int main(void) { return 0; }
3597 _gl=no
3598 if cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3599 _gl=yes
3600 _ld_gl="-lGL"
3601 elif cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3602 _gl=yes
3603 _ld_gl="-lGL $_ld_pthread"
3604 elif cc_check -lopengl32 ; then
3605 _gl=yes
3606 _gl_win32=yes
3607 _ld_gl="-lopengl32 -lgdi32"
3609 else
3610 _gl=no
3612 if test "$_gl" = yes ; then
3613 _def_gl='#define HAVE_GL 1'
3614 if test "$_gl_win32" = yes ; then
3615 _def_gl_win32='#define GL_WIN32 1'
3616 _vosrc="$_vosrc vo_gl2.c w32_common.c gl_common.c"
3617 else
3618 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3620 _vomodules="opengl $_vomodules"
3621 else
3622 _def_gl='#undef HAVE_GL'
3623 _def_gl_win32='#undef GL_WIN32'
3624 _novomodules="opengl $_novomodules"
3626 echores "$_gl"
3629 echocheck "/dev/mga_vid"
3630 if test "$_mga" = auto ; then
3631 _mga=no
3632 test -c /dev/mga_vid && _mga=yes
3634 if test "$_mga" = yes ; then
3635 _def_mga='#define HAVE_MGA 1'
3636 _vosrc="$_vosrc vo_mga.c"
3637 _vomodules="mga $_vomodules"
3638 else
3639 _def_mga='#undef HAVE_MGA'
3640 _novomodules="mga $_novomodules"
3642 echores "$_mga"
3645 # echocheck "syncfb"
3646 # _syncfb=no
3647 # test "$_mga" = yes && _syncfb=yes
3648 # if test "$_syncfb" = yes ; then
3649 # _def_syncfb='#define HAVE_SYNCFB 1'
3650 # _vosrc="$_vosrc vo_syncfb.c"
3651 # else
3652 # _def_syncfb='#undef HAVE_SYNCFB'
3653 # fi
3654 # echores "$_syncfb"
3657 echocheck "xmga"
3658 if test "$_xmga" = auto ; then
3659 _xmga=no
3660 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
3662 if test "$_xmga" = yes ; then
3663 _def_xmga='#define HAVE_XMGA 1'
3664 _vosrc="$_vosrc vo_xmga.c"
3665 _vomodules="xmga $_vomodules"
3666 else
3667 _def_xmga='#undef HAVE_XMGA'
3668 _novomodules="xmga $_novomodules"
3670 echores "$_xmga"
3673 echocheck "GGI"
3674 if test "$_ggi" = auto ; then
3675 cat > $TMPC << EOF
3676 #include <ggi/ggi.h>
3677 int main(void) { return 0; }
3679 _ggi=no
3680 cc_check -lggi && _ggi=yes
3682 if test "$_ggi" = yes ; then
3683 _def_ggi='#define HAVE_GGI 1'
3684 _ld_ggi='-lggi'
3685 _vosrc="$_vosrc vo_ggi.c"
3686 _vomodules="ggi $_vomodules"
3687 else
3688 _def_ggi='#undef HAVE_GGI'
3689 _novomodules="ggi $_novomodules"
3691 echores "$_ggi"
3694 echocheck "AA"
3695 if test "$_aa" = auto ; then
3696 cat > $TMPC << EOF
3697 #include <aalib.h>
3698 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3700 _aa=no
3701 cc_check -laa && _aa=yes
3703 if test "$_aa" = yes ; then
3704 _def_aa='#define HAVE_AA 1'
3705 if cygwin ; then
3706 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
3707 else
3708 _ld_aa='-laa'
3710 _vosrc="$_vosrc vo_aa.c"
3711 _vomodules="aa $_vomodules"
3712 else
3713 _def_aa='#undef HAVE_AA'
3714 _novomodules="aa $_novomodules"
3716 echores "$_aa"
3719 echocheck "CACA"
3720 if test "$_caca" = auto ; then
3721 _caca=no
3722 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
3723 cat > $TMPC << EOF
3724 #include <caca.h>
3725 int main(void) { (void) caca_init(); return 0; }
3727 cc_check `caca-config --libs` && _caca=yes
3730 if test "$_caca" = yes ; then
3731 _def_caca='#define HAVE_CACA 1'
3732 _inc_caca=`caca-config --cflags`
3733 _ld_caca=`caca-config --libs`
3734 _vosrc="$_vosrc vo_caca.c"
3735 _vomodules="caca $_vomodules"
3736 else
3737 _def_caca='#undef HAVE_CACA'
3738 _novomodules="caca $_novomodules"
3740 echores "$_caca"
3743 echocheck "SVGAlib"
3744 if test "$_svga" = auto ; then
3745 cat > $TMPC << EOF
3746 #include <vga.h>
3747 #include <vgagl.h>
3748 int main(void) { return 0; }
3750 _svga=no
3751 cc_check -lvgagl -lvga $_ld_lm && _svga=yes
3753 if test "$_svga" = yes ; then
3754 _def_svga='#define HAVE_SVGALIB 1'
3755 _ld_svga="-lvgagl -lvga $_ld_lm"
3756 _vosrc="$_vosrc vo_svga.c"
3757 _vomodules="svga $_vomodules"
3758 else
3759 _def_svga='#undef HAVE_SVGALIB'
3760 _novomodules="svga $_novomodules"
3762 echores "$_svga"
3765 echocheck "FBDev"
3766 if test "$_fbdev" = auto ; then
3767 _fbdev=no
3768 linux && test -c /dev/fb0 && _fbdev=yes
3770 if test "$_fbdev" = yes ; then
3771 _def_fbdev='#define HAVE_FBDEV 1'
3772 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
3773 _vomodules="fbdev $_vomodules"
3774 else
3775 _def_fbdev='#undef HAVE_FBDEV'
3776 _novomodules="fbdev $_novomodules"
3778 echores "$_fbdev"
3782 echocheck "DVB"
3783 if test "$_dvb" != no ; then
3784 _dvb=no
3785 cat >$TMPC << EOF
3786 #include <sys/poll.h>
3787 #include <sys/ioctl.h>
3788 #include <stdio.h>
3789 #include <time.h>
3790 #include <unistd.h>
3792 #include <ost/dmx.h>
3793 #include <ost/frontend.h>
3794 #include <ost/sec.h>
3795 #include <ost/video.h>
3796 #include <ost/audio.h>
3797 int main(void) {return 0;}
3799 if cc_check ; then
3800 _dvb=yes
3801 echores "yes"
3802 else
3803 for I in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3804 if cc_check "$I" ; then
3805 _dvb=yes
3806 _inc_dvb="$I"
3807 echores "yes (using $_inc_dvb)"
3808 break
3810 done
3811 test "$_dvb" = no && echores "no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3813 else
3814 echores "no"
3816 if test "$_dvb" = yes ; then
3817 _def_dvb='#define HAVE_DVB 1'
3818 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
3819 _aomodules="mpegpes(dvb) $_aomodules"
3820 _vomodules="mpegpes(dvb) $_vomodules"
3822 if test "$_dvbhead" != no ; then
3823 echocheck "DVB HEAD"
3824 if test "$_dvbhead" != no ; then
3825 _dvbhead=no
3827 cat >$TMPC << EOF
3828 #include <sys/poll.h>
3829 #include <sys/ioctl.h>
3830 #include <stdio.h>
3831 #include <time.h>
3832 #include <unistd.h>
3834 #include <linux/dvb/dmx.h>
3835 #include <linux/dvb/frontend.h>
3836 #include <linux/dvb/video.h>
3837 #include <linux/dvb/audio.h>
3838 int main(void) {return 0;}
3840 if cc_check ; then
3841 _dvbhead=yes
3842 echores "yes"
3843 else
3844 for I in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3845 if cc_check "$I" ; then
3846 _dvbhead=yes
3847 _inc_dvb="$I"
3848 echores "yes (using $_inc_dvb)"
3849 break
3851 done
3852 test "$_dvbhead" = no && echores "no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3854 else
3855 echores "no"
3857 if test "$_dvbhead" = yes ; then
3858 _def_dvb='#define HAVE_DVB_HEAD 1'
3859 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
3860 _aomodules="mpegpes(dvb) $_aomodules"
3861 _vomodules="mpegpes(dvb) $_vomodules"
3864 if test "$_dvbhead" = no && test "$_dvb" = no ; then
3865 _def_dvb='#undef HAVE_DVB'
3866 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
3867 _aomodules="mpegpes(file) $_aomodules"
3868 _vomodules="mpegpes(file) $_vomodules"
3871 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
3872 _dvbin=yes
3873 _inputmodules="dvb $_inputmodules"
3874 else
3875 _dvbin=no
3876 _noinputmodules="dvb $_noinputmodules"
3879 echocheck "PNG support"
3880 if test "$_png" = auto ; then
3881 _png=no
3882 if irix ; then
3883 # Don't check for -lpng on irix since it has its own libpng
3884 # incompatible with the GNU libpng
3885 echores "disabled on irix (not GNU libpng)"
3886 else
3887 cat > $TMPC << EOF
3888 #include <png.h>
3889 #include <string.h>
3890 int main(void) {
3891 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3892 printf("libpng: %s\n", png_libpng_ver);
3893 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3896 if cc_check -lpng -lz $_ld_lm ; then
3897 if "$TMPO" >> "$TMPLOG" ; then
3898 _png=yes
3899 echores yes
3900 else
3901 echores "no (mismatch of library and header versions)"
3903 else
3904 echores no
3907 else
3908 echores "$_png"
3910 if test "$_png" = yes ; then
3911 _def_png='#define HAVE_PNG 1'
3912 _ld_png='-lpng -lz'
3913 _vosrc="$_vosrc vo_png.c"
3914 _vomodules="png $_vomodules"
3915 _mkf_png="yes"
3916 else
3917 _def_png='#undef HAVE_PNG'
3918 _novomodules="png $_novomodules"
3919 _mkf_png="no"
3922 echocheck "JPEG support"
3923 if test "$_jpg" = auto ; then
3924 _jpg=no
3925 cat > $TMPC << EOF
3926 #include <stdio.h>
3927 #include <stdlib.h>
3928 #include <setjmp.h>
3929 #include <string.h>
3930 #include <jpeglib.h>
3931 int main(void) {
3932 return 0;
3935 if cc_check -ljpeg $_ld_lm ; then
3936 if "$TMPO" >> "$TMPLOG" ; then
3937 _jpg=yes
3941 echores "$_jpg"
3943 if test "$_jpg" = yes ; then
3944 _def_jpg='#define HAVE_JPEG 1'
3945 _vosrc="$_vosrc vo_jpeg.c"
3946 _vomodules="jpeg $_vomodules"
3947 _ld_jpg="-ljpeg"
3948 _mkf_jpg="yes"
3949 else
3950 _def_jpg='#undef HAVE_JPEG'
3951 _novomodules="jpeg $_novomodules"
3952 _mkf_jpg="no"
3957 echocheck "PNM support"
3958 if test "$_pnm" = yes; then
3959 _def_pnm="#define HAVE_PNM"
3960 _vosrc="$_vosrc vo_pnm.c"
3961 _vomodules="pnm $_vomodules"
3962 else
3963 _def_pnm="#undef HAVE_PNM"
3964 _novomodules="pnm $_novomodules"
3966 echores "$_pnm"
3970 echocheck "md5sum support"
3971 if test "$_md5sum" = yes; then
3972 _def_md5sum="#define HAVE_MD5SUM"
3973 _vosrc="$_vosrc vo_md5sum.c md5sum.c"
3974 _vomodules="md5sum $_vomodules"
3975 else
3976 _def_md5sum="#undef HAVE_MD5SUM"
3977 _novomodules="md5sum $_novomodules"
3979 echores "$_md5sum"
3983 echocheck "GIF support"
3984 # This is to appease people who want to force gif support.
3985 # If it is forced to yes, then we still do checks to determine
3986 # which gif library to use.
3987 if test "$_gif" = yes ; then
3988 _force_gif=yes
3989 _gif=auto
3992 if test "$_gif" = auto ; then
3993 _gif=no
3994 cat > $TMPC << EOF
3995 #include <gif_lib.h>
3996 int main(void) {
3997 return 0;
4000 if cc_check -lungif && "$TMPO" >> "$TMPLOG" ; then
4001 _gif=yes
4002 _ld_gif="-lungif"
4003 elif cc_check -lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4004 _gif=yes
4005 _ld_gif="-lungif $_ld_x11"
4006 elif cc_check -lgif && "$TMPO" >> "$TMPLOG" ; then
4007 _gif=yes
4008 _ld_gif="-lgif"
4009 elif cc_check -lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4010 _gif=yes
4011 _ld_gif="-lgif $_ld_x11"
4015 # If no library was found, and the user wants support forced,
4016 # then we force it on with libgif, as this is the safest
4017 # assumption IMHO. (libungif & libregif both create symbolic
4018 # links to libgif. We also assume that no x11 support is needed,
4019 # because if you are forcing this, then you _should_ know what
4020 # you are doing. [ Besides, package maintainers should never
4021 # have compiled x11 deps into libungif in the first place. ] )
4022 # </rant>
4023 # --Joey
4024 if test "$_force_gif" = yes && test "$_gif" = no ; then
4025 _gif=yes
4026 _ld_gif="-lgif"
4029 if test "$_gif" = yes ; then
4030 _def_gif='#define HAVE_GIF 1'
4031 _vosrc="$_vosrc vo_gif89a.c"
4032 _codecmodules="gif $_codecmodules"
4033 _vomodules="gif89a $_vomodules"
4034 _mkf_gif="yes"
4035 _gif="yes (old version, some encoding functions disabled)"
4036 _def_gif_4='#undef HAVE_GIF_4'
4038 cat > $TMPC << EOF
4039 #include <signal.h>
4040 #include <gif_lib.h>
4041 void catch() { exit(1); }
4042 int main(void) {
4043 signal(SIGSEGV, catch); // catch segfault
4044 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4045 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4046 return 0;
4049 if cc_check "$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4050 _def_gif_4='#define HAVE_GIF_4 1'
4051 _gif="yes"
4053 else
4054 _def_gif='#undef HAVE_GIF'
4055 _def_gif_4='#undef HAVE_GIF_4'
4056 _novomodules="gif89a $_novomodules"
4057 _nocodecmodules="gif $_codecmodules"
4058 _mkf_gif="no"
4060 echores "$_gif"
4063 case "$_gif" in yes*)
4064 echocheck "broken giflib workaround"
4065 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4067 cat > $TMPC << EOF
4068 #include <gif_lib.h>
4069 int main(void) {
4070 GifFileType gif;
4071 printf("UserData is at address %p\n", gif.UserData);
4072 return 0;
4075 if cc_check "$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4076 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4077 echores "disabled"
4078 else
4079 echores "enabled"
4082 esac
4085 echocheck "VESA support"
4086 if test "$_vesa" = auto ; then
4087 if x86 && linux ; then
4088 _vesa=no
4089 cat > $TMPC << EOF
4090 #include <sys/io.h>
4091 int main(void) { return 0; }
4093 cc_check && _vesa=yes
4096 if test "$_vesa" = yes ; then
4097 _def_vesa='#define HAVE_VESA 1'
4098 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c"
4099 _vomodules="vesa $_vomodules"
4100 echores "yes"
4101 else
4102 _def_vesa='#undef HAVE_VESA'
4103 echores "no (not supported on this OS/architecture)"
4104 _novomodules="vesa $_novomodules"
4107 #################
4108 # VIDEO + AUDIO #
4109 #################
4112 echocheck "SDL"
4113 if test -z "$_sdlconfig" ; then
4114 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4115 _sdlconfig="sdl-config"
4116 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4117 _sdlconfig="sdl11-config"
4118 else
4119 _sdlconfig=false
4122 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4123 cat > $TMPC << EOF
4124 #include <SDL.h>
4125 int main(int argc, char *argv[]) { return 0; }
4127 _sdl=no
4128 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4129 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4130 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4131 if test "$_sdlversion" -gt 116 ; then
4132 if test "$_sdlversion" -lt 121 ; then
4133 _def_sdlbuggy='#define BUGGY_SDL'
4134 else
4135 _def_sdlbuggy='#undef BUGGY_SDL'
4137 _sdl=yes
4138 else
4139 _sdl=outdated
4144 if test "$_sdl" = yes ; then
4145 _def_sdl='#define HAVE_SDL 1'
4146 if cygwin ; then
4147 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4148 _inc_sdl=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4149 elif mingw32 ; then
4150 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
4151 _inc_sdl=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4152 else
4153 _ld_sdl=`$_sdlconfig --libs`
4154 _inc_sdl=`$_sdlconfig --cflags`
4156 _vosrc="$_vosrc vo_sdl.c"
4157 _vomodules="sdl $_vomodules"
4158 _aosrc="$_aosrc ao_sdl.c"
4159 _aomodules="sdl $_aomodules"
4160 echores "yes (using $_sdlconfig)"
4161 else
4162 _def_sdl='#undef HAVE_SDL'
4163 _novomodules="sdl $_novomodules"
4164 _noaomodules="sdl $_noaomodules"
4165 echores "no"
4168 echocheck "Windows waveout"
4169 if test "$_win32waveout" = auto ; then
4170 cat > $TMPC << EOF
4171 #include <windows.h>
4172 #include <mmsystem.h>
4173 int main(void) { return 0; }
4175 _win32waveout=no
4176 cc_check -lwinmm && _win32waveout=yes
4178 if test "$_win32waveout" = yes ; then
4179 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4180 _ld_win32libs="-lwinmm $_ld_win32libs"
4181 _aosrc="$_aosrc ao_win32.c"
4182 _aomodules="win32 $_aomodules"
4183 else
4184 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4185 _noaomodules="win32 $_noaomodules"
4187 echores "$_win32waveout"
4189 echocheck "Directx"
4190 if test "$_directx" = auto ; then
4191 cat > $TMPC << EOF
4192 #include <windows.h>
4193 #include <ddraw.h>
4194 #include <dsound.h>
4195 int main(void) { return 0; }
4197 _directx=no
4198 cc_check -lgdi32 && _directx=yes
4200 if test "$_directx" = yes ; then
4201 _def_directx='#define HAVE_DIRECTX 1'
4202 _ld_win32libs="-lgdi32 $_ld_win32libs"
4203 _vosrc="$_vosrc vo_directx.c"
4204 _vomodules="directx $_vomodules"
4205 _aosrc="$_aosrc ao_dsound.c"
4206 _aomodules="dsound $_aomodules"
4207 else
4208 _def_directx='#undef HAVE_DIRECTX'
4209 _novomodules="directx $_novomodules"
4210 _noaomodules="dsound $_noaomodules"
4212 echores "$_directx"
4214 echocheck "NAS"
4215 if test "$_nas" = auto || test "$_nas" = yes ; then
4216 cat > $TMPC << EOF
4217 #include <audio/audiolib.h>
4218 int main(void) { return 0; }
4220 _nas=no
4221 cc_check -laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas=yes
4223 if test "$_nas" = yes ; then
4224 _def_nas='#define HAVE_NAS 1'
4225 _ld_nas="-laudio -lXt $_ld_x11"
4226 _aosrc="$_aosrc ao_nas.c"
4227 _aomodules="nas $_aomodules"
4228 else
4229 _noaomodules="nas $_noaomodules"
4230 _def_nas='#undef HAVE_NAS'
4232 echores "$_nas"
4234 echocheck "DXR2"
4235 if test "$_dxr2" = auto; then
4236 _dxr2=no
4237 for _inc_dxr2 in "$_inc_dxr2" \
4238 "-I/usr/local/include/dxr2" \
4239 "-I/usr/include/dxr2"; do
4240 cat > $TMPC << EOF
4241 #include <dxr2ioctl.h>
4242 int main(void) { return 0; }
4244 cc_check $_inc_dxr2 && _dxr2=yes && break
4245 done
4247 if test "$_dxr2" = yes; then
4248 _def_dxr2='#define HAVE_DXR2 1'
4249 _vosrc="$_vosrc vo_dxr2.c"
4250 _aosrc="$_aosrc ao_dxr2.c"
4251 _aomodules="dxr2 $_aomodules"
4252 _vomodules="dxr2 $_vomodules"
4253 echores "yes (using $_inc_dxr2)"
4254 else
4255 _def_dxr2='#undef HAVE_DXR2'
4256 _noaomodules="dxr2 $_noaomodules"
4257 _novomodules="dxr2 $_novomodules"
4258 _inc_dxr2=""
4259 echores "no"
4262 echocheck "DXR3/H+"
4263 if test "$_dxr3" = auto ; then
4264 cat > $TMPC << EOF
4265 #include <linux/em8300.h>
4266 int main(void) { return 0; }
4268 _dxr3=no
4269 cc_check && _dxr3=yes
4271 if test "$_dxr3" = yes ; then
4272 _def_dxr3='#define HAVE_DXR3 1'
4273 _vosrc="$_vosrc vo_dxr3.c"
4274 _vomodules="dxr3 $_vomodules"
4275 else
4276 _def_dxr3='#undef HAVE_DXR3'
4277 _novomodules="dxr3 $_novomodules"
4278 if test "$_mp1e" = auto ; then
4279 # we don't need mp1e
4280 _mp1e=no
4283 echores "$_dxr3"
4285 echocheck "libmp1e"
4286 if test "$_mmx" = no ; then
4287 # mp1e REQUIRES mmx!
4288 _mp1e=no
4290 if test "$_mp1e" != no ; then
4291 _mp1e=yes
4292 _def_mp1e='#define USE_MP1E'
4293 _ld_mp1e='libmp1e/libmp1e.a'
4294 _dep_mp1e='libmp1e/libmp1e.a'
4295 else
4296 _mp1e=no
4297 _def_mp1e='#undef USE_MP1E'
4298 _ld_mp1e=""
4299 _dep_mp1e=''
4301 echores "$_mp1e"
4304 echocheck "libfame"
4305 if test "$_fame" = auto ; then
4306 _fame=no
4307 test "$_dxr2" = yes && _fame=auto
4308 test "$_dxr3" = yes && _fame=auto
4309 test "$_dvb" = yes && _fame=auto
4311 if test "$_fame" = auto ; then
4312 _fame=no
4313 if test -d libfame && test -f libfame/fame.h ; then
4314 # disable fame on cygwin as no sense to port - atmos
4315 cygwin || _fame=yes
4316 echores $_fame
4317 else
4318 echores "no (no fame dir)"
4320 else
4321 echores "$_fame"
4324 _def_fame='#undef USE_LIBFAME'
4325 if test "$_fame" = yes ; then
4326 _def_fame='#define USE_LIBFAME 1'
4327 _ld_fame='libfame/libfame.a'
4331 #########
4332 # AUDIO #
4333 #########
4336 echocheck "OSS Audio"
4337 if test "$_ossaudio" = auto ; then
4338 cat > $TMPC << EOF
4339 #include <sys/ioctl.h>
4340 $_inc_soundcard
4341 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4343 _ossaudio=no
4344 cc_check && _ossaudio=yes
4346 if test "$_ossaudio" = yes ; then
4347 _def_ossaudio='#define USE_OSS_AUDIO 1'
4348 _aosrc="$_aosrc ao_oss.c"
4349 _aomodules="oss $_aomodules"
4350 if test "$_linux_devfs" = yes; then
4351 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4352 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4353 else
4354 cat > $TMPC << EOF
4355 #include <sys/ioctl.h>
4356 $_inc_soundcard
4357 #ifdef OPEN_SOUND_SYSTEM
4358 int main(void) { return 0; }
4359 #else
4360 #error Not the real thing
4361 #endif
4363 _real_ossaudio=no
4364 cc_check && _real_ossaudio=yes
4365 if test "$_real_ossaudio" = yes; then
4366 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4367 elif netbsd || openbsd ; then
4368 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4369 _ld_arch="$_ld_arch -lossaudio"
4370 else
4371 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4373 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4375 else
4376 _def_ossaudio='#undef USE_OSS_AUDIO'
4377 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4378 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4379 _noaomodules="oss $_noaomodules"
4381 echores "$_ossaudio"
4384 echocheck "aRts"
4385 if test "$_arts" = auto ; then
4386 _arts=no
4387 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4389 cat > $TMPC << EOF
4390 #include <artsc.h>
4391 int main(void) { return 0; }
4393 cc_check `artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts=yes
4398 if test "$_arts" = yes ; then
4399 _def_arts='#define USE_ARTS 1'
4400 _aosrc="$_aosrc ao_arts.c"
4401 _aomodules="arts $_aomodules"
4402 _ld_arts=`artsc-config --libs`
4403 _inc_arts=`artsc-config --cflags`
4404 else
4405 _noaomodules="arts $_noaomodules"
4407 echores "$_arts"
4410 echocheck "EsounD"
4411 if test "$_esd" = auto ; then
4412 _esd=no
4413 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4415 cat > $TMPC << EOF
4416 #include <esd.h>
4417 int main(void) { return 0; }
4419 cc_check `esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd=yes
4423 echores "$_esd"
4425 if test "$_esd" = yes ; then
4426 _def_esd='#define USE_ESD 1'
4427 _aosrc="$_aosrc ao_esd.c"
4428 _aomodules="esd $_aomodules"
4429 _ld_esd=`esd-config --libs`
4430 _inc_esd=`esd-config --cflags`
4432 echocheck "esd_get_latency()"
4433 cat > $TMPC << EOF
4434 #include <esd.h>
4435 int main(void) { return esd_get_latency(0); }
4437 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4438 echores "$_esd_latency"
4439 else
4440 _def_esd='#undef USE_ESD'
4441 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4442 _noaomodules="esd $_noaomodules"
4445 echocheck "Polyp"
4446 if test "$_polyp" = auto ; then
4447 _polyp=no
4448 if ( pkg-config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4450 cat > $TMPC << EOF
4451 #include <polyp/polyplib.h>
4452 #include <polyp/mainloop.h>
4453 #include <polyp/polyplib-error.h>
4454 int main(void) { return 0; }
4456 cc_check `pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _polyp=yes
4460 echores "$_polyp"
4462 if test "$_polyp" = yes ; then
4463 _def_polyp='#define USE_POLYP 1'
4464 _aosrc="$_aosrc ao_polyp.c"
4465 _aomodules="polyp $_aomodules"
4466 _ld_polyp=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4467 _inc_polyp=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4468 else
4469 _def_polyp='#undef USE_POLYP'
4470 _noaomodules="polyp $_noaomodules"
4474 echocheck "JACK"
4475 if test "$_jack" = auto ; then
4476 _jack=no
4477 if ( ( pkg-config --modversion jack ) > /dev/null 2>&1 ) &&
4478 ( jackd --version | grep version | awk '{ print $3 }' ) >> "$TMPLOG" 2>&1 ; then
4480 cat > $TMPC << EOF
4481 #include <jack/jack.h>
4482 int main(void) { JACK_Init(); return 0; }
4484 # This test only checks the minor version number.
4485 if ( ( test `bio2jack-config --version | cut -d '.' -f 2` -ge 3 ) ) >/dev/null 2>&1 ; then
4486 if test -z "$_bio2jackdir" ; then
4487 cc_check -lbio2jack `pkg-config --libs --cflags jack` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _jack=yes
4488 else
4489 cc_check -L "$_bio2jackdir" -lbio2jack `pkg-config --libs --cflags jack` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _jack=yes
4495 if test "$_jack" = yes ; then
4496 _def_jack='#define USE_JACK 1'
4497 _aosrc="$_aosrc ao_jack.c"
4498 _aomodules="jack $_aomodules"
4499 if test -z "$_bio2jackdir" ; then
4500 _ld_jack="-lbio2jack `pkg-config --libs jack`"
4501 else
4502 _ld_jack="-L \"$_bio2jackdir\" -lbio2jack `pkg-config --libs jack`"
4504 _inc_jack=`pkg-config --cflags jack`
4505 else
4506 _noaomodules="jack $_noaomodules"
4508 echores "$_jack"
4511 echocheck "ALSA audio"
4512 if test "$_alsa" != no ; then
4513 _alsa=no
4514 cat > $TMPC << EOF
4515 #include <sys/asoundlib.h>
4516 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
4518 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.5.x'
4520 cat > $TMPC << EOF
4521 #include <sys/asoundlib.h>
4522 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4524 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-sys'
4525 cat > $TMPC << EOF
4526 #include <alsa/asoundlib.h>
4527 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4529 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='0.9.x-alsa'
4531 cat > $TMPC << EOF
4532 #include <sys/asoundlib.h>
4533 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4535 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-sys'
4536 cat > $TMPC << EOF
4537 #include <alsa/asoundlib.h>
4538 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4540 cc_check -lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver='1.0.x-alsa'
4542 _def_alsa5='#undef HAVE_ALSA5'
4543 _def_alsa9='#undef HAVE_ALSA9'
4544 _def_alsa1x='#undef HAVE_ALSA1X'
4545 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
4546 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
4547 if test "$_alsaver" ; then
4548 if test "$_alsaver" = '0.5.x' ; then
4549 _aosrc="$_aosrc ao_alsa5.c"
4550 _aomodules="alsa5 $_aomodules"
4551 _def_alsa5='#define HAVE_ALSA5 1'
4552 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4553 echores "yes (using alsa 0.5.x and sys/asoundlib.h)"
4554 elif test "$_alsaver" = '0.9.x-sys' ; then
4555 _aosrc="$_aosrc ao_alsa.c"
4556 _aomodules="alsa $_aomodules"
4557 _def_alsa9='#define HAVE_ALSA9 1'
4558 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4559 echores "yes (using alsa 0.9.x and sys/asoundlib.h)"
4560 elif test "$_alsaver" = '0.9.x-alsa' ; then
4561 _aosrc="$_aosrc ao_alsa.c"
4562 _aomodules="alsa $_aomodules"
4563 _def_alsa9='#define HAVE_ALSA9 1'
4564 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4565 echores "yes (using alsa 0.9.x and alsa/asoundlib.h)"
4566 elif test "$_alsaver" = '1.0.x-sys' ; then
4567 _aosrc="$_aosrc ao_alsa.c"
4568 _aomodules="alsa $_aomodules"
4569 _def_alsa1x="#define HAVE_ALSA1X 1"
4570 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4571 echores "yes (using alsa 1.0.x and sys/asoundlib.h)"
4572 elif test "$_alsaver" = '1.0.x-alsa' ; then
4573 _aosrc="$_aosrc ao_alsa.c"
4574 _aomodules="alsa $_aomodules"
4575 _def_alsa1x="#define HAVE_ALSA1X 1"
4576 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4577 echores "yes (using alsa 1.0.x and alsa/asoundlib.h)"
4579 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
4580 else
4581 _noaomodules="alsa $_noaomodules"
4582 echores "no"
4586 echocheck "Sun audio"
4587 if test "$_sunaudio" = auto ; then
4588 cat > $TMPC << EOF
4589 #include <sys/types.h>
4590 #include <sys/audioio.h>
4591 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4593 _sunaudio=no
4594 cc_check && _sunaudio=yes
4596 if test "$_sunaudio" = yes ; then
4597 _def_sunaudio='#define USE_SUN_AUDIO 1'
4598 _aosrc="$_aosrc ao_sun.c"
4599 _aomodules="sun $_aomodules"
4600 else
4601 _def_sunaudio='#undef USE_SUN_AUDIO'
4602 _noaomodules="sun $_noaomodules"
4604 echores "$_sunaudio"
4607 echocheck "Sun mediaLib"
4608 if test "$_mlib" = auto ; then
4609 _mlib=no
4610 test -z "$_mlibdir" && _mlibdir=/opt/SUNWmlib
4611 cat > $TMPC << EOF
4612 #include <mlib.h>
4613 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4615 cc_check -I${_mlibdir}/include -L${_mlibdir}/lib -lmlib && _mlib=yes
4617 if test "$_mlib" = yes ; then
4618 _def_mlib='#define HAVE_MLIB 1'
4619 _inc_mlib=" -I${_mlibdir}/include "
4620 _ld_mlib=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4621 else
4622 _def_mlib='#undef HAVE_MLIB'
4624 echores "$_mlib"
4627 echocheck "SGI audio"
4628 if test "$_sgiaudio" = auto ; then
4629 # check for SGI audio
4630 cat > $TMPC << EOF
4631 #include <dmedia/audio.h>
4632 int main(void) { return 0; }
4634 _sgiaudio=no
4635 cc_check && _sgiaudio=yes
4637 if test "$_sgiaudio" = "yes" ; then
4638 _def_sgiaudio='#define USE_SGI_AUDIO 1'
4639 _ld_sgiaudio='-laudio'
4640 _aosrc="$_aosrc ao_sgi.c"
4641 _aomodules="sgi $_aomodules"
4642 else
4643 _def_sgiaudio='#undef USE_SGI_AUDIO'
4644 _noaomodules="sgi $_noaomodules"
4646 echores "$_sgiaudio"
4649 echocheck "VCD support"
4650 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
4651 _inputmodules="vcd $_inputmodules"
4652 _def_vcd='#define HAVE_VCD 1'
4653 echores "ok"
4654 else
4655 _def_vcd='#undef HAVE_VCD'
4656 _noinputmodules="vcd $_noinputmodules"
4657 echores "not supported on this OS"
4660 echocheck "DVD support (libmpdvdkit)"
4661 if test "$_dvdkit" = auto ; then
4662 _dvdkit=no
4663 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux; then
4664 test -f "./libmpdvdkit2/Makefile" && _dvdkit=yes
4665 test -f "./libmpdvdkit/Makefile" && _dvdkit=yes
4668 if test "$_dvdkit" = yes ; then
4669 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
4670 if test -f "./libmpdvdkit2/Makefile" ; then
4671 _inputmodules="mpdvdkit2 $_inputmodules"
4672 _dvdread=libmpdvdkit2
4673 _dvdkit2=yes
4674 _dvdkit=no
4675 else
4676 _inputmodules="mpdvdkit $_inputmodules"
4677 _dvdread=libmpdvdkit
4679 else
4680 _noinputmodules="mpdvdkit $_noinputmodules"
4682 _def_dvd_linux='#undef HAVE_LINUX_DVD_STRUCT'
4683 _def_dvd_bsd='#undef HAVE_BSD_DVD_STRUCT'
4684 _dev_dvd_openbsd='#undef HAVE_OPENBSD_DVD_STRUCT'
4685 _def_dvd_darwin='#undef DARWIN_DVD_IOCTL'
4686 if linux || netbsd || openbsd || bsdos ; then
4687 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
4688 if openbsd ; then
4689 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
4691 else
4692 if freebsd ; then
4693 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
4694 else
4695 if darwin ; then
4696 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
4700 else
4701 _noinputmodules="mpdvdkit $_noinputmodules"
4703 if test "$_dvdkit" = yes || test "$_dvdkit2" = yes; then
4704 echores "yes"
4705 else
4706 echores "no"
4709 echocheck "DVD support (libdvdread)"
4710 if test "$_dvdread" = auto ; then
4711 cat > $TMPC << EOF
4712 #include <inttypes.h>
4713 #include <dvdread/dvd_reader.h>
4714 #include <dvdread/ifo_types.h>
4715 #include <dvdread/ifo_read.h>
4716 #include <dvdread/nav_read.h>
4717 int main(void) { return 0; }
4719 _dvdread=no
4720 if test "$_dl" = yes; then
4721 cc_check \
4722 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4723 _dvdread=yes
4726 _def_mpdvdkit="#undef USE_MPDVDKIT"
4727 case "$_dvdread" in
4728 yes)
4729 _largefiles=yes
4730 _def_dvdread='#define USE_DVDREAD 1'
4731 _ld_dvdread='-ldvdread'
4732 _inputmodules="dvdread $_inputmodules"
4733 echores "yes"
4736 _def_dvdread='#undef USE_DVDREAD'
4737 _noinputmodules="dvdread $_noinputmodules"
4738 echores "no"
4740 libmpdvdkit)
4741 _largefiles=yes
4742 _def_dvdread='#define USE_DVDREAD 1'
4743 _ld_dvdread='-Llibmpdvdkit -lmpdvdkit'
4744 _noinputmodules="dvdread $_noinputmodules"
4745 _def_mpdvdkit="#define USE_MPDVDKIT 1"
4746 echores "disabled by libmpdvdkit"
4748 libmpdvdkit2)
4749 _largefiles=yes
4750 _def_dvdread='#define USE_DVDREAD 1'
4751 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
4752 _noinputmodules="dvdread $_noinputmodules"
4753 _def_mpdvdkit="#define USE_MPDVDKIT 2"
4754 echores "disabled by libmpdvdkit2"
4756 esac
4758 # dvdnav disabled, it does not work
4759 # echocheck "DVD support (libdvdnav)"
4760 # if test "$_dvdnav" = yes ; then
4761 # cat > $TMPC <<EOF
4762 # #include <dvdnav.h>
4763 # int main(void) { dvdnav_t *dvd=0; return 0; }
4764 # EOF
4765 # _dvdnav=no
4766 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4767 # if test -z "$_dvdnavconfig" ; then
4768 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4769 # _dvdnavconfig="dvdnav-config"
4770 # fi
4771 # fi
4772 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4773 # _used_css=
4774 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4775 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4776 # fi
4777 # if test "$_dvdnav" = yes ; then
4778 # _largefiles=yes
4779 # _def_dvdnav='#define USE_DVDNAV 1'
4780 # if test -n "$_legal_dvdnavdir" ; then
4781 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4782 # elif test -n "$_dvdnavconfig" ; then
4783 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4784 # else
4785 # _ld_css="$_ld_css -ldvdnav"
4786 # fi
4787 # if test -n "$_dvdnavconfig" ; then
4788 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4789 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4790 # fi
4791 # if test -n "$_dvdnavdir" ; then
4792 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4793 # fi
4794 # _inputmodules="dvdnav $_inputmodules"
4795 # echores "yes"
4796 # else
4797 # _def_dvdnav='#undef USE_DVDNAV'
4798 # _noinputmodules="dvdnav $_noinputmodules"
4799 # echores "no"
4800 # fi
4802 echocheck "cdparanoia"
4803 if test "$_cdparanoia" = auto ; then
4804 cat > $TMPC <<EOF
4805 #include <cdda_interface.h>
4806 #include <cdda_paranoia.h>
4807 // This need a better test. How ?
4808 int main(void) { return 1; }
4810 _cdparanoia=no
4811 if cc_check $_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
4812 _cdparanoia=yes
4813 else
4814 for I in /usr/include/cdda /usr/local/include/cdda ; do
4815 if cc_check -I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
4816 _cdparanoia=yes; _inc_cdparanoia="-I$I"; break
4818 done
4821 if test "$_cdparanoia" = yes ; then
4822 _def_cdparanoia='#define HAVE_CDDA'
4823 _inputmodules="cdda $_inputmodules"
4824 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4825 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
4826 else
4827 _def_cdparanoia='#undef HAVE_CDDA'
4828 _noinputmodules="cdda $_noinputmodules"
4830 echores "$_cdparanoia"
4833 echocheck "freetype >= 2.0.9"
4835 # freetype depends on iconv
4836 if test "$_iconv" = no ; then
4837 _freetype="no (iconv support needed)"
4840 if test "$_freetype" = auto ; then
4841 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
4842 cat > $TMPC << EOF
4843 #include <stdio.h>
4844 #include <ft2build.h>
4845 #include FT_FREETYPE_H
4846 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4847 #error "Need FreeType 2.0.9 or newer"
4848 #endif
4849 int main()
4851 FT_Library library;
4852 FT_Int major=-1,minor=-1,patch=-1;
4853 int err=FT_Init_FreeType(&library);
4854 if(err){
4855 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4856 exit(err);
4858 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4859 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4860 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4861 (int)major,(int)minor,(int)patch );
4862 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4863 printf("Library and header version mismatch! Fix it in your distribution!\n");
4864 exit(1);
4866 return 0;
4869 _freetype=no
4870 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype=yes
4871 else
4872 _freetype=no
4875 if test "$_freetype" = yes ; then
4876 _def_freetype='#define HAVE_FREETYPE'
4877 _inc_freetype=`$_freetypeconfig --cflags`
4878 _ld_freetype=`$_freetypeconfig --libs`
4879 else
4880 _def_freetype='#undef HAVE_FREETYPE'
4882 echores "$_freetype"
4884 if test "$_freetype" = no ; then
4885 _fontconfig=no
4887 echocheck "fontconfig"
4888 if test "$_fontconfig" = auto ; then
4889 if ( pkg-config --modversion fontconfig) > /dev/null 2>&1 ; then
4890 cat > $TMPC << EOF
4891 #include <stdio.h>
4892 #include <fontconfig/fontconfig.h>
4893 int main()
4895 int err = FcInit();
4896 if(err == FcFalse){
4897 printf("Couldn't initialize fontconfig lib\n");
4898 exit(err);
4900 return 0;
4904 _fontconfig=no
4905 cc_check `pkg-config --cflags --libs fontconfig` && ( $TMPO >> "$TMPLOG" ) && _fontconfig=yes
4906 else
4907 _fontconfig=no
4910 if test "$_fontconfig" = yes ; then
4911 _def_fontconfig='#define HAVE_FONTCONFIG'
4912 _inc_fontconfig=`pkg-config --cflags fontconfig`
4913 _ld_fontconfig=`pkg-config --libs fontconfig`
4914 else
4915 _def_fontconfig='#undef HAVE_FONTCONFIG'
4917 echores "$_fontconfig"
4919 echocheck "fribidi with charsets"
4920 if test "$_fribidi" = yes ; then
4921 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
4922 cat > $TMPC << EOF
4923 #include <stdio.h>
4924 #include <fribidi/fribidi.h>
4925 int main()
4927 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4928 printf("Fribidi headers are not consistents with the library!\n");
4929 exit(1);
4931 return 0;
4934 _fribidi=no
4935 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi=yes
4936 else
4937 _fribidi=no
4940 if test "$_fribidi" = yes ; then
4941 _def_fribidi='#define USE_FRIBIDI'
4942 _inc_fribidi=`$_fribidiconfig --cflags`
4943 _ld_fribidi=`$_fribidiconfig --libs`
4944 else
4945 _def_fribidi='#undef USE_FRIBIDI'
4947 echores "$_fribidi"
4950 echocheck "ENCA"
4951 if test "$_enca" = auto ; then
4952 cat > $TMPC << EOF
4953 #include <enca.h>
4954 int main()
4956 const char **langs;
4957 size_t langcnt;
4958 langs = enca_get_languages(&langcnt);
4959 return 0;
4962 _enca=no
4963 cc_check -lenca && _enca=yes
4965 if test "$_enca" = yes ; then
4966 _def_enca='#define HAVE_ENCA 1'
4967 _ld_enca='-lenca'
4968 else
4969 _def_enca='#undef HAVE_ENCA'
4971 echores "$_enca"
4974 echocheck "zlib"
4975 cat > $TMPC << EOF
4976 #include <zlib.h>
4977 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4979 _zlib=no
4980 cc_check -lz && _zlib=yes
4981 if test "$_zlib" = yes ; then
4982 _def_zlib='#define HAVE_ZLIB 1'
4983 _ld_zlib='-lz'
4984 else
4985 _def_zlib='#undef HAVE_ZLIB'
4987 echores "$_zlib"
4990 echocheck "RTC"
4991 if linux ; then
4992 if test "$_rtc" = auto ; then
4993 cat > $TMPC << EOF
4994 #include <sys/ioctl.h>
4995 #include <linux/rtc.h>
4996 int main(void) { return RTC_IRQP_READ; }
4998 _rtc=no
4999 cc_check && _rtc=yes
5001 echores "$_rtc"
5002 else
5003 _rtc=no
5004 echores "no (Linux specific feature)"
5006 if test "$_rtc" = yes ; then
5007 _def_rtc='#define HAVE_RTC 1'
5008 else
5009 _def_rtc='#undef HAVE_RTC'
5013 echocheck "external liblzo support"
5014 if test "$_liblzo" = auto ; then
5015 _liblzo=no
5016 cat > $TMPC << EOF
5017 #include <lzo1x.h>
5018 int main(void) { lzo_init();return 0; }
5020 cc_check -llzo && _liblzo=yes
5022 if test "$_liblzo" = yes ; then
5023 _def_liblzo='#define USE_LIBLZO 1'
5024 _ld_liblzo='-llzo'
5025 _codecmodules="liblzo $_codecmodules"
5026 else
5027 _def_liblzo='#undef USE_LIBLZO'
5028 _nocodecmodules="liblzo $_nocodecmodules"
5030 echores "$_liblzo"
5033 echocheck "mad support"
5034 if test "$_mad" = auto ; then
5035 _mad=no
5036 cat > $TMPC << EOF
5037 #include <mad.h>
5038 int main(void) { return 0; }
5040 cc_check $_madlibdir -lmad && _mad=yes
5042 if test "$_mad" = yes ; then
5043 _def_mad='#define USE_LIBMAD 1'
5044 _ld_mad='-lmad'
5045 _codecmodules="libmad $_codecmodules"
5046 else
5047 _def_mad='#undef USE_LIBMAD'
5048 _nocodecmodules="libmad $_nocodecmodules"
5050 echores "$_mad"
5052 echocheck "Toolame"
5053 if test "$_toolame" = auto ; then
5054 cat > $TMPC <<EOF
5055 #include <toolame.h>
5056 int main(void) { toolame_init(); return 0; }
5058 _toolame=no
5059 _toolame_extraflags=""
5060 _toolame_lib="-ltoolame"
5061 if test -n "$_toolamedir"; then
5062 _toolame_extraflags="-I$_toolamedir -L$_toolamedir"
5064 cc_check $_toolame_extraflags $_toolame_lib $_ld_lm && _toolame=yes
5066 if test "$_toolame" = yes ; then
5067 _def_toolame='#define HAVE_TOOLAME 1'
5068 _codecmodules="$_codecmodules toolame"
5069 else
5070 _def_toolame='#undef HAVE_TOOLAME'
5071 _toolame_lib=""
5072 _nocodecmodules="toolame $_nocodecmodules"
5074 if test -z "$_toolamedir" ; then
5075 echores "$_toolame"
5076 else
5077 echores "$_toolame (using $_toolamedir)"
5080 echocheck "OggVorbis support"
5081 if test "$_vorbis" = auto ; then
5082 _vorbis=no
5083 cat > $TMPC << EOF
5084 #include <vorbis/codec.h>
5085 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5087 cc_check -lvorbis -logg $_ld_lm && _vorbis=yes
5089 if test "$_vorbis" = yes ; then
5090 _def_vorbis='#define HAVE_OGGVORBIS 1'
5091 if test "$_tremor" = yes ; then
5092 _def_tremor='#define TREMOR 1'
5093 _ld_vorbis='-lvorbisidec'
5094 else
5095 _def_tremor='#undef TREMOR'
5096 _ld_vorbis='-lvorbis -logg'
5098 _codecmodules="libvorbis $_codecmodules"
5099 else
5100 _def_vorbis='#undef HAVE_OGGVORBIS'
5101 _def_tremor='#undef TREMOR'
5102 _nocodecmodules="libvorbis $_nocodecmodules"
5104 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
5105 echores "$_vorbis (Tremor)"
5106 else
5107 echores "$_vorbis"
5110 echocheck "OggTheora support (only the CVS version!)"
5111 if test "$_theora" = auto ; then
5112 _theora=no
5113 cat > $TMPC << EOF
5114 #include <theora/theora.h>
5115 #include <string.h>
5116 int main(void)
5118 /* theora is in flux, make sure that all interface routines and
5119 * datatypes exist and work the way we expect it, so we don't break
5120 * mplayer */
5121 ogg_packet op;
5122 theora_comment tc;
5123 theora_info inf;
5124 theora_state st;
5125 yuv_buffer yuv;
5126 int r;
5127 double t;
5129 theora_info_init (&inf);
5130 theora_comment_init (&tc);
5132 return 0;
5134 /* we don't want to execute this kind of nonsense; just for making sure
5135 * that compilation works... */
5136 memset(&op, 0, sizeof(op));
5137 r = theora_decode_header (&inf, &tc, &op);
5138 r = theora_decode_init (&st, &inf);
5139 t = theora_granule_time (&st, op.granulepos);
5140 r = theora_decode_packetin (&st, &op);
5141 r = theora_decode_YUVout (&st, &yuv);
5142 theora_clear (&st);
5144 return 0;
5147 cc_check -ltheora -logg $_ld_lm && _theora=yes
5149 if test "$_theora" = yes ; then
5150 _def_theora='#define HAVE_OGGTHEORA 1'
5151 _codecmodules="libtheora $_codecmodules"
5152 _ld_theora="-ltheora -logg"
5153 else
5154 _def_theora='#undef HAVE_OGGTHEORA'
5155 _nocodecmodules="libtheora $_nocodecmodules"
5157 echores "$_theora"
5159 echocheck "mp3lib support"
5160 if test "$_mp3lib" = yes ; then
5161 _def_mp3lib='#define USE_MP3LIB 1'
5162 _codecmodules="mp3lib $_codecmodules"
5163 else
5164 _def_mp3lib='#undef USE_MP3LIB'
5165 _nocodecmodules="mp3lib $_nocodecmodules"
5167 echores "$_mp3lib"
5169 echocheck "liba52 support"
5170 if test "$_liba52" = yes ; then
5171 _def_liba52='#define USE_LIBA52 1'
5172 _codecmodules="liba52 $_codecmodules"
5173 else
5174 _def_liba52='#undef USE_LIBA52'
5175 _nocodecmodules="liba52 $_nocodecmodules"
5177 echores "$_liba52"
5179 echocheck "libdts support"
5180 if test "$_libdts" = auto ; then
5181 _libdts=no
5182 cat > $TMPC << EOF
5183 #include <stdint.h>
5184 #include <dts.h>
5185 int main(void) { dts_init (0); return 0; }
5187 cc_check $_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts=yes
5189 if test "$_libdts" = yes ; then
5190 _def_libdts='#define CONFIG_DTS 1'
5191 _ld_libdts="$_ld_libdts -ldts $_ld_lm"
5192 _codecmodules="libdts $_codecmodules"
5193 else
5194 _def_libdts='#undef CONFIG_DTS'
5195 _nocodecmodules="libdts $_nocodecmodules"
5197 echores "$_libdts"
5199 echocheck "libmpeg2 support"
5200 if test "$_libmpeg2" = yes ; then
5201 _def_libmpeg2='#define USE_LIBMPEG2 1'
5202 _codecmodules="libmpeg2 $_codecmodules"
5203 else
5204 _def_libmpeg2='#undef USE_LIBMPEG2'
5205 _nocodecmodules="libmpeg2 $_nocodecmodules"
5207 echores "$_libmpeg2"
5210 echocheck "Matroska support"
5211 if test "$_matroska_internal" = yes ; then
5212 _inputmodules="matroska $_inputmodules"
5213 _def_matroska='#define HAVE_MATROSKA 1'
5214 else
5215 _noinputmodules="matroska $_noinputmodules"
5216 _def_matroska='#undef HAVE_MATROSKA'
5218 echores "$_matroska_internal"
5221 echocheck "internal FAAD2 (AAC) support"
5222 _inc_faad="-I`pwd`/libfaad2"
5223 if test "$_faad_internal" = auto ; then
5224 # the faad check needs a config.h file
5225 if not test -f "config.h" ; then
5226 > config.h
5228 # internal faad: check if our dear gcc is able to compile it...
5229 cp "`pwd`/libfaad2/cfft.c" $TMPC
5230 if ( cc_check -c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
5231 _faad_internal=yes
5232 else
5233 _faad_internal="no (broken gcc)"
5236 if test "$_faad_internal" = yes ; then
5237 _def_faad_internal="#define USE_INTERNAL_FAAD 1"
5238 _faad_external=no
5239 else
5240 _def_faad_internal="#undef USE_INTERNAL_FAAD"
5241 _inc_faad=
5243 echores "$_faad_internal"
5246 echocheck "external FAAD2 (AAC) support"
5247 if test "$_faad_external" != no ; then
5248 _ld_faad='-lfaad'
5249 _inc_faad="$_inc_extra"
5250 # external faad: check if it's really faad2 :)
5251 if test "$_faad_external" = auto ; then
5252 _faad_external=no
5253 cat > $TMPC << EOF
5254 #include <faad.h>
5255 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
5257 cc_check $_inc_faad $_ld_faad $_ld_lm && _faad_external=yes
5259 echores "$_faad_external"
5260 else
5261 echores "no"
5264 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
5265 echocheck "FAAD2 version"
5266 cat > $TMPC <<EOF
5267 #include <faad.h>
5268 #ifndef FAAD_MIN_STREAMSIZE
5269 #error Too old version
5270 #endif
5271 int main(void) {
5272 #ifdef FAAD2_VERSION
5273 printf("%s\n",FAAD2_VERSION);
5274 #else
5275 printf("1.0\n");
5276 #endif
5277 return 0;
5280 if cc_check -I- $_inc_faad $_ld_faad $_ld_lm && "$TMPO" >> "$TMPLOG" ; then
5281 _faad_version=`"$TMPO"`
5282 _faad_tempversion=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
5283 _def_faad_version="#define FAADVERSION $_faad_tempversion"
5284 echores "$_faad_version"
5285 else
5286 _faad_external=no
5287 _faad_internal=no
5288 echores "failed to get version"
5292 if test "$_faad_external" = yes; then
5293 _def_faad='#define HAVE_FAAD 1'
5294 _codecmodules="faad2(external) $_codecmodules"
5295 elif test "$_faad_internal" = yes; then
5296 _def_faad='#define HAVE_FAAD 1'
5297 _codecmodules="faad2(internal) $_codecmodules"
5298 else
5299 _def_faad='#undef HAVE_FAAD'
5300 _nocodecmodules="faad2 $_nocodecmodules"
5301 _ld_faad=
5304 if test "$_win32" = auto ; then
5305 if x86 ; then
5306 qnx && _win32=no
5307 else
5308 _win32=no # x86 arch only
5312 if test "$_win32" != no ; then
5313 if test -z "$_win32libdir" ; then
5314 for I in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/win32 /usr/lib/win32 ; do
5315 if test -d "$I" ; then
5316 _win32libdir="$I"
5317 break;
5319 done
5323 echocheck "Win32 codec DLL support"
5324 if test "$_win32" = auto ; then
5325 _win32=no
5326 test -n "$_win32libdir" && _win32=yes
5328 if test "$_win32" = yes ; then
5329 _def_win32='#define USE_WIN32DLL 1'
5330 echores "yes (using $_win32libdir)"
5331 else
5332 _def_win32='#undef USE_WIN32DLL'
5333 _nocodecmodules="win32 $_nocodecmodules"
5334 _dshow=no
5335 echores "no"
5338 if test "$_win32" != no ; then
5339 _def_win32_loader='#undef WIN32_LOADER'
5340 echocheck "Win32 loader support"
5341 _ld_win32='loader/libloader.a'
5342 _dep_win32='loader/libloader.a'
5343 _codecmodules="win32 $_codecmodules"
5344 if openbsd ; then
5345 x86 && _ld_win32="$_ld_win32 -li386"
5347 if not win32 ; then
5348 _def_win32_loader='#define WIN32_LOADER 1'
5349 echores "yes"
5350 else
5351 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
5352 echores "no (using native windows)"
5356 echocheck "DirectShow"
5357 if false ; then
5359 if test "$_dshow" != no ; then
5360 _dshow=no
5361 # check if compiler supports C++ and C++-libs are installed correctly
5362 cat > "$TMPCPP" << EOF
5363 #include <string>
5364 class myclass {
5365 private: int ret;
5366 public: int myreturn(void);
5368 int myclass::myreturn(void) { ret = 0; return ret ; }
5369 int main(void) { myclass myobject; return myobject.myreturn(); }
5371 echo "------------------------------------------------" >> "$TMPLOG"
5372 cat "$TMPCPP" >> "$TMPLOG"
5373 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
5374 _dshow=yes
5375 echores "yes (C++ is ok)"
5376 else
5377 echores "no"
5378 cat << EOF
5380 Your C++ runtime environment is broken.
5382 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5383 Are the C++ libraries correctly installed?
5384 Check for libstdc++ and in (/etc/)ld.so.conf.
5386 If you do not need DirectShow support, you can also use:
5387 ./configure --disable-dshow <your-normal-configure-options>
5388 to disable building the C++ based DirectShow code.
5391 die "$_cc's C++ is broken"
5397 echores "$_dshow"
5399 if test "$_dshow" = yes ; then
5400 _def_dshow='#define USE_DIRECTSHOW 1'
5401 _ld_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5402 _dep_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5403 _codecmodules="dshow/dmo $_codecmodules"
5404 else
5405 _def_dshow='#undef USE_DIRECTSHOW'
5406 _nocodecmodules="dshow/dmo $_nocodecmodules"
5410 echocheck "XAnim DLL"
5411 if test "$_xanim" = auto ; then
5412 _xanim=no
5413 if test "$_dl" = yes ; then
5414 if test -z "$_xanimlibdir" ; then
5415 for I in "$_libdir/codecs" /usr/local/lib/xanim/mods /usr/lib/xanim/mods /usr/lib/xanim $XANIM_MOD_DIR ; do
5416 if test -d "$I" ; then
5417 _xanimlibdir="$I"
5418 break;
5420 done
5422 test "$_xanimlibdir" && _xanim=yes
5423 if test "$_xanim" = yes ; then
5424 echores "yes (using $_xanimlibdir)"
5425 else
5426 echores "no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5428 else
5429 echores "no (dynamic loader support needed)"
5431 else
5432 echores "$_xanim (using $_xanimlibdir)"
5434 if test "$_xanim" = yes ; then
5435 _def_xanim='#define USE_XANIM 1'
5436 _def_xanim_path="#define XACODEC_PATH \"$_xanimlibdir\""
5437 _codecmodules="xanim $_codecmodules"
5438 else
5439 _def_xanim='#undef USE_XANIM'
5440 _def_xanim_path='#undef XACODEC_PATH'
5441 _nocodecmodules="xanim $_nocodecmodules"
5444 echocheck "RealPlayer DLL"
5445 if test "$_real" = auto ; then
5446 _real=no
5447 if test "$_dl" = yes || test "$_win32" = yes ; then
5448 # if test "$_dl" = yes ; then
5449 if linux || freebsd || netbsd || win32 || darwin ; then
5450 _real=yes
5451 else
5452 echores "no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin)"
5454 if test "$_real" = yes ; then
5455 if test -z "$_reallibdir" ; then
5456 for I in "$_libdir/codecs" "$_libdir/real" /usr/lib/real \
5457 /usr/lib/RealPlayer{9,8,}/Codecs /usr/local/RealPlayer{9,8,}/Codecs \
5458 /usr/local/lib/RealPlayer{9,8,}/Codecs /opt/RealPlayer{9,8,}/{Real/,}Codecs \
5459 {~,}/Applications/RealOne\ Player.app/Contents/MacOS/Library/Codecs \
5460 "$_win32libdir"; do
5461 if test -d "$I" ; then
5462 _reallibdir="$I"
5463 break
5465 done
5467 test "$_reallibdir" || _real=no
5468 if test "$_real" = yes ; then
5469 echores "yes (using $_reallibdir)"
5470 else
5471 echores "no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5474 else
5475 echores "no (dynamic loader support needed)"
5477 else
5478 echores "$_real (using $_reallibdir)"
5480 if test "$_real" = yes ; then
5481 _def_real='#define USE_REALCODECS 1'
5482 _def_real_path="#define REALCODEC_PATH \"$_reallibdir\""
5483 _codecmodules="real $_codecmodules"
5484 else
5485 _def_real='#undef USE_REALCODECS'
5486 _def_real_path="#undef REALCODEC_PATH"
5487 _nocodecmodules="real $_nocodecmodules"
5491 echocheck "LIVE.COM Streaming Media libraries"
5492 if test "$_live" = auto && test "$_network" = yes ; then
5493 _TMPC=$TMPC
5494 TMPC=$TMPCPP
5495 cat >$TMPC <<EOF
5496 #include <liveMedia.hh>
5497 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5498 #error Please upgrade to version 2004.07.19 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/>
5499 #endif
5500 int main(void) {}
5503 _live_dist=no
5504 if test -z "$_livelibdir" ; then
5505 if cc_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
5506 _live_dist=yes
5507 else
5508 for I in $_libdir/live /usr/lib/live /usr/local/live /usr/local/lib/live; do
5509 if test -d "$I" ; then
5510 _livelibdir="$I"
5511 break;
5513 done
5517 if test "$_live_dist" = no && test "$_livelibdir" && cc_check -I$_livelibdir/liveMedia/include/ \
5518 -I$_livelibdir/UsageEnvironment/include -I$_livelibdir/groupsock/include; then
5519 _live=yes
5520 else
5521 _live=no
5523 TMPC=$_TMPC
5525 if test "$_live" = yes && test "$_network" = yes ; then
5526 echores "yes (using $_livelibdir)"
5527 _def_live='#define STREAMING_LIVE_DOT_COM 1'
5528 _live_libs_def="# LIVE.COM Streaming Media libraries:
5529 LIVE_LIB_DIR = $_livelibdir
5530 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
5531 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
5532 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
5533 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
5534 LIVE_LIBS += -lstdc++
5535 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
5536 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
5537 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
5538 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
5539 _ld_live='$(LIVE_LIBS)'
5540 _inputmodules="live.com $_inputmodules"
5541 elif test "$_live_dist" = yes && test "$_network" = yes ; then
5542 echores "yes (using distribution version)"
5543 _live="yes"
5544 _def_live='#define STREAMING_LIVE_DOT_COM 1'
5545 _live_libs_def="# LIVE.COM Streaming Media libraries:
5546 LIVE_LIB_DIR = $_livelibdir
5547 LIVE_LIBS = -lliveMedia
5548 LIVE_LIBS += -lgroupsock
5549 LIVE_LIBS += -lUsageEnvironment
5550 LIVE_LIBS += -lBasicUsageEnvironment
5551 LIVE_LIBS += -lstdc++
5552 LIVE_INCLUDES = -I/usr/include/liveMedia
5553 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
5554 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
5555 LIVE_INCLUDES += -I/usr/include/groupsock"
5556 _ld_live='$(LIVE_LIBS)'
5557 _inputmodules="live.com $_inputmodules"
5558 else
5559 echores "no"
5560 _def_live='#undef STREAMING_LIVE_DOT_COM'
5561 _noinputmodules="live.com $_noinputmodules"
5565 echocheck "FFmpeg libavcodec (static)"
5566 if test "$_libavcodec" = auto ; then
5567 # Note: static linking is preferred to dynamic linking
5568 _libavcodec=no
5569 if test -d libavcodec && test -f libavcodec/utils.c ; then
5570 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
5571 _libavcodec=yes
5572 echores "yes"
5573 else
5574 echores "no (old ffmpeg version, use CVS !)"
5576 else
5577 echores "no (see DOCS/HTML/$_doc_lang/codecs.html)"
5579 else
5580 echores "$_libavcodec"
5583 echocheck "FFmpeg libavformat (static)"
5584 if test "$_libavformat" = auto ; then
5585 # Note: static linking is preferred to dynamic linking
5586 _libavformat=no
5587 if test -d libavformat && test -f libavformat/utils.c ; then
5588 _libavformat=yes
5589 echores "yes"
5590 else
5591 echores "no"
5593 else
5594 echores "$_libavformat"
5597 _def_haveffpostprocess='no'
5598 if test -d libavcodec && test -f libavcodec/libpostproc/postprocess.h ; then
5599 _def_haveffpostprocess='yes'
5602 if test "$_libavcodec" != yes ; then
5603 echocheck "FFmpeg libavcodec (dynamic)"
5604 if test "$_libavcodecso" = auto ; then
5605 _libavcodecso=no
5606 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
5607 cat > $TMPC << EOF
5608 #define FF_POSTPROCESS 1
5609 #include <ffmpeg/avcodec.h>
5610 int main(void) {
5611 avcodec_find_encoder_by_name("");
5612 return 0;
5615 if cc_check -lavcodec $_ld_lm ; then
5616 _libavcodecso=yes
5617 echores "yes (using libavcodec.so)"
5618 else
5619 echores "no (libavcodec.so is broken/obsolete)"
5621 else
5622 echores "$_libavcodecso"
5626 _def_libavcodec='#undef USE_LIBAVCODEC'
5627 _def_libavcodecso='#undef USE_LIBAVCODEC_SO'
5628 _def_ffpostprocess='#undef FF_POSTPROCESS'
5629 if test "$_libavcodec" = yes ; then
5630 _def_libavcodec='#define USE_LIBAVCODEC 1'
5631 _ld_libavcodec='libavcodec/libavcodec.a'
5632 _dep_libavcodec='libavcodec/libavcodec.a'
5633 _def_ffpostprocess='#define FF_POSTPROCESS 1'
5634 _codecmodules="libavcodec $_codecmodules"
5635 elif test "$_libavcodecso" = yes ; then
5636 _def_libavcodec='#define USE_LIBAVCODEC 1'
5637 _def_libavcodecso='#define USE_LIBAVCODEC_SO 1'
5638 _ld_libavcodec='-lavcodec'
5639 _codecmodules="libavcodec.so $_codecmodules"
5640 else
5641 _nocodecmodules="libavcodec $_nocodecmodules"
5644 _def_libavformat='#undef USE_LIBAVFORMAT'
5645 _def_libavformat_win32='#undef CONFIG_WIN32'
5646 if test "$_libavformat" = yes ; then
5647 _def_libavformat='#define USE_LIBAVFORMAT 1'
5648 _ld_libavformat='libavformat/libavformat.a'
5649 _dep_libavformat='libavformat/libavformat.a'
5650 if win32 ; then
5651 _def_libavformat_win32='#define CONFIG_WIN32 1'
5655 echocheck "libdv-0.9.5+"
5656 if test "$_libdv" = auto ; then
5657 _libdv=no
5658 cat > $TMPC <<EOF
5659 #include <libdv/dv.h>
5660 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
5662 cc_check -ldv $_ld_lm && _libdv=yes
5664 if test "$_libdv" = yes ; then
5665 _def_libdv='#define HAVE_LIBDV095 1'
5666 _ld_libdv="-ldv"
5667 _codecmodules="libdv $_codecmodules"
5668 else
5669 _def_libdv='#undef HAVE_LIBDV095'
5670 _nocodecmodules="libdv $_nocodecmodules"
5672 echores "$_libdv"
5674 echocheck "zr"
5675 if test "$_zr" = auto ; then
5676 #36067's seem to identify themselves as 36057PQC's, so the line
5677 #below should work for 36067's and 36057's.
5678 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
5679 _zr=yes
5680 else
5681 _zr=no
5684 if test "$_zr" = yes ; then
5685 if test "$_libavcodec" = yes ; then
5686 _def_zr='#define HAVE_ZR 1'
5687 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
5688 _vomodules="zr zr2 $_vomodules"
5689 echores "$_zr"
5690 else
5691 echores "libavcodec (static) is required by zr, sorry"
5692 _novomodules="zr $_novomodules"
5693 _def_zr='#undef HAVE_ZR'
5695 else
5696 _def_zr='#undef HAVE_ZR'
5697 _novomodules="zr zr2 $_novomodules"
5698 echores "$_zr"
5701 echocheck "bl"
5702 if test "$_bl" = yes ; then
5703 _def_bl='#define HAVE_BL 1'
5704 _vosrc="$_vosrc vo_bl.c"
5705 _vomodules="bl $_vomodules"
5706 else
5707 _def_bl='#undef HAVE_BL'
5708 _novomodules="bl $_novomodules"
5710 echores "$_bl"
5712 echocheck "XviD"
5713 cat > $TMPC << EOF
5714 #include <xvid.h>
5715 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
5717 _ld_xvid="$_ld_xvid -lxvidcore $_ld_lm"
5718 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid ; then
5719 _xvid=yes
5720 _def_xvid3='#define HAVE_XVID3 1'
5721 _def_xvid4='#undef HAVE_XVID4'
5722 _codecmodules="xvid $_codecmodules"
5723 else
5724 cat > $TMPC << EOF
5725 #include <xvid.h>
5726 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
5728 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid ; then
5729 _xvid=yes
5730 _def_xvid3='#undef HAVE_XVID3'
5731 _def_xvid4='#define HAVE_XVID4 1'
5732 _codecmodules="xvid $_codecmodules"
5733 else
5734 _xvid=no
5735 _ld_xvid=''
5736 _def_xvid3='#undef HAVE_XVID3'
5737 _def_xvid4='#undef HAVE_XVID4'
5738 _nocodecmodules="xvid $_nocodecmodules"
5741 echores "$_xvid"
5743 _xvidcompat=no
5744 _def_decore_xvid='#undef DECORE_XVID'
5745 _def_encore_xvid='#undef ENCORE_XVID'
5746 if test "$_xvid" = yes ; then
5747 echocheck "DivX4 compatibility in XviD"
5748 cat > $TMPC << EOF
5749 #include <divx4.h>
5750 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5752 cc_check $_ld_lm "$_ld_xvid" && _xvidcompat=yes
5753 echores "$_xvidcompat"
5756 echocheck "x264"
5757 cat > $TMPC << EOF
5758 #include <stdint.h>
5759 #include <stdarg.h>
5760 #include <x264.h>
5761 int main(void) { x264_encoder_open((void*)0); return 0; }
5763 _ld_x264="$_ld_x264 -lx264 $_ld_lm"
5764 if test "$_x264" != no && cc_check $_inc_x264 $_ld_x264 ; then
5765 _x264=yes
5766 _def_x264='#define HAVE_X264 1'
5767 _codecmodules="x264 $_codecmodules"
5768 else
5769 _x264=no
5770 _ld_x264=''
5771 _def_x264='#undef HAVE_X264'
5772 _nocodecmodules="x264 $_nocodecmodules"
5774 echores "$_x264"
5776 echocheck "DivX4linux/DivX5linux/OpenDivX decore"
5777 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5778 cat > $TMPC << EOF
5779 #include <decore.h>
5780 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5782 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
5783 _opendivx=no
5784 _ld_decore='-ldivxdecore'
5785 _def_decore='#define NEW_DECORE 1'
5786 _def_divx='#define USE_DIVX'
5787 _def_divx5='#undef DECORE_DIVX5'
5788 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5789 _codecmodules="divx4linux $_codecmodules"
5790 echores "DivX4linux (with libdivxdecore.so)"
5791 else
5792 # if test "$_divx4linux" != no ; then
5793 # DivX5 check
5794 # OdivxPP disabled because of:
5795 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5796 cat > $TMPC << EOF
5797 #include <decore.h>
5798 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5800 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
5801 _opendivx=no
5802 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5803 _ld_decore='-ldivxdecore'
5804 _def_decore='#define NEW_DECORE 1'
5805 _def_divx='#define USE_DIVX'
5806 _def_divx5='#define DECORE_DIVX5 1'
5807 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5808 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5809 _codecmodules="divx5linux $_codecmodules"
5810 _nocodecmodules="divx4linux $_nocodecmodules"
5811 echores "DivX5linux (with libdivxdecore.so)"
5812 elif test "$_opendivx" != no ; then
5813 _opendivx=yes
5814 _ld_decore='opendivx/libdecore.a'
5815 _def_decore='#undef NEW_DECORE'
5816 _def_divx='#define USE_DIVX'
5817 _def_divx5='#undef DECORE_DIVX5'
5818 _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5819 _codecmodules="opendivx $_codecmodules"
5820 _nocodecmodules="divx5linux $_nocodecmodules"
5821 echores "OpenDivX"
5822 elif test "$_xvidcompat" = yes ; then
5823 _opendivx=no
5824 _ld_decore=''
5825 _def_decore='#define NEW_DECORE 1'
5826 _def_divx='#define USE_DIVX 1'
5827 _def_divx5='#undef DECORE_DIVX5'
5828 _def_decore_xvid='#define DECORE_XVID 1'
5829 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5830 _nocodecmodules="opendivx divx5linux divx4linux $_nocodecmodules"
5831 echores "XviD compat."
5832 else
5833 _opendivx=no
5834 _ld_decore=''
5835 _def_decore='#undef NEW_DECORE'
5836 _def_divx='#undef USE_DIVX'
5837 _def_divx5='#undef DECORE_DIVX5'
5838 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
5839 _nocodecmodules="opendivx $_nocodecmodules"
5840 echores "no"
5841 fi # DivX5 check
5845 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5846 if test "$_mencoder" != no ; then
5848 echocheck "libmp3lame (for mencoder)"
5849 _mp3lame=no
5850 cat > $TMPC <<EOF
5851 #include <lame/lame.h>
5852 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; }
5854 # Note: libmp3lame usually depends on vorbis
5855 cc_check -lmp3lame $_ld_vorbis $_ld_lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame=yes
5856 if test "$_mp3lame" = yes ; then
5857 _def_mp3lame="#define HAVE_MP3LAME `$TMPO`"
5858 _def_cfg_mp3lame="#define CONFIG_MP3LAME `$TMPO`"
5859 _ld_mp3lame="-lmp3lame $_ld_vorbis"
5860 else
5861 _def_mp3lame='#undef HAVE_MP3LAME'
5862 _def_cfg_mp3lame='#undef CONFIG_MP3LAME'
5864 echores "$_mp3lame"
5867 echocheck "DivX4linux encore (for mencoder)"
5868 cat > $TMPC << EOF
5869 #include <encore2.h>
5870 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5872 if test "$_divx4linux" != no && cc_check -ldivxencore $_ld_lm ; then
5873 _def_encore='#define HAVE_DIVX4ENCORE 1'
5874 _ld_encore='-ldivxencore'
5875 echores "DivX4linux (with libdivxencore.so)"
5876 elif test "$_xvidcompat" = yes ; then
5877 _def_encore='#define HAVE_DIVX4ENCORE 1'
5878 _ld_encore=''
5879 _def_encore_xvid='#define ENCORE_XVID 1'
5880 echores "XviD compat."
5881 else
5882 _def_encore='#undef HAVE_DIVX4ENCORE'
5883 echores "no"
5888 echocheck "mencoder"
5889 _mencoder_flag='#undef HAVE_MENCODER'
5890 if test "$_mencoder" = yes ; then
5891 _mencoder_flag='#define HAVE_MENCODER'
5893 echores "$_mencoder"
5895 echocheck "fastmemcpy"
5896 # fastmemcpy check is done earlier with tests of CPU & binutils features
5897 if test "$_fastmemcpy" = yes ; then
5898 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
5899 else
5900 _def_fastmemcpy='#undef USE_FASTMEMCPY'
5902 echores "$_fastmemcpy"
5904 echocheck "UniquE RAR File Library"
5905 if test "$_unrarlib" = yes ; then
5906 _def_unrarlib='#define USE_UNRARLIB 1'
5907 else
5908 _def_unrarlib='#undef USE_UNRARLIB'
5910 echores "$_unrarlib"
5912 echocheck "TV interface"
5913 if test "$_tv" = yes ; then
5914 _def_tv='#define USE_TV 1'
5915 _inputmodules="tv $_inputmodules"
5916 else
5917 _noinputmodules="tv $_noinputmodules"
5918 _def_tv='#undef USE_TV'
5920 echores "$_tv"
5922 echocheck "EDL support"
5923 if test "$_edl" = yes ; then
5924 _def_edl='#define USE_EDL'
5925 _inputmodules="edl $_inputmodules"
5926 else
5927 _noinputmodules="edl $_noinputmodules"
5928 _def_edl='#undef USE_EDL'
5930 echores "$_edl"
5932 echocheck "*BSD BrookTree 848 TV interface"
5933 if test "$_tv_bsdbt848" = auto ; then
5934 _tv_bsdbt848=no
5935 if test "$_tv" = yes ; then
5936 cat > $TMPC <<EOF
5937 #include <sys/types.h>
5938 #if defined(__NetBSD__)
5939 #include <dev/ic/bt8xx.h>
5940 #else
5941 #include <machine/ioctl_bt848.h>
5942 #endif
5943 int main(void) { return 0; }
5945 cc_check && _tv_bsdbt848=yes
5948 if test "$_tv_bsdbt848" = yes ; then
5949 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
5950 _inputmodules="tv-bsdbt848 $_inputmodules"
5951 else
5952 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
5953 _noinputmodules="tv-bsdbt848 $_noinputmodules"
5955 echores "$_tv_bsdbt848"
5957 echocheck "Video 4 Linux TV interface"
5958 if test "$_tv_v4l" = auto ; then
5959 _tv_v4l=no
5960 if test "$_tv" = yes && linux ; then
5961 for I in /dev/video /dev/video? ; do
5962 if test -c $I ; then
5963 cat > $TMPC <<EOF
5964 #include <stdlib.h>
5965 #include <linux/videodev.h>
5966 int main(void) { return 0; }
5968 cc_check && _tv_v4l=yes
5969 break
5971 done
5974 if test "$_tv_v4l" = yes ; then
5975 _def_tv_v4l='#define HAVE_TV_V4L 1'
5976 _inputmodules="tv-v4l $_inputmodules"
5977 else
5978 _noinputmodules="tv-v4l $_noinputmodules"
5979 _def_tv_v4l='#undef HAVE_TV_V4L'
5981 echores "$_tv_v4l"
5984 echocheck "Video 4 Linux 2 TV interface"
5985 if test "$_tv_v4l2" = auto ; then
5986 _tv_v4l2=no
5987 if test "$_tv" = yes && linux ; then
5988 for I in /dev/video /dev/video? ; do
5989 if test -c $I ; then
5990 _tv_v4l2=yes
5991 break
5993 done
5996 if test "$_tv_v4l2" = yes ; then
5997 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
5998 _inputmodules="tv-v4l2 $_inputmodules"
5999 else
6000 _noinputmodules="tv-v4l2 $_noinputmodules"
6001 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6003 echores "$_tv_v4l2"
6006 echocheck "audio select()"
6007 if test "$_select" = no ; then
6008 _def_select='#undef HAVE_AUDIO_SELECT'
6009 elif test "$_select" = yes ; then
6010 _def_select='#define HAVE_AUDIO_SELECT 1'
6012 echores "$_select"
6015 echocheck "network"
6016 # FIXME network check
6017 if test "$_network" != no ; then
6018 _def_network='#define MPLAYER_NETWORK 1'
6019 _ld_network="$_ld_sock"
6020 _inputmodules="network $_inputmodules"
6021 else
6022 _noinputmodules="network $_noinputmodules"
6023 _def_network='#undef MPLAYER_NETWORK'
6024 _ftp=no
6026 echores "$_network"
6028 echocheck "ftp"
6029 if (not beos) && (test "$_ftp" != no) ; then
6030 _def_ftp='#define HAVE_FTP 1'
6031 _inputmodules="ftp $_inputmodules"
6032 else
6033 _noinputmodules="ftp $_noinputmodules"
6034 _def_ftp='#undef HAVE_FTP'
6036 echores "$_ftp"
6038 # endian testing
6039 echocheck "byte order"
6040 if test "$_big_endian" = auto ; then
6041 cat > $TMPC <<EOF
6042 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6043 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6044 int main(){
6045 char* s = (char*)ascii_name;
6046 return 0;
6049 if cc_check ; then
6050 if test `grep -l MPlayerBigEndian $TMPO` ; then
6051 _big_endian=yes
6052 else
6053 _big_endian=no
6055 else
6056 echo -n "failed to autodetect byte order, defaulting to "
6059 if test "$_big_endian" = yes ; then
6060 _byte_order='big-endian'
6061 _def_words_endian='#define WORDS_BIGENDIAN 1'
6062 else
6063 _byte_order='little-endian'
6064 _def_words_endian='#undef WORDS_BIGENDIAN'
6066 echores "$_byte_order"
6068 echocheck "shared postprocess lib"
6069 echores "$_shared_pp"
6071 echocheck "OSD menu"
6072 if test "$_menu" = yes ; then
6073 _def_menu='#define HAVE_MENU 1'
6074 else
6075 _def_menu='#undef HAVE_MENU'
6077 echores "$_menu"
6079 # Check to see if they want QTX codecs enabled
6080 echocheck "QTX codecs"
6081 if test "$_qtx" = auto ; then
6082 _qtx=$_win32
6084 if test "$_qtx" = yes ; then
6085 _def_qtx='#define USE_QTX_CODECS 1'
6086 _codecmodules="qtx $_codecmodules"
6087 else
6088 _def_qtx='#undef USE_QTX_CODECS'
6089 _nocodecmodules="qtx $_nocodecmodules"
6091 echores "$_qtx"
6094 echocheck "Subtitles sorting"
6095 if test "$_sortsub" = yes ; then
6096 _def_sortsub='#define USE_SORTSUB 1'
6097 else
6098 _def_sortsub='#undef USE_SORTSUB'
6100 echores "$_sortsub"
6103 echocheck "XMMS inputplugin support"
6104 if test "$_xmms" = yes ; then
6106 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6107 if test -z "$_xmmsplugindir" ; then
6108 _xmmsplugindir=`xmms-config --input-plugin-dir`
6110 if test -z "$_xmmslibdir" ; then
6111 _xmmslibdir=`xmms-config --exec-prefix`/lib
6113 else
6114 if test -z "$_xmmsplugindir" ; then
6115 _xmmsplugindir=/usr/lib/xmms/Input
6117 if test -z "$_xmmslibdir" ; then
6118 _xmmslibdir=/usr/lib
6122 _def_xmms='#define HAVE_XMMS 1'
6123 if darwin ; then
6124 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
6125 else
6126 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6128 else
6129 _def_xmms='#undef HAVE_XMMS'
6131 echores "$_xmms"
6133 echocheck "inet6"
6134 if test "$_inet6" = auto ; then
6135 cat > $TMPC << EOF
6136 #include <sys/types.h>
6137 #include <sys/socket.h>
6138 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6140 _inet6=no
6141 if cc_check ; then
6142 _inet6=yes
6145 if test "$_inet6" = yes ; then
6146 _def_inet6='#define HAVE_AF_INET6 1'
6147 else
6148 _def_inet6='#undef HAVE_AF_INET6'
6150 echores "$_inet6"
6153 echocheck "gethostbyname2"
6154 if test "$_gethostbyname2" = auto ; then
6155 cat > $TMPC << EOF
6156 #include <sys/types.h>
6157 #include <sys/socket.h>
6158 #include <netdb.h>
6159 int main(void) { gethostbyname2("", AF_INET); }
6161 _gethostbyname2=no
6162 if cc_check ; then
6163 _gethostbyname2=yes
6167 if test "$_gethostbyname2" = yes ; then
6168 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
6169 else
6170 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
6172 echores "$_gethostbyname2"
6174 # --------------- GUI specific tests begin -------------------
6175 echocheck "GUI"
6176 echo "$_gui"
6177 if test "$_gui" = yes ; then
6179 # Required libraries
6180 test "$_png" != yes && die "PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6181 test "$_x11" != yes && die "X11 support required for GUI compilation"
6183 echocheck "XShape extension"
6184 _xshape=no
6185 if test "$_x11" = yes ; then
6186 cat > $TMPC << EOF
6187 #include <X11/Xlib.h>
6188 #include <X11/Xproto.h>
6189 #include <X11/Xutil.h>
6190 #include <X11/extensions/shape.h>
6191 #include <stdlib.h>
6192 int main(void) {
6193 char *name = ":0.0";
6194 Display *wsDisplay;
6195 int exitvar = 0;
6196 int eventbase, errorbase;
6197 if (getenv("DISPLAY"))
6198 name=getenv("DISPLAY");
6199 wsDisplay=XOpenDisplay(name);
6200 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6201 exitvar=1;
6202 XCloseDisplay(wsDisplay);
6203 return exitvar;
6206 cc_check $_inc_x11 $_ld_x11 && _xshape=yes
6208 if test "$_xshape" = yes ; then
6209 _def_xshape='#define HAVE_XSHAPE 1'
6210 else
6211 die "The GUI requires the X11 extension XShape (which was not found)."
6213 echores "$_xshape"
6216 # Check for GTK:
6217 echocheck "GTK version"
6218 if test -z "$_gtkconfig" ; then
6219 if ( gtk-config --version ) >/dev/null 2>&1 ; then
6220 _gtkconfig="gtk-config"
6221 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
6222 _gtkconfig="gtk12-config"
6223 else
6224 die "The GUI requires GTK devel packages (which were not found)."
6227 _gtk=`$_gtkconfig --version 2>&1`
6228 _inc_gtk=`$_gtkconfig --cflags 2>&1`
6229 _ld_gtk=`$_gtkconfig --libs 2>&1`
6230 echores "$_gtk (using $_gtkconfig)"
6232 # Check for GLIB
6233 echocheck "glib version"
6234 if test -z "$_glibconfig" ; then
6235 if ( glib-config --version ) >/dev/null 2>&1 ; then
6236 _glibconfig="glib-config"
6237 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
6238 _glibconfig="glib12-config"
6239 else
6240 die "The GUI requires GLib devel packages (which were not found)"
6243 _glib=`$_glibconfig --version 2>&1`
6244 _inc_glib=`$_glibconfig --cflags 2>&1`
6245 _ld_glib=`$_glibconfig --libs 2>&1`
6246 echores "$_glib (using $_glibconfig)"
6248 _def_gui='#define HAVE_NEW_GUI 1'
6249 _ld_gui='$(GTKLIB) $(GLIBLIB)'
6251 echo "Creating Gui/config.mak"
6252 cat > Gui/config.mak << EOF
6253 # -------- Generated by configure -----------
6255 GTKINC = $_inc_gtk
6256 GTKLIBS = $_ld_gtk
6257 GLIBINC = $_inc_glib
6258 GLIBLIBS = $_ld_glib
6262 else
6263 _def_gui='#undef HAVE_NEW_GUI'
6265 # --------------- GUI specific tests end -------------------
6269 #############################################################################
6271 # Checking for CFLAGS
6272 _stripbinaries=yes
6273 if test "$_profile" != "" || test "$_debug" != "" ; then
6274 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6275 if test "$_cc_major" -ge "3" ; then
6276 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6278 _stripbinaries=no
6279 elif test -z "$CFLAGS" ; then
6280 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6281 # always compile with '-g' if .developer:
6282 if test -f ".developer" ; then
6283 CFLAGS="-g $CFLAGS"
6284 if (test "$_crash_debug" = auto) && (not mingw32) ; then
6285 _crash_debug=yes
6287 _stripbinaries=no
6289 else
6290 cat <<EOF
6292 MPlayer compilation will use the CFLAGS set by you, but:
6294 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
6296 It is strongly recommended to let MPlayer choose the correct CFLAGS!
6297 To do so, execute 'CFLAGS= ./configure <options>'
6302 echocheck "automatic gdb attach"
6303 if test "$_crash_debug" = yes ; then
6304 _def_crash_debug='#define CRASH_DEBUG 1'
6305 else
6306 _def_crash_debug='#undef CRASH_DEBUG'
6307 _crash_debug=no
6309 echores "$_crash_debug"
6311 if darwin ; then
6312 CFLAGS="$CFLAGS -DSYS_DARWIN"
6313 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6314 CFLAGS="$CFLAGS -no-cpp-precomp"
6317 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
6318 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
6320 if hpux ; then
6321 # use flag for HPUX missing setenv()
6322 CFLAGS="$CFLAGS -DHPUX"
6324 # Thread support
6325 if linux ; then
6326 CFLAGS="$CFLAGS -D_REENTRANT"
6327 elif bsd ; then
6328 # FIXME bsd needs this so maybe other OS'es
6329 CFLAGS="$CFLAGS -D_THREAD_SAFE"
6331 # 64 bit file offsets?
6332 if test "$_largefiles" = yes || freebsd ; then
6333 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6334 if test "$_dvdread" = yes ; then
6335 # dvdread support requires this (for off64_t)
6336 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
6340 echocheck "compiler support for -fno-PIC"
6341 if x86; then
6342 cat > $TMPC <<EOF
6343 int main(void) { return 0; }
6345 if cc_check -fno-PIC ; then
6346 CFLAGS="-fno-PIC $CFLAGS"
6347 echores "yes"
6348 else
6349 echores "no"
6351 else
6352 echores "only used for x86"
6355 echocheck "ftello()"
6356 # if we don't have ftello use the osdep/ compatibility module
6357 cat > $TMPC << EOF
6358 #include <stdio.h>
6359 #include <sys/types.h>
6360 int main (void) { ftello(stdin); return 0; }
6362 _ftello=no
6363 cc_check && _ftello=yes
6364 if test "$_ftello" = yes ; then
6365 _def_ftello='#define HAVE_FTELLO 1'
6366 else
6367 _def_ftello='#undef HAVE_FTELLO'
6369 echores "$_ftello"
6371 # Determine OS dependent libs
6372 if cygwin ; then
6373 _def_confwin32='#define WIN32'
6374 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
6375 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
6376 CFLAGS="$CFLAGS -D__CYGWIN__"
6379 if win32 ; then
6380 _confwin32='TARGET_WIN32 = yes'
6381 else
6382 _confwin32='TARGET_WIN32 = no'
6385 # Dynamic linking flags
6386 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6387 _ld_dl_dynamic=''
6388 bsd && _ld_dl_dynamic='-rdynamic'
6389 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx ; then
6390 _ld_dl_dynamic='-rdynamic'
6393 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6394 bsdos && _ld_arch="$_ld_arch -ldvd"
6395 if netbsd ; then
6396 x86 && _ld_arch="$_ld_arch -li386"
6399 _def_debug='#undef MP_DEBUG'
6400 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
6402 _def_linux='#undef TARGET_LINUX'
6403 linux && _def_linux='#define TARGET_LINUX 1'
6405 # TODO cleanup the VIDIX stuff here
6406 _def_vidix='#define CONFIG_VIDIX 1'
6407 test "$_vidix" = no && _def_vidix='#undef CONFIG_VIDIX'
6408 if test "$_vidix" = yes; then
6409 _vosrc="$_vosrc vo_cvidix.c"
6410 _vomodules="cvidix $_vomodules"
6411 else
6412 _novomodules="cvidix $_novomodules"
6414 if test "$_vidix" = yes && (win32); then
6415 _vosrc="$_vosrc vo_winvidix.c"
6416 _vomodules="winvidix $_vomodules"
6417 _ld_win32libs="-lgdi32 $_ld_win32libs"
6418 else
6419 _novomodules="winvidix $_novomodules"
6421 if test "$_vidix" = yes && test "$_x11" = yes; then
6422 _vosrc="$_vosrc vo_xvidix.c"
6423 _vomodules="xvidix $_vomodules"
6424 else
6425 _novomodules="xvidix $_novomodules"
6427 echo Checking for VIDIX ... "$_vidix"
6429 _def_joystick='#undef HAVE_JOYSTICK'
6430 if test "$_joystick" = yes ; then
6431 if linux ; then
6432 # TODO add some check
6433 _def_joystick='#define HAVE_JOYSTICK 1'
6434 else
6435 _joystick="no (unsupported under $system_name)"
6438 echo Checking for joystick ... "$_joystick"
6440 echocheck "lirc"
6441 if test "$_lirc" = auto ; then
6442 _lirc=no
6443 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
6444 cat > $TMPC <<EOF
6445 #include <lirc/lirc_client.h>
6446 int main(void) { return 0; }
6448 cc_check -llirc_client && _lirc=yes
6451 if test "$_lirc" = yes ; then
6452 _def_lirc='#define HAVE_LIRC 1'
6453 _ld_lirc='-llirc_client'
6454 else
6455 _def_lirc='#undef HAVE_LIRC'
6457 echores "$_lirc"
6459 echocheck "lircc"
6460 if test "$_lircc" = auto ; then
6461 _lircc=no
6462 cat > $TMPC <<EOF
6463 #include <lirc/lircc.h>
6464 int main(void) { return 0; }
6466 cc_check -llircc && _lircc=yes
6468 if test "$_lircc" = yes ; then
6469 _def_lircc='#define HAVE_LIRCC 1'
6470 _ld_lircc='-llircc'
6471 else
6472 _def_lircc='#undef HAVE_LIRCC'
6474 echores "$_lircc"
6476 #############################################################################
6477 echo "Creating config.mak"
6478 cat > config.mak << EOF
6479 # -------- Generated by configure -----------
6481 LANG = C
6482 MAN_LANG = $MAN_LANG
6483 TARGET_OS = $system_name
6484 DESTDIR =
6485 prefix = \$(DESTDIR)$_prefix
6486 BINDIR = \$(DESTDIR)$_bindir
6487 DATADIR = \$(DESTDIR)$_datadir
6488 MANDIR = \$(DESTDIR)$_mandir
6489 CONFDIR = \$(DESTDIR)$_confdir
6490 LIBDIR = \$(DESTDIR)$_libdir
6491 #AR = ar
6492 CC = $_cc
6493 HOST_CC = $_host_cc
6494 AWK = $_awk
6495 RANLIB = $_ranlib
6496 INSTALL = $_install
6497 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
6498 EXTRA_INC = $_inc_extra $_inc_gtk
6499 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC)
6500 STRIPBINARIES = $_stripbinaries
6501 HELP_FILE = $_mp_help
6503 PRG = $_prg
6504 PRG_MENCODER = $_prg_mencoder
6506 $_live_libs_def
6508 MPLAYER_NETWORK = $_network
6509 STREAMING_LIVE_DOT_COM = $_live
6510 MPLAYER_NETWORK_LIB = $_ld_live $_ld_network
6511 DVBIN = $_dvbin
6512 VIDIX = $_vidix
6513 SHARED_PP = $_shared_pp
6514 CONFIG_PP = yes
6515 CONFIG_RISKY = yes
6516 CONFIG_MP3LAME = $_mp3lame
6517 LIBMENU = $_menu
6518 I18NLIBS = $_i18n_libs
6519 MATROSKA = $_matroska_internal
6521 OPENDIVX = $_opendivx
6523 MP3LIB = $_mp3lib
6524 LIBA52 = $_liba52
6525 LIBMPEG2 = $_libmpeg2
6527 UNRARLIB = $_unrarlib
6528 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
6529 PNG = $_mkf_png
6530 JPEG = $_mkf_jpg
6531 GIF = $_mkf_gif
6533 EXTRA_LIB = $_ld_extra
6534 Z_LIB = $_ld_static $_ld_zlib
6535 HAVE_MLIB = $_mlib
6536 WIN32_LIB = $_ld_win32libs
6537 STATIC_LIB = $_ld_static
6538 ENCA_LIB = $_ld_enca
6539 HAVE_PTHREADS = $_pthreads
6540 MATH_LIB = $_ld_lm
6542 X11_INC = $_inc_x11
6543 X11DIR = $_ld_x11
6545 HAVE_XVMC_ACCEL = $_xvmc
6547 # for libavcodec:
6548 SRC_PATH=..
6549 LIBPREF=lib
6550 LIBSUF=.a
6551 SLIBPREF=lib
6552 SLIBSUF=.so
6554 # video output
6555 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
6556 GGI_LIB = $_ld_ggi
6557 MLIB_LIB = $_ld_mlib
6558 MLIB_INC = $_inc_mlib
6559 DXR2_INC = $_inc_dxr2
6560 DVB_INC = $_inc_dvb
6561 PNG_LIB = $_ld_png
6562 JPEG_LIB = $_ld_jpg
6563 GIF_LIB = $_ld_gif
6564 SDL_LIB = $_ld_sdl
6565 SVGA_LIB = $_ld_svga
6566 AA_LIB = $_ld_aa
6567 CACA_INC = $_inc_caca
6568 CACA_LIB = $_ld_caca
6570 # audio output
6571 ALSA_LIB = $_ld_alsa
6572 NAS_LIB = $_ld_nas
6573 ARTS_LIB = $_ld_arts
6574 ARTS_INC = $_inc_arts
6575 ESD_LIB = $_ld_esd
6576 ESD_INC = $_inc_esd
6577 POLYP_LIB = $_ld_polyp
6578 POLYP_INC = $_inc_polyp
6579 JACK_LIB = $_ld_jack
6580 JACK_INC = $_inc_jack
6581 SGIAUDIO_LIB = $_ld_sgiaudio
6583 # input/demuxer/codecs
6584 TERMCAP_LIB = $_ld_termcap
6585 LIRC_LIB = $_ld_lirc
6586 LIRCC_LIB = $_ld_lircc
6587 DVDREAD_LIB = $_ld_dvdread
6588 DVDKIT = $_dvdkit
6589 DVDKIT2 = $_dvdkit2
6590 DVDKIT_SHARED = no
6591 SDL_INC = $_inc_sdl
6592 W32_DEP = $_dep_win32
6593 W32_LIB = $_ld_win32
6594 DS_DEP = $_dep_dshow
6595 DS_LIB = $_ld_dshow
6596 AV_DEP = $_dep_libavcodec $_dep_libavformat
6597 AV_LIB = $_ld_libavcodec $_ld_libavformat
6598 CONFIG_LIBAVFORMAT = $_libavformat
6599 ZORAN = $_zr
6600 FAME = $_fame
6601 FAME_LIB = $_ld_fame
6602 MP1E_DEP = $_dep_mp1e
6603 MP1E_LIB = $_ld_mp1e
6604 ARCH_LIB = $_ld_arch $_ld_iconv
6605 XVID = $_xvid
6606 XVID_INC = $_inc_xvid
6607 XVID_LIB = $_ld_xvid
6608 X264 = $_x264
6609 X264_INC = $_inc_x264
6610 X264_LIB = $_ld_x264
6611 CONFIG_DTS = $_libdts
6612 DTS_INC = $_inc_libdts
6613 DTS_LIB = $_ld_libdts
6614 DECORE_LIB = $_ld_decore $_ld_mp3lame
6615 MENCODER = $_mencoder
6616 ENCORE_LIB = $_ld_encore $_ld_mp3lame
6617 DIRECTFB_INC = $_inc_directfb
6618 DIRECTFB_LIB = $_ld_directfb
6619 CDPARANOIA_INC = $_inc_cdparanoia
6620 CDPARANOIA_LIB = $_ld_cdparanoia
6621 FREETYPE_INC = $_inc_freetype
6622 FREETYPE_LIB = $_ld_freetype
6623 FONTCONFIG_INC = $_inc_fontconfig
6624 FONTCONFIG_LIB = $_ld_fontconfig
6625 FRIBIDI_INC = $_inc_fribidi
6626 FRIBIDI_LIB = $_ld_fribidi
6627 LIBLZO_LIB= $_ld_liblzo
6628 MAD_LIB = $_ld_mad
6629 VORBIS_LIB = $_ld_vorbis $_ld_libdv
6630 THEORA_LIB = $_ld_theora
6631 FAAD_LIB = $_ld_faad
6632 INTERNAL_FAAD = $_faad_internal
6633 SMBSUPPORT_LIB = $_ld_smb
6634 XMMS_PLUGINS = $_xmms
6635 XMMS_LIB = $_xmms_lib
6636 MACOSX = $_macosx
6637 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
6638 MACOSX_FRAMEWORKS = $_macosx_frameworks
6639 TOOLAME=$_toolame
6640 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
6641 TOOLAME_LIB=$_toolame_lib
6643 # --- Some stuff for autoconfigure ----
6644 $_target_arch
6645 $_confwin32
6646 TARGET_CPU=$iproc
6647 TARGET_MMX = $_mmx
6648 TARGET_MMX2 = $_mmx2
6649 TARGET_3DNOW = $_3dnow
6650 TARGET_3DNOWEX = $_3dnowex
6651 TARGET_SSE = $_sse
6652 TARGET_ALTIVEC = $_altivec
6653 TARGET_VIS = $_vis
6655 # --- GUI stuff ---
6656 GTKLIB = $_ld_static $_ld_gtk
6657 GLIBLIB = $_ld_static $_ld_glib
6658 GTK_LIBS = $_ld_static $_ld_gui
6659 GUI = $_gui
6660 DEBUG = -DDEBUG
6664 #############################################################################
6665 echo "Creating config.h"
6666 cat > config.h << EOF
6667 /* -------- This file has been automatically generated by configure ---------
6668 Note: Any changes in it will be lost when you run configure again. */
6670 /* Protect against multiple inclusion */
6671 #ifndef MPLAYER_CONFIG_H
6672 #define MPLAYER_CONFIG_H 1
6674 /* use GNU internationalization */
6675 $_def_i18n
6677 /* missing mmap function on libc5 systems */
6678 #ifndef MAP_FAILED
6679 # define MAP_FAILED ((void *) -1)
6680 #endif
6682 /* use setlocale() function */
6683 $_def_setlocale
6685 /* Runtime CPU detection */
6686 $_def_runtime_cpudetection
6688 /* Dynamic a/v plugins */
6689 $_def_dynamic_plugins
6691 /* "restrict" keyword */
6692 $_def_restrict_keyword
6694 /* __builtin_expect branch prediction hint */
6695 $_def_builtin_expect
6697 /* attribute(used) as needed by some compilers */
6698 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
6699 # define attribute_used __attribute__((used))
6700 #else
6701 # define attribute_used
6702 #endif
6704 #define PREFIX "$_prefix"
6706 #define USE_OSD 1
6707 #define USE_SUB 1
6709 /* enable/disable SIGHANDLER */
6710 $_def_sighandler
6712 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
6713 $_def_crash_debug
6715 /* Toggles debugging informations */
6716 $_def_debug
6718 /* Indicates that Ogle's libdvdread is available for DVD playback */
6719 $_def_dvdread
6721 /* Indicates that dvdread is from libmpdvdkit */
6722 $_def_mpdvdkit
6724 /* Additional options for libmpdvdkit*/
6725 $_def_dvd
6726 $_def_cdrom
6727 $_def_cdio
6728 $_def_dvdio
6729 $_def_bsdi_dvd
6730 $_def_dvd_bsd
6731 $_def_dvd_linux
6732 $_dev_dvd_openbsd
6733 $_def_dvd_darwin
6734 $_def_sol_scsi_h
6735 $_def_hpux_scsi_h
6736 $_def_stddef
6738 /* Common data directory (for fonts, etc) */
6739 #define MPLAYER_DATADIR "$_datadir"
6740 #define MPLAYER_CONFDIR "$_confdir"
6741 #define MPLAYER_LIBDIR "$_libdir"
6743 /* Define this to compile stream-caching support, it can be enabled via
6744 -cache <kilobytes> */
6745 #define USE_STREAM_CACHE 1
6747 /* Define to include support for XviD/Divx4Linux/OpenDivx */
6748 $_def_divx
6750 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
6751 /* You have to change DECORE_LIBS in config.mak, too! */
6752 $_def_decore
6754 /* Define if you are using DivX5Linux Decore library */
6755 $_def_divx5
6757 /* Define if you are using XviD library */
6758 $_def_xvid3
6759 $_def_xvid4
6760 $_def_decore_xvid
6761 $_def_encore_xvid
6763 /* Define if you are using the X.264 library */
6764 $_def_x264
6766 /* Define to include support for libdv-0.9.5 */
6767 $_def_libdv
6769 /* If build mencoder */
6770 $_mencoder_flag
6772 /* Indicates if XviD/Divx4linux encore is available
6773 Note: for mencoder */
6774 $_def_encore
6776 /* Indicates if libmp3lame is available
6777 Note: for mencoder */
6778 $_def_mp3lame
6779 $_def_cfg_mp3lame
6781 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6782 $_def_mp1e
6784 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6785 (use -bps or -nobps commandline option for run-time method selection)
6786 -bps gives better sync for vbr mp3 audio, it is now default */
6787 #define AVI_SYNC_BPS 1
6789 /* Undefine this if you do not want to select mono audio (left or right)
6790 with a stereo MPEG layer 2/3 audio stream. The command line option
6791 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6792 right-only), with 0 being the default.
6794 #define USE_FAKE_MONO 1
6796 /* Undefine this if your sound card driver has no working select().
6797 If you have kernel Oops, player hangups, or just no audio, you should
6798 try to recompile MPlayer with this option disabled! */
6799 $_def_select
6801 /* define this to use iconv(3) function to codepage conversions */
6802 $_def_iconv
6804 /* define this to use nl_langinfo function */
6805 $_def_langinfo
6807 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6808 $_def_rtc
6810 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6811 #define MAX_OUTBURST 65536
6813 /* set up audio OUTBURST. Do not change this! */
6814 #define OUTBURST 512
6816 /* Define this if your system has the header file for the OSS sound interface */
6817 $_def_sys_soundcard
6819 /* Define this if your system has the header file for the OSS sound interface
6820 * in /usr/include */
6821 $_def_soundcard
6823 /* Define this if your system has the sysinfo header */
6824 $_def_sys_sysinfo
6826 /* Define this if your system has ftello() */
6828 $_def_ftello
6829 #ifndef HAVE_FTELLO
6830 /* Need these for FILE and off_t an config.h is usually before other includes*/
6831 #include <stdio.h>
6832 #include <sys/types.h>
6833 off_t ftello(FILE *);
6834 #endif
6836 /* Define this if your system has the "malloc.h" header file */
6837 $_def_malloc
6839 /* memalign is mapped to malloc if unsupported */
6840 $_def_memalign
6841 #ifndef HAVE_MEMALIGN
6842 # define memalign(a,b) malloc(b)
6843 #endif
6845 /* Define this if your system has the "alloca.h" header file */
6846 $_def_alloca
6848 /* Define this if your system has the "sys/mman.h" header file */
6849 $_def_mman
6851 /* Define this if you have the elf dynamic linker -ldl library */
6852 $_def_dl
6854 /* Define this if you have the kstat kernel statistics library */
6855 $_def_kstat
6857 /* Define this if you have zlib */
6858 $_def_zlib
6859 #ifdef HAVE_ZLIB
6860 #define CONFIG_ZLIB 1
6861 #endif
6863 /* Define this if you have shm support */
6864 $_def_shm
6866 /* Define this if your system has scandir & alphasort */
6867 $_def_scandir
6869 /* Define this if your system has strsep */
6870 $_def_strsep
6872 /* Define this if your system has strlcpy */
6873 $_def_strlcpy
6874 #ifndef HAVE_STRLCPY
6875 unsigned int strlcpy (char *dest, char *src, unsigned int size);
6876 #endif
6878 /* Define this if your system has strlcat */
6879 $_def_strlcat
6880 #ifndef HAVE_STRLCAT
6881 unsigned int strlcat (char *dest, char *src, unsigned int size);
6882 #endif
6884 /* Define this if your system has fseeko */
6885 $_def_fseeko
6886 #ifndef HAVE_FSEEKO
6887 /* Need these for FILE and off_t an config.h is usually before other includes*/
6888 #include <stdio.h>
6889 #include <sys/types.h>
6890 int fseeko(FILE *, off_t, int);
6891 #endif
6893 $_def_localtime_r
6895 /* Define this if your system has vsscanf */
6896 $_def_vsscanf
6898 /* Define this if your system has swab */
6899 $_def_swab
6901 /* Define this if your system has no posix select */
6902 $_def_no_posix_select
6904 /* Define this if your system has gettimeofday */
6905 $_def_gettimeofday
6907 /* Define this if your system has glob */
6908 $_def_glob
6910 /* Define this if your system has pthreads */
6911 $_def_pthreads
6913 /* LIRC (remote control, see www.lirc.org) support: */
6914 $_def_lirc
6917 * LIRCCD (LIRC client daemon)
6918 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6920 $_def_lircc
6922 /* DVD navigation support using libdvdnav */
6923 $_def_dvdnav
6924 $_def_dvdnav_version
6926 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6927 #define MPEG12_POSTPROC 1
6929 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6930 $_def_ffpostprocess
6932 /* Define to include support for OpenDivx postprocessing */
6933 $_def_odivx_postprocess
6935 /* Win32 DLL support */
6936 $_def_win32
6937 #define WIN32_PATH "$_win32libdir"
6939 /* DirectShow support */
6940 $_def_dshow
6942 /* Mac OS X specific features */
6943 $_def_macosx
6944 $_def_macosx_finder_support
6946 /* Build our Win32-loader */
6947 $_def_win32_loader
6949 /* ffmpeg's libavcodec support (requires libavcodec source) */
6950 $_def_libavcodec
6951 $_def_libavcodecso
6953 /* ffmpeg's libavformat support (requires libavformat source) */
6954 $_def_libavformat
6955 $_def_libavformat_win32
6957 /* risky codecs */
6958 #define CONFIG_RISKY 1
6960 /* Use libavcodec's decoders */
6961 #define CONFIG_DECODERS 1
6962 /* Use libavcodec's encoders */
6963 #define CONFIG_ENCODERS 1
6965 #define CONFIG_MPEGAUDIO_HP 1
6967 /* Use codec libs included in mplayer CVS / source dist: */
6968 $_def_mp3lib
6969 $_def_liba52
6970 $_def_libdts
6971 $_def_libmpeg2
6973 /* Use libfame encoder filter */
6974 $_def_fame
6976 /* XAnim DLL support */
6977 $_def_xanim
6978 /* Default search path */
6979 $_def_xanim_path
6981 /* RealPlayer DLL support */
6982 $_def_real
6983 /* Default search path */
6984 $_def_real_path
6986 /* LIVE.COM Streaming Media library support */
6987 $_def_live
6989 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6990 $_def_fastmemcpy
6992 /* Use unrarlib for Vobsubs */
6993 $_def_unrarlib
6995 /* gui support, please do not edit this option */
6996 $_def_gui
6998 /* Audio output drivers */
6999 $_def_ossaudio
7000 $_def_ossaudio_devdsp
7001 $_def_ossaudio_devmixer
7002 $_def_alsa5
7003 $_def_alsa9
7004 $_def_alsa1x
7005 $_def_arts
7006 $_def_esd
7007 $_def_esd_latency
7008 $_def_polyp
7009 $_def_jack
7010 $_def_sys_asoundlib_h
7011 $_def_alsa_asoundlib_h
7012 $_def_sunaudio
7013 $_def_sgiaudio
7014 $_def_win32waveout
7015 $_def_nas
7017 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7018 #undef FAST_OSD
7019 #undef FAST_OSD_TABLE
7021 /* Enable TV Interface support */
7022 $_def_tv
7024 /* Enable EDL support */
7025 $_def_edl
7027 /* Enable Video 4 Linux TV interface support */
7028 $_def_tv_v4l
7030 /* Enable Video 4 Linux 2 TV interface support */
7031 $_def_tv_v4l2
7033 /* Enable *BSD BrookTree TV interface support */
7034 $_def_tv_bsdbt848
7036 /* Define if your processor stores words with the most significant
7037 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7038 $_def_words_endian
7040 $_def_arch
7042 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7043 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7045 #ifdef ARCH_POWERPC
7046 #define ARCH_PPC 1
7047 #endif
7049 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7050 #ifdef ARCH_ARMV4L
7051 #define ARCH_ARM 1
7052 #endif
7054 /* only gcc3 can compile mvi instructions */
7055 $_def_gcc_mvi_support
7057 /* Define this for Cygwin build for win32 */
7058 $_def_confwin32
7060 /* Define this to any prefered value from 386 up to infinity with step 100 */
7061 #define __CPU__ $iproc
7063 $_mp_wordsize
7065 $_def_linux
7067 $_def_vcd
7069 #ifdef sun
7070 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7071 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7072 #elif defined(HPUX)
7073 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7074 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7075 #elif defined(WIN32)
7076 #define DEFAULT_CDROM_DEVICE "D:"
7077 #define DEFAULT_DVD_DEVICE "D:"
7078 #elif defined(SYS_DARWIN)
7079 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7080 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7081 #elif defined(__OpenBSD__)
7082 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7083 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7084 #else
7085 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7086 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7087 #endif
7090 /*----------------------------------------------------------------------------
7092 ** NOTE: Instead of modifying these definitions here, use the
7093 ** --enable/--disable options of the ./configure script!
7094 ** See ./configure --help for details.
7096 *---------------------------------------------------------------------------*/
7098 /* C99 lrintf function available */
7099 $_def_lrintf
7101 /* yes, we have inttypes.h */
7102 #define HAVE_INTTYPES_H 1
7104 /* int_fastXY_t emulation */
7105 $_def_fast_inttypes
7107 /* nanosleep support */
7108 $_def_nanosleep
7110 /* SMB support */
7111 $_def_smbsupport
7113 /* termcap flag for getch2.c */
7114 $_def_termcap
7116 /* termios flag for getch2.c */
7117 $_def_termios
7118 $_def_termios_h
7119 $_def_termios_sys_h
7121 /* enable PNG support */
7122 $_def_png
7124 /* enable JPEG support */
7125 $_def_jpg
7127 /* enable PNM support */
7128 $_def_pnm
7130 /* enable md5sum support */
7131 $_def_md5sum
7133 /* enable GIF support */
7134 $_def_gif
7135 $_def_gif_4
7136 $_def_gif_tvt_hack
7138 /* enable FreeType support */
7139 $_def_freetype
7141 /* enable Fontconfig support */
7142 $_def_fontconfig
7144 /* enable FriBiDi usage */
7145 $_def_fribidi
7147 /* enable ENCA usage */
7148 $_def_enca
7150 /* liblzo support */
7151 $_def_liblzo
7153 /* libmad support */
7154 $_def_mad
7156 /* enable OggVorbis support */
7157 $_def_vorbis
7159 /* enable Tremor as vorbis decoder */
7160 $_def_tremor
7162 /* enable OggTheora support */
7163 $_def_theora
7165 /* enable Matroska support */
7166 $_def_matroska
7168 /* enable FAAD (AAC) support */
7169 $_def_faad
7170 $_def_faad_internal
7171 $_def_faad_version
7173 /* enable network */
7174 $_def_network
7176 /* enable ftp support */
7177 $_def_ftp
7179 /* enable winsock2 instead of Unix functions*/
7180 $_def_winsock2
7182 /* define this to use inet_aton() instead of inet_pton() */
7183 $_def_use_aton
7185 /* enables / disables cdparanoia support */
7186 $_def_cdparanoia
7188 /* enables / disables VIDIX usage */
7189 $_def_vidix
7191 /* enables / disables new input joystick support */
7192 $_def_joystick
7194 /* enables / disables QTX codecs */
7195 $_def_qtx
7197 /* enables / disables osd menu */
7198 $_def_menu
7200 /* enables / disables subtitles sorting */
7201 $_def_sortsub
7203 /* XMMS input plugin support */
7204 $_def_xmms
7205 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7207 /* enables inet6 support */
7208 $_def_inet6
7210 /* do we have gethostbyname2? */
7211 $_def_gethostbyname2
7213 /* Extension defines */
7214 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
7215 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
7216 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
7217 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
7218 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
7219 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
7220 $_def_altivec // only define if you have Altivec (G4)
7222 $_def_altivec_h // enables usage of altivec.h
7225 $_def_mlib // Sun mediaLib, available only on solaris
7226 $_def_vis // only define if you have VIS ( ultrasparc )
7228 /* libmpeg2 uses a different feature test macro for mediaLib */
7229 #ifdef HAVE_MLIB
7230 #define LIBMPEG2_MLIB 1
7231 #endif
7233 /* libvo options */
7234 #define SCREEN_SIZE_X 1
7235 #define SCREEN_SIZE_Y 1
7236 $_def_x11
7237 $_def_xv
7238 $_def_xvmc
7239 $_def_vm
7240 $_def_xinerama
7241 $_def_gl
7242 $_def_gl_win32
7243 $_def_dga
7244 $_def_dga2
7245 $_def_sdl
7246 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
7247 $_def_sdlbuggy
7248 $_def_directx
7249 $_def_ggi
7250 $_def_3dfx
7251 $_def_tdfxfb
7252 $_def_tdfxvid
7253 $_def_directfb
7254 $_def_directfb_version
7255 $_def_zr
7256 $_def_bl
7257 $_def_mga
7258 $_def_xmga
7259 $_def_syncfb
7260 $_def_fbdev
7261 $_def_dxr2
7262 $_def_dxr3
7263 $_def_dvb
7264 $_def_dvb_in
7265 $_def_svga
7266 $_def_vesa
7267 $_def_xdpms
7268 $_def_aa
7269 $_def_caca
7270 $_def_tga
7271 $_def_toolame
7273 /* used by GUI: */
7274 $_def_xshape
7276 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
7277 #define X11_FULLSCREEN 1
7278 #endif
7280 #endif /* MPLAYER_CONFIG_H */
7283 #############################################################################
7285 echo "Creating libvo/config.mak"
7286 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
7287 cat > libvo/config.mak << EOF
7288 include ../config.mak
7289 OPTIONAL_SRCS = $_vosrc
7290 OPTIONAL_OBJS = $_voobj
7293 #############################################################################
7295 echo "Creating libao2/config.mak"
7296 _aoobj=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
7297 cat > libao2/config.mak << EOF
7298 include ../config.mak
7299 OPTIONAL_SRCS = $_aosrc
7300 OPTIONAL_OBJS = $_aoobj
7303 #############################################################################
7305 cat << EOF
7307 Config files successfully generated by ./configure !
7309 Install prefix: $_prefix
7310 Data directory: $_datadir
7311 Config direct.: $_confdir
7313 Byte order: $_byte_order
7314 Optimizing for: $_optimizing
7316 Languages:
7317 Messages/GUI: $_language
7320 echo -n " Manual pages: $MAN_LANG"
7321 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
7322 echo
7324 cat << EOF
7326 Enabled optional drivers:
7327 Input: $_inputmodules
7328 Codecs: $_codecmodules
7329 Audio output: $_aomodules
7330 Video output: $_vomodules
7331 Disabled optional drivers:
7332 Input: $_noinputmodules
7333 Codecs: $_nocodecmodules
7334 Audio output: $_noaomodules
7335 Video output: $_novomodules
7337 'config.h' and 'config.mak' contain your configuration options.
7338 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7339 compile *** DO NOT REPORT BUGS if you tweak these files ***
7341 'make' will now compile MPlayer and 'make install' will install it.
7342 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7347 if test "$_mtrr" = yes ; then
7348 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
7349 echo
7352 if test "$_sdl" = "outdated" ; then
7353 cat <<EOF
7354 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
7355 support has therefore been disabled.
7357 Please upgrade to a more recent version (version 1.1.8 and above are known to
7358 work). You may get this library from: http://www.libsdl.org
7360 You need to rerun ./configure and recompile after updating SDL. If you are
7361 only interested in the libSDL audio drivers, then an older version might work.
7363 Use --enable-sdl to force usage of libSDL.
7368 if x86; then
7369 if test "$_win32" = no ; then
7370 if test "$_win32libdir" ; then
7371 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
7372 else
7373 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
7375 cat << EOF
7376 Create it and copy the DLL files there! You can download the codecs from our
7377 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
7381 else
7382 cat <<EOF
7383 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
7384 operating system ($system_name). You may encounter a few files that cannot
7385 be played due to missing open source video/audio codec support.
7391 cat <<EOF
7393 Check $TMPLOG if you wonder why an autodetection failed (check whether
7394 the development headers/packages are installed).
7396 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
7400 if test "$_vidix" = no ; then
7401 cat <<EOF
7402 You've disabled VIDIX. Although it would be better to PORT it instead.
7403 Have a look at the documentation for supported cards!
7408 # Last move:
7409 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"