sync to 1.216
[mplayer/greg.git] / configure
blob73269e808a7175c455576f23d9c5aaaae24cc27f
1 #! /bin/sh
3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: check the cvs log !
8 # Cleanups all over the place (c) 2001 pl
11 # Guidelines:
12 # If the option is named 'opt':
13 # _opt : should have a value in yes/no/auto
14 # _def_opt : '#define ... 1' or '#undef ...' that is: some C code
15 # _ld_opt : ' -L/path/dir -lopt ' that is: some GCC option
16 # _inc_opt : ' -I/path/dir/include '
18 # In this file, a tab is 8 chars and indentation shift is 2 characters
20 # GOTCHAS:
21 # - config files are currently:
22 # config.h config.mak libvo/config.mak libao2/config.mak Gui/config.mak
23 # libaf/config.mak
25 #############################################################################
27 # Prevent locale nonsense from breaking basic text processing utils
28 LC_ALL=C
29 export LC_ALL
31 # Prefer these macros to full length text !
32 # These macros only return an error code - NO display is done
33 compile_check() {
34 echo >> "$TMPLOG"
35 cat "$1" >> "$TMPLOG"
36 echo >> "$TMPLOG"
37 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o $TMPO $@" >> "$TMPLOG"
38 rm -f "$TMPO"
39 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
40 TMP="$?"
41 echo >> "$TMPLOG"
42 echo "ldd $TMPO" >> "$TMPLOG"
43 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
44 echo >> "$TMPLOG"
45 return "$TMP"
48 cc_check() {
49 compile_check $TMPC $@
52 cxx_check() {
53 compile_check $TMPCPP $@ -lstdc++
56 tmp_run() {
57 "$TMPO" >> "$TMPLOG" 2>&1
60 # Display error message, flushes tempfile, exit
61 die () {
62 echo
63 echo "Error: $@" >&2
64 echo >&2
65 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
66 echo "Check \"$TMPLOG\" if you do not understand why it failed."
67 exit 1
70 # OS test booleans functions
71 issystem() {
72 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
74 linux() { issystem "Linux" ; return "$?" ; }
75 sunos() { issystem "SunOS" ; return "$?" ; }
76 hpux() { issystem "HP-UX" ; return "$?" ; }
77 irix() { issystem "IRIX" ; return "$?" ; }
78 cygwin() { issystem "CYGWIN" ; return "$?" ; }
79 freebsd() { issystem "FreeBSD" ; return "$?" ; }
80 netbsd() { issystem "NetBSD" ; return "$?" ; }
81 bsdos() { issystem "BSD/OS" ; return "$?" ; }
82 openbsd() { issystem "OpenBSD" ; return "$?" ; }
83 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
84 qnx() { issystem "QNX" ; return "$?" ; }
85 darwin() { issystem "Darwin" ; return "$?" ; }
86 gnu() { issystem "GNU" ; return "$?" ; }
87 mingw32() { issystem "MINGW32" ; return "$?" ; }
88 morphos() { issystem "MorphOS" ; return "$?" ; }
89 win32() { cygwin || mingw32 ; return "$?" ; }
90 beos() { issystem "BEOS" ; return "$?" ; }
92 # arch test boolean functions
93 # x86/x86pc is used by QNX
94 x86() {
95 case "$host_arch" in
96 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
97 *) return 1 ;;
98 esac
101 x86_64() {
102 case "$host_arch" in
103 x86_64|amd64) return 0 ;;
104 *) return 1 ;;
105 esac
108 ppc() {
109 case "$host_arch" in
110 ppc) return 0;;
111 *) return 1;;
112 esac
115 alpha() {
116 case "$host_arch" in
117 alpha) return 0;;
118 *) return 1;;
119 esac
122 # not boolean test: implement the posix shell "!" operator for a
123 # non-posix /bin/sh.
124 # usage: not {command}
125 # returns exit status "success" when the execution of "command"
126 # fails.
127 not() {
128 eval "$@"
129 test $? -ne 0
132 # Use this before starting a check
133 echocheck() {
134 echo "============ Checking for $@ ============" >> "$TMPLOG"
135 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
138 # Use this to echo the results of a check
139 echores() {
140 if test "$_res_comment" ; then
141 _res_comment="($_res_comment)"
143 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
144 echo "##########################################" >> "$TMPLOG"
145 echo "" >> "$TMPLOG"
146 echo "$@ $_res_comment"
147 _res_comment=""
149 #############################################################################
151 # Check how echo works in this /bin/sh
152 case `echo -n` in
153 -n) _echo_n= _echo_c='\c' ;; # SysV echo
154 *) _echo_n='-n ' _echo_c= ;; # BSD echo
155 esac
157 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"`
159 for parm in "$@" ; do
160 if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
161 cat << EOF
163 Usage: $0 [OPTIONS]...
165 Configuration:
166 -h, --help display this help and exit
168 Installation directories:
169 --prefix=DIR use this prefix for installing mplayer [/usr/local]
170 --bindir=DIR use this prefix for installing mplayer binary
171 [PREFIX/bin]
172 --datadir=DIR use this prefix for installing machine independent
173 data files (fonts, skins) [PREFIX/share/mplayer]
174 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
175 --confdir=DIR use this prefix for installing configuration files
176 [PREFIX/etc/mplayer]
177 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
179 Optional features:
180 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
181 --enable-gui enable gmplayer compilation (GTK+ GUI) [disable]
182 --enable-old-gtk force using GTK 1.2 for GUI [disable]
183 --enable-largefiles enable support for files > 2 GBytes [disable]
184 --enable-linux-devfs set default devices to devfs ones [disable]
185 --enable-termcap use termcap database for key codes [autodetect]
186 --enable-termios use termios database for key codes [autodetect]
187 --disable-iconv do not use iconv(3) function [autodetect]
188 --disable-setlocale disable setlocale using in mplayer [autodetect]
189 --disable-langinfo do not use langinfo [autodetect]
190 --enable-lirc enable LIRC (remote control) support [autodetect]
191 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
192 --enable-joystick enable joystick support [disable]
193 --disable-vm disable support X video mode extensions [autodetect]
194 --disable-xf86keysym disable support for 'multimedia' keys [autodetect]
195 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
196 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
197 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
198 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
199 --disable-edl disable EDL (edit decision list) support [enable]
200 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
201 --disable-network disable network support (for: http/mms/rtp) [enable]
202 --enable-winsock2 enable winsock2 usage [autodetect]
203 --enable-smb enable Samba (SMB) input support [autodetect]
204 --enable-live enable LIVE555 Streaming Media support [autodetect]
205 --disable-dvdread Disable libdvdread support [autodetect]
206 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
207 --disable-cdparanoia Disable cdparanoia support [autodetect]
208 --disable-freetype Disable freetype2 font rendering support [autodetect]
209 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
210 --disable-unrarlib Disable Unique RAR File Library [enabled]
211 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
212 --disable-sortsub Disable subtitles sorting [enabled]
213 --enable-fribidi Enable using the FriBiDi libs [autodetect]
214 --disable-enca Disable using ENCA charset oracle library [autodetect]
215 --disable-macosx Disable Mac OS X specific features [autodetect]
216 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
217 --enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
218 --disable-inet6 Disable IPv6 support [autodetect]
219 --disable-gethostbyname2 gethostbyname() function is not provided by the C
220 library [autodetect]
221 --disable-ftp Disable ftp support [enabled]
222 --disable-vstream Disable tivo vstream client support [autodetect]
223 --disable-pthreads Disable Posix threads support [autodetect]
225 Codecs:
226 --enable-gif enable gif support [autodetect]
227 --enable-png enable png input/output support [autodetect]
228 --enable-jpeg enable jpeg input/output support [autodetect]
229 --enable-libcdio enable external libcdio support [autodetect]
230 --enable-liblzo enable external liblzo support [autodetect]
231 --disable-win32 disable Win32 DLL support [autodetect]
232 --disable-dshow disable Win32/DirectShow support [autodetect]
233 --disable-qtx disable Quicktime codecs [autodetect]
234 --disable-xanim disable XAnim DLL support [autodetect]
235 --disable-real disable RealPlayer DLL support [autodetect]
236 --disable-xvid disable XviD codec [autodetect]
237 --disable-x264 disable H.264 encoder [autodetect]
238 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
239 --enable-opendivx enable _old_ OpenDivx codec [disable]
240 --disable-libavcodec disable libavcodec [autodetect]
241 --disable-libavformat disable libavformat [autodetect]
242 --enable-libfame enable libfame realtime encoder [autodetect]
243 --disable-internal-tremor do not build internal OggVorbis support [enabled]
244 --enable-tremor-low build with lower accuracy internal tremor [disabled]
245 --enable-external-tremor build with external tremor [disabled]
246 --disable-vorbis disable OggVorbis support entirely [autodetect]
247 --disable-speex disable Speex support [autodetect]
248 --enable-theora build with OggTheora support [autodetect]
249 --disable-internal-matroska disable internal Matroska support [enabled]
250 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
251 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
252 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
253 --disable-ladspa disable LADSPA plugin support [autodetect]
254 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
255 --disable-mad disable libmad (MPEG audio) support [autodetect]
256 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
257 --disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
258 --enable-xmms build with XMMS inputplugin support [disabled]
259 --disable-mp3lib disable builtin mp3lib [enabled]
260 --disable-liba52 disable builtin liba52 [enabled]
261 --enable-libdts enable libdts support [autodetect]
262 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
263 --disable-musepack disable musepack support [autodetect]
264 --disable-amr_nb disable amr narrowband, floating point [autodetect]
265 --disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
266 --disable-amr_wb disable amr wideband, floating point [autodetect]
267 --disable-codec=CODEC disable specified codec
268 --enable-codec=CODEC dnable specified codec
270 Video output:
271 --disable-vidix disable VIDIX [enable on x86 *nix]
272 --enable-gl build with OpenGL render support [autodetect]
273 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
274 --enable-vesa build with VESA support [autodetect]
275 --enable-svga build with SVGAlib support [autodetect]
276 --enable-sdl build with SDL render support [autodetect]
277 --enable-aa build with AAlib render support [autodetect]
278 --enable-caca build with CACA render support [autodetect]
279 --enable-ggi build with GGI render support [autodetect]
280 --enable-ggiwmh build with GGI libggiwmh extension [autodetect]
281 --enable-directx build with DirectX support [autodetect]
282 --enable-dxr2 build with DXR2 render support [autodetect]
283 --enable-dxr3 build with DXR3/H+ render support [autodetect]
284 --enable-dvb build with support for output via DVB-Card [autodetect]
285 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
286 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
287 (check for /dev/mga_vid) [autodetect]
288 --enable-xmga build with mga_vid X Window support
289 (check for X & /dev/mga_vid) [autodetect]
290 --enable-xv build with Xv render support for X 4.x [autodetect]
291 --enable-xvmc build with XvMC acceleration for X 4.x [disable]
292 --enable-vm build with XF86VidMode support for X11 [autodetect]
293 --enable-xinerama build with Xinerama support for X11 [autodetect]
294 --enable-x11 build with X11 render support [autodetect]
295 --enable-fbdev build with FBDev render support [autodetect]
296 --enable-mlib build with MLIB support (Solaris only) [autodetect]
297 --enable-3dfx build with obsolete /dev/3dfx support [disable]
298 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
299 --enable-directfb build with DirectFB support [autodetect]
300 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
301 --enable-bl build with Blinkenlights support [disable]
302 --enable-tdfxvid build with tdfx_vid support [disable]
303 --disable-tga disable targa output support [enable]
304 --disable-pnm disable pnm output support [enable]
305 --disable-md5sum disable md5sum output support [enable]
307 Audio output:
308 --disable-alsa disable ALSA sound support [autodetect]
309 --disable-ossaudio disable OSS sound support [autodetect]
310 --disable-arts disable aRts sound support [autodetect]
311 --disable-esd disable esd sound support [autodetect]
312 --disable-polyp disable Polypaudio sound support [autodetect]
313 --disable-jack disable JACK sound support [autodetect]
314 --disable-nas disable NAS sound support [autodetect]
315 --disable-sgiaudio disable SGI sound support [autodetect]
316 --disable-sunaudio disable Sun sound support [autodetect]
317 --disable-win32waveout disable Windows waveout sound support [autodetect]
318 --disable-select disable using select() on audio device [enable]
320 Miscellaneous options:
321 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
322 --enable-cross-compile Enable cross-compilation [autodetect]
323 --cc=COMPILER use this C compiler to build MPlayer [gcc]
324 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
325 --as=ASSEMBLER use this assembler to build MPlayer [as]
326 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
327 --enable-static build a statically linked binary. Set further linking
328 options with --enable-static="-lslang -lncurses"
329 --charset convert the help messages to this charset
330 --language=list a white space or comma separated list of languages
331 for translated man pages, the first language is the
332 primary and therefore used for translated messages
333 and GUI (also the environment variable \$LINGUAS is
334 honored) [en]
335 (Available: $LANGUAGES all)
336 --with-install=PATH use a custom install program (useful if your OS uses
337 a GNU-incompatible install utility by default and
338 you want to use GNU version)
339 --install-path=PATH the path to a custom install program
340 this option is obsolete and will be removed soon,
341 use --with-install instead.
343 Advanced options:
344 --enable-mmx build with MMX support [autodetect]
345 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
346 --enable-3dnow build with 3DNow! support [autodetect]
347 --enable-3dnowex build with extended 3DNow! support [autodetect]
348 --enable-sse build with SSE support [autodetect]
349 --enable-sse2 build with SSE2 support [autodetect]
350 --enable-shm build with shm support [autodetect]
351 --enable-altivec build with Altivec support (PowerPC) [autodetect]
352 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
353 --enable-big-endian Force byte order to big-endian [autodetect]
354 --enable-debug[=1-3] compile debugging information into mplayer [disable]
355 --enable-profile compile profiling information into mplayer [disable]
356 --disable-sighandler disable sighandler for crashes [enable]
357 --enable-crash-debug enable automatic gdb attach on crash [disable]
358 --enable-i18n _experimental_ gnu gettext() support [autodetect]
359 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
361 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
362 --disable-gcc-checking disable gcc version checking [enable]
364 Use these options if autodetection fails (Options marked with (*) accept
365 multiple paths separated by ':'):
366 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
367 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR (*)
368 --with-x11incdir=DIR X headers in DIR (*)
369 --with-x11libdir=DIR X library files in DIR (*)
370 --with-dxr2incdir=DIR DXR2 headers in DIR (*)
371 --with-dvbincdir=DIR DVB headers in DIR (*)
372 --with-madlibdir=DIR libmad (libmad shared library) in DIR (*)
373 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
374 --with-codecsdir=DIR Binary codec files in DIR
375 --with-win32libdir=DIR W*ndows DLL files in DIR
376 --with-xanimlibdir=DIR XAnim DLL files in DIR
377 --with-reallibdir=DIR RealPlayer DLL files in DIR
378 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
379 --with-xvidincdir=DIR XviD header in DIR (*)
380 --with-x264libdir=DIR libx264 in DIR
381 --with-x264incdir=DIR x264 header in DIR
382 --with-dtslibdir=DIR libdts library in DIR (*)
383 --with-dtsincdir=DIR libdts header in DIR (*)
384 --with-livelibdir=DIR LIVE555 Streaming Media libraries in DIR
385 --with-toolamedir=DIR path to Toolame library and include file
386 --with-xmmsplugindir=DIR XMMS plugins in DIR
387 --with-xmmslibdir=DIR libxmms.so.1 in DIR
388 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR (*)
389 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
390 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
391 --with-termcaplib=NAME name of library with termcap functionality
392 name should be given without leading "lib"
393 checks for "termcap" and "tinfo"
395 --with-freetype-config=PATH path to freetype-config
396 (e.g. /opt/bin/freetype-config)
397 --with-fribidi-config=PATH path to fribidi-config
398 (e.g. /opt/bin/fribidi-config)
399 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
400 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
401 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
403 This configure script is NOT autoconf-based, even though its output is similar.
404 It will try to autodetect all configuration options. If you --enable an option
405 it will be forcefully turned on, skipping autodetection. This can break
406 compilation, so you need to know what you are doing.
408 exit 0
410 done # for parm in ...
413 # 1st pass checking for vital options
414 _install=install
415 _ranlib=ranlib
416 _cc=cc
417 test "$CC" && _cc="$CC"
418 _as=auto
419 _runtime_cpudetection=no
420 _cross_compile=auto
421 for ac_option do
422 case "$ac_option" in
423 --target=*)
424 _target=`echo $ac_option | cut -d '=' -f 2`
426 --cc=*)
427 _cc=`echo $ac_option | cut -d '=' -f 2`
429 --host-cc=*)
430 _host_cc=`echo $ac_option | cut -d '=' -f 2`
432 --as=*)
433 _as=`echo $ac_option | cut -d '=' -f 2`
435 --enable-gcc-checking)
436 _skip_cc_check=no
438 --disable-gcc-checking)
439 _skip_cc_check=yes
441 --enable-static)
442 _ld_static='-static'
444 --disable-static)
445 _ld_static=''
447 --enable-static=*)
448 _ld_static="-static `echo $ac_option | cut -d '=' -f 2`"
450 --with-extraincdir=*)
451 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
453 --with-extralibdir=*)
454 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
456 --enable-runtime-cpudetection)
457 _runtime_cpudetection=yes
459 --disable-runtime-cpudetection)
460 _runtime_cpudetection=no
462 --enable-cross-compile)
463 _cross_compile=yes
465 --disable-cross-compile)
466 _cross_compile=no
468 --install-path=*)
469 _install=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
471 --with-install=*)
472 _install=`echo $ac_option | cut -d '=' -f 2 `
474 esac
475 done
477 # Determine our OS name and CPU architecture
478 if test -z "$_target" ; then
479 # OS name
480 system_name=`uname -s 2>&1`
481 case "$system_name" in
482 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS)
484 IRIX*)
485 system_name=IRIX
487 HP-UX*)
488 system_name=HP-UX
490 [cC][yY][gG][wW][iI][nN]*)
491 system_name=CYGWIN
493 MINGW32*)
494 system_name=MINGW32
497 system_name="$system_name-UNKNOWN"
499 esac
502 # host's CPU/instruction set
503 host_arch=`uname -p 2>&1`
504 case "$host_arch" in
505 i386|sparc|ppc|alpha|arm|mips|vax)
507 powerpc) # Darwin returns 'powerpc'
508 host_arch=ppc
510 *) # uname -p on Linux returns 'unknown' for the processor type,
511 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
513 # Maybe uname -m (machine hardware name) returns something we
514 # recognize.
516 # x86/x86pc is used by QNX
517 case "`uname -m 2>&1`" in
518 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 ;;
519 ia64) host_arch=ia64 ;;
520 x86_64|amd64)
521 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
522 -z "`echo $CFLAGS | grep -- -m32`" ]; then
523 host_arch=x86_64
524 else
525 host_arch=i386
528 macppc|ppc|ppc64) host_arch=ppc ;;
529 alpha) host_arch=alpha ;;
530 sparc) host_arch=sparc ;;
531 sparc64) host_arch=sparc64 ;;
532 parisc*|hppa*|9000*) host_arch=hppa ;;
533 arm*) host_arch=arm ;;
534 s390) host_arch=s390 ;;
535 s390x) host_arch=s390x ;;
536 mips*) host_arch=mips ;;
537 vax) host_arch=vax ;;
538 *) host_arch=UNKNOWN ;;
539 esac
541 esac
542 else # if test -z "$_target"
543 system_name=`echo $_target | cut -d '-' -f 2`
544 case "`echo $system_name | tr A-Z a-z`" in
545 linux) system_name=Linux ;;
546 freebsd) system_name=FreeBSD ;;
547 netbsd) system_name=NetBSD ;;
548 bsd/os) system_name=BSD/OS ;;
549 openbsd) system_name=OpenBSD ;;
550 sunos) system_name=SunOS ;;
551 qnx) system_name=QNX ;;
552 morphos) system_name=MorphOS ;;
553 mingw32msvc) system_name=MINGW32 ;;
554 esac
555 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
556 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
559 echo "Detected operating system: $system_name"
560 echo "Detected host architecture: $host_arch"
562 # LGB: temporary files
563 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
564 test "$I" && break
565 done
567 TMPLOG="configure.log"
568 rm -f "$TMPLOG"
569 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
570 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
571 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
572 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
574 # config files
576 # FIXME: A lot of stuff is installed under /usr/local
577 # NK: But we should never use this stuff implicitly since we call compiler
578 # from /usr we should be sure that there no effects from other compilers
579 # (libraries) which might be installed into /usr/local. Let users use this
580 # stuff explicitly as command line argument. In other words: It would be
581 # resonable to have only /usr/include or only /usr/local/include.
583 if freebsd ; then
584 _ld_extra="$_ld_extra -L/usr/local/lib"
585 _inc_extra="$_inc_extra -I/usr/local/include"
588 if netbsd ; then
589 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
590 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
591 done
592 _ld_extra=$tmp
595 _ldd=ldd
596 if darwin; then
597 _ldd="otool -L"
600 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
601 # if used as 'head -1' instead of 'head -n 1', but older versions don't
602 # know about '-n'.
603 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
604 _head() { head -$1 2>/dev/null ; }
605 else
606 _head() { head -n $1 2>/dev/null ; }
608 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
609 _tail() { tail -$1 2>/dev/null ; }
610 else
611 _tail() { tail -n $1 2>/dev/null ; }
614 # Checking CC version...
615 if test "$_skip_cc_check" != yes ; then
616 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
617 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
618 echocheck "$_cc version"
619 cc_vendor=intel
620 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
621 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
622 _cc_major=`echo $cc_version | cut -d '.' -f 1`
623 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
624 # TODO verify older icc/ecc compatibility
625 case $cc_version in
627 cc_version="v. ?.??, bad"
628 cc_verc_fail=yes
630 8.0)
631 cc_version="$cc_version, ok"
632 cc_verc_fail=no
635 cc_version="$cc_version, bad"
636 cc_verc_fail=yes
638 esac
639 echores "$cc_version"
640 else
641 for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
642 echocheck "$_cc version"
643 cc_vendor=gnu
644 cc_name=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
645 cc_version=`$_cc -dumpversion 2>&1`
646 if test "$?" -gt 0; then
647 cc_version="not found"
649 case $cc_version in
651 cc_version="v. ?.??, bad"
652 cc_verc_fail=yes
654 2.95.[2-9]|2.95.[2-9][-.]*|[3-4].*)
655 _cc_major=`echo $cc_version | cut -d '.' -f 1`
656 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
657 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
658 cc_version="$cc_version, ok"
659 cc_verc_fail=no
661 'not found')
662 cc_verc_fail=yes
665 cc_version="$cc_version, bad"
666 cc_verc_fail=yes
668 esac
669 echores "$cc_version"
670 test "$cc_verc_fail" = "no" && break
671 done
672 fi # icc
673 if test "$cc_verc_fail" = yes ; then
674 cat <<EOF
676 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
678 You are not using a supported compiler. We do not have the time to make sure
679 everything works with compilers other than the ones we use. Use either the
680 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
681 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
683 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
684 mplayer and lame (which is used for mencoder). If you get compile errors,
685 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
686 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
687 bugs!
689 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
691 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
694 die "Bad gcc version"
696 else
697 cat <<EOF
699 ******************************************************************************
701 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
702 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
704 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
705 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
706 Lame which is used by mencoder produces weird errors, too.
708 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
709 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
711 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
713 ******************************************************************************
717 read _answer
720 echocheck "host cc"
721 test "$_host_cc" || _host_cc=$_cc
722 echores $_host_cc
724 echocheck "cross compilation"
725 if test $_cross_compile = auto ; then
726 cat > $TMPC << EOF
727 int main() { return 0; }
729 _cross_compile=yes
730 cc_check && "$TMPO" && _cross_compile=no
732 echores $_cross_compile
734 if test $_cross_compile = yes; then
735 tmp_run() {
736 return 0
740 # ---
742 # now that we know what compiler should be used for compilation, try to find
743 # out which assembler is used by the $_cc compiler
744 if test "$_as" = auto ; then
745 _as=`$_cc -print-prog-name=as`
746 test -z "$_as" && _as=as
749 # XXX: this should be ok..
750 _cpuinfo="echo"
751 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
752 # FIXME: Remove the cygwin check once AMD CPUs are supported
753 if test -r /proc/cpuinfo && not cygwin; then
754 # Linux with /proc mounted, extract CPU information from it
755 _cpuinfo="cat /proc/cpuinfo"
756 elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
757 # FreeBSD with Linux emulation /proc mounted,
758 # extract CPU information from it
759 _cpuinfo="cat /compat/linux/proc/cpuinfo"
760 elif darwin ; then
761 # use hostinfo on Darwin
762 _cpuinfo="hostinfo"
763 elif x86; then
764 # all other OSes try to extract CPU information from a small helper
765 # program TOOLS/cpuinfo instead
766 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
767 _cpuinfo="TOOLS/cpuinfo"
770 x86_exts_check()
772 pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | _head 1`
773 if test -z "$pparam" ; then
774 pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
777 _mmx=no
778 _3dnow=no
779 _3dnowex=no
780 _mmx2=no
781 _sse=no
782 _sse2=no
783 _mtrr=no
785 for i in $pparam ; do
786 case "$i" in
787 3dnow) _3dnow=yes ;;
788 3dnowext) _3dnow=yes _3dnowex=yes ;;
789 mmx) _mmx=yes ;;
790 mmxext) _mmx2=yes ;;
791 mtrr|k6_mtrr|cyrix_arr) _mtrr=yes ;;
792 xmm|sse|kni) _sse=yes _mmx2=yes ;;
793 sse2) _sse2=yes ;;
794 esac
795 done
798 if x86 || x86_64 ; then
799 # gather more CPU information
800 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
801 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
802 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
803 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
804 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
806 x86_exts_check
808 echocheck "CPU vendor"
809 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
811 echocheck "CPU type"
812 echores "$pname"
815 case "$host_arch" in
816 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
817 _def_arch="#define ARCH_X86 1"
818 _target_arch="TARGET_ARCH_X86 = yes"
821 case "$pvendor" in
822 AuthenticAMD)
823 case "$pfamily" in
824 3) proc=i386 iproc=386 ;;
825 4) proc=i486 iproc=486 ;;
826 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
827 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
828 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
829 proc=k6-3
830 elif test "$pmodel" -ge 8; then
831 proc=k6-2
832 elif test "$pmodel" -ge 6; then
833 proc=k6
834 else
835 proc=i586
836 iproc=586
839 6) iproc=686
840 # It's a bit difficult to determine the correct type of Family 6
841 # AMD CPUs just from their signature. Instead, we check directly
842 # whether it supports SSE.
843 if test "$_sse" = yes; then
844 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
845 proc=athlon-xp
846 else
847 # Again, gcc treats athlon and athlon-tbird similarly.
848 proc=athlon
851 15) iproc=686
852 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
853 # caught and remedied in the optimization tests below.
854 proc=k8
857 *) proc=k8 iproc=686 ;;
858 esac
860 GenuineIntel)
861 case "$pfamily" in
862 3) proc=i386 iproc=386 ;;
863 4) proc=i486 iproc=486 ;;
864 5) iproc=586
865 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
866 proc=pentium-mmx # 4 is desktop, 8 is mobile
867 else
868 proc=i586
871 6) iproc=686
872 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
873 proc=pentium-m
874 elif test "$pmodel" -ge 7; then
875 proc=pentium3
876 elif test "$pmodel" -ge 3; then
877 proc=pentium2
878 else
879 proc=i686
882 15) iproc=686
883 # A nocona in 32-bit mode has no more capabilities than a prescott.
884 if test "$pmodel" -ge 3; then
885 proc=prescott
886 else
887 proc=pentium4
890 *) proc=prescott iproc=686 ;;
891 esac
893 CentaurHauls)
894 case "$pfamily" in
895 5) iproc=586
896 if test "$pmodel" -ge 8; then
897 proc=winchip2
898 elif test "$pmodel" -ge 4; then
899 proc=winchip-c6
900 else
901 proc=i586
904 6) iproc=686
905 if test "$pmodel" -ge 9; then
906 proc=c3-2
907 else
908 proc=c3
909 iproc=586
912 *) proc=i686 iproc=i686 ;;
913 esac
915 unknown)
916 case "$pfamily" in
917 3) proc=i386 iproc=386 ;;
918 4) proc=i486 iproc=486 ;;
919 *) proc=i586 iproc=586 ;;
920 esac
923 proc=i586 iproc=586 ;;
924 esac
926 # check that gcc supports our CPU, if not, fall back to earlier ones
927 # LGB: check -mcpu and -march swithing step by step with enabling
928 # to fall back till 386.
930 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
932 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
933 cpuopt=-mtune
934 else
935 cpuopt=-mcpu
938 echocheck "GCC & CPU optimization abilities"
939 cat > $TMPC << EOF
940 int main(void) { return 0; }
942 if test "$_runtime_cpudetection" = no ; then
943 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
944 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
946 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
947 cc_check -march=$proc $cpuopt=$proc || proc=athlon
949 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
950 cc_check -march=$proc $cpuopt=$proc || proc=k6
952 if test "$proc" = "k6" || test "$proc" = "c3"; then
953 if not cc_check -march=$proc $cpuopt=$proc; then
954 if cc_check -march=i586 $cpuopt=i686; then
955 proc=i586-i686
956 else
957 proc=i586
961 if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2"; then
962 cc_check -march=$proc $cpuopt=$proc || proc=i686
964 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
965 cc_check -march=$proc $cpuopt=$proc || proc=i586
967 if test "$proc" = "i586"; then
968 cc_check -march=$proc $cpuopt=$proc || proc=i486
970 if test "$proc" = "i486" ; then
971 cc_check -march=$proc $cpuopt=$proc || proc=i386
973 if test "$proc" = "i386" ; then
974 cc_check -march=$proc $cpuopt=$proc || proc=error
976 if test "$proc" = "error" ; then
977 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
978 _mcpu=""
979 _march=""
980 _optimizing=""
981 elif test "$proc" = "i586-i686"; then
982 _march="-march=i586"
983 _mcpu="$cpuopt=i686"
984 _optimizing="$proc"
985 else
986 _march="-march=$proc"
987 _mcpu="$cpuopt=$proc"
988 _optimizing="$proc"
990 else # if test "$_runtime_cpudetection" = no
991 # i686 is probably the most common CPU - optimize for it
992 _mcpu="$cpuopt=i686"
993 # at least i486 required, for bswap instruction
994 _march="-march=i486"
995 cc_check $_mcpu || _mcpu=""
996 cc_check $_march $_mcpu || _march=""
999 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1000 ## autodetected mcpu/march parameters
1001 if test "$_target" ; then
1002 # TODO: it may be a good idea to check GCC and fall back in all cases
1003 if test "$host_arch" = "i586-i686"; then
1004 _march="-march=i586"
1005 _mcpu="$cpuopt=i686"
1006 else
1007 _march="-march=$host_arch"
1008 _mcpu="$cpuopt=$host_arch"
1011 proc="$host_arch"
1013 case "$proc" in
1014 i386) iproc=386 ;;
1015 i486) iproc=486 ;;
1016 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1017 i686|athlon*|pentium*) iproc=686 ;;
1018 *) iproc=586 ;;
1019 esac
1022 echores "$proc"
1025 ia64)
1026 _def_arch='#define ARCH_IA64 1'
1027 _target_arch='TARGET_ARCH_IA64 = yes'
1028 iproc='ia64'
1029 proc=''
1030 _march=''
1031 _mcpu=''
1032 _optimizing=''
1035 x86_64|amd64)
1036 _def_arch='#define ARCH_X86_64 1'
1037 _target_arch='TARGET_ARCH_X86_64 = yes'
1038 iproc='x86_64'
1040 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1041 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1042 cpuopt=-mtune
1043 else
1044 cpuopt=-mcpu
1046 case "$pvendor" in
1047 AuthenticAMD)
1048 proc=k8;;
1049 GenuineIntel)
1050 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1051 # same capabilities as a nocona.
1052 proc=nocona;;
1054 proc=error;;
1055 esac
1057 echocheck "GCC & CPU optimization abilities"
1058 cat > $TMPC << EOF
1059 int main(void) { return 0; }
1061 # This is a stripped-down version of the i386 fallback.
1062 if test "$_runtime_cpudetection" = no ; then
1063 # --- AMD processors ---
1064 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
1065 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1067 # This will fail if gcc version < 3.3, which is ok because earlier
1068 # versions don't really support 64-bit on amd64.
1069 # Is this a valid assumption? -Corey
1070 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" ; then
1071 cc_check -march=$proc $cpuopt=$proc || proc=error
1073 # --- Intel processors ---
1074 if test "$proc" = "nocona" || test "$proc" = "prescott" ; then
1075 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1077 if test "$proc" = "pentium4" || test "$proc" = "pentium4m" ; then
1078 cc_check -march=$proc $cpuopt=$proc || proc=error
1081 _march="-march=$proc"
1082 _mcpu="$cpuopt=$proc"
1083 if test "$proc" = "error" ; then
1084 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1085 _mcpu=""
1086 _march=""
1088 else
1089 _march=""
1090 _mcpu=""
1093 _optimizing=""
1095 echores "$proc"
1097 x86_exts_check
1100 sparc)
1101 _def_arch='#define ARCH_SPARC 1'
1102 _target_arch='TARGET_ARCH_SPARC = yes'
1103 iproc='sparc'
1104 if sunos ; then
1105 echocheck "CPU type"
1106 karch=`uname -m`
1107 case "`echo $karch`" in
1108 sun4) proc=v7 ;;
1109 sun4c) proc=v7 ;;
1110 sun4d) proc=v8 ;;
1111 sun4m) proc=v8 ;;
1112 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1113 *) ;;
1114 esac
1115 echores "$proc"
1116 else
1117 proc=v8
1119 _march=''
1120 _mcpu="-mcpu=$proc"
1121 _optimizing="$proc"
1124 sparc64)
1125 _def_arch='#define ARCH_SPARC 1'
1126 _target_arch='TARGET_ARCH_SPARC = yes'
1127 _vis='yes'
1128 _def_vis='#define HAVE_VIS = yes'
1129 iproc='sparc'
1130 proc='v9'
1131 _march=''
1132 _mcpu="-mcpu=$proc"
1133 _optimizing="$proc"
1136 arm|armv4l|armv5tel)
1137 _def_arch='#define ARCH_ARMV4L 1'
1138 _target_arch='TARGET_ARCH_ARMV4L = yes'
1139 iproc='arm'
1140 proc=''
1141 _march=''
1142 _mcpu=''
1143 _optimizing=''
1146 ppc)
1147 _def_arch='#define ARCH_POWERPC 1'
1148 _def_dcbzl='#define NO_DCBZL 1'
1149 _target_arch='TARGET_ARCH_POWERPC = yes'
1150 iproc='ppc'
1151 proc=''
1152 _march=''
1153 _mcpu=''
1154 _optimizing=''
1155 _altivec=no
1157 echocheck "CPU type"
1158 case $system_name in
1159 Linux)
1160 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1161 if test -n "`$_cpuinfo | grep altivec`"; then
1162 _altivec=yes
1165 Darwin)
1166 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1167 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1168 "`sysctl -n hw.optional.altivec 2>/dev/null`" -eq 1 ]; then
1169 _altivec=yes
1172 NetBSD)
1173 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1174 case $cc_version in
1175 2*|3.0*|3.1*|3.2*|3.3*)
1178 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1179 _altivec=yes
1182 esac
1184 esac
1185 if test "$_altivec" = yes; then
1186 echores "$proc altivec"
1187 else
1188 echores "$proc"
1191 echocheck "GCC & CPU optimization abilities"
1193 if test -n "$proc"; then
1194 case "$proc" in
1195 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1196 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1197 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1198 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1199 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1200 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1201 *) ;;
1202 esac
1203 # gcc 3.1(.1) and up supports 7400 and 7450
1204 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
1205 case "$proc" in
1206 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1207 7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1208 *) ;;
1209 esac
1211 # gcc 3.2 and up supports 970
1212 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1213 case "$proc" in
1214 970*) _march='-mcpu=970' _mcpu='-mtune=970'
1215 _def_dcbzl='#undef NO_DCBZL' ;;
1216 *) ;;
1217 esac
1221 if test -n "$_mcpu"; then
1222 _optimizing=`echo $_mcpu | cut -c 8-`
1223 echores "$_optimizing"
1224 else
1225 echores "none"
1230 alpha)
1231 _def_arch='#define ARCH_ALPHA 1'
1232 _target_arch='TARGET_ARCH_ALPHA = yes'
1233 iproc='alpha'
1234 _march=''
1236 echocheck "CPU type"
1237 cat > $TMPC << EOF
1238 int main() {
1239 unsigned long ver, mask;
1240 asm ("implver %0" : "=r" (ver));
1241 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1242 printf("%ld-%x\n", ver, ~mask);
1243 return 0;
1246 $_cc -o "$TMPO" "$TMPC"
1247 case `"$TMPO"` in
1249 0-0) proc="ev4"; cpu_understands_mvi="0";;
1250 1-0) proc="ev5"; cpu_understands_mvi="0";;
1251 1-1) proc="ev56"; cpu_understands_mvi="0";;
1252 1-101) proc="pca56"; cpu_understands_mvi="1";;
1253 2-303) proc="ev6"; cpu_understands_mvi="1";;
1254 2-307) proc="ev67"; cpu_understands_mvi="1";;
1255 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1256 esac
1257 echores "$proc"
1259 echocheck "GCC & CPU optimization abilities"
1260 if test "$proc" = "ev68" ; then
1261 cc_check -mcpu=$proc || proc=ev67
1263 if test "$proc" = "ev67" ; then
1264 cc_check -mcpu=$proc || proc=ev6
1266 _mcpu="-mcpu=$proc"
1267 echores "$proc"
1269 _optimizing="$proc"
1271 echocheck "MVI instruction support in GCC"
1272 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1273 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
1274 echores "yes"
1275 else
1276 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
1277 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1281 mips)
1282 _def_arch='#define ARCH_SGI_MIPS 1'
1283 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1284 iproc='sgi-mips'
1285 proc=''
1286 _march=''
1287 _mcpu=''
1288 _optimizing=''
1290 if irix ; then
1291 echocheck "CPU type"
1292 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
1293 case "`echo $proc`" in
1294 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
1295 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
1296 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
1297 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
1298 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
1299 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
1300 esac
1301 echores "$proc"
1306 hppa)
1307 _def_arch='#define ARCH_PA_RISC 1'
1308 _target_arch='TARGET_ARCH_PA_RISC = yes'
1309 iproc='PA-RISC'
1310 proc=''
1311 _march=''
1312 _mcpu=''
1313 _optimizing=''
1316 s390)
1317 _def_arch='#define ARCH_S390 1'
1318 _target_arch='TARGET_ARCH_S390 = yes'
1319 iproc='390'
1320 proc=''
1321 _march=''
1322 _mcpu=''
1323 _optimizing=''
1326 s390x)
1327 _def_arch='#define ARCH_S390X 1'
1328 _target_arch='TARGET_ARCH_S390X = yes'
1329 iproc='390x'
1330 proc=''
1331 _march=''
1332 _mcpu=''
1333 _optimizing=''
1336 vax)
1337 _def_arch='#define ARCH_VAX 1'
1338 _target_arch='TARGET_ARCH_VAX = yes'
1339 iproc='vax'
1340 proc=''
1341 _march=''
1342 _mcpu=''
1343 _optimizing=''
1347 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1348 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1349 die "unsupported architecture $host_arch"
1351 esac # case "$host_arch" in
1353 if test "$_runtime_cpudetection" = yes ; then
1354 if x86; then
1355 _mmx=yes
1356 _3dnow=yes
1357 _3dnowex=yes
1358 _mmx2=yes
1359 _sse=yes
1360 _sse2=yes
1361 _mtrr=yes
1363 if ppc; then
1364 _altivec=yes
1368 if x86 && test "$_runtime_cpudetection" = no ; then
1369 extcheck() {
1370 if test "$1" = yes ; then
1371 echocheck "kernel support of $2"
1372 cat > $TMPC <<EOF
1373 #include <signal.h>
1374 void catch() { exit(1); }
1375 int main(void){
1376 signal(SIGILL, catch);
1377 __asm__ __volatile__ ("$3":::"memory");return(0);
1381 if cc_check && tmp_run ; then
1382 echores "yes"
1383 _optimizing="$_optimizing $2"
1384 return 0
1385 else
1386 echores "failed"
1387 echo "It seems that your kernel does not correctly support $2."
1388 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1389 return 1
1392 return 0
1395 extcheck $_mmx "mmx" "emms" || _mmx=no
1396 extcheck $_mmx2 "mmx2" "sfence" || _mmx2=no
1397 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1398 extcheck $_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex=no
1399 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1400 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1401 echocheck "mtrr support"
1402 echores "$_mtrr"
1404 if test "$_mtrr" = yes ; then
1405 _optimizing="$_optimizing mtrr"
1408 if test "$_gcc3_ext" != ""; then
1409 # if we had to disable sse/sse2 because the active kernel does not
1410 # support this instruction set extension, we also have to tell
1411 # gcc3 to not generate sse/sse2 instructions for normal C code
1412 cat > $TMPC << EOF
1413 int main(void) { return 0; }
1415 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1420 echocheck "assembler support of -pipe option"
1421 cat > $TMPC << EOF
1422 int main(void) { return 0; }
1424 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1426 _prefix="/usr/local"
1427 _xvmclib="XvMCNVIDIA"
1429 # GOTCHA: the variables below defines the default behavior for autodetection
1430 # and have - unless stated otherwise - at least 2 states : yes no
1431 # If autodetection is available then the third state is: auto
1432 _libavcodec=auto
1433 _amr_nb=auto
1434 _amr_nb_fixed=auto
1435 _amr_wb=auto
1436 _libavcodecs=`grep 'register_avcodec(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1437 _libavcodecso=auto
1438 _libavformat=auto
1439 _fame=auto
1440 _mp1e=no
1441 _mencoder=yes
1442 _x11=auto
1443 _dga=auto # 1 2 no auto
1444 _xv=auto
1445 _xvmc=no #auto when complete
1446 _sdl=auto
1447 _directx=auto
1448 _win32waveout=auto
1449 _nas=auto
1450 _png=auto
1451 _jpg=auto
1452 _pnm=yes
1453 _md5sum=yes
1454 _gif=auto
1455 _gl=auto
1456 _ggi=auto
1457 _ggiwmh=auto
1458 _aa=auto
1459 _caca=auto
1460 _svga=auto
1461 _vesa=auto
1462 _fbdev=auto
1463 _dvb=auto
1464 _dvbhead=auto
1465 _dxr2=auto
1466 _dxr3=auto
1467 _iconv=auto
1468 _langinfo=auto
1469 _rtc=auto
1470 _ossaudio=auto
1471 _arts=auto
1472 _esd=auto
1473 _polyp=auto
1474 _jack=auto
1475 _libcdio=auto
1476 _liblzo=auto
1477 _mad=auto
1478 _toolame=auto
1479 _twolame=auto
1480 _tremor_internal=yes
1481 _tremor_low=no
1482 _vorbis=auto
1483 _speex=auto
1484 _theora=auto
1485 _mp3lib=yes
1486 _liba52=yes
1487 _libdts=auto
1488 _libmpeg2=yes
1489 _matroska_internal=yes
1490 _tremor=no
1491 _faad_internal=auto
1492 _faad_external=auto
1493 _faac=auto
1494 _ladspa=auto
1495 _xmms=no
1496 _have_dvd=no
1497 # dvdnav disabled, it does not work
1498 #_dvdnav=no
1499 _dvdread=auto
1500 _dvdkit=auto
1501 _xanim=auto
1502 _real=auto
1503 _live=auto
1504 _xinerama=auto
1505 _mga=auto
1506 _xmga=auto
1507 _vm=auto
1508 _xf86keysym=auto
1509 _mlib=auto
1510 _sgiaudio=auto
1511 _sunaudio=auto
1512 _alsa=auto
1513 _fastmemcpy=yes
1514 _unrarlib=yes
1515 _win32=auto
1516 _dshow=yes
1517 _select=yes
1518 _tv=yes
1519 _tv_v4l=auto
1520 _tv_v4l2=auto
1521 _tv_bsdbt848=auto
1522 _edl=yes
1523 _network=yes
1524 _winsock2=auto
1525 _smbsupport=auto
1526 _vidix=auto
1527 _joystick=no
1528 _xvid=auto
1529 _x264=auto
1530 _divx4linux=auto
1531 _opendivx=no
1532 _lirc=auto
1533 _lircc=auto
1534 _gui=no
1535 _gtk1=no
1536 _termcap=auto
1537 _termios=auto
1538 _3dfx=no
1539 _tdfxfb=no
1540 _tdfxvid=no
1541 _tga=yes
1542 _directfb=auto
1543 _zr=auto
1544 _bl=no
1545 _largefiles=no
1546 #_language=en
1547 _shm=auto
1548 _linux_devfs=no
1549 #_charset=utf8
1550 _i18n=auto
1551 _dynamic_plugins=no
1552 _crash_debug=auto
1553 _sighandler=yes
1554 _libdv=auto
1555 _cdparanoia=auto
1556 _big_endian=auto
1557 _freetype=auto
1558 _fontconfig=auto
1559 _menu=no
1560 _qtx=auto
1561 _macosx=auto
1562 _macosx_finder_support=no
1563 _macosx_bundle=auto
1564 _sortsub=yes
1565 _freetypeconfig='freetype-config'
1566 _fribidi=auto
1567 _fribidiconfig='fribidi-config'
1568 _enca=auto
1569 _inet6=auto
1570 _gethostbyname2=auto
1571 _ftp=yes
1572 _musepack=auto
1573 _vstream=auto
1574 _pthreads=yes
1575 for ac_option do
1576 case "$ac_option" in
1577 # Skip 1st pass
1578 --target=*) ;;
1579 --cc=*) ;;
1580 --host-cc=*) ;;
1581 --as=*) ;;
1582 --enable-gcc-checking) ;;
1583 --disable-gcc-checking) ;;
1584 --enable-static*) ;;
1585 --disable-static*) ;;
1586 --with-extraincdir=*) ;;
1587 --with-extralibdir=*) ;;
1588 --enable-runtime-cpudetection) ;;
1589 --disable-runtime-cpudetection) ;;
1590 --enable-cross-compile) ;;
1591 --disable-cross-compile) ;;
1592 --install-path=*) ;;
1593 --with-install=*) ;;
1595 # Real 2nd pass
1596 --enable-mencoder) _mencoder=yes ;;
1597 --disable-mencoder) _mencoder=no ;;
1598 --enable-i18n) _i18n=yes ;;
1599 --disable-i18n) _i18n=no ;;
1600 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1601 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1602 --enable-x11) _x11=yes ;;
1603 --disable-x11) _x11=no ;;
1604 --enable-xv) _xv=yes ;;
1605 --disable-xv) _xv=no ;;
1606 --enable-xvmc) _xvmc=yes ;;
1607 --disable-xvmc) _xvmc=no ;;
1608 --enable-sdl) _sdl=yes ;;
1609 --disable-sdl) _sdl=no ;;
1610 --enable-directx) _directx=yes ;;
1611 --disable-directx) _directx=no ;;
1612 --enable-win32waveout) _win32waveout=yes ;;
1613 --disable-win32waveout) _win32waveout=no ;;
1614 --enable-nas) _nas=yes ;;
1615 --disable-nas) _nas=no ;;
1616 --enable-png) _png=yes ;;
1617 --disable-png) _png=no ;;
1618 --enable-jpeg) _jpg=yes ;;
1619 --disable-jpeg) _jpg=no ;;
1620 --enable-pnm) _pnm=yes ;;
1621 --disable-pnm) _pnm=no ;;
1622 --enable-md5sum) _md5sum=yes ;;
1623 --disable-md5sum) _md5sum=no ;;
1624 --enable-gif) _gif=yes ;;
1625 --disable-gif) _gif=no ;;
1626 --enable-gl) _gl=yes ;;
1627 --disable-gl) _gl=no ;;
1628 --enable-ggi) _ggi=yes ;;
1629 --disable-ggi) _ggi=no ;;
1630 --enable-ggiwmh) _ggiwmh=yes ;;
1631 --disable-ggiwmh) _ggiwmh=no ;;
1632 --enable-aa) _aa=yes ;;
1633 --disable-aa) _aa=no ;;
1634 --enable-caca) _caca=yes ;;
1635 --disable-caca) _caca=no ;;
1636 --enable-svga) _svga=yes ;;
1637 --disable-svga) _svga=no ;;
1638 --enable-vesa) _vesa=yes ;;
1639 --disable-vesa) _vesa=no ;;
1640 --enable-fbdev) _fbdev=yes ;;
1641 --disable-fbdev) _fbdev=no ;;
1642 --enable-dvb) _dvb=yes ;;
1643 --disable-dvb) _dvb=no ;;
1644 --enable-dvbhead) _dvbhead=yes ;;
1645 --disable-dvbhead) _dvbhead=no ;;
1646 --enable-dxr2) _dxr2=yes ;;
1647 --disable-dxr2) _dxr2=no ;;
1648 --enable-dxr3) _dxr3=yes ;;
1649 --disable-dxr3) _dxr3=no ;;
1650 --enable-iconv) _iconv=yes ;;
1651 --disable-iconv) _iconv=no ;;
1652 --enable-langinfo) _langinfo=yes ;;
1653 --disable-langinfo) _langinfo=no ;;
1654 --enable-rtc) _rtc=yes ;;
1655 --disable-rtc) _rtc=no ;;
1656 --enable-mp1e) _mp1e=yes ;;
1657 --disable-mp1e) _mp1e=no ;;
1658 --enable-libdv) _libdv=yes ;;
1659 --disable-libdv) _libdv=no ;;
1660 --enable-ossaudio) _ossaudio=yes ;;
1661 --disable-ossaudio) _ossaudio=no ;;
1662 --enable-arts) _arts=yes ;;
1663 --disable-arts) _arts=no ;;
1664 --enable-esd) _esd=yes ;;
1665 --disable-esd) _esd=no ;;
1666 --enable-polyp) _polyp=yes ;;
1667 --disable-polyp) _polyp=no ;;
1668 --enable-jack) _jack=yes ;;
1669 --disable-jack) _jack=no ;;
1670 --enable-mad) _mad=yes ;;
1671 --disable-mad) _mad=no ;;
1672 --disable-toolame) _toolame=no ;;
1673 --disable-twolame) _twolame=no ;;
1674 --enable-libcdio) _libcdio=yes ;;
1675 --disable-libcdio) _libcdio=no ;;
1676 --enable-liblzo) _liblzo=yes ;;
1677 --disable-liblzo) _liblzo=no ;;
1678 --enable-vorbis) _vorbis=yes ;;
1679 --disable-vorbis) _vorbis=no ;;
1680 --enable-speex) _speex=yes ;;
1681 --disable-speex) _speex=no ;;
1682 --enable-internal-tremor) _tremor_internal=yes ;;
1683 --disable-internal-tremor) _tremor_internal=no ;;
1684 --enable-tremor-low) _tremor_low=yes ;;
1685 --disable-tremor-low) _tremor_low=no ;;
1686 --enable-external-tremor) _tremor=yes ;;
1687 --disable-external-tremor) _tremor=no ;;
1688 --enable-theora) _theora=yes ;;
1689 --disable-theora) _theora=no ;;
1690 --enable-mp3lib) _mp3lib=yes ;;
1691 --disable-mp3lib) _mp3lib=no ;;
1692 --enable-liba52) _liba52=yes ;;
1693 --disable-liba52) _liba52=no ;;
1694 --enable-libdts) _libdts=yes ;;
1695 --disable-libdts) _libdts=no ;;
1696 --enable-libmpeg2) _libmpeg2=yes ;;
1697 --disable-libmpeg2) _libmpeg2=no ;;
1698 --enable-musepack) _musepack=yes ;;
1699 --disable-musepack) _musepack=no ;;
1700 --enable-internal-matroska) _matroska_internal=yes ;;
1701 --disable-internal-matroska) _matroska_internal=no ;;
1702 --enable-internal-faad) _faad_internal=yes _faad_external=no ;;
1703 --disable-internal-faad) _faad_internal=no ;;
1704 --enable-external-faad) _faad_external=yes _faad_internal=no ;;
1705 --disable-external-faad) _faad_external=no ;;
1706 --enable-faac) _faac=yes ;;
1707 --disable-faac) _faac=no ;;
1708 --enable-ladspa) _ladspa=yes ;;
1709 --disable-ladspa) _ladspa=no ;;
1710 --enable-xmms) _xmms=yes ;;
1711 --disable-xmms) _xmms=no ;;
1712 --enable-dvdread) _dvdread=yes ;;
1713 --disable-dvdread) _dvdread=no ;;
1714 --enable-mpdvdkit) _dvdkit=yes ;;
1715 --disable-mpdvdkit) _dvdkit=no ;;
1716 # dvdnav disabled, it does not work
1717 # --enable-dvdnav) _dvdnav=yes ;;
1718 # --disable-dvdnav) _dvdnav=no ;;
1719 --enable-xanim) _xanim=yes ;;
1720 --disable-xanim) _xanim=no ;;
1721 --enable-real) _real=yes ;;
1722 --disable-real) _real=no ;;
1723 --enable-live) _live=yes ;;
1724 --disable-live) _live=no ;;
1725 --enable-xinerama) _xinerama=yes ;;
1726 --disable-xinerama) _xinerama=no ;;
1727 --enable-mga) _mga=yes ;;
1728 --disable-mga) _mga=no ;;
1729 --enable-xmga) _xmga=yes ;;
1730 --disable-xmga) _xmga=no ;;
1731 --enable-vm) _vm=yes ;;
1732 --disable-vm) _vm=no ;;
1733 --enable-xf86keysym) _xf86keysym=yes ;;
1734 --disable-xf86keysym) _xf86keysym=no ;;
1735 --enable-mlib) _mlib=yes ;;
1736 --disable-mlib) _mlib=no ;;
1737 --enable-sunaudio) _sunaudio=yes ;;
1738 --disable-sunaudio) _sunaudio=no ;;
1739 --enable-sgiaudio) _sgiaudio=yes ;;
1740 --disable-sgiaudio) _sgiaudio=no ;;
1741 --enable-alsa) _alsa=yes ;;
1742 --disable-alsa) _alsa=no ;;
1743 --enable-tv) _tv=yes ;;
1744 --disable-tv) _tv=no ;;
1745 --enable-edl) _edl=yes ;;
1746 --disable-edl) _edl=no ;;
1747 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1748 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1749 --enable-tv-v4l) _tv_v4l=yes ;;
1750 --disable-tv-v4l) _tv_v4l=no ;;
1751 --enable-tv-v4l2) _tv_v4l2=yes ;;
1752 --disable-tv-v4l2) _tv_v4l2=no ;;
1753 --enable-fastmemcpy) _fastmemcpy=yes ;;
1754 --disable-fastmemcpy) _fastmemcpy=no ;;
1755 --enable-network) _network=yes ;;
1756 --disable-network) _network=no ;;
1757 --enable-winsock2) _winsock2=yes ;;
1758 --disable-winsock2) _winsock2=no ;;
1759 --enable-smb) _smbsupport=yes ;;
1760 --disable-smb) _smbsupport=no ;;
1761 --enable-vidix) _vidix=yes ;;
1762 --disable-vidix) _vidix=no ;;
1763 --enable-joystick) _joystick=yes ;;
1764 --disable-joystick) _joystick=no ;;
1765 --enable-xvid) _xvid=yes ;;
1766 --disable-xvid) _xvid=no ;;
1767 --enable-x264) _x264=yes ;;
1768 --disable-x264) _x264=no ;;
1769 --enable-divx4linux) _divx4linux=yes ;;
1770 --disable-divx4linux) _divx4linux=no ;;
1771 --enable-opendivx) _opendivx=yes ;;
1772 --disable-opendivx) _opendivx=no ;;
1773 --enable-libavcodec) _libavcodec=yes ;;
1774 --disable-libavcodec) _libavcodec=no ;;
1775 --enable-amr_nb) _amr_nb=yes ;;
1776 --disable-amr_nb) _amr_nb=no ;;
1777 --enable-amr_nb-fixed) _amr_nb_fixed=yes ;;
1778 --disable-amr_nb-fixed) _amr_nb_fixed=no ;;
1779 --enable-amr_wb) _amr_wb=yes ;;
1780 --disable-amr_wb) _amr_wb=no ;;
1781 --enable-codec=*) _libavcodecs="$_libavcodecs `echo $ac_option | cut -d '=' -f 2`" ;;
1782 --disable-codec=*) _libavcodecs=`echo $_libavcodecs | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1783 --enable-libavformat) _libavformat=yes;;
1784 --disable-libavformat) _libavformat=no ;;
1785 --enable-libfame) _fame=yes ;;
1786 --disable-libfame) _fame=no ;;
1787 --enable-lirc) _lirc=yes ;;
1788 --disable-lirc) _lirc=no ;;
1789 --enable-lircc) _lircc=yes ;;
1790 --disable-lircc) _lircc=no ;;
1791 --enable-gui) _gui=yes ;;
1792 --disable-gui) _gui=no ;;
1793 --enable-old-gtk) _gtk1=yes ;;
1794 --enable-termcap) _termcap=yes ;;
1795 --disable-termcap) _termcap=no ;;
1796 --enable-termios) _termios=yes ;;
1797 --disable-termios) _termios=no ;;
1798 --enable-3dfx) _3dfx=yes ;;
1799 --disable-3dfx) _3dfx=no ;;
1800 --enable-tdfxfb) _tdfxfb=yes ;;
1801 --disable-tdfxvid) _tdfxvid=no ;;
1802 --enable-tdfxvid) _tdfxvid=yes ;;
1803 --disable-tga) _tga=no ;;
1804 --enable-tga) _tga=yes ;;
1805 --disable-tdfxfb) _tdfxfb=no ;;
1806 --enable-directfb) _directfb=yes ;;
1807 --disable-directfb) _directfb=no ;;
1808 --enable-zr) _zr=yes ;;
1809 --disable-zr) _zr=no ;;
1810 --enable-bl) _bl=yes ;;
1811 --disable-bl) _bl=no ;;
1812 --enable-mtrr) _mtrr=yes ;;
1813 --disable-mtrr) _mtrr=no ;;
1814 --enable-largefiles) _largefiles=yes ;;
1815 --disable-largefiles) _largefiles=no ;;
1816 --enable-shm) _shm=yes ;;
1817 --disable-shm) _shm=no ;;
1818 --enable-select) _select=yes ;;
1819 --disable-select) _select=no ;;
1820 --enable-linux-devfs) _linux_devfs=yes ;;
1821 --disable-linux-devfs) _linux_devfs=no ;;
1822 --enable-cdparanoia) _cdparanoia=yes ;;
1823 --disable-cdparanoia) _cdparanoia=no ;;
1824 --enable-big-endian) _big_endian=yes ;;
1825 --disable-big-endian) _big_endian=no ;;
1826 --enable-freetype) _freetype=yes ;;
1827 --disable-freetype) _freetype=no ;;
1828 --enable-fontconfig) _fontconfig=yes ;;
1829 --disable-fontconfig) _fontconfig=no ;;
1830 --enable-unrarlib) _unrarlib=yes ;;
1831 --disable-unrarlib) _unrarlib=no ;;
1832 --enable-ftp) _ftp=yes ;;
1833 --disable-ftp) _ftp=no ;;
1834 --enable-vstream) _vstream=yes ;;
1835 --disable-vstream) _vstream=no ;;
1836 --enable-pthreads) _pthreads=yes ;;
1837 --disable-pthreads) _pthreads=no ;;
1839 --enable-fribidi) _fribidi=yes ;;
1840 --disable-fribidi) _fribidi=no ;;
1842 --enable-enca) _enca=yes ;;
1843 --disable-enca) _enca=no ;;
1845 --enable-inet6) _inet6=yes ;;
1846 --disable-inet6) _inet6=no ;;
1848 --enable-gethostbyname2) _gethostbyname2=yes ;;
1849 --disable-gethostbyname2) _gethostbyname2=no ;;
1851 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
1852 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
1853 --disable-dga) _dga=no ;;
1855 --enable-menu) _menu=yes ;;
1856 --disable-menu) _menu=no ;;
1858 --enable-qtx) _qtx=yes ;;
1859 --disable-qtx) _qtx=no ;;
1861 --enable-macosx) _macosx=yes ;;
1862 --disable-macosx) _macosx=no ;;
1863 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
1864 --disable-macosx-finder-support) _macosx_finder_support=no ;;
1865 --enable-macosx-bundle) _macosx_bundle=yes;;
1866 --disable-macosx-bundle) _macosx_bundle=no;;
1868 --enable-sortsub) _sortsub=yes ;;
1869 --disable-sortsub) _sortsub=no ;;
1871 --charset=*)
1872 _charset=`echo $ac_option | cut -d '=' -f 2`
1874 --language=*)
1875 _language=`echo $ac_option | cut -d '=' -f 2`
1877 # dvdnav disabled, it does not work
1878 # --with-libdvdnav=*)
1879 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1880 # _dvdnav=yes
1881 # ;;
1883 --with-codecsdir=*)
1884 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1885 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1886 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1888 --with-win32libdir=*)
1889 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1890 _win32=yes
1892 --with-xanimlibdir=*)
1893 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1894 _xanim=yes
1896 --with-reallibdir=*)
1897 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1898 _real=yes
1900 --with-livelibdir=*)
1901 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
1903 --with-toolamedir=*)
1904 _toolamedir=`echo $ac_option | cut -d '=' -f 2`
1906 --with-mlibdir=*)
1907 _mlibdir=`echo $ac_option | cut -d '=' -f 2`
1908 _mlib=yes
1911 --with-xmmslibdir=*)
1912 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
1915 --with-xmmsplugindir=*)
1916 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
1919 --enable-profile)
1920 _profile='-p'
1922 --disable-profile)
1923 _profile=
1925 --enable-debug)
1926 _debug='-g'
1928 --enable-debug=*)
1929 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1931 --disable-debug)
1932 _debug=
1934 --enable-crash-debug)
1935 _crash_debug=yes
1937 --disable-crash-debug)
1938 _crash_debug=no
1940 --enable-sighandler)
1941 _sighandler=yes
1943 --disable-sighandler)
1944 _sighandler=no
1947 --enable-sse) _sse=yes ;;
1948 --disable-sse) _sse=no ;;
1949 --enable-sse2) _sse2=yes ;;
1950 --disable-sse2) _sse2=no ;;
1951 --enable-mmx2) _mmx2=yes ;;
1952 --disable-mmx2) _mmx2=no ;;
1953 --enable-3dnow) _3dnow=yes ;;
1954 --disable-3dnow) _3dnow=no _3dnowex=no ;;
1955 --enable-3dnowex) _3dnow=yes _3dnowex=yes ;;
1956 --disable-3dnowex) _3dnowex=no ;;
1957 --enable-altivec) _altivec=yes ;;
1958 --disable-altivec) _altivec=no ;;
1959 --enable-mmx) _mmx=yes ;;
1960 --disable-mmx) # 3Dnow! and MMX2 require MMX
1961 _3dnow=no _3dnowex=no _mmx=no _mmx2=no ;;
1963 --enable-win32) _win32=yes ;;
1964 --disable-win32) _win32=no _dshow=no ;;
1965 --enable-dshow) _win32=yes _dshow=yes ;;
1966 --disable-dshow) _dshow=no ;;
1968 --with-x11incdir=*)
1969 _inc_x11=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1971 --with-x11libdir=*)
1972 _x11_paths=`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1974 --with-dxr2incdir=*)
1975 _inc_dxr2=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1977 --with-xvmclib=*)
1978 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
1980 --with-dvbincdir=*)
1981 _inc_dvb=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1983 --with-xvidlibdir=*)
1984 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1986 --with-xvidincdir=*)
1987 _inc_xvid=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1989 --with-dtslibdir=*)
1990 _ld_libdts=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1992 --with-dtsincdir=*)
1993 _inc_libdts=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1995 --with-x264libdir=*)
1996 _ld_x264=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1998 --with-x264incdir=*)
1999 _inc_x264=-I`echo $ac_option | cut -d '=' -f 2 |sed 's,:, -I,g'`
2001 --with-sdl-config=*)
2002 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
2004 --with-freetype-config=*)
2005 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
2007 --with-fribidi-config=*)
2008 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
2010 --with-gtk-config=*)
2011 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
2013 --with-glib-config=*)
2014 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
2016 # dvdnav disabled, it does not work
2017 # --with-dvdnav-config=*)
2018 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
2019 # ;;
2020 --with-madlibdir=*)
2021 _ld_mad=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2023 --with-cdparanoiaincdir=*)
2024 _inc_cdparanoia=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2026 --with-cdparanoialibdir=*)
2027 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2029 --with-termcaplib=*)
2030 _ld_termcap=-l`echo $ac_option | cut -d '=' -f 2`
2031 _termcap=yes
2033 --prefix=*)
2034 _prefix=`echo $ac_option | cut -d '=' -f 2`
2036 --bindir=*)
2037 _bindir=`echo $ac_option | cut -d '=' -f 2`
2039 --datadir=*)
2040 _datadir=`echo $ac_option | cut -d '=' -f 2`
2042 --mandir=*)
2043 _mandir=`echo $ac_option | cut -d '=' -f 2`
2045 --confdir=*)
2046 _confdir=`echo $ac_option | cut -d '=' -f 2`
2048 --libdir=*)
2049 _libdir=`echo $ac_option | cut -d '=' -f 2`
2053 echo "Unknown parameter: $ac_option"
2054 exit 1
2057 esac
2058 done
2060 # Atmos: moved this here, to be correct, if --prefix is specified
2061 test -z "$_bindir" && _bindir="$_prefix/bin"
2062 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
2063 test -z "$_mandir" && _mandir="$_prefix/man"
2064 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
2065 test -z "$_libdir" && _libdir="$_prefix/lib"
2066 test -z "$_mlibdir" && _mlibdir="$MLIBHOME"
2068 if x86 ; then
2069 # Checking assembler (_as) compatibility...
2070 # Added workaround for older as that reads from stdin by default - atmos
2071 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2072 echocheck "assembler ($_as $as_version)"
2074 _pref_as_version='2.9.1'
2075 echo 'nop' > $TMPS
2076 if test "$_mmx" = yes ; then
2077 echo 'emms' >> $TMPS
2079 if test "$_3dnow" = yes ; then
2080 _pref_as_version='2.10.1'
2081 echo 'femms' >> $TMPS
2083 if test "$_3dnowex" = yes ; then
2084 _pref_as_version='2.10.1'
2085 echo 'pswapd %mm0, %mm0' >> $TMPS
2087 if test "$_mmx2" = yes ; then
2088 _pref_as_version='2.10.1'
2089 echo 'movntq %mm0, (%eax)' >> $TMPS
2091 if test "$_sse" = yes ; then
2092 _pref_as_version='2.10.1'
2093 echo 'xorps %xmm0, %xmm0' >> $TMPS
2095 #if test "$_sse2" = yes ; then
2096 # _pref_as_version='2.11'
2097 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2099 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2101 if test "$as_verc_fail" != yes ; then
2102 echores "ok"
2103 else
2104 echores "failed"
2105 echo "Upgrade binutils to ${_pref_as_version} ..."
2106 die "obsolete binutils version"
2110 if ppc ; then
2112 # check if altivec is supported by the compiler, and how to enable it
2114 _altivec_gcc_flags=''
2116 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2117 echocheck "GCC altivec support"
2119 p=''
2120 cat > $TMPC << EOF
2121 int main() {
2122 return 0;
2125 FSF_flags='-maltivec -mabi=altivec'
2126 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2128 # check for Darwin-style flags first, since
2129 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2130 # accepts but ignores FSF-style flags...
2132 if test -z "$p"; then
2133 cc_check $Darwin_flags && p='Darwin'
2135 if test -z "$p"; then
2136 cc_check $FSF_flags && p='FSF'
2139 case $p in
2140 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2141 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2142 *) _altivec=no ;;
2143 esac
2145 if test -z "$p"; then
2146 p=none
2147 else
2148 p="$p-style ($_altivec_gcc_flags)"
2151 echores "$p"
2154 # check if <altivec.h> should be included
2156 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2158 if test "$_altivec" = yes ; then
2159 echocheck "altivec.h"
2160 cat > $TMPC << EOF
2161 #include <altivec.h>
2162 int main(void) { return 0; }
2164 _have_altivec_h=no
2165 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2166 if test "$_have_altivec_h" = yes ; then
2167 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2169 echores "$_have_altivec_h"
2172 # disable runtime cpudetection if
2173 # - we cannot generate altivec code
2174 # - altivec is disabled by the user
2176 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2177 _runtime_cpudetection=no
2180 # show that we are optimizing for altivec (if enabled and supported)
2182 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2183 _optimizing="$_optimizing altivec"
2186 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2188 if test "$_altivec" = yes ; then
2189 _mcpu="$_mcpu $_altivec_gcc_flags"
2192 # setup _def_altivec correctly
2194 if test "$_altivec" = yes ; then
2195 _def_altivec='#define HAVE_ALTIVEC 1'
2196 else
2197 _def_altivec='#undef HAVE_ALTIVEC'
2201 _def_mmx='#undef HAVE_MMX'
2202 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2203 _def_mmx2='#undef HAVE_MMX2'
2204 test "$_mmx2" = yes && _def_mmx2='#define HAVE_MMX2 1'
2205 _def_3dnow='#undef HAVE_3DNOW'
2206 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2207 _def_3dnowex='#undef HAVE_3DNOWEX'
2208 test "$_3dnowex" = yes && _def_3dnowex='#define HAVE_3DNOWEX 1'
2209 _def_sse='#undef HAVE_SSE'
2210 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2211 _def_sse2='#undef HAVE_SSE2'
2212 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2214 # Checking kernel version...
2215 if x86 && linux ; then
2216 _k_verc_problem=no
2217 kernel_version=`uname -r 2>&1`
2218 echocheck "$system_name kernel version"
2219 case "$kernel_version" in
2220 '') kernel_version="?.??"; _k_verc_fail=yes;;
2221 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2222 _k_verc_problem=yes;;
2223 esac
2224 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2225 _k_verc_fail=yes
2227 if test "$_k_verc_fail" ; then
2228 echores "$kernel_version, fail"
2229 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2230 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2231 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2232 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2233 echo "2.2.x you must upgrade it to get SSE support!"
2234 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2235 else
2236 echores "$kernel_version, ok"
2240 if test "$_vidix" = auto ; then
2241 _vidix=no
2242 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2243 x86 && _vidix=yes
2244 x86_64 && _vidix=yes
2245 ppc && linux && _vidix=yes
2246 alpha && linux && _vidix=yes
2247 qnx && _vidix=no
2248 sunos && _vidix=no
2249 beos && _vidix=no
2252 echocheck "mplayer binary name"
2253 if win32 ; then
2254 _prg="mplayer.exe"
2255 _prg_mencoder="mencoder.exe"
2256 else
2257 _prg="mplayer"
2258 _prg_mencoder="mencoder"
2260 echores $_prg
2263 # On QNX we must link to libph - Gabucino
2264 if qnx ; then
2265 _ld_arch="$_ld_arch -lph"
2268 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2269 _awk=
2270 if test "$_vidix" = yes ; then
2271 _awk_verc_fail=yes
2272 echocheck "awk"
2273 for _awk in mawk gawk nawk awk; do
2274 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2275 _awk_verc_fail=no
2276 break
2278 done
2279 test "$_awk_verc_fail" = yes && _awk=no
2280 echores "$_awk"
2281 if test "$_awk_verc_fail" = yes; then
2282 echo "VIDIX needs awk, but no working implementation was found!"
2283 echo "Try the GNU version, which can be downloaded from:"
2284 echo "ftp://ftp.gnu.org/gnu/gawk/"
2285 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2286 die "no awk"
2290 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2291 if irix ; then
2292 _ranlib='ar -r'
2293 elif linux ; then
2294 _ranlib='true'
2297 ######################
2298 # MAIN TESTS GO HERE #
2299 ######################
2302 echocheck "extra headers"
2303 if test "$_inc_extra" ; then
2304 echores "$_inc_extra"
2305 else
2306 echores "none"
2310 echocheck "extra libs"
2311 if test "$_ld_extra" ; then
2312 echores "$_ld_extra"
2313 else
2314 echores "none"
2317 echocheck "-lposix"
2318 cat > $TMPC <<EOF
2319 int main(void) { return 0; }
2321 if cc_check -lposix ; then
2322 _ld_arch="$_ld_arch -lposix"
2323 echores "yes"
2324 else
2325 echores "no"
2328 echocheck "-lm"
2329 cat > $TMPC <<EOF
2330 int main(void) { return 0; }
2332 if cc_check -lm ; then
2333 _ld_lm="-lm"
2334 echores "yes"
2335 else
2336 _ld_lm=""
2337 echores "no"
2340 # Checking for localization ...
2341 # CSAK EGY MARADHAT - A HEGYLAKO
2342 echocheck "i18n"
2343 if test "$_i18n" != no ; then
2344 cat > $TMPC <<EOF
2345 #include <libintl.h>
2346 int main(void) { gettext("test"); return 0; }
2348 _i18n=no
2349 _i18n_libs=""
2350 if test "$_i18n" = auto ; then
2351 cc_check && _i18n=yes
2352 else
2353 for i18n_lib in "" "-lintl"; do
2354 cc_check $i18n_lib && _i18n=yes && _i18n_libs=$i18n_lib && break
2355 done
2358 if test "$_i18n" = yes ; then
2359 _def_i18n='#define USE_I18N 1'
2360 else
2361 _def_i18n='#undef USE_I18N'
2363 if test "$_i18n_libs" ; then
2364 _res_comment="using $_i18n_libs"
2366 echores "$_i18n"
2369 echocheck "langinfo"
2370 if test "$_langinfo" = auto ; then
2371 cat > $TMPC <<EOF
2372 #include <langinfo.h>
2373 int main(void) { nl_langinfo(CODESET); return 0; }
2375 _langinfo=no
2376 cc_check && _langinfo=yes
2378 if test "$_langinfo" = yes ; then
2379 _def_langinfo='#define USE_LANGINFO 1'
2380 else
2381 _def_langinfo='#undef USE_LANGINFO'
2383 echores "$_langinfo"
2386 echocheck "language"
2387 test -z "$_language" && _language=$LINGUAS
2388 _language=`echo $_language | sed 's/,/ /g'`
2389 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2390 for lang in $_language ; do
2391 test "$lang" = all && lang=en
2392 if test -f "help/help_mp-${lang}.h" ; then
2393 _language=$lang
2394 break
2395 else
2396 echo -n "$lang not found, "
2397 _language=`echo $_language | sed "s/$lang *//"`
2399 done
2400 test -z "$_language" && _language=en
2401 _mp_help="help/help_mp-${_language}.h"
2402 test -f $_mp_help || die "$_mp_help not found"
2403 for lang in $LANGUAGES ; do
2404 if test -f "DOCS/man/$lang/mplayer.1" ; then
2405 MAN_LANG="$MAN_LANG $lang"
2407 done
2408 _doc_lang=$_language
2409 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2410 echores "using $_language (man pages: $MAN_LANG)"
2413 echocheck "enable sighandler"
2414 if test "$_sighandler" = yes ; then
2415 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2416 else
2417 _def_sighandler='#undef ENABLE_SIGHANDLER'
2419 echores "$_sighandler"
2421 echocheck "runtime cpudetection"
2422 if test "$_runtime_cpudetection" = yes ; then
2423 _optimizing="Runtime CPU-Detection enabled"
2424 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2425 else
2426 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2428 echores "$_runtime_cpudetection"
2431 echocheck "restrict keyword"
2432 for restrict_keyword in restrict __restrict __restrict__ ; do
2433 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2434 if cc_check; then
2435 _def_restrict_keyword=$restrict_keyword
2436 break;
2438 done
2439 if [ -n "$_def_restrict_keyword" ]; then
2440 echores "$_def_restrict_keyword"
2441 else
2442 echores "none"
2444 # Avoid infinite recursion loop ("#define restrict restrict")
2445 if [ "$_def_restrict_keyword" != "restrict" ]; then
2446 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2447 else
2448 _def_restrict_keyword=""
2452 echocheck "__builtin_expect"
2453 # GCC branch prediction hint
2454 cat > $TMPC << EOF
2455 int foo (int a) {
2456 a = __builtin_expect (a, 10);
2457 return a == 10 ? 0 : 1;
2459 int main() { return foo(10) && foo(0); }
2461 _builtin_expect=no
2462 cc_check && _builtin_expect=yes
2463 if test "$_builtin_expect" = yes ; then
2464 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2465 else
2466 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2468 echores "$_builtin_expect"
2471 echocheck "kstat"
2472 cat > $TMPC << EOF
2473 #include <kstat.h>
2474 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2476 _kstat=no
2477 cc_check -lkstat && _kstat=yes
2478 if test "$_kstat" = yes ; then
2479 _def_kstat="#define HAVE_LIBKSTAT 1"
2480 _ld_arch="-lkstat $_ld_arch"
2481 else
2482 _def_kstat="#undef HAVE_LIBKSTAT"
2484 echores "$_kstat"
2487 echocheck "posix4"
2488 # required for nanosleep on some systems
2489 cat > $TMPC << EOF
2490 #include <time.h>
2491 int main(void) { (void) nanosleep(0, 0); return 0; }
2493 _posix4=no
2494 cc_check -lposix4 && _posix4=yes
2495 if test "$_posix4" = yes ; then
2496 _ld_arch="-lposix4 $_ld_arch"
2498 echores "$_posix4"
2500 echocheck "lrintf"
2501 cat > $TMPC << EOF
2502 #include <math.h>
2503 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2505 _lrintf=no
2506 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2507 if test "$_lrintf" = yes ; then
2508 _def_lrintf="#define HAVE_LRINTF 1"
2509 else
2510 _def_lrintf="#undef HAVE_LRINTF"
2512 echores "$_lrintf"
2514 echocheck "round"
2515 cat > $TMPC << EOF
2516 #include <math.h>
2517 int main(void) { (void) round(0.0); return 0; }
2519 _round=no
2520 cc_check $_ld_lm && _round=yes
2521 if test "$_round" = yes ; then
2522 _def_round="#define HAVE_ROUND 1"
2523 else
2524 _def_round="#undef HAVE_ROUND"
2526 echores "$_round"
2528 echocheck "nanosleep"
2529 # also check for nanosleep
2530 cat > $TMPC << EOF
2531 #include <time.h>
2532 int main(void) { (void) nanosleep(0, 0); return 0; }
2534 _nanosleep=no
2535 cc_check $_ld_arch && _nanosleep=yes
2536 if test "$_nanosleep" = yes ; then
2537 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2538 else
2539 _def_nanosleep='#undef HAVE_NANOSLEEP'
2541 echores "$_nanosleep"
2544 echocheck "socklib"
2545 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2546 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2547 cat > $TMPC << EOF
2548 #include <netdb.h>
2549 #include <sys/socket.h>
2550 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2552 for _ld_tmp in "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2553 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && break
2554 done
2555 if test $_winsock2 = auto && not cygwin ; then
2556 _winsock2=no
2557 cat > $TMPC << EOF
2558 #include <winsock2.h>
2559 int main(void) { (void) gethostbyname(0); return 0; }
2561 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2563 if test "$_ld_sock" ; then
2564 echores "yes (using $_ld_sock)"
2565 else
2566 echores "no"
2570 if test $_winsock2 = yes ; then
2571 _ld_sock="-lws2_32"
2572 _def_winsock2='#define HAVE_WINSOCK2 1'
2573 else
2574 _def_winsock2='#undef HAVE_WINSOCK2'
2578 _use_aton=no
2579 echocheck "inet_pton()"
2580 cat > $TMPC << EOF
2581 #include <sys/types.h>
2582 #include <sys/socket.h>
2583 #include <arpa/inet.h>
2584 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2586 if test "$_winsock2" = yes ; then
2587 echores "not needed (using winsock2 functions)"
2588 elif cc_check $_ld_sock ; then
2589 # NOTE: Linux has libresolv but does not need it
2591 echores "yes (using $_ld_sock)"
2592 elif cc_check $_ld_sock -lresolv ; then
2593 # NOTE: needed for SunOS at least
2594 _ld_sock="$_ld_sock -lresolv"
2595 echores "yes (using $_ld_sock)"
2596 else
2597 echores "no (=> i'll try inet_aton next)"
2599 echocheck "inet_aton()"
2600 cat > $TMPC << EOF
2601 #include <sys/types.h>
2602 #include <sys/socket.h>
2603 #include <arpa/inet.h>
2604 int main(void) { (void) inet_aton(0, 0); return 0; }
2606 _use_aton=yes
2607 if cc_check $_ld_sock ; then
2608 # NOTE: Linux has libresolv but does not need it
2610 echores "yes (using $_ld_sock)"
2611 elif cc_check $_ld_sock -lresolv ; then
2612 # NOTE: needed for SunOS at least
2613 _ld_sock="$_ld_sock -lresolv"
2614 echores "yes (using $_ld_sock)"
2615 else
2616 _use_aton=no
2617 _network=no
2618 echores "no (=> network support disabled)"
2622 _def_use_aton='#undef USE_ATON'
2623 if test "$_use_aton" != no; then
2624 _def_use_aton='#define USE_ATON 1'
2628 echocheck "inttypes.h (required)"
2629 cat > $TMPC << EOF
2630 #include <inttypes.h>
2631 int main(void) { return 0; }
2633 _inttypes=no
2634 cc_check && _inttypes=yes
2635 if test "$_inttypes" = yes ; then
2636 # nothing to do
2638 else
2639 echores "no"
2640 echocheck "bitypes.h (inttypes.h predecessor)"
2641 cat > $TMPC << EOF
2642 #include <sys/bitypes.h>
2643 int main(void) { return 0; }
2645 _inttypes=no
2646 cc_check && _inttypes=yes
2647 if test "$_inttypes" = yes ; then
2648 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."
2649 else
2650 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2653 echores "$_inttypes"
2656 echocheck "int_fastXY_t in inttypes.h"
2657 cat > $TMPC << EOF
2658 #include <inttypes.h>
2659 int main(void) {
2660 volatile int_fast16_t v= 0;
2661 return v; }
2663 _fast_inttypes=no
2664 cc_check && _fast_inttypes=yes
2665 if test "$_fast_inttypes" = yes ; then
2666 # nothing to do
2668 else
2669 _def_fast_inttypes='
2670 typedef signed char int_fast8_t;
2671 typedef signed int int_fast16_t;
2672 typedef signed int int_fast32_t;
2673 typedef unsigned char uint_fast8_t;
2674 typedef unsigned int uint_fast16_t;
2675 typedef unsigned int uint_fast32_t;'
2677 echores "$_fast_inttypes"
2680 echocheck "word size"
2681 _mp_wordsize="#undef MP_WORDSIZE"
2682 cat > $TMPC << EOF
2683 #include <stdio.h>
2684 #include <sys/types.h>
2685 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2687 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2688 echores "$_wordsize"
2691 echocheck "stddef.h"
2692 cat > $TMPC << EOF
2693 #include <stddef.h>
2694 int main(void) { return 0; }
2696 _stddef=no
2697 cc_check && _stddef=yes
2698 if test "$_stddef" = yes ; then
2699 _def_stddef='#define HAVE_STDDEF_H 1'
2700 else
2701 _def_stddef='#undef HAVE_STDDEF_H'
2703 echores "$_stddef"
2706 echocheck "malloc.h"
2707 cat > $TMPC << EOF
2708 #include <malloc.h>
2709 int main(void) { (void) malloc(0); return 0; }
2711 _malloc=no
2712 cc_check && _malloc=yes
2713 if test "$_malloc" = yes ; then
2714 _def_malloc='#define HAVE_MALLOC_H 1'
2715 else
2716 _def_malloc='#undef HAVE_MALLOC_H'
2718 # malloc.h emits a warning in FreeBSD and OpenBSD
2719 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2720 echores "$_malloc"
2723 echocheck "memalign()"
2724 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2725 cat > $TMPC << EOF
2726 #include <malloc.h>
2727 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2729 _memalign=no
2730 cc_check && _memalign=yes
2731 if test "$_memalign" = yes ; then
2732 _def_memalign='#define HAVE_MEMALIGN 1'
2733 else
2734 _def_memalign='#undef HAVE_MEMALIGN'
2736 echores "$_memalign"
2739 echocheck "alloca.h"
2740 cat > $TMPC << EOF
2741 #include <alloca.h>
2742 int main(void) { (void) alloca(0); return 0; }
2744 _alloca=no
2745 cc_check && _alloca=yes
2746 if cc_check ; then
2747 _def_alloca='#define HAVE_ALLOCA_H 1'
2748 else
2749 _def_alloca='#undef HAVE_ALLOCA_H'
2751 echores "$_alloca"
2754 echocheck "mman.h"
2755 cat > $TMPC << EOF
2756 #include <sys/types.h>
2757 #include <sys/mman.h>
2758 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2760 _mman=no
2761 cc_check && _mman=yes
2762 if test "$_mman" = yes ; then
2763 _def_mman='#define HAVE_SYS_MMAN_H 1'
2764 else
2765 _def_mman='#undef HAVE_SYS_MMAN_H'
2767 echores "$_mman"
2769 cat > $TMPC << EOF
2770 #include <sys/types.h>
2771 #include <sys/mman.h>
2772 int main(void) { void *p = MAP_FAILED; return 0; }
2774 _mman_has_map_failed=no
2775 cc_check && _mman_has_map_failed=yes
2776 if test "$_mman_has_map_failed" = yes ; then
2777 _def_mman_has_map_failed=''
2778 else
2779 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2782 echocheck "dynamic loader"
2783 cat > $TMPC << EOF
2784 #include <dlfcn.h>
2785 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2787 _dl=no
2788 for _ld_tmp in "" "-ldl" ; do
2789 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
2790 done
2791 if test "$_dl" = yes ; then
2792 _def_dl='#define HAVE_LIBDL 1'
2793 else
2794 _def_dl='#undef HAVE_LIBDL'
2796 echores "$_dl"
2799 echocheck "dynamic a/v plugins support"
2800 if test "$_dl" = no ; then
2801 _dynamic_plugins=no
2803 if test "$_dynamic_plugins" = yes ; then
2804 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2805 else
2806 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2808 echores "$_dynamic_plugins"
2811 #echocheck "dynamic linking"
2812 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2813 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2814 #cat > $TMPC << EOF
2815 #int main(void) { return 0; }
2816 #EOF
2817 #if cc_check -rdynamic ; then
2818 # _ld_dl_dynamic='-rdynamic'
2819 #elif cc_check -Bdynamic ; then
2820 # _ld_dl_dynamic='-Bdynamic'
2821 #elif cc_check ; then
2822 # _ld_dl_dynamic=''
2824 #echores "using $_ld_dl_dynamic"
2826 _def_threads='#undef HAVE_THREADS'
2828 echocheck "pthread"
2829 if test "$_pthreads" != no ; then
2830 cat > $TMPC << EOF
2831 #include <pthread.h>
2832 void* func(void *arg) { return arg; }
2833 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2835 _pthreads=no
2836 if not hpux ; then
2837 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
2838 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2839 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
2840 done
2843 if test "$_pthreads" = yes ; then
2844 echores "yes (using $_ld_pthread)"
2845 _pthreads='yes'
2846 _def_pthreads='#define HAVE_PTHREADS 1'
2847 _def_threads='#define HAVE_THREADS 1'
2848 else
2849 echores "no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2850 _pthreads=''
2851 _def_pthreads='#undef HAVE_PTHREADS'
2852 _nas=no ; _tv_v4l=no ; _macosx=no
2853 if not mingw32 ; then
2854 _win32=no
2859 echocheck "iconv"
2860 if test "$_iconv" = auto ; then
2861 _iconv_tmp='#include <iconv.h>'
2863 cat > $TMPC << EOF
2864 #include <stdio.h>
2865 #include <unistd.h>
2866 $_iconv_tmp
2867 #define INBUFSIZE 1024
2868 #define OUTBUFSIZE 4096
2870 char inbuffer[INBUFSIZE];
2871 char outbuffer[OUTBUFSIZE];
2873 int main(void) {
2874 size_t numread;
2875 iconv_t icdsc;
2876 char *tocode="UTF-8";
2877 char *fromcode="cp1250";
2878 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
2879 while ((numread = read (0, inbuffer, INBUFSIZE))) {
2880 char *iptr=inbuffer;
2881 char *optr=outbuffer;
2882 size_t inleft=numread;
2883 size_t outleft=OUTBUFSIZE;
2884 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
2885 != (size_t)(-1)) {
2886 write (1, outbuffer, OUTBUFSIZE - outleft);
2889 if (iconv_close(icdsc) == -1)
2894 _iconv=no
2895 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
2896 cc_check $_ld_lm $_ld_tmp && _ld_iconv="$_ld_tmp" && _iconv=yes && break
2897 done
2899 if test "$_iconv" = yes ; then
2900 _def_iconv='#define USE_ICONV 1'
2901 else
2902 _def_iconv='#undef USE_ICONV'
2904 echores "$_iconv"
2907 echocheck "sys/soundcard.h"
2908 cat > $TMPC << EOF
2909 #include <sys/soundcard.h>
2910 int main(void) { return 0; }
2912 _sys_soundcard=no
2913 cc_check && _sys_soundcard=yes
2914 if test "$_sys_soundcard" = yes ; then
2915 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
2916 _inc_soundcard='#include <sys/soundcard.h>'
2917 else
2918 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
2920 echores "$_sys_soundcard"
2922 if test "$_sys_soundcard" != yes ; then
2923 echocheck "soundcard.h"
2924 cat > $TMPC << EOF
2925 #include <soundcard.h>
2926 int main(void) { return 0; }
2928 _soundcard=no
2929 cc_check && _soundcard=yes
2930 if linux || test "$_ossaudio" != no ; then
2931 # use soundcard.h on Linux, or when OSS support is enabled
2932 echores "$_soundcard"
2933 else
2934 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2935 echores "$_soundcard, but ignored!"
2936 _soundcard=no
2938 if test "$_soundcard" = yes ; then
2939 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
2940 _inc_soundcard='#include <soundcard.h>'
2941 else
2942 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2944 else
2945 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2949 echocheck "sys/dvdio.h"
2950 cat > $TMPC << EOF
2951 #include <unistd.h>
2952 #include <sys/dvdio.h>
2953 int main(void) { return 0; }
2955 _dvdio=no
2956 cc_check && _dvdio=yes
2957 if test "$_dvdio" = yes ; then
2958 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2959 else
2960 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2962 echores "$_dvdio"
2965 echocheck "sys/cdio.h"
2966 cat > $TMPC << EOF
2967 #include <unistd.h>
2968 #include <sys/cdio.h>
2969 int main(void) { return 0; }
2971 _cdio=no
2972 cc_check && _cdio=yes
2973 if test "$_cdio" = yes ; then
2974 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2975 else
2976 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2978 echores "$_cdio"
2981 echocheck "linux/cdrom.h"
2982 cat > $TMPC << EOF
2983 #include <sys/types.h>
2984 #include <linux/cdrom.h>
2985 int main(void) { return 0; }
2987 _cdrom=no
2988 cc_check && _cdrom=yes
2989 if test "$_cdrom" = yes ; then
2990 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2991 else
2992 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2994 echores "$_cdrom"
2997 echocheck "dvd.h"
2998 cat > $TMPC << EOF
2999 #include <dvd.h>
3000 int main(void) { return 0; }
3002 _dvd=no
3003 cc_check && _dvd=yes
3004 if test "$_dvd" = yes ; then
3005 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3006 else
3007 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3009 echores "$_dvd"
3012 echocheck "BSDI dvd.h"
3013 cat > $TMPC << EOF
3014 #include <dvd.h>
3015 int main(void) { return 0; }
3017 _bsdi_dvd=no
3018 cc_check && _bsdi_dvd=yes
3019 if test "$_bsdi_dvd" = yes ; then
3020 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3021 else
3022 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3024 echores "$_bsdi_dvd"
3027 echocheck "HPUX SCSI header"
3028 cat > $TMPC << EOF
3029 #include <sys/scsi.h>
3030 int main(void) { return 0; }
3032 _hpux_scsi_h=no
3033 cc_check && _hpux_scsi_h=yes
3034 if test "$_hpux_scsi_h" = yes ; then
3035 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3036 else
3037 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3039 echores "$_hpux_scsi_h"
3042 echocheck "userspace SCSI headers (Solaris)"
3043 cat > $TMPC << EOF
3044 # include <unistd.h>
3045 # include <stropts.h>
3046 # include <sys/scsi/scsi_types.h>
3047 # include <sys/scsi/impl/uscsi.h>
3048 int main(void) { return 0; }
3050 _sol_scsi_h=no
3051 cc_check && _sol_scsi_h=yes
3052 if test "$_sol_scsi_h" = yes ; then
3053 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3054 else
3055 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3057 echores "$_sol_scsi_h"
3060 echocheck "termcap"
3061 if test "$_termcap" = auto ; then
3062 cat > $TMPC <<EOF
3063 int main(void) { return 0; }
3065 _termcap=no
3066 for _ld_tmp in "-ltermcap" "-ltinfo" ; do
3067 cc_check $_ld_tmp && _ld_termcap="$_ld_tmp" && _termcap=yes && break
3068 done
3070 if test "$_termcap" = yes ; then
3071 _def_termcap='#define USE_TERMCAP 1'
3072 _res_comment="using $_ld_termcap"
3073 else
3074 _def_termcap='#undef USE_TERMCAP'
3076 echores "$_termcap"
3079 echocheck "termios"
3080 if test "$_termios" = auto ; then
3081 cat > $TMPC <<EOF
3082 #include <sys/termios.h>
3083 int main(void) { return 0; }
3085 _termios=auto
3086 cc_check && _termios=yes
3087 _def_termios_h_name='sys/termios.h'
3089 # second test:
3090 if test "$_termios" = auto ; then
3091 cat > $TMPC <<EOF
3092 #include <termios.h>
3093 int main(void) { return 0; }
3095 _termios=no
3096 cc_check && _termios=yes
3097 _def_termios_h_name='termios.h'
3100 if test "$_termios" = yes ; then
3101 _def_termios='#define HAVE_TERMIOS 1'
3102 _def_termios_h='#undef HAVE_TERMIOS_H'
3103 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3105 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3106 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3107 elif test "$_def_termios_h_name" = 'termios.h' ; then
3108 _def_termios_h='#define HAVE_TERMIOS_H 1'
3110 _res_comment="using $_def_termios_h_name"
3111 else
3112 _def_termios='#undef HAVE_TERMIOS'
3113 _def_termios_h_name=''
3114 _termios=no
3116 echores "$_termios"
3119 echocheck "shm"
3120 if test "$_shm" = auto ; then
3121 cat > $TMPC << EOF
3122 #include <sys/types.h>
3123 #include <sys/shm.h>
3124 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3126 _shm=no
3127 cc_check && _shm=yes
3129 if test "$_shm" = yes ; then
3130 _def_shm='#define HAVE_SHM 1'
3131 else
3132 _def_shm='#undef HAVE_SHM'
3134 echores "$_shm"
3137 # XXX: FIXME, add runtime checking
3138 echocheck "linux devfs"
3139 echores "$_linux_devfs"
3142 echocheck "scandir()"
3143 cat > $TMPC << EOF
3144 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3146 _scandir=no
3147 cc_check && _scandir=yes
3148 if test "$_scandir" = yes ; then
3149 _def_scandir='#define HAVE_SCANDIR 1'
3150 else
3151 _def_scandir='#undef HAVE_SCANDIR'
3153 echores "$_scandir"
3156 echocheck "strsep()"
3157 cat > $TMPC << EOF
3158 #include <string.h>
3159 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3161 _strsep=no
3162 cc_check && _strsep=yes
3163 if test "$_strsep" = yes ; then
3164 _def_strsep='#define HAVE_STRSEP 1'
3165 else
3166 _def_strsep='#undef HAVE_STRSEP'
3168 echores "$_strsep"
3170 echocheck "strlcpy()"
3171 cat > $TMPC << EOF
3172 #include <string.h>
3173 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3175 _strlcpy=no
3176 cc_check && _strlcpy=yes
3177 if test "$_strlcpy" = yes ; then
3178 _def_strlcpy='#define HAVE_STRLCPY 1'
3179 else
3180 _def_strlcpy='#undef HAVE_STRLCPY'
3182 echores "$_strlcpy"
3184 echocheck "strlcat()"
3185 cat > $TMPC << EOF
3186 #include <string.h>
3187 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3189 _strlcat=no
3190 cc_check && _strlcat=yes
3191 if test "$_strlcat" = yes ; then
3192 _def_strlcat='#define HAVE_STRLCAT 1'
3193 else
3194 _def_strlcat='#undef HAVE_STRLCAT'
3196 echores "$_strlcat"
3198 echocheck "fseeko()"
3199 cat > $TMPC << EOF
3200 #include <stdio.h>
3201 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3203 _fseeko=no
3204 cc_check && _fseeko=yes
3205 if test "$_fseeko" = yes ; then
3206 _def_fseeko='#define HAVE_FSEEKO 1'
3207 else
3208 _def_fseeko='#undef HAVE_FSEEKO'
3210 echores "$_fseeko"
3212 echocheck "localtime_r()"
3213 cat > $TMPC << EOF
3214 #include <time.h>
3215 int main( void ) { localtime_r(NULL, NULL); }
3217 _localtime_r=no
3218 cc_check && _localtime_r=yes
3219 if test "$_localtime_r" = yes ; then
3220 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3221 else
3222 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3224 echores "$_localtime_r"
3226 echocheck "vsscanf()"
3227 cat > $TMPC << EOF
3228 #include <stdarg.h>
3229 int main(void) { vsscanf(0, 0, 0); return 0; }
3231 _vsscanf=no
3232 cc_check && _vsscanf=yes
3233 if test "$_vsscanf" = yes ; then
3234 _def_vsscanf='#define HAVE_VSSCANF 1'
3235 else
3236 _def_vsscanf='#undef HAVE_VSSCANF'
3238 echores "$_vsscanf"
3241 echocheck "swab()"
3242 cat > $TMPC << EOF
3243 #include <unistd.h>
3244 int main(void) { swab(0, 0, 0); return 0; }
3246 _swab=no
3247 cc_check && _swab=yes
3248 if test "$_swab" = yes ; then
3249 _def_swab='#define HAVE_SWAB 1'
3250 else
3251 _def_swab='#undef HAVE_SWAB'
3253 echores "$_swab"
3255 echocheck "posix select()"
3256 cat > $TMPC << EOF
3257 #include <stdio.h>
3258 #include <stdlib.h>
3259 #include <sys/types.h>
3260 #include <string.h>
3261 #include <sys/time.h>
3262 #include <unistd.h>
3263 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3265 _posix_select=no
3266 cc_check && _posix_select=yes
3267 if test "$_posix_select" = no ; then
3268 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3269 else
3270 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3272 echores "$_posix_select"
3275 echocheck "gettimeofday()"
3276 cat > $TMPC << EOF
3277 #include <stdio.h>
3278 #include <sys/time.h>
3279 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3281 _gettimeofday=no
3282 cc_check && _gettimeofday=yes
3283 if test "$_gettimeofday" = yes ; then
3284 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3285 else
3286 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3288 echores "$_gettimeofday"
3291 echocheck "glob()"
3292 cat > $TMPC << EOF
3293 #include <stdio.h>
3294 #include <glob.h>
3295 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3297 _glob=no
3298 cc_check && _glob=yes
3299 if test "$_glob" = yes ; then
3300 _def_glob='#define HAVE_GLOB 1'
3301 else
3302 _def_glob='#undef HAVE_GLOB'
3304 echores "$_glob"
3307 echocheck "sys/sysinfo.h"
3308 cat > $TMPC << EOF
3309 #include <sys/sysinfo.h>
3310 int main(void) {
3311 struct sysinfo s_info;
3312 sysinfo(&s_info);
3313 return 0;
3316 _sys_sysinfo=no
3317 cc_check && _sys_sysinfo=yes
3318 if test "$_sys_sysinfo" = yes ; then
3319 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3320 _inc_sysinfo='#include <sys/sysinfo.h>'
3321 else
3322 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3324 echores "$_sys_sysinfo"
3327 echocheck "Mac OS X APIs"
3328 if test "$_macosx" = auto && darwin ; then
3329 productName=`/usr/bin/sw_vers -productName`
3330 if test "$productName" = "Mac OS X" ; then
3331 _macosx=yes
3332 else
3333 _macosx=no
3334 _def_macosx='#undef MACOSX'
3335 _noaomodules="macosx $_noaomodules"
3336 _novomodules="quartz $_novomodules"
3339 if test "$_macosx" = yes ; then
3340 cat > $TMPC <<EOF
3341 #include <Carbon/Carbon.h>
3342 #include <QuickTime/QuickTime.h>
3343 #include <CoreAudio/CoreAudio.h>
3344 int main(void) {
3345 EnterMovies();
3346 ExitMovies();
3347 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3350 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3351 _macosx=yes
3352 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3353 _def_macosx='#define MACOSX 1'
3354 _aosrc="$_aosrc ao_macosx.c"
3355 _aomodules="macosx $_aomodules"
3356 _vosrc="$_vosrc vo_quartz.c"
3357 _vomodules="quartz $_vomodules"
3358 else
3359 _macosx=no
3360 _def_macosx='#undef MACOSX'
3361 _noaomodules="macosx $_noaomodules"
3362 _novomodules="quartz $_novomodules"
3364 cat > $TMPC <<EOF
3365 #include <Carbon/Carbon.h>
3366 #include <QuartzCore/CoreVideo.h>
3367 int main(void) {}
3369 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3370 _vosrc="$_vosrc vo_macosx.m"
3371 _vomodules="macosx $_vomodules"
3372 _macosx_frameworks="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3373 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3374 _macosx_corevideo=yes
3375 else
3376 _novomodules="macosx $_novomodules"
3377 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3378 _macosx_corevideo=no
3381 echores "$_macosx"
3383 echocheck "Mac OS X Finder Support"
3384 if test "$_macosx_finder_support" = auto ; then
3385 _macosx_finder_support=$_macosx
3387 if test "$_macosx_finder_support" = yes; then
3388 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3389 _macosx_finder_support=yes
3390 else
3391 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3392 _macosx_finder_support=no
3394 echores "$_macosx_finder_support"
3396 echocheck "Mac OS X Bundle file locations"
3397 if test "$_macosx_bundle" = auto ; then
3398 _macosx_bundle=$_macosx_finder_support
3400 if test "$_macosx_bundle" = yes; then
3401 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3402 else
3403 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3404 _macosx_bundle=no
3406 echores "$_macosx_bundle"
3408 echocheck "Samba support (libsmbclient)"
3409 if test "$_smbsupport" = yes; then
3410 _ld_smb="-lsmbclient"
3412 if test "$_smbsupport" = auto; then
3413 _smbsupport=no
3414 cat > $TMPC << EOF
3415 #include <libsmbclient.h>
3416 int main(void) { smbc_opendir("smb://"); return 0; }
3418 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3419 cc_check $_ld_tmp && _ld_smb="$_ld_tmp" && _smbsupport=yes && break
3420 done
3423 if test "$_smbsupport" = yes; then
3424 _def_smbsupport="#define LIBSMBCLIENT"
3425 _inputmodules="smb $_inputmodules"
3426 else
3427 _def_smbsupport="#undef LIBSMBCLIENT"
3428 _noinputmodules="smb $_noinputmodules"
3430 echores "$_smbsupport"
3433 #########
3434 # VIDEO #
3435 #########
3438 echocheck "3dfx"
3439 if test "$_3dfx" = yes ; then
3440 _def_3dfx='#define HAVE_3DFX 1'
3441 _vosrc="$_vosrc vo_3dfx.c"
3442 _vomodules="3dfx $_vomodules"
3443 else
3444 _def_3dfx='#undef HAVE_3DFX'
3445 _novomodules="3dfx $_novomodules"
3447 echores "$_3dfx"
3450 echocheck "tdfxfb"
3451 if test "$_tdfxfb" = yes ; then
3452 _def_tdfxfb='#define HAVE_TDFXFB 1'
3453 _vosrc="$_vosrc vo_tdfxfb.c"
3454 _vomodules="tdfxfb $_vomodules"
3455 else
3456 _def_tdfxfb='#undef HAVE_TDFXFB'
3457 _novomodules="tdfxfb $_novomodules"
3459 echores "$_tdfxfb"
3461 echocheck "tdfxvid"
3462 if test "$_tdfxvid" = yes ; then
3463 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3464 _vosrc="$_vosrc vo_tdfx_vid.c"
3465 _vomodules="tdfx_vid $_vomodules"
3466 else
3467 _def_tdfxvid='#undef HAVE_TDFX_VID'
3468 _novomodules="tdfx_vid $_novomodules"
3470 echores "$_tdfxfb"
3472 echocheck "tga"
3473 if test "$_tga" = yes ; then
3474 _def_tga='#define HAVE_TGA 1'
3475 _vosrc="$_vosrc vo_tga.c"
3476 _vomodules="tga $_vomodules"
3477 else
3478 _def_tga='#undef HAVE_TGA'
3479 _novomodules="tga $_novomodules"
3481 echores "$_tga"
3483 echocheck "DirectFB headers presence"
3484 if test -z "$_inc_directfb" ; then
3485 for I in /usr/include /usr/local/include $_inc_extra; do
3486 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3487 _inc_directfb="-I$I/directfb"
3488 echores "yes (using $_inc_directfb)"
3489 break
3491 if test -d "$I" && test -f "$I/directfb.h" ; then
3492 _inc_directfb="-I$I"
3493 echores "yes (using $_inc_directfb)"
3494 break
3496 done
3497 if test -z "$_inc_directfb" ; then
3498 _directfb=no
3499 echores "not found"
3501 else
3502 echores "yes (using $_inc_directfb)"
3504 if test "$_inc_directfb" = "-I/usr/include" ; then
3505 _inc_directfb=""
3508 echocheck "DirectFB"
3509 if test "$_directfb" = auto ; then
3510 _directfb=no
3511 cat > $TMPC <<EOF
3512 #include <directfb.h>
3513 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3515 linux && test -c /dev/fb0 && cc_check $_inc_directfb -ldirectfb && _directfb=yes
3518 if test "$_directfb" = yes; then
3519 cat > $TMPC << EOF
3520 #include <directfb_version.h>
3522 dfb_ver = DIRECTFB_MAJOR_VERSION DIRECTFB_MINOR_VERSION DIRECTFB_MICRO_VERSION
3525 if $_cc -E $TMPC $_inc_directfb > "$TMPO"; then
3526 _directfb_version=`sed -n 's/^dfb_ver[^1-9]*\(.*\)/\1/p' "$TMPO" | tr -d '() '`
3527 _def_directfb_version="#define DIRECTFBVERSION $_directfb_version"
3528 if test "$_directfb_version" -ge 913; then
3529 _res_comment="$_directfb_version"
3530 else
3531 _def_directfb_version='#undef DIRECTFBVERSION'
3532 _directfb=no
3533 _res_comment="version >=0.9.13 required"
3535 else
3536 _directfb=no
3537 _res_comment="failed to get version"
3540 echores "$_directfb"
3542 if test "$_directfb" = yes ; then
3543 _def_directfb='#define HAVE_DIRECTFB 1'
3544 if test "$_directfb_version" -ge 913; then
3545 _vosrc="$_vosrc vo_directfb2.c"
3546 _vomodules="directfb $_vomodules"
3547 _ld_directfb='-ldirectfb'
3550 if test "$_directfb_version" -ge 915; then
3551 _vosrc="$_vosrc vo_dfbmga.c"
3552 _vomodules="dfbmga $_vomodules"
3554 else
3555 _def_directfb='#undef HAVE_DIRECTFB'
3556 _novomodules="directfb $_novomodules"
3557 _inc_directfb=""
3561 echocheck "X11 headers presence"
3562 if test -z "$_inc_x11" ; then
3563 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
3564 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3565 _inc_x11="-I$I"
3566 echores "yes (using $I)"
3567 break
3569 done
3570 if test -z "$_inc_x11" ; then
3571 _x11=no
3572 echores "not found (check if the dev(el) packages are installed)"
3574 else
3575 echores "yes (using $_inc_x11)"
3577 if test "$_inc_x11" = "-I/usr/include" ; then
3578 _inc_x11=""
3582 echocheck "X11"
3583 if test "$_x11" != no ; then
3584 cat > $TMPC <<EOF
3585 #include <X11/Xlib.h>
3586 #include <X11/Xutil.h>
3587 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3589 if test -z "$_x11_paths" ; then
3590 _x11_paths="/usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 /usr/lib"
3592 for I in $_x11_paths ; do
3593 _ld_x11="-L$I -lXext -lX11 $_ld_sock $_ld_pthread"
3594 if netbsd; then
3595 _ld_x11="$_ld_x11 -Wl,-R$I"
3597 if test -d "$I" && cc_check $_inc_x11 $_ld_x11 ; then
3598 _x11=yes
3599 break
3601 done
3603 if test "$_x11" = yes ; then
3604 _def_x11='#define HAVE_X11 1'
3605 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3606 _vomodules="x11 xover $_vomodules"
3607 _res_comment="using $I"
3608 else
3609 _x11=no
3610 _def_x11='#undef HAVE_X11'
3611 _inc_x11=''
3612 _ld_x11=''
3613 _novomodules="x11 $_novomodules"
3614 _res_comment="check if the dev(el) packages are installed"
3616 echores "$_x11"
3619 echocheck "DPMS"
3620 _xdpms3=no
3621 _xdpms4=no
3622 if test "$_x11" = yes ; then
3623 cat > $TMPC <<EOF
3624 #include <X11/Xmd.h>
3625 #include <X11/Xlib.h>
3626 #include <X11/Xutil.h>
3627 #include <X11/Xatom.h>
3628 #include <X11/extensions/dpms.h>
3629 int main(void) {
3630 (void) DPMSQueryExtension(0, 0, 0);
3633 cc_check $_inc_x11 -lXdpms $_ld_x11 && _xdpms3=yes
3634 cat > $TMPC <<EOF
3635 #include <X11/Xlib.h>
3636 #include <X11/extensions/dpms.h>
3637 int main(void) {
3638 (void) DPMSQueryExtension(0, 0, 0);
3641 cc_check $_inc_x11 $_ld_x11 && _xdpms4=yes
3643 if test "$_xdpms4" = yes ; then
3644 _def_xdpms='#define HAVE_XDPMS 1'
3645 echores "yes (using Xdpms 4)"
3646 elif test "$_xdpms3" = yes ; then
3647 _def_xdpms='#define HAVE_XDPMS 1'
3648 _ld_x11="-lXdpms $_ld_x11"
3649 echores "yes (using Xdpms 3)"
3650 else
3651 _def_xdpms='#undef HAVE_XDPMS'
3652 echores "no"
3656 echocheck "Xv"
3657 if test "$_x11" = yes && test "$_xv" != no ; then
3658 cat > $TMPC <<EOF
3659 #include <X11/Xlib.h>
3660 #include <X11/extensions/Xvlib.h>
3661 int main(void) {
3662 (void) XvGetPortAttribute(0, 0, 0, 0);
3663 (void) XvQueryPortAttributes(0, 0, 0);
3664 return 0; }
3666 _xv=no
3667 cc_check $_inc_x11 -lXv $_ld_x11 && _xv=yes
3668 else
3669 _xv=no
3671 if test "$_xv" = yes ; then
3672 _def_xv='#define HAVE_XV 1'
3673 _ld_xv='-lXv'
3674 _vosrc="$_vosrc vo_xv.c"
3675 _vomodules="xv $_vomodules"
3676 else
3677 _def_xv='#undef HAVE_XV'
3678 _novomodules="xv $_novomodules"
3680 echores "$_xv"
3683 echocheck "XvMC"
3684 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no ; then
3685 _xvmc=no
3686 cat > $TMPC <<EOF
3687 #include <X11/Xlib.h>
3688 #include <X11/extensions/Xvlib.h>
3689 #include <X11/extensions/XvMClib.h>
3690 int main(void) {
3691 (void) XvMCQueryExtension(0,0,0);
3692 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3693 return 0; }
3695 cc_check $_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc=yes
3697 if test "$_xvmc" = yes ; then
3698 _def_xvmc='#define HAVE_XVMC 1'
3699 _ld_xvmc="-lXvMC -l$_xvmclib"
3700 _vosrc="$_vosrc vo_xvmc.c"
3701 _vomodules="xvmc $_vomodules"
3702 else
3703 _def_xvmc='#undef HAVE_XVMC'
3704 _novomodules="xvmc $_novomodules"
3706 echores "$_xvmc"
3709 echocheck "Xinerama"
3710 if test "$_x11" = yes && test "$_xinerama" != no ; then
3711 cat > $TMPC <<EOF
3712 #include <X11/Xlib.h>
3713 #include <X11/extensions/Xinerama.h>
3714 int main(void) { (void) XineramaIsActive(0); return 0; }
3716 _xinerama=no
3717 cc_check $_inc_x11 -lXinerama $_ld_x11 && _xinerama=yes
3718 else
3719 _xinerama=no
3721 if test "$_xinerama" = yes ; then
3722 _def_xinerama='#define HAVE_XINERAMA 1'
3723 _ld_xinerama='-lXinerama'
3724 else
3725 _def_xinerama='#undef HAVE_XINERAMA'
3727 echores "$_xinerama"
3730 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3731 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3732 # named 'X extensions' or something similar.
3733 # This check may be useful for future mplayer versions (to change resolution)
3734 # If you run into problems, remove '-lXxf86vm'.
3735 echocheck "Xxf86vm"
3736 if test "$_x11" = yes && test "$_vm" = auto ; then
3737 cat > $TMPC <<EOF
3738 #include <X11/Xlib.h>
3739 #include <X11/extensions/xf86vmode.h>
3740 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3742 _vm=no
3743 cc_check $_inc_x11 -lXxf86vm $_ld_x11 && _vm=yes
3745 if test "$_vm" = yes ; then
3746 _def_vm='#define HAVE_XF86VM 1'
3747 _ld_vm='-lXxf86vm'
3748 else
3749 _def_vm='#undef HAVE_XF86VM'
3751 echores "$_vm"
3753 # Check for the presence of special keycodes, like audio control buttons
3754 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3755 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3756 # have these new keycodes.
3757 echocheck "XF86keysym"
3758 if test "$_xf86keysym" = auto; then
3759 _xf86keysym=no
3760 if test "$_x11" = yes ; then
3761 cat > $TMPC <<EOF
3762 #include <X11/Xlib.h>
3763 #include <X11/XF86keysym.h>
3764 int main(void) { return XF86XK_AudioPause; }
3766 cc_check $_inc_x11 $_ld_x11 && _xf86keysym=yes
3769 if test "$_xf86keysym" = yes ; then
3770 _def_xf86keysym='#define HAVE_XF86XK 1'
3771 else
3772 _def_xf86keysym='#undef HAVE_XF86XK'
3774 echores "$_xf86keysym"
3776 echocheck "DGA"
3777 if test "$_x11" = no ; then
3778 _dga=no
3780 # Version 2 is preferred to version 1 if available
3781 if test "$_dga" = auto ; then
3782 cat > $TMPC << EOF
3783 #include <X11/Xlib.h>
3784 #include <X11/extensions/xf86dga.h>
3785 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3787 _dga=no
3788 cc_check $_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
3790 cat > $TMPC << EOF
3791 #include <X11/Xlib.h>
3792 #include <X11/extensions/xf86dga.h>
3793 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3795 cc_check $_inc_x11 -lXxf86dga $_ld_x11 && _dga=2
3798 _def_dga='#undef HAVE_DGA'
3799 _def_dga2='#undef HAVE_DGA2'
3800 if test "$_dga" = 1 ; then
3801 _def_dga='#define HAVE_DGA 1'
3802 _ld_dga='-lXxf86dga'
3803 _vosrc="$_vosrc vo_dga.c"
3804 _vomodules="dga $_vomodules"
3805 echores "yes (using DGA 1.0)"
3806 elif test "$_dga" = 2 ; then
3807 _def_dga='#define HAVE_DGA 1'
3808 _def_dga2='#define HAVE_DGA2 1'
3809 _ld_dga='-lXxf86dga'
3810 _vosrc="$_vosrc vo_dga.c"
3811 _vomodules="dga $_vomodules"
3812 echores "yes (using DGA 2.0)"
3813 elif test "$_dga" = no ; then
3814 echores "no"
3815 _novomodules="dga $_novomodules"
3816 else
3817 die "DGA version must be 1 or 2"
3821 echocheck "OpenGL"
3822 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3823 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
3824 cat > $TMPC << EOF
3825 #include <GL/gl.h>
3826 int main(void) { return 0; }
3828 _gl=no
3829 if cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3830 _gl=yes
3831 _ld_gl="-lGL $_ld_dl"
3832 elif cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3833 _gl=yes
3834 _ld_gl="-lGL $_ld_pthread $_ld_dl"
3835 elif cc_check -lopengl32 ; then
3836 _gl=yes
3837 _gl_win32=yes
3838 _ld_gl="-lopengl32 -lgdi32"
3840 else
3841 _gl=no
3843 if test "$_gl" = yes ; then
3844 _def_gl='#define HAVE_GL 1'
3845 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3846 if test "$_gl_win32" = yes ; then
3847 _def_gl_win32='#define GL_WIN32 1'
3848 _vosrc="$_vosrc w32_common.c"
3849 _res_comment="win32 version"
3851 _vomodules="opengl $_vomodules"
3852 else
3853 _def_gl='#undef HAVE_GL'
3854 _def_gl_win32='#undef GL_WIN32'
3855 _novomodules="opengl $_novomodules"
3857 echores "$_gl"
3860 echocheck "/dev/mga_vid"
3861 if test "$_mga" = auto ; then
3862 _mga=no
3863 test -c /dev/mga_vid && _mga=yes
3865 if test "$_mga" = yes ; then
3866 _def_mga='#define HAVE_MGA 1'
3867 _vosrc="$_vosrc vo_mga.c"
3868 _vomodules="mga $_vomodules"
3869 else
3870 _def_mga='#undef HAVE_MGA'
3871 _novomodules="mga $_novomodules"
3873 echores "$_mga"
3876 # echocheck "syncfb"
3877 # _syncfb=no
3878 # test "$_mga" = yes && _syncfb=yes
3879 # if test "$_syncfb" = yes ; then
3880 # _def_syncfb='#define HAVE_SYNCFB 1'
3881 # _vosrc="$_vosrc vo_syncfb.c"
3882 # else
3883 # _def_syncfb='#undef HAVE_SYNCFB'
3884 # fi
3885 # echores "$_syncfb"
3888 echocheck "xmga"
3889 if test "$_xmga" = auto ; then
3890 _xmga=no
3891 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
3893 if test "$_xmga" = yes ; then
3894 _def_xmga='#define HAVE_XMGA 1'
3895 _vosrc="$_vosrc vo_xmga.c"
3896 _vomodules="xmga $_vomodules"
3897 else
3898 _def_xmga='#undef HAVE_XMGA'
3899 _novomodules="xmga $_novomodules"
3901 echores "$_xmga"
3904 echocheck "GGI"
3905 if test "$_ggi" = auto ; then
3906 cat > $TMPC << EOF
3907 #include <ggi/ggi.h>
3908 int main(void) { return 0; }
3910 _ggi=no
3911 cc_check -lggi && _ggi=yes
3913 if test "$_ggi" = yes ; then
3914 _def_ggi='#define HAVE_GGI 1'
3915 _ld_ggi='-lggi'
3916 _vosrc="$_vosrc vo_ggi.c"
3917 _vomodules="ggi $_vomodules"
3918 else
3919 _def_ggi='#undef HAVE_GGI'
3920 _novomodules="ggi $_novomodules"
3922 echores "$_ggi"
3924 echocheck "GGI extension: libggiwmh"
3925 if test "$_ggiwmh" = auto ; then
3926 _ggiwmh=no
3927 cat > $TMPC << EOF
3928 #include <ggi/ggi.h>
3929 #include <ggi/wmh.h>
3930 int main(void) { return 0; }
3932 cc_check -lggi -lggiwmh && _ggiwmh=yes
3934 # needed to get right output on obscure combination
3935 # like --disable-ggi --enable-ggiwmh
3936 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
3937 _def_ggiwmh='#define HAVE_GGIWMH 1'
3938 _ld_ggi="$_ld_ggi -lggiwmh"
3939 else
3940 _ggiwmh=no
3941 _def_ggiwmh='#undef HAVE_GGIWMH'
3943 echores "$_ggiwmh"
3946 echocheck "AA"
3947 if test "$_aa" = auto ; then
3948 cat > $TMPC << EOF
3949 #include <aalib.h>
3950 extern struct aa_hardware_params aa_defparams;
3951 extern struct aa_renderparams aa_defrenderparams;
3952 int main(void) {
3953 aa_context *c;
3954 aa_renderparams *p;
3955 (void) aa_init(0, 0, 0);
3956 c = aa_autoinit(&aa_defparams);
3957 p = aa_getrenderparams();
3958 aa_autoinitkbd(c,0);
3959 return 0; }
3961 _aa=no
3962 for _ld_tmp in "-laa" "$_ld_x11 -laa" ; do
3963 cc_check $_ld_tmp && _ld_aa=$_ld_tmp && _aa=yes && break
3964 done
3966 if test "$_aa" = yes ; then
3967 _def_aa='#define HAVE_AA 1'
3968 if cygwin ; then
3969 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
3971 _vosrc="$_vosrc vo_aa.c"
3972 _vomodules="aa $_vomodules"
3973 else
3974 _def_aa='#undef HAVE_AA'
3975 _novomodules="aa $_novomodules"
3977 echores "$_aa"
3980 echocheck "CACA"
3981 if test "$_caca" = auto ; then
3982 _caca=no
3983 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
3984 cat > $TMPC << EOF
3985 #include <caca.h>
3986 int main(void) { (void) caca_init(); return 0; }
3988 cc_check `caca-config --libs` && _caca=yes
3991 if test "$_caca" = yes ; then
3992 _def_caca='#define HAVE_CACA 1'
3993 _inc_caca=`caca-config --cflags`
3994 _ld_caca=`caca-config --libs`
3995 _vosrc="$_vosrc vo_caca.c"
3996 _vomodules="caca $_vomodules"
3997 else
3998 _def_caca='#undef HAVE_CACA'
3999 _novomodules="caca $_novomodules"
4001 echores "$_caca"
4004 echocheck "SVGAlib"
4005 if test "$_svga" = auto ; then
4006 cat > $TMPC << EOF
4007 #include <vga.h>
4008 int main(void) { return 0; }
4010 _svga=no
4011 cc_check -lvga $_ld_lm && _svga=yes
4013 if test "$_svga" = yes ; then
4014 _def_svga='#define HAVE_SVGALIB 1'
4015 _ld_svga="-lvga"
4016 _vosrc="$_vosrc vo_svga.c"
4017 _vomodules="svga $_vomodules"
4018 else
4019 _def_svga='#undef HAVE_SVGALIB'
4020 _novomodules="svga $_novomodules"
4022 echores "$_svga"
4025 echocheck "FBDev"
4026 if test "$_fbdev" = auto ; then
4027 _fbdev=no
4028 linux && test -c /dev/fb0 && _fbdev=yes
4030 if test "$_fbdev" = yes ; then
4031 _def_fbdev='#define HAVE_FBDEV 1'
4032 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4033 _vomodules="fbdev $_vomodules"
4034 else
4035 _def_fbdev='#undef HAVE_FBDEV'
4036 _novomodules="fbdev $_novomodules"
4038 echores "$_fbdev"
4042 echocheck "DVB"
4043 if test "$_dvb" != no ; then
4044 _dvb=no
4045 cat >$TMPC << EOF
4046 #include <sys/poll.h>
4047 #include <sys/ioctl.h>
4048 #include <stdio.h>
4049 #include <time.h>
4050 #include <unistd.h>
4052 #include <ost/dmx.h>
4053 #include <ost/frontend.h>
4054 #include <ost/sec.h>
4055 #include <ost/video.h>
4056 #include <ost/audio.h>
4057 int main(void) {return 0;}
4059 if cc_check ; then
4060 _dvb=yes
4061 else
4062 for I in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
4063 if cc_check "$I" ; then
4064 _dvb=yes
4065 _inc_dvb="$I"
4066 _res_comment="using $_inc_dvb"
4067 break
4069 done
4070 test "$_dvb" = no && _res_comment="specify path to DVB/ost/include with --with-dvbincdir=DIR"
4073 echores "$_dvb"
4074 if test "$_dvb" = yes ; then
4075 _def_dvb='#define HAVE_DVB 1'
4076 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4077 _aomodules="mpegpes(dvb) $_aomodules"
4078 _vomodules="mpegpes(dvb) $_vomodules"
4080 if test "$_dvbhead" != no ; then
4081 echocheck "DVB HEAD"
4082 if test "$_dvbhead" != no ; then
4083 _dvbhead=no
4085 cat >$TMPC << EOF
4086 #include <sys/poll.h>
4087 #include <sys/ioctl.h>
4088 #include <stdio.h>
4089 #include <time.h>
4090 #include <unistd.h>
4092 #include <linux/dvb/dmx.h>
4093 #include <linux/dvb/frontend.h>
4094 #include <linux/dvb/video.h>
4095 #include <linux/dvb/audio.h>
4096 int main(void) {return 0;}
4098 if cc_check ; then
4099 _dvbhead=yes
4100 else
4101 for I in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
4102 if cc_check "$I" ; then
4103 _dvbhead=yes
4104 _inc_dvb="$I"
4105 _res_comment="using $_inc_dvb"
4106 break
4108 done
4109 test "$_dvbhead" = no && _res_comment="specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR"
4112 echores "$_dvbhead"
4113 if test "$_dvbhead" = yes ; then
4114 _def_dvb='#define HAVE_DVB_HEAD 1'
4115 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4116 _aomodules="mpegpes(dvb) $_aomodules"
4117 _vomodules="mpegpes(dvb) $_vomodules"
4120 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4121 _def_dvb='#undef HAVE_DVB'
4122 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4123 _aomodules="mpegpes(file) $_aomodules"
4124 _vomodules="mpegpes(file) $_vomodules"
4127 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4128 _dvbin=yes
4129 _inputmodules="dvb $_inputmodules"
4130 else
4131 _dvbin=no
4132 _noinputmodules="dvb $_noinputmodules"
4135 echocheck "PNG support"
4136 if test "$_png" = auto ; then
4137 _png=no
4138 if irix ; then
4139 # Don't check for -lpng on irix since it has its own libpng
4140 # incompatible with the GNU libpng
4141 _res_comment="disabled on irix (not GNU libpng)"
4142 else
4143 cat > $TMPC << EOF
4144 #include <png.h>
4145 #include <string.h>
4146 int main(void) {
4147 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4148 printf("libpng: %s\n", png_libpng_ver);
4149 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4152 if cc_check -lpng -lz $_ld_lm ; then
4153 if tmp_run ; then
4154 _png=yes
4155 else
4156 _res_comment="mismatch of library and header versions"
4161 echores "$_png"
4162 if test "$_png" = yes ; then
4163 _def_png='#define HAVE_PNG 1'
4164 _ld_png='-lpng -lz'
4165 _vosrc="$_vosrc vo_png.c"
4166 _vomodules="png $_vomodules"
4167 _mkf_png="yes"
4168 else
4169 _def_png='#undef HAVE_PNG'
4170 _novomodules="png $_novomodules"
4171 _mkf_png="no"
4174 echocheck "JPEG support"
4175 if test "$_jpg" = auto ; then
4176 _jpg=no
4177 cat > $TMPC << EOF
4178 #include <stdio.h>
4179 #include <stdlib.h>
4180 #include <setjmp.h>
4181 #include <string.h>
4182 #include <jpeglib.h>
4183 int main(void) {
4184 return 0;
4187 if cc_check -ljpeg $_ld_lm ; then
4188 if tmp_run ; then
4189 _jpg=yes
4193 echores "$_jpg"
4195 if test "$_jpg" = yes ; then
4196 _def_jpg='#define HAVE_JPEG 1'
4197 _vosrc="$_vosrc vo_jpeg.c"
4198 _vomodules="jpeg $_vomodules"
4199 _ld_jpg="-ljpeg"
4200 _mkf_jpg="yes"
4201 else
4202 _def_jpg='#undef HAVE_JPEG'
4203 _novomodules="jpeg $_novomodules"
4204 _mkf_jpg="no"
4209 echocheck "PNM support"
4210 if test "$_pnm" = yes; then
4211 _def_pnm="#define HAVE_PNM"
4212 _vosrc="$_vosrc vo_pnm.c"
4213 _vomodules="pnm $_vomodules"
4214 else
4215 _def_pnm="#undef HAVE_PNM"
4216 _novomodules="pnm $_novomodules"
4218 echores "$_pnm"
4222 echocheck "md5sum support"
4223 if test "$_md5sum" = yes; then
4224 _def_md5sum="#define HAVE_MD5SUM"
4225 _vosrc="$_vosrc vo_md5sum.c md5sum.c"
4226 _vomodules="md5sum $_vomodules"
4227 else
4228 _def_md5sum="#undef HAVE_MD5SUM"
4229 _novomodules="md5sum $_novomodules"
4231 echores "$_md5sum"
4235 echocheck "GIF support"
4236 # This is to appease people who want to force gif support.
4237 # If it is forced to yes, then we still do checks to determine
4238 # which gif library to use.
4239 if test "$_gif" = yes ; then
4240 _force_gif=yes
4241 _gif=auto
4244 if test "$_gif" = auto ; then
4245 _gif=no
4246 cat > $TMPC << EOF
4247 #include <gif_lib.h>
4248 int main(void) {
4249 return 0;
4252 for _ld_tmp in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4253 cc_check $_ld_tmp && tmp_run && _ld_gif="$_ld_tmp" && _gif=yes && break
4254 done
4257 # If no library was found, and the user wants support forced,
4258 # then we force it on with libgif, as this is the safest
4259 # assumption IMHO. (libungif & libregif both create symbolic
4260 # links to libgif. We also assume that no x11 support is needed,
4261 # because if you are forcing this, then you _should_ know what
4262 # you are doing. [ Besides, package maintainers should never
4263 # have compiled x11 deps into libungif in the first place. ] )
4264 # </rant>
4265 # --Joey
4266 if test "$_force_gif" = yes && test "$_gif" = no ; then
4267 _gif=yes
4268 _ld_gif="-lgif"
4271 if test "$_gif" = yes ; then
4272 _def_gif='#define HAVE_GIF 1'
4273 _vosrc="$_vosrc vo_gif89a.c"
4274 _codecmodules="gif $_codecmodules"
4275 _vomodules="gif89a $_vomodules"
4276 _mkf_gif="yes"
4277 _gif="yes (old version, some encoding functions disabled)"
4278 _def_gif_4='#undef HAVE_GIF_4'
4280 cat > $TMPC << EOF
4281 #include <signal.h>
4282 #include <gif_lib.h>
4283 void catch() { exit(1); }
4284 int main(void) {
4285 signal(SIGSEGV, catch); // catch segfault
4286 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4287 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4288 return 0;
4291 if cc_check "$_ld_gif" && tmp_run ; then
4292 _def_gif_4='#define HAVE_GIF_4 1'
4293 _gif="yes"
4295 else
4296 _def_gif='#undef HAVE_GIF'
4297 _def_gif_4='#undef HAVE_GIF_4'
4298 _novomodules="gif89a $_novomodules"
4299 _nocodecmodules="gif $_nocodecmodules"
4300 _mkf_gif="no"
4302 echores "$_gif"
4305 case "$_gif" in yes*)
4306 echocheck "broken giflib workaround"
4307 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4309 cat > $TMPC << EOF
4310 #include <gif_lib.h>
4311 int main(void) {
4312 GifFileType gif;
4313 printf("UserData is at address %p\n", gif.UserData);
4314 return 0;
4317 if cc_check "$_ld_gif" && tmp_run ; then
4318 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4319 echores "disabled"
4320 else
4321 echores "enabled"
4324 esac
4327 echocheck "VESA support"
4328 if test "$_vesa" = auto ; then
4329 cat > $TMPC << EOF
4330 #include <vbe.h>
4331 int main(void) { vbeVersion(); return 0; }
4333 _vesa=no
4334 cc_check -lvbe -llrmi && _vesa=yes
4336 if test "$_vesa" = yes ; then
4337 _def_vesa='#define HAVE_VESA 1'
4338 _ld_vesa="-lvbe -llrmi"
4339 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4340 _vomodules="vesa $_vomodules"
4341 else
4342 _def_vesa='#undef HAVE_VESA'
4343 _novomodules="vesa $_novomodules"
4345 echores "$_vesa"
4347 #################
4348 # VIDEO + AUDIO #
4349 #################
4352 echocheck "SDL"
4353 if test -z "$_sdlconfig" ; then
4354 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4355 _sdlconfig="sdl-config"
4356 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4357 _sdlconfig="sdl11-config"
4358 else
4359 _sdlconfig=false
4362 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4363 cat > $TMPC << EOF
4364 #include <SDL.h>
4365 int main(int argc, char *argv[]) { return 0; }
4367 _sdl=no
4368 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4369 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4370 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4371 if test "$_sdlversion" -gt 116 ; then
4372 if test "$_sdlversion" -lt 121 ; then
4373 _def_sdlbuggy='#define BUGGY_SDL'
4374 else
4375 _def_sdlbuggy='#undef BUGGY_SDL'
4377 _sdl=yes
4378 else
4379 _res_comment=outdated
4384 if test "$_sdl" = yes ; then
4385 _def_sdl='#define HAVE_SDL 1'
4386 if cygwin ; then
4387 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4388 _inc_sdl=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4389 elif mingw32 ; then
4390 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
4391 _inc_sdl=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4392 else
4393 _ld_sdl=`$_sdlconfig --libs`
4394 _inc_sdl=`$_sdlconfig --cflags`
4396 _vosrc="$_vosrc vo_sdl.c"
4397 _vomodules="sdl $_vomodules"
4398 _aosrc="$_aosrc ao_sdl.c"
4399 _aomodules="sdl $_aomodules"
4400 _res_comment="using $_sdlconfig"
4401 else
4402 _def_sdl='#undef HAVE_SDL'
4403 _novomodules="sdl $_novomodules"
4404 _noaomodules="sdl $_noaomodules"
4406 echores "$_sdl"
4408 echocheck "Windows waveout"
4409 if test "$_win32waveout" = auto ; then
4410 cat > $TMPC << EOF
4411 #include <windows.h>
4412 #include <mmsystem.h>
4413 int main(void) { return 0; }
4415 _win32waveout=no
4416 cc_check -lwinmm && _win32waveout=yes
4418 if test "$_win32waveout" = yes ; then
4419 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4420 _ld_win32libs="-lwinmm $_ld_win32libs"
4421 _aosrc="$_aosrc ao_win32.c"
4422 _aomodules="win32 $_aomodules"
4423 else
4424 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4425 _noaomodules="win32 $_noaomodules"
4427 echores "$_win32waveout"
4429 echocheck "Directx"
4430 if test "$_directx" = auto ; then
4431 cat > $TMPC << EOF
4432 #include <windows.h>
4433 #include <ddraw.h>
4434 #include <dsound.h>
4435 int main(void) { return 0; }
4437 _directx=no
4438 cc_check -lgdi32 && _directx=yes
4440 if test "$_directx" = yes ; then
4441 _def_directx='#define HAVE_DIRECTX 1'
4442 _ld_win32libs="-lgdi32 $_ld_win32libs"
4443 _vosrc="$_vosrc vo_directx.c"
4444 _vomodules="directx $_vomodules"
4445 _aosrc="$_aosrc ao_dsound.c"
4446 _aomodules="dsound $_aomodules"
4447 else
4448 _def_directx='#undef HAVE_DIRECTX'
4449 _novomodules="directx $_novomodules"
4450 _noaomodules="dsound $_noaomodules"
4452 echores "$_directx"
4454 echocheck "NAS"
4455 if test "$_nas" = auto ; then
4456 cat > $TMPC << EOF
4457 #include <audio/audiolib.h>
4458 int main(void) { return 0; }
4460 _nas=no
4461 cc_check -laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas=yes
4463 if test "$_nas" = yes ; then
4464 _def_nas='#define HAVE_NAS 1'
4465 _ld_nas="-laudio -lXt $_ld_x11"
4466 _aosrc="$_aosrc ao_nas.c"
4467 _aomodules="nas $_aomodules"
4468 else
4469 _noaomodules="nas $_noaomodules"
4470 _def_nas='#undef HAVE_NAS'
4472 echores "$_nas"
4474 echocheck "DXR2"
4475 if test "$_dxr2" = auto; then
4476 _dxr2=no
4477 cat > $TMPC << EOF
4478 #include <dxr2ioctl.h>
4479 int main(void) { return 0; }
4481 for _inc_dxr2 in "$_inc_dxr2" \
4482 "-I/usr/local/include/dxr2" \
4483 "-I/usr/include/dxr2"; do
4484 cc_check $_inc_dxr2 && _dxr2=yes && break
4485 done
4487 if test "$_dxr2" = yes; then
4488 _def_dxr2='#define HAVE_DXR2 1'
4489 _vosrc="$_vosrc vo_dxr2.c"
4490 _aosrc="$_aosrc ao_dxr2.c"
4491 _aomodules="dxr2 $_aomodules"
4492 _vomodules="dxr2 $_vomodules"
4493 _res_comment="using $_inc_dxr2"
4494 else
4495 _def_dxr2='#undef HAVE_DXR2'
4496 _noaomodules="dxr2 $_noaomodules"
4497 _novomodules="dxr2 $_novomodules"
4498 _inc_dxr2=""
4500 echores "$_dxr2"
4502 echocheck "DXR3/H+"
4503 if test "$_dxr3" = auto ; then
4504 cat > $TMPC << EOF
4505 #include <linux/em8300.h>
4506 int main(void) { return 0; }
4508 _dxr3=no
4509 cc_check && _dxr3=yes
4511 if test "$_dxr3" = yes ; then
4512 _def_dxr3='#define HAVE_DXR3 1'
4513 _vosrc="$_vosrc vo_dxr3.c"
4514 _vomodules="dxr3 $_vomodules"
4515 else
4516 _def_dxr3='#undef HAVE_DXR3'
4517 _novomodules="dxr3 $_novomodules"
4518 if test "$_mp1e" = auto ; then
4519 # we don't need mp1e
4520 _mp1e=no
4523 echores "$_dxr3"
4525 echocheck "libmp1e"
4526 if test "$_mmx" = no ; then
4527 # mp1e REQUIRES mmx!
4528 _mp1e=no
4530 if test "$_mp1e" != no ; then
4531 _mp1e=yes
4532 _def_mp1e='#define USE_MP1E'
4533 _ld_mp1e='libmp1e/libmp1e.a'
4534 _dep_mp1e='libmp1e/libmp1e.a'
4535 else
4536 _mp1e=no
4537 _def_mp1e='#undef USE_MP1E'
4538 _ld_mp1e=""
4539 _dep_mp1e=''
4541 echores "$_mp1e"
4544 echocheck "libfame"
4545 if test "$_fame" = auto ; then
4546 _fame=no
4547 test "$_dxr2" = yes && _fame=auto
4548 test "$_dxr3" = yes && _fame=auto
4549 test "$_dvb" = yes && _fame=auto
4551 if test "$_fame" = auto ; then
4552 _fame=no
4553 if test -d libfame && test -f libfame/fame.h ; then
4554 # disable fame on cygwin as no sense to port - atmos
4555 cygwin || _fame=yes
4556 else
4557 _res_comment="no fame dir"
4560 echores "$_fame"
4562 _def_fame='#undef USE_LIBFAME'
4563 if test "$_fame" = yes ; then
4564 _def_fame='#define USE_LIBFAME 1'
4565 _ld_fame='libfame/libfame.a'
4569 #########
4570 # AUDIO #
4571 #########
4574 echocheck "OSS Audio"
4575 if test "$_ossaudio" = auto ; then
4576 cat > $TMPC << EOF
4577 #include <sys/ioctl.h>
4578 $_inc_soundcard
4579 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4581 _ossaudio=no
4582 cc_check && _ossaudio=yes
4584 if test "$_ossaudio" = yes ; then
4585 _def_ossaudio='#define USE_OSS_AUDIO 1'
4586 _aosrc="$_aosrc ao_oss.c"
4587 _aomodules="oss $_aomodules"
4588 if test "$_linux_devfs" = yes; then
4589 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4590 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4591 else
4592 cat > $TMPC << EOF
4593 #include <sys/ioctl.h>
4594 $_inc_soundcard
4595 #ifdef OPEN_SOUND_SYSTEM
4596 int main(void) { return 0; }
4597 #else
4598 #error Not the real thing
4599 #endif
4601 _real_ossaudio=no
4602 cc_check && _real_ossaudio=yes
4603 if test "$_real_ossaudio" = yes; then
4604 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4605 elif netbsd || openbsd ; then
4606 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4607 _ld_arch="$_ld_arch -lossaudio"
4608 else
4609 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4611 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4613 else
4614 _def_ossaudio='#undef USE_OSS_AUDIO'
4615 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4616 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4617 _noaomodules="oss $_noaomodules"
4619 echores "$_ossaudio"
4622 echocheck "aRts"
4623 if test "$_arts" = auto ; then
4624 _arts=no
4625 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4627 cat > $TMPC << EOF
4628 #include <artsc.h>
4629 int main(void) { return 0; }
4631 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
4636 if test "$_arts" = yes ; then
4637 _def_arts='#define USE_ARTS 1'
4638 _aosrc="$_aosrc ao_arts.c"
4639 _aomodules="arts $_aomodules"
4640 _ld_arts=`artsc-config --libs`
4641 _inc_arts=`artsc-config --cflags`
4642 else
4643 _noaomodules="arts $_noaomodules"
4645 echores "$_arts"
4648 echocheck "EsounD"
4649 if test "$_esd" = auto ; then
4650 _esd=no
4651 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4653 cat > $TMPC << EOF
4654 #include <esd.h>
4655 int main(void) { return 0; }
4657 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4661 echores "$_esd"
4663 if test "$_esd" = yes ; then
4664 _def_esd='#define USE_ESD 1'
4665 _aosrc="$_aosrc ao_esd.c"
4666 _aomodules="esd $_aomodules"
4667 _ld_esd=`esd-config --libs`
4668 _inc_esd=`esd-config --cflags`
4670 echocheck "esd_get_latency()"
4671 cat > $TMPC << EOF
4672 #include <esd.h>
4673 int main(void) { return esd_get_latency(0); }
4675 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4676 echores "$_esd_latency"
4677 else
4678 _def_esd='#undef USE_ESD'
4679 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4680 _noaomodules="esd $_noaomodules"
4683 echocheck "Polyp"
4684 if test "$_polyp" = auto ; then
4685 _polyp=no
4686 if ( pkg-config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4688 cat > $TMPC << EOF
4689 #include <polyp/polyplib.h>
4690 #include <polyp/mainloop.h>
4691 #include <polyp/polyplib-error.h>
4692 int main(void) { return 0; }
4694 cc_check `pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run && _polyp=yes
4698 echores "$_polyp"
4700 if test "$_polyp" = yes ; then
4701 _def_polyp='#define USE_POLYP 1'
4702 _aosrc="$_aosrc ao_polyp.c"
4703 _aomodules="polyp $_aomodules"
4704 _ld_polyp=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4705 _inc_polyp=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4706 else
4707 _def_polyp='#undef USE_POLYP'
4708 _noaomodules="polyp $_noaomodules"
4712 echocheck "JACK"
4713 if test "$_jack" = auto ; then
4714 _jack=yes
4716 cat > $TMPC << EOF
4717 #include <jack/jack.h>
4718 int main(void) { jack_client_new("test"); return 0; }
4720 if cc_check -ljack ; then
4721 _ld_jack="-ljack"
4722 elif cc_check `pkg-config --libs --cflags --silence-errors jack` ; then
4723 _ld_jack="`pkg-config --libs jack`"
4724 _inc_jack="`pkg-config --cflags jack`"
4725 else
4726 _jack=no
4730 if test "$_jack" = yes ; then
4731 _def_jack='#define USE_JACK 1'
4732 _aosrc="$_aosrc ao_jack.c"
4733 _aomodules="jack $_aomodules"
4734 else
4735 _noaomodules="jack $_noaomodules"
4737 echores "$_jack"
4740 echocheck "ALSA audio"
4741 if test "$_alsa" != no ; then
4742 _alsa=no
4743 cat > $TMPC << EOF
4744 #include <sys/asoundlib.h>
4745 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4746 #error "alsa version != 0.5.x"
4747 #endif
4748 int main(void) { return 0; }
4750 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
4752 cat > $TMPC << EOF
4753 #include <sys/asoundlib.h>
4754 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4755 #error "alsa version != 0.9.x"
4756 #endif
4757 int main(void) { return 0; }
4759 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
4760 cat > $TMPC << EOF
4761 #include <alsa/asoundlib.h>
4762 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4763 #error "alsa version != 0.9.x"
4764 #endif
4765 int main(void) { return 0; }
4767 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
4769 cat > $TMPC << EOF
4770 #include <sys/asoundlib.h>
4771 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4772 #error "alsa version != 1.0.x"
4773 #endif
4774 int main(void) { return 0; }
4776 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
4777 cat > $TMPC << EOF
4778 #include <alsa/asoundlib.h>
4779 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4780 #error "alsa version != 1.0.x"
4781 #endif
4782 int main(void) { return 0; }
4784 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
4786 _def_alsa5='#undef HAVE_ALSA5'
4787 _def_alsa9='#undef HAVE_ALSA9'
4788 _def_alsa1x='#undef HAVE_ALSA1X'
4789 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
4790 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
4791 if test "$_alsaver" ; then
4792 _alsa=yes
4793 if test "$_alsaver" = '0.5.x' ; then
4794 _aosrc="$_aosrc ao_alsa5.c"
4795 _aomodules="alsa5 $_aomodules"
4796 _def_alsa5='#define HAVE_ALSA5 1'
4797 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4798 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
4799 elif test "$_alsaver" = '0.9.x-sys' ; then
4800 _aosrc="$_aosrc ao_alsa.c"
4801 _aomodules="alsa $_aomodules"
4802 _def_alsa9='#define HAVE_ALSA9 1'
4803 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4804 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
4805 elif test "$_alsaver" = '0.9.x-alsa' ; then
4806 _aosrc="$_aosrc ao_alsa.c"
4807 _aomodules="alsa $_aomodules"
4808 _def_alsa9='#define HAVE_ALSA9 1'
4809 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4810 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
4811 elif test "$_alsaver" = '1.0.x-sys' ; then
4812 _aosrc="$_aosrc ao_alsa.c"
4813 _aomodules="alsa $_aomodules"
4814 _def_alsa1x="#define HAVE_ALSA1X 1"
4815 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4816 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
4817 elif test "$_alsaver" = '1.0.x-alsa' ; then
4818 _aosrc="$_aosrc ao_alsa.c"
4819 _aomodules="alsa $_aomodules"
4820 _def_alsa1x="#define HAVE_ALSA1X 1"
4821 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4822 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
4823 else
4824 _alsa=no
4825 _res_comment="unknown version"
4827 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
4828 else
4829 _noaomodules="alsa $_noaomodules"
4831 echores "$_alsa"
4834 echocheck "Sun audio"
4835 if test "$_sunaudio" = auto ; then
4836 cat > $TMPC << EOF
4837 #include <sys/types.h>
4838 #include <sys/audioio.h>
4839 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4841 _sunaudio=no
4842 cc_check && _sunaudio=yes
4844 if test "$_sunaudio" = yes ; then
4845 _def_sunaudio='#define USE_SUN_AUDIO 1'
4846 _aosrc="$_aosrc ao_sun.c"
4847 _aomodules="sun $_aomodules"
4848 else
4849 _def_sunaudio='#undef USE_SUN_AUDIO'
4850 _noaomodules="sun $_noaomodules"
4852 echores "$_sunaudio"
4855 echocheck "Sun mediaLib"
4856 if test "$_mlib" = auto ; then
4857 _mlib=no
4858 test -z "$_mlibdir" && _mlibdir=/opt/SUNWmlib
4859 cat > $TMPC << EOF
4860 #include <mlib.h>
4861 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4863 cc_check -I${_mlibdir}/include -L${_mlibdir}/lib -lmlib && _mlib=yes
4865 if test "$_mlib" = yes ; then
4866 _def_mlib='#define HAVE_MLIB 1'
4867 _inc_mlib=" -I${_mlibdir}/include "
4868 _ld_mlib=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4869 else
4870 _def_mlib='#undef HAVE_MLIB'
4872 echores "$_mlib"
4875 echocheck "SGI audio"
4876 if test "$_sgiaudio" = auto ; then
4877 # check for SGI audio
4878 cat > $TMPC << EOF
4879 #include <dmedia/audio.h>
4880 int main(void) { return 0; }
4882 _sgiaudio=no
4883 cc_check && _sgiaudio=yes
4885 if test "$_sgiaudio" = "yes" ; then
4886 _def_sgiaudio='#define USE_SGI_AUDIO 1'
4887 _ld_sgiaudio='-laudio'
4888 _aosrc="$_aosrc ao_sgi.c"
4889 _aomodules="sgi $_aomodules"
4890 else
4891 _def_sgiaudio='#undef USE_SGI_AUDIO'
4892 _noaomodules="sgi $_noaomodules"
4894 echores "$_sgiaudio"
4897 echocheck "VCD support"
4898 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
4899 _inputmodules="vcd $_inputmodules"
4900 _def_vcd='#define HAVE_VCD 1'
4901 echores "ok"
4902 else
4903 _def_vcd='#undef HAVE_VCD'
4904 _noinputmodules="vcd $_noinputmodules"
4905 echores "not supported on this OS"
4908 echocheck "DVD support (libmpdvdkit)"
4909 if test "$_dvdkit" = auto ; then
4910 _dvdkit=no
4911 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux; then
4912 test -f "./libmpdvdkit2/Makefile" && _dvdkit=yes
4913 test -f "./libmpdvdkit/Makefile" && _dvdkit=yes
4916 if test "$_dvdkit" = yes ; then
4917 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
4918 if test -f "./libmpdvdkit2/Makefile" ; then
4919 _inputmodules="mpdvdkit2 $_inputmodules"
4920 _dvdread=libmpdvdkit2
4921 _dvdkit2=yes
4922 _dvdkit=no
4923 else
4924 _inputmodules="mpdvdkit $_inputmodules"
4925 _dvdread=libmpdvdkit
4927 else
4928 _noinputmodules="mpdvdkit $_noinputmodules"
4930 _def_dvd_linux='#undef HAVE_LINUX_DVD_STRUCT'
4931 _def_dvd_bsd='#undef HAVE_BSD_DVD_STRUCT'
4932 _dev_dvd_openbsd='#undef HAVE_OPENBSD_DVD_STRUCT'
4933 _def_dvd_darwin='#undef DARWIN_DVD_IOCTL'
4934 if linux || netbsd || openbsd || bsdos ; then
4935 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
4936 if openbsd ; then
4937 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
4939 else
4940 if freebsd ; then
4941 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
4942 else
4943 if darwin ; then
4944 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
4948 else
4949 _noinputmodules="mpdvdkit $_noinputmodules"
4951 if test "$_dvdkit" = yes || test "$_dvdkit2" = yes; then
4952 _have_dvd=yes
4953 echores "yes"
4954 else
4955 echores "no"
4958 echocheck "DVD support (libdvdread)"
4959 if test "$_dvdread" = auto ; then
4960 cat > $TMPC << EOF
4961 #include <inttypes.h>
4962 #include <dvdread/dvd_reader.h>
4963 #include <dvdread/ifo_types.h>
4964 #include <dvdread/ifo_read.h>
4965 #include <dvdread/nav_read.h>
4966 int main(void) { return 0; }
4968 _dvdread=no
4969 if test "$_dl" = yes; then
4970 cc_check \
4971 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4972 _dvdread=yes
4975 _def_mpdvdkit="#undef USE_MPDVDKIT"
4976 case "$_dvdread" in
4977 yes)
4978 _largefiles=yes
4979 _def_dvdread='#define USE_DVDREAD 1'
4980 _ld_dvdread='-ldvdread'
4981 _inputmodules="dvdread $_inputmodules"
4982 _have_dvd=yes
4983 echores "yes"
4986 _def_dvdread='#undef USE_DVDREAD'
4987 _noinputmodules="dvdread $_noinputmodules"
4988 echores "no"
4990 libmpdvdkit)
4991 _largefiles=yes
4992 _def_dvdread='#define USE_DVDREAD 1'
4993 _ld_dvdread='-Llibmpdvdkit -lmpdvdkit'
4994 _noinputmodules="dvdread $_noinputmodules"
4995 _def_mpdvdkit="#define USE_MPDVDKIT 1"
4996 _have_dvd=yes
4997 echores "disabled by libmpdvdkit"
4999 libmpdvdkit2)
5000 _largefiles=yes
5001 _def_dvdread='#define USE_DVDREAD 1'
5002 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
5003 _noinputmodules="dvdread $_noinputmodules"
5004 _def_mpdvdkit="#define USE_MPDVDKIT 2"
5005 _have_dvd=yes
5006 echores "disabled by libmpdvdkit2"
5008 esac
5010 if test "$_have_dvd" = yes ; then
5011 _def_have_dvd='#define HAVE_DVD 1'
5012 else
5013 _def_have_dvd='#undef HAVE_DVD'
5016 # dvdnav disabled, it does not work
5017 # echocheck "DVD support (libdvdnav)"
5018 # if test "$_dvdnav" = yes ; then
5019 # cat > $TMPC <<EOF
5020 # #include <dvdnav.h>
5021 # int main(void) { dvdnav_t *dvd=0; return 0; }
5022 # EOF
5023 # _dvdnav=no
5024 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
5025 # if test -z "$_dvdnavconfig" ; then
5026 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
5027 # _dvdnavconfig="dvdnav-config"
5028 # fi
5029 # fi
5030 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
5031 # _used_css=
5032 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
5033 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
5034 # fi
5035 # if test "$_dvdnav" = yes ; then
5036 # _largefiles=yes
5037 # _def_dvdnav='#define USE_DVDNAV 1'
5038 # if test -n "$_legal_dvdnavdir" ; then
5039 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
5040 # elif test -n "$_dvdnavconfig" ; then
5041 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
5042 # else
5043 # _ld_css="$_ld_css -ldvdnav"
5044 # fi
5045 # if test -n "$_dvdnavconfig" ; then
5046 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5047 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5048 # fi
5049 # if test -n "$_dvdnavdir" ; then
5050 # _inc_extra="$_inc_extra -I$_dvdnavdir"
5051 # fi
5052 # _inputmodules="dvdnav $_inputmodules"
5053 # echores "yes"
5054 # else
5055 # _def_dvdnav='#undef USE_DVDNAV'
5056 # _noinputmodules="dvdnav $_noinputmodules"
5057 # echores "no"
5058 # fi
5060 echocheck "cdparanoia"
5061 if test "$_cdparanoia" = auto ; then
5062 cat > $TMPC <<EOF
5063 #include <cdda_interface.h>
5064 #include <cdda_paranoia.h>
5065 // This need a better test. How ?
5066 int main(void) { return 1; }
5068 _cdparanoia=no
5069 for _inc_tmp in "$_inc_cdparanoia" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5070 cc_check $_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && _inc_cdparanoia="$_inc_tmp" && _cdparanoia=yes && break
5071 done
5073 if test "$_cdparanoia" = yes ; then
5074 _def_cdparanoia='#define HAVE_CDDA'
5075 _inputmodules="cdda $_inputmodules"
5076 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5077 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
5078 else
5079 _def_cdparanoia='#undef HAVE_CDDA'
5080 _noinputmodules="cdda $_noinputmodules"
5082 echores "$_cdparanoia"
5085 echocheck "libcdio"
5086 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5087 if ( pkg-config --modversion libcdio) > /dev/null 2>&1 ; then
5088 cat > $TMPC << EOF
5089 #include <stdio.h>
5090 #include <cdio/version.h>
5091 #include <cdio/cdda.h>
5092 #include <cdio/paranoia.h>
5093 int main()
5095 printf("%s\n", CDIO_VERSION);
5096 return 0;
5100 _libcdio=no
5101 for _inc_tmp in "$_inc_libcdio" "-I/usr/include/cdio" "-I/usr/local/include/cdio" ; do
5102 cc_check `pkg-config --cflags --libs libcdio` $_inc_tmp $_ld_libcdio -lcdio_cdda -lcdio_paranoia $_ld_lm && _inc_libcdio="$_inc_tmp" && ( $TMPO >> "$TMPLOG" ) && _libcdio=yes && break
5103 done
5104 else
5105 _libcdio=no
5108 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5109 _def_libcdio='#define HAVE_LIBCDIO'
5110 _def_cdparanoia='#define HAVE_CDDA'
5111 _def_havelibcdio='yes'
5112 _inputmodules="cdda $_inputmodules"
5113 _inc_libcdio=`pkg-config --cflags libcdio`
5114 _ld_libcdio=`pkg-config --libs libcdio`
5115 _ld_cdparanoia="$_ld_cdparanoia -lcdio_cdda -lcdio_paranoia -lcdio"
5116 else
5117 if test "$_cdparanoia" = yes ; then
5118 _libcdio="no (using cdparanoia)"
5119 else
5120 _libcdio=no
5122 _def_libcdio='#undef HAVE_LIBCDIO'
5123 _def_havelibcdio='no'
5125 echores "$_libcdio"
5128 echocheck "freetype >= 2.0.9"
5130 # freetype depends on iconv
5131 if test "$_iconv" = no ; then
5132 _freetype=no
5133 _res_comment="iconv support needed"
5136 if test "$_freetype" = auto ; then
5137 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5138 cat > $TMPC << EOF
5139 #include <stdio.h>
5140 #include <ft2build.h>
5141 #include FT_FREETYPE_H
5142 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5143 #error "Need FreeType 2.0.9 or newer"
5144 #endif
5145 int main()
5147 FT_Library library;
5148 FT_Int major=-1,minor=-1,patch=-1;
5149 int err=FT_Init_FreeType(&library);
5150 if(err){
5151 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5152 exit(err);
5154 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5155 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5156 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5157 (int)major,(int)minor,(int)patch );
5158 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5159 printf("Library and header version mismatch! Fix it in your distribution!\n");
5160 exit(1);
5162 return 0;
5165 _freetype=no
5166 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5167 else
5168 _freetype=no
5171 if test "$_freetype" = yes ; then
5172 _def_freetype='#define HAVE_FREETYPE'
5173 _inc_freetype=`$_freetypeconfig --cflags`
5174 _ld_freetype=`$_freetypeconfig --libs`
5175 else
5176 _def_freetype='#undef HAVE_FREETYPE'
5178 echores "$_freetype"
5180 if test "$_freetype" = no ; then
5181 _fontconfig=no
5182 _res_comment="freetype support needed"
5184 echocheck "fontconfig"
5185 if test "$_fontconfig" = auto ; then
5186 cat > $TMPC << EOF
5187 #include <stdio.h>
5188 #include <fontconfig/fontconfig.h>
5189 int main()
5191 int err = FcInit();
5192 if(err == FcFalse){
5193 printf("Couldn't initialize fontconfig lib\n");
5194 exit(err);
5196 return 0;
5200 _fontconfig=yes
5201 if cc_check -lfontconfig ; then
5202 _ld_fontconfig="-lfontconfig"
5203 elif cc_check `pkg-config --cflags --libs fontconfig` ; then
5204 _inc_fontconfig=`pkg-config --cflags fontconfig`
5205 _ld_fontconfig=`pkg-config --libs fontconfig`
5206 else
5207 _fontconfig=no
5210 if test "$_fontconfig" = yes ; then
5211 _def_fontconfig='#define HAVE_FONTCONFIG'
5212 else
5213 _def_fontconfig='#undef HAVE_FONTCONFIG'
5215 echores "$_fontconfig"
5217 echocheck "fribidi with charsets"
5218 if test "$_fribidi" = auto ; then
5219 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5220 cat > $TMPC << EOF
5221 #include <stdio.h>
5222 /* workaround for fribidi 0.10.4 and below */
5223 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5224 #include <fribidi/fribidi.h>
5225 int main()
5227 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5228 printf("Fribidi headers are not consistents with the library!\n");
5229 exit(1);
5231 return 0;
5234 _fribidi=no
5235 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5236 else
5237 _fribidi=no
5240 if test "$_fribidi" = yes ; then
5241 _def_fribidi='#define USE_FRIBIDI'
5242 _inc_fribidi=`$_fribidiconfig --cflags`
5243 _ld_fribidi=`$_fribidiconfig --libs`
5244 else
5245 _def_fribidi='#undef USE_FRIBIDI'
5247 echores "$_fribidi"
5250 echocheck "ENCA"
5251 if test "$_enca" = auto ; then
5252 cat > $TMPC << EOF
5253 #include <enca.h>
5254 int main()
5256 const char **langs;
5257 size_t langcnt;
5258 langs = enca_get_languages(&langcnt);
5259 return 0;
5262 _enca=no
5263 cc_check -lenca $_ld_lm && _enca=yes
5265 if test "$_enca" = yes ; then
5266 _def_enca='#define HAVE_ENCA 1'
5267 _ld_enca='-lenca'
5268 else
5269 _def_enca='#undef HAVE_ENCA'
5271 echores "$_enca"
5274 echocheck "zlib"
5275 cat > $TMPC << EOF
5276 #include <zlib.h>
5277 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5279 _zlib=no
5280 cc_check -lz && _zlib=yes
5281 if test "$_zlib" = yes ; then
5282 _def_zlib='#define HAVE_ZLIB 1'
5283 _ld_zlib='-lz'
5284 else
5285 _def_zlib='#undef HAVE_ZLIB'
5287 echores "$_zlib"
5290 echocheck "RTC"
5291 if test "$_rtc" = auto ; then
5292 cat > $TMPC << EOF
5293 #include <sys/ioctl.h>
5294 #ifdef __linux__
5295 #include <linux/rtc.h>
5296 #else
5297 #include <rtc.h>
5298 #define RTC_PIE_ON RTCIO_PIE_ON
5299 #endif
5300 int main(void) { return RTC_PIE_ON; }
5302 _rtc=no
5303 cc_check && _rtc=yes
5305 if test "$_rtc" = yes ; then
5306 _def_rtc='#define HAVE_RTC 1'
5307 else
5308 _def_rtc='#undef HAVE_RTC'
5310 echores "$_rtc"
5313 echocheck "external liblzo support"
5314 if test "$_liblzo" = auto ; then
5315 _liblzo=no
5316 cat > $TMPC << EOF
5317 #include <lzo1x.h>
5318 int main(void) { lzo_init();return 0; }
5320 cc_check -llzo && _liblzo=yes
5322 if test "$_liblzo" = yes ; then
5323 _def_liblzo='#define USE_LIBLZO 1'
5324 _ld_liblzo='-llzo'
5325 _codecmodules="liblzo $_codecmodules"
5326 else
5327 _def_liblzo='#undef USE_LIBLZO'
5328 _nocodecmodules="liblzo $_nocodecmodules"
5330 echores "$_liblzo"
5333 echocheck "mad support"
5334 if test "$_mad" = auto ; then
5335 _mad=no
5336 cat > $TMPC << EOF
5337 #include <mad.h>
5338 int main(void) { return 0; }
5340 cc_check $_madlibdir -lmad && _mad=yes
5342 if test "$_mad" = yes ; then
5343 _def_mad='#define USE_LIBMAD 1'
5344 _ld_mad='-lmad'
5345 _codecmodules="libmad $_codecmodules"
5346 else
5347 _def_mad='#undef USE_LIBMAD'
5348 _nocodecmodules="libmad $_nocodecmodules"
5350 echores "$_mad"
5352 echocheck "Toolame"
5353 if test "$_toolame" = auto ; then
5354 cat > $TMPC <<EOF
5355 #include <toolame.h>
5356 int main(void) { toolame_init(); return 0; }
5358 _toolame=no
5359 _toolame_extraflags=""
5360 _toolame_lib="-ltoolame"
5361 if test -n "$_toolamedir"; then
5362 _toolame_extraflags="-I$_toolamedir -L$_toolamedir"
5364 cc_check $_toolame_extraflags $_toolame_lib $_ld_lm && _toolame=yes
5366 if test "$_toolame" = yes ; then
5367 _def_toolame='#define HAVE_TOOLAME 1'
5368 _codecmodules="$_codecmodules toolame"
5369 else
5370 _def_toolame='#undef HAVE_TOOLAME'
5371 _toolame_lib=""
5372 _nocodecmodules="toolame $_nocodecmodules"
5374 if test "$_toolamedir" ; then
5375 _res_comment="using $_toolamedir"
5377 echores "$_toolame"
5379 echocheck "Twolame"
5380 if test "$_twolame" = auto ; then
5381 cat > $TMPC <<EOF
5382 #include <twolame.h>
5383 int main(void) { twolame_init(); return 0; }
5385 _twolame=no
5386 _twolame_lib="-ltwolame"
5387 cc_check $_twolame_lib $_ld_lm && _twolame=yes
5389 if test "$_twolame" = yes ; then
5390 _def_twolame='#define HAVE_TWOLAME 1'
5391 _codecmodules="$_codecmodules twolame"
5392 else
5393 _def_twolame='#undef HAVE_TWOLAME'
5394 _twolame_lib=""
5395 _nocodecmodules="twolame $_nocodecmodules"
5397 echores "$_twolame"
5399 echocheck "OggVorbis support"
5400 if test "$_tremor_internal" = yes; then
5401 _vorbis=yes
5402 elif test "$_vorbis" = auto; then
5403 _vorbis=no
5404 cat > $TMPC << EOF
5405 #include <vorbis/codec.h>
5406 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5408 cc_check -lvorbis -logg $_ld_lm && _vorbis=yes
5410 if test "$_vorbis" = yes ; then
5411 _def_vorbis='#define HAVE_OGGVORBIS 1'
5412 if test "$_tremor_internal" = yes ; then
5413 # do not set _ld_vorbis as it is resolved separately
5414 # mp3lame support for vorbis is deprecated so don't care
5415 _def_tremor='#define TREMOR 1'
5416 if test "$_tremor_low" = yes ; then
5417 _tremor_flags='-D_LOW_ACCURACY_'
5418 else
5419 _tremor_flags=''
5421 _codecmodules="tremor(internal) $_codecmodules"
5422 elif test "$_tremor" = yes ; then
5423 _def_tremor='#define TREMOR 1'
5424 _ld_vorbis='-lvorbisidec'
5425 _codecmodules="tremor $_codecmodules"
5426 else
5427 _def_tremor='#undef TREMOR'
5428 _ld_vorbis='-lvorbis -logg'
5429 _codecmodules="libvorbis $_codecmodules"
5431 else
5432 _def_vorbis='#undef HAVE_OGGVORBIS'
5433 _def_tremor='#undef TREMOR'
5434 _nocodecmodules="libvorbis $_nocodecmodules"
5436 if test "$_vorbis" = yes -a "$_tremor_internal" = yes -a "$_tremor_low" = yes ; then
5437 _res_comment="internal low accuracy Tremor"
5438 elif test "$_vorbis" = yes -a "$_tremor_internal" = yes ; then
5439 _res_comment="internal Tremor"
5440 elif test "$_vorbis" = yes -a "$_tremor" = yes ; then
5441 _res_comment="Tremor"
5443 echores "$_vorbis"
5445 echocheck "libspeex (version >= 1.1 required)"
5446 if test "$_speex" = auto ; then
5447 _speex=no
5448 cat > $TMPC << EOF
5449 #include <speex/speex.h>
5450 int main(void) {
5451 SpeexBits bits;
5452 void *dec;
5453 speex_decode_int(dec, &bits, dec);
5456 cc_check -lspeex $_ld_lm && _speex=yes
5458 if test "$_speex" = yes ; then
5459 _def_speex='#define HAVE_SPEEX 1'
5460 _ld_speex='-lspeex'
5461 _codecmodules="speex $_codecmodules"
5462 else
5463 _def_speex='#undef HAVE_SPEEX'
5464 _nocodecmodules="speex $_nocodecmodules"
5466 echores "$_speex"
5468 echocheck "OggTheora support"
5469 if test "$_theora" = auto ; then
5470 _theora=no
5471 cat > $TMPC << EOF
5472 #include <theora/theora.h>
5473 #include <string.h>
5474 int main(void)
5476 /* theora is in flux, make sure that all interface routines and
5477 * datatypes exist and work the way we expect it, so we don't break
5478 * mplayer */
5479 ogg_packet op;
5480 theora_comment tc;
5481 theora_info inf;
5482 theora_state st;
5483 yuv_buffer yuv;
5484 int r;
5485 double t;
5487 theora_info_init (&inf);
5488 theora_comment_init (&tc);
5490 return 0;
5492 /* we don't want to execute this kind of nonsense; just for making sure
5493 * that compilation works... */
5494 memset(&op, 0, sizeof(op));
5495 r = theora_decode_header (&inf, &tc, &op);
5496 r = theora_decode_init (&st, &inf);
5497 t = theora_granule_time (&st, op.granulepos);
5498 r = theora_decode_packetin (&st, &op);
5499 r = theora_decode_YUVout (&st, &yuv);
5500 theora_clear (&st);
5502 return 0;
5505 for _ld_theora in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5506 cc_check $_ld_theora && _theora=yes && break
5507 done
5508 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5509 for _ld_theora in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5510 cc_check -I. tremor/bitwise.c $_ld_theora && _theora=yes && break
5511 done
5514 if test "$_theora" = yes ; then
5515 _def_theora='#define HAVE_OGGTHEORA 1'
5516 _codecmodules="libtheora $_codecmodules"
5517 # when --enable-theora is forced, we'd better provide a probably sane
5518 # $_ld_theora than nothing
5519 test -z "$_ld_theora" && _ld_theora="-ltheora -logg"
5520 else
5521 _def_theora='#undef HAVE_OGGTHEORA'
5522 _nocodecmodules="libtheora $_nocodecmodules"
5523 _ld_theora=""
5525 echores "$_theora"
5527 echocheck "mp3lib support"
5528 if test "$_mp3lib" = yes ; then
5529 _def_mp3lib='#define USE_MP3LIB 1'
5530 _codecmodules="mp3lib $_codecmodules"
5531 else
5532 _def_mp3lib='#undef USE_MP3LIB'
5533 _nocodecmodules="mp3lib $_nocodecmodules"
5535 echores "$_mp3lib"
5537 echocheck "liba52 support"
5538 if test "$_liba52" = yes ; then
5539 _def_liba52='#define USE_LIBA52 1'
5540 _codecmodules="liba52 $_codecmodules"
5541 else
5542 _def_liba52='#undef USE_LIBA52'
5543 _nocodecmodules="liba52 $_nocodecmodules"
5545 echores "$_liba52"
5547 echocheck "libdts support"
5548 if test "$_libdts" = auto ; then
5549 _libdts=no
5550 cat > $TMPC << EOF
5551 #include <inttypes.h>
5552 #include <dts.h>
5553 int main(void) { dts_init (0); return 0; }
5555 cc_check $_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts=yes
5557 if test "$_libdts" = yes ; then
5558 _def_libdts='#define CONFIG_DTS 1'
5559 _ld_libdts="$_ld_libdts -ldts"
5560 _codecmodules="libdts $_codecmodules"
5561 else
5562 _def_libdts='#undef CONFIG_DTS'
5563 _nocodecmodules="libdts $_nocodecmodules"
5565 echores "$_libdts"
5567 echocheck "libmpeg2 support"
5568 if test "$_libmpeg2" = yes ; then
5569 _def_libmpeg2='#define USE_LIBMPEG2 1'
5570 _codecmodules="libmpeg2 $_codecmodules"
5571 else
5572 _def_libmpeg2='#undef USE_LIBMPEG2'
5573 _nocodecmodules="libmpeg2 $_nocodecmodules"
5575 echores "$_libmpeg2"
5577 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5578 if test "$_musepack" = auto ; then
5579 _musepack=no
5580 cat > $TMPC << EOF
5581 #include <mpcdec/mpcdec.h>
5582 int main(void) {
5583 mpc_streaminfo info;
5584 mpc_decoder decoder;
5585 mpc_decoder_set_streaminfo(&decoder, &info);
5586 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5589 cc_check -lmpcdec $_ld_lm && _musepack=yes
5591 if test "$_musepack" = yes ; then
5592 _def_musepack='#define HAVE_MUSEPACK 1'
5593 _ld_musepack='-lmpcdec'
5594 _codecmodules="musepack $_codecmodules"
5595 else
5596 _def_musepack='#undef HAVE_MUSEPACK'
5597 _nocodecmodules="musepack $_nocodecmodules"
5599 echores "$_musepack"
5602 echocheck "Matroska support"
5603 if test "$_matroska_internal" = yes ; then
5604 _inputmodules="matroska $_inputmodules"
5605 _def_matroska='#define HAVE_MATROSKA 1'
5606 else
5607 _noinputmodules="matroska $_noinputmodules"
5608 _def_matroska='#undef HAVE_MATROSKA'
5610 echores "$_matroska_internal"
5612 echocheck "FAAC (AAC encoder) support"
5613 if test "$_faac" = auto ; then
5614 cat > $TMPC <<EOF
5615 #include <inttypes.h>
5616 #include <faac.h>
5617 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5619 _faac=no
5620 for _ld_tmp in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5621 cc_check -c -O4 $_ld_tmp $_ld_lm && _ld_faac="$_ld_tmp" && _faac=yes && break
5622 done
5624 if test "$_faac" = yes ; then
5625 _def_faac="#define HAVE_FAAC 1"
5626 _codecmodules="faac $_codecmodules"
5627 else
5628 _def_faac="#undef HAVE_FAAC"
5629 _nocodecmodules="faac $_nocodecmodules"
5631 echores "$_faac"
5633 echocheck "internal FAAD2 (AAC) support"
5634 _inc_faad="-I`pwd`/libfaad2"
5635 if test "$_faad_internal" = auto ; then
5636 # the faad check needs a config.h file
5637 if not test -f "config.h" ; then
5638 cat > config.h << EOF
5639 /* C99 lrintf function available */
5640 $_def_lrintf
5643 # internal faad: check if our dear gcc is able to compile it...
5644 cp "`pwd`/libfaad2/cfft.c" $TMPC
5645 if ( cc_check -c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer -D_GNU_SOURCE $_inc_faad ); then
5646 _faad_internal=yes
5647 else
5648 _faad_internal="no (broken gcc)"
5651 if test "$_faad_internal" = yes ; then
5652 _def_faad_internal="#define USE_INTERNAL_FAAD 1"
5653 _faad_external=no
5654 else
5655 _def_faad_internal="#undef USE_INTERNAL_FAAD"
5656 _inc_faad=
5658 echores "$_faad_internal"
5661 echocheck "external FAAD2 (AAC) support"
5662 if test "$_faad_external" != no ; then
5663 _ld_faad='-lfaad'
5664 _inc_faad="$_inc_extra"
5665 # external faad: check if it's really faad2 :)
5666 if test "$_faad_external" = auto ; then
5667 _faad_external=no
5668 cat > $TMPC << EOF
5669 #include <faad.h>
5670 #ifndef FAAD_MIN_STREAMSIZE
5671 #error Too old version
5672 #endif
5673 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5675 cc_check $_inc_faad $_ld_faad $_ld_lm && _faad_external=yes
5678 echores "$_faad_external"
5680 if test "$_faad_external" = yes; then
5681 _def_faad='#define HAVE_FAAD 1'
5682 _codecmodules="faad2(external) $_codecmodules"
5683 elif test "$_faad_internal" = yes; then
5684 _def_faad='#define HAVE_FAAD 1'
5685 _codecmodules="faad2(internal) $_codecmodules"
5686 else
5687 _def_faad='#undef HAVE_FAAD'
5688 _nocodecmodules="faad2 $_nocodecmodules"
5689 _ld_faad=
5693 echocheck "LADSPA plugin support"
5694 if test "$_ladspa" = auto ; then
5695 cat > $TMPC <<EOF
5696 #include <stdio.h>
5697 #include <ladspa.h>
5698 int main(void) {
5699 const LADSPA_Descriptor *ld = NULL;
5700 return 0;
5703 _ladspa=no
5704 cc_check && _ladspa=yes
5706 if test "$_ladspa" = yes; then
5707 _def_ladspa="#define HAVE_LADSPA"
5708 _afsrc="$_afsrc af_ladspa.c"
5709 _afmodules="ladspa $_afmodules"
5710 else
5711 _def_ladspa="#undef HAVE_LADSPA"
5712 _noafmodules="ladspa $_noafmodules"
5714 echores "$_ladspa"
5717 if test "$_win32" = auto ; then
5718 if x86 ; then
5719 qnx && _win32=no
5720 else
5721 _win32=no # x86 arch only
5725 if test "$_win32" != no ; then
5726 if test -z "$_win32libdir" ; then
5727 for I in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
5728 if test -d "$I" ; then
5729 _win32libdir="$I"
5730 break;
5732 done
5736 echocheck "Win32 codec DLL support"
5737 if test "$_win32" = auto ; then
5738 _win32=no
5739 test -n "$_win32libdir" && _win32=yes
5741 if test "$_win32" = yes ; then
5742 _def_win32='#define USE_WIN32DLL 1'
5743 _res_comment="using $_win32libdir"
5744 else
5745 _def_win32='#undef USE_WIN32DLL'
5746 _nocodecmodules="win32 $_nocodecmodules"
5747 _dshow=no
5749 echores "$_win32"
5751 if test "$_win32" != no ; then
5752 _def_win32_loader='#undef WIN32_LOADER'
5753 echocheck "Win32 loader support"
5754 _ld_win32='loader/libloader.a'
5755 _dep_win32='loader/libloader.a'
5756 _codecmodules="win32 $_codecmodules"
5757 if openbsd ; then
5758 x86 && _ld_win32="$_ld_win32 -li386"
5760 if not win32 ; then
5761 _def_win32_loader='#define WIN32_LOADER 1'
5762 echores "yes"
5763 else
5764 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
5765 echores "no (using native windows)"
5769 echocheck "DirectShow"
5770 if false ; then
5772 if test "$_dshow" != no ; then
5773 _dshow=no
5774 # check if compiler supports C++ and C++-libs are installed correctly
5775 cat > "$TMPCPP" << EOF
5776 #include <string>
5777 class myclass {
5778 private: int ret;
5779 public: int myreturn(void);
5781 int myclass::myreturn(void) { ret = 0; return ret ; }
5782 int main(void) { myclass myobject; return myobject.myreturn(); }
5784 if cxx_check && tmp_run ; then
5785 _dshow=yes
5786 echores "yes (C++ is ok)"
5787 else
5788 echores "no"
5789 cat << EOF
5791 Your C++ runtime environment is broken.
5793 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5794 Are the C++ libraries correctly installed?
5795 Check for libstdc++ and in (/etc/)ld.so.conf.
5797 If you do not need DirectShow support, you can also use:
5798 ./configure --disable-dshow <your-normal-configure-options>
5799 to disable building the C++ based DirectShow code.
5802 die "$_cc's C++ is broken"
5808 echores "$_dshow"
5810 if test "$_dshow" = yes ; then
5811 _def_dshow='#define USE_DIRECTSHOW 1'
5812 _ld_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5813 _dep_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5814 _codecmodules="dshow/dmo $_codecmodules"
5815 else
5816 _def_dshow='#undef USE_DIRECTSHOW'
5817 _nocodecmodules="dshow/dmo $_nocodecmodules"
5821 echocheck "XAnim DLL"
5822 if test "$_xanim" = auto ; then
5823 _xanim=no
5824 _res_comment="dynamic loader support needed"
5825 if test "$_dl" = yes ; then
5826 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5827 if test -z "$_xanimlibdir" ; then
5828 for I in "$_libdir/codecs" /usr/local/lib/xanim/mods /usr/lib/xanim/mods /usr/lib/xanim $XANIM_MOD_DIR ; do
5829 if test -d "$I" ; then
5830 _xanimlibdir="$I"
5831 break;
5833 done
5835 test "$_xanimlibdir" && _xanim=yes
5838 if test "$_xanim" = yes ; then
5839 _def_xanim='#define USE_XANIM 1'
5840 _def_xanim_path="#define XACODEC_PATH \"$_xanimlibdir\""
5841 _codecmodules="xanim $_codecmodules"
5842 _res_comment="using $_xanimlibdir"
5843 else
5844 _def_xanim='#undef USE_XANIM'
5845 _def_xanim_path='#undef XACODEC_PATH'
5846 _nocodecmodules="xanim $_nocodecmodules"
5848 echores "$_xanim"
5850 echocheck "RealPlayer DLL"
5851 if test "$_real" = auto ; then
5852 _real=no
5853 _res_comment="dynamic loader support needed"
5854 if test "$_dl" = yes || test "$_win32" = yes ; then
5855 # if test "$_dl" = yes ; then
5856 _res_comment="tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin"
5857 if linux || freebsd || netbsd || win32 || darwin ; then
5858 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5859 if test -z "$_reallibdir" ; then
5860 for I in "$_libdir/codecs" "$_libdir/real" /usr/lib/real \
5861 /usr/lib/RealPlayer{9,8,}/Codecs /usr/local/RealPlayer{9,8,}/Codecs \
5862 /usr/local/lib/RealPlayer{9,8,}/Codecs /opt/RealPlayer{9,8,}/{Real/,}Codecs \
5863 {~,}/Applications/RealOne\ Player.app/Contents/MacOS/Library/Codecs \
5864 "$_win32libdir"; do
5865 if test -d "$I" ; then
5866 _reallibdir="$I"
5867 break
5869 done
5871 test "$_reallibdir" && _real=yes
5875 if test "$_real" = yes ; then
5876 _def_real='#define USE_REALCODECS 1'
5877 _def_real_path="#define REALCODEC_PATH \"$_reallibdir\""
5878 _codecmodules="real $_codecmodules"
5879 _res_comment="using $_reallibdir"
5880 else
5881 _def_real='#undef USE_REALCODECS'
5882 _def_real_path="#undef REALCODEC_PATH"
5883 _nocodecmodules="real $_nocodecmodules"
5885 echores "$_real"
5888 echocheck "LIVE555 Streaming Media libraries"
5889 if test "$_live" = auto && test "$_network" = yes ; then
5890 cat > $TMPCPP << EOF
5891 #include <liveMedia.hh>
5892 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5893 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
5894 #endif
5895 int main(void) {}
5898 _live=no
5899 for I in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
5900 cxx_check -I$I/liveMedia/include -I$I/UsageEnvironment/include -I$I/groupsock/include && _livelibdir=$I && _live=yes && break
5901 done
5902 if test "$_live" != yes ; then
5903 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
5904 _live_dist=yes
5908 if test "$_live" = yes && test "$_network" = yes ; then
5909 echores "yes (using $_livelibdir)"
5910 _def_live='#define STREAMING_LIVE555 1'
5911 _live_libs_def="# LIVE555 Streaming Media libraries:
5912 LIVE_LIB_DIR = $_livelibdir
5913 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
5914 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
5915 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
5916 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
5917 LIVE_LIBS += -lstdc++
5918 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
5919 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
5920 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
5921 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
5922 _ld_live='$(LIVE_LIBS)'
5923 _inputmodules="live555 $_inputmodules"
5924 elif test "$_live_dist" = yes && test "$_network" = yes ; then
5925 echores "yes (using distribution version)"
5926 _live="yes"
5927 _def_live='#define STREAMING_LIVE555 1'
5928 _live_libs_def="# LIVE555 Streaming Media libraries:
5929 LIVE_LIB_DIR = $_livelibdir
5930 LIVE_LIBS = -lliveMedia
5931 LIVE_LIBS += -lgroupsock
5932 LIVE_LIBS += -lUsageEnvironment
5933 LIVE_LIBS += -lBasicUsageEnvironment
5934 LIVE_LIBS += -lstdc++
5935 LIVE_INCLUDES = -I/usr/include/liveMedia
5936 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
5937 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
5938 LIVE_INCLUDES += -I/usr/include/groupsock"
5939 _ld_live='$(LIVE_LIBS)'
5940 _inputmodules="live555 $_inputmodules"
5941 else
5942 echores "no"
5943 _def_live='#undef STREAMING_LIVE555'
5944 _noinputmodules="live555 $_noinputmodules"
5947 echocheck "FFmpeg libavutil (static)"
5948 if test -d libavutil ; then
5949 _libavutil=yes
5950 else
5951 _libavutil=no
5953 echores "$_libavutil"
5955 echocheck "FFmpeg libavcodec (static)"
5956 if test "$_libavcodec" = auto ; then
5957 # Note: static linking is preferred to dynamic linking
5958 _libavcodec=no
5959 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
5960 if test -d libavcodec && test -f libavcodec/utils.c ; then
5961 _res_comment="old ffmpeg version, use CVS !"
5962 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
5963 # check if libavutil is a required
5964 cat > $TMPC << EOF
5965 #include "libavcodec/avcodec.h"
5966 #if LIBAVCODEC_BUILD >= 3211265
5967 #error We need libavutil!
5968 #endif
5969 int main(void) { return 0; }
5972 if cc_check -I. -I./libavutil; then
5973 _libavutil_required="no"
5974 else
5975 _libavutil_required="yes"
5977 _res_comment="libavutil availability does not fit libavcodec version"
5978 if test "$_libavutil_required" = "$_libavutil"; then
5979 _libavcodec="yes"
5980 _res_comment=""
5985 echores "$_libavcodec"
5987 echocheck "FFmpeg libavformat (static)"
5988 if test "$_libavformat" = auto ; then
5989 # Note: static linking is preferred to dynamic linking
5990 _libavformat=no
5991 if test -d libavformat && test -f libavformat/utils.c ; then
5992 _libavformat=yes
5995 echores "$_libavformat"
5997 _def_haveffpostprocess='no'
5998 if test -d libavcodec && test -f libavcodec/libpostproc/postprocess.h ; then
5999 _def_haveffpostprocess='yes'
6002 if test "$_libavcodec" != yes ; then
6003 echocheck "FFmpeg libavcodec (dynamic)"
6004 if test "$_libavcodecso" = auto ; then
6005 _libavcodecso=no
6006 _res_comment="libavcodec.so is broken/obsolete"
6007 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6008 cat > $TMPC << EOF
6009 #define FF_POSTPROCESS 1
6010 #include <ffmpeg/avcodec.h>
6011 int main(void) {
6012 avcodec_find_encoder_by_name("");
6013 return 0;
6016 if cc_check -lavcodec $_ld_lm ; then
6017 _libavcodecso=yes
6018 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6021 echores "$_libavcodecso"
6024 _def_libavcodec='#undef USE_LIBAVCODEC'
6025 _def_libavcodecso='#undef USE_LIBAVCODEC_SO'
6026 _def_ffpostprocess='#undef FF_POSTPROCESS'
6027 if test "$_libavcodec" = yes ; then
6028 _def_libavcodec='#define USE_LIBAVCODEC 1'
6029 _ld_libavcodec='libavcodec/libavcodec.a'
6030 _dep_libavcodec='libavcodec/libavcodec.a'
6031 _def_ffpostprocess='#define FF_POSTPROCESS 1'
6032 _codecmodules="libavcodec $_codecmodules"
6033 if test "$_libavutil" = yes; then
6034 _ld_libavutil='libavutil/libavutil.a'
6035 _dep_libavutil='libavutil/libavutil.a'
6037 elif test "$_libavcodecso" = yes ; then
6038 _def_libavcodec='#define USE_LIBAVCODEC 1'
6039 _def_libavcodecso='#define USE_LIBAVCODEC_SO 1'
6040 _ld_libavcodec='-lavcodec'
6041 _codecmodules="libavcodec.so $_codecmodules"
6042 else
6043 _nocodecmodules="libavcodec $_nocodecmodules"
6046 _def_libavformat='#undef USE_LIBAVFORMAT'
6047 _def_libavformat_win32='#undef CONFIG_WIN32'
6048 if test "$_libavformat" = yes ; then
6049 _def_libavformat='#define USE_LIBAVFORMAT 1'
6050 _ld_libavformat='libavformat/libavformat.a'
6051 _dep_libavformat='libavformat/libavformat.a'
6052 if win32 ; then
6053 _def_libavformat_win32='#define CONFIG_WIN32 1'
6057 echocheck "amr narrowband"
6058 if test "$_amr_nb" = auto ; then
6059 _amr_nb=no
6060 if test -f libavcodec/amr_float/sp_dec.c ; then
6061 if test "$_libavcodec" = yes ; then
6062 _amr_nb=yes
6063 else
6064 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6068 if test "$_amr_nb" = yes ; then
6069 _def_amr_nb='#define AMR_NB 1'
6070 else
6071 _def_amr_nb='#undef AMR_NB'
6073 echores "$_amr_nb $_echomsg"
6075 echocheck "amr narrowband, fixed point"
6076 if test "$_amr_nb_fixed" = auto ; then
6077 _amr_nb_fixed=no
6078 if test -f libavcodec/amr/dtx_dec.c ; then
6079 if test "$_libavcodec" = yes ; then
6080 if test "$_amr_nb" = no ; then
6081 _amr_nb_fixed=yes
6082 else
6083 _res_comment="disabled by amr_nb"
6085 else
6086 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6090 if test "$_amr_nb_fixed" = yes ; then
6091 _def_amr_nb='#define AMR_NB 1'
6092 _def_amr_nb_fixed='#define AMR_NB_FIXED 1'
6093 _amr_nb=yes;
6094 else
6095 _def_amr_nb_fixed='#undef AMR_NB_FIXED'
6097 echores "$_amr_nb_fixed"
6099 if test "$_amr_nb" = yes ; then
6100 _codecmodules="amr_nb $_codecmodules"
6101 else
6102 _nocodecmodules="amr_nb $_nocodecmodules"
6105 echocheck "amr wideband"
6106 if test "$_amr_wb" = auto ; then
6107 _amr_wb=no
6108 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6109 if test "$_libavcodec" = yes ; then
6110 _amr_wb=yes
6111 else
6112 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6116 if test "$_amr_wb" = yes ; then
6117 _def_amr_wb='#define AMR_WB 1'
6118 _codecmodules="amr_wb $_codecmodules"
6119 else
6120 _def_amr_wb='#undef AMR_WB'
6121 _nocodecmodules="amr_wb $_nocodecmodules"
6123 echores "$_amr_wb"
6125 echocheck "libdv-0.9.5+"
6126 if test "$_libdv" = auto ; then
6127 _libdv=no
6128 cat > $TMPC <<EOF
6129 #include <libdv/dv.h>
6130 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6132 cc_check -ldv $_ld_lm && _libdv=yes
6134 if test "$_libdv" = yes ; then
6135 _def_libdv='#define HAVE_LIBDV095 1'
6136 _ld_libdv="-ldv"
6137 _codecmodules="libdv $_codecmodules"
6138 else
6139 _def_libdv='#undef HAVE_LIBDV095'
6140 _nocodecmodules="libdv $_nocodecmodules"
6142 echores "$_libdv"
6144 echocheck "zr"
6145 if test "$_zr" = auto ; then
6146 #36067's seem to identify themselves as 36057PQC's, so the line
6147 #below should work for 36067's and 36057's.
6148 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
6149 _zr=yes
6150 else
6151 _zr=no
6154 if test "$_zr" = yes ; then
6155 if test "$_libavcodec" = yes ; then
6156 _def_zr='#define HAVE_ZR 1'
6157 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6158 _vomodules="zr zr2 $_vomodules"
6159 else
6160 _res_comment="libavcodec (static) is required by zr, sorry"
6161 _novomodules="zr $_novomodules"
6162 _def_zr='#undef HAVE_ZR'
6164 else
6165 _def_zr='#undef HAVE_ZR'
6166 _novomodules="zr zr2 $_novomodules"
6168 echores "$_zr"
6170 echocheck "bl"
6171 if test "$_bl" = yes ; then
6172 _def_bl='#define HAVE_BL 1'
6173 _vosrc="$_vosrc vo_bl.c"
6174 _vomodules="bl $_vomodules"
6175 else
6176 _def_bl='#undef HAVE_BL'
6177 _novomodules="bl $_novomodules"
6179 echores "$_bl"
6181 echocheck "XviD"
6182 cat > $TMPC << EOF
6183 #include <xvid.h>
6184 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6186 _ld_xvid="$_ld_xvid -lxvidcore"
6187 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid $_ld_lm ; then
6188 _xvid=yes
6189 _def_xvid3='#define HAVE_XVID3 1'
6190 _def_xvid4='#undef HAVE_XVID4'
6191 _codecmodules="xvid $_codecmodules"
6192 else
6193 cat > $TMPC << EOF
6194 #include <xvid.h>
6195 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6197 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid $_ld_lm ; then
6198 _xvid=yes
6199 _def_xvid3='#undef HAVE_XVID3'
6200 _def_xvid4='#define HAVE_XVID4 1'
6201 _codecmodules="xvid $_codecmodules"
6202 else
6203 _xvid=no
6204 _ld_xvid=''
6205 _def_xvid3='#undef HAVE_XVID3'
6206 _def_xvid4='#undef HAVE_XVID4'
6207 _nocodecmodules="xvid $_nocodecmodules"
6210 echores "$_xvid"
6212 _xvidcompat=no
6213 _def_decore_xvid='#undef DECORE_XVID'
6214 _def_encore_xvid='#undef ENCORE_XVID'
6215 if test "$_xvid" = yes ; then
6216 echocheck "DivX4 compatibility in XviD"
6217 cat > $TMPC << EOF
6218 #include <divx4.h>
6219 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6221 cc_check $_ld_lm "$_ld_xvid" && _xvidcompat=yes
6222 echores "$_xvidcompat"
6225 echocheck "x264"
6226 cat > $TMPC << EOF
6227 #include <inttypes.h>
6228 #include <x264.h>
6229 #if X264_BUILD < 40
6230 #error We do not support old versions of x264. Get the latest from SVN.
6231 #endif
6232 int main(void) { x264_encoder_open((void*)0); return 0; }
6234 _ld_x264="$_ld_x264 -lx264 $_ld_pthread"
6235 if test "$_x264" != no && \
6236 ( cc_check $_inc_x264 $_ld_x264 $_ld_lm || \
6237 ( test "$_x11" = yes && cc_check $_inc_x264 $_inc_x11 $_ld_x264 $_ld_x11 $_ld_lm )) ; \
6238 then
6239 _x264=yes
6240 _def_x264='#define HAVE_X264 1'
6241 _codecmodules="x264 $_codecmodules"
6242 else
6243 _x264=no
6244 _ld_x264=''
6245 _def_x264='#undef HAVE_X264'
6246 _nocodecmodules="x264 $_nocodecmodules"
6248 echores "$_x264"
6250 echocheck "DivX4linux/DivX5linux/OpenDivX decore"
6251 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
6252 cat > $TMPC << EOF
6253 #include <decore.h>
6254 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
6256 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
6257 _opendivx=no
6258 _ld_decore='-ldivxdecore'
6259 _def_decore='#define NEW_DECORE 1'
6260 _def_divx='#define USE_DIVX'
6261 _def_divx5='#undef DECORE_DIVX5'
6262 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6263 _codecmodules="divx4linux $_codecmodules"
6264 echores "DivX4linux (with libdivxdecore.so)"
6265 else
6266 # if test "$_divx4linux" != no ; then
6267 # DivX5 check
6268 # OdivxPP disabled because of:
6269 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
6270 cat > $TMPC << EOF
6271 #include <decore.h>
6272 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
6274 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
6275 _opendivx=no
6276 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
6277 _ld_decore='-ldivxdecore'
6278 _def_decore='#define NEW_DECORE 1'
6279 _def_divx='#define USE_DIVX'
6280 _def_divx5='#define DECORE_DIVX5 1'
6281 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6282 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6283 _codecmodules="divx5linux $_codecmodules"
6284 _nocodecmodules="divx4linux $_nocodecmodules"
6285 echores "DivX5linux (with libdivxdecore.so)"
6286 elif test "$_opendivx" != no ; then
6287 _opendivx=yes
6288 _ld_decore='opendivx/libdecore.a'
6289 _def_decore='#undef NEW_DECORE'
6290 _def_divx='#define USE_DIVX'
6291 _def_divx5='#undef DECORE_DIVX5'
6292 _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6293 _codecmodules="opendivx $_codecmodules"
6294 _nocodecmodules="divx5linux $_nocodecmodules"
6295 echores "OpenDivX"
6296 elif test "$_xvidcompat" = yes ; then
6297 _opendivx=no
6298 _ld_decore=''
6299 _def_decore='#define NEW_DECORE 1'
6300 _def_divx='#define USE_DIVX 1'
6301 _def_divx5='#undef DECORE_DIVX5'
6302 _def_decore_xvid='#define DECORE_XVID 1'
6303 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6304 _nocodecmodules="opendivx divx5linux divx4linux $_nocodecmodules"
6305 echores "XviD compat."
6306 else
6307 _opendivx=no
6308 _ld_decore=''
6309 _def_decore='#undef NEW_DECORE'
6310 _def_divx='#undef USE_DIVX'
6311 _def_divx5='#undef DECORE_DIVX5'
6312 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6313 _nocodecmodules="opendivx $_nocodecmodules"
6314 echores "no"
6315 fi # DivX5 check
6319 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
6320 if test "$_mencoder" != no ; then
6322 echocheck "libmp3lame (for mencoder)"
6323 _mp3lame=no
6324 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6325 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6326 cat > $TMPC <<EOF
6327 #include <lame/lame.h>
6328 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; }
6330 # Note: libmp3lame usually depends on vorbis
6331 cc_check -lmp3lame $_ld_vorbis $_ld_lm && tmp_run && _mp3lame=yes
6332 if test "$_mp3lame" = yes ; then
6333 _def_mp3lame="#define HAVE_MP3LAME"
6334 _ld_mp3lame="-lmp3lame $_ld_vorbis"
6335 cat > $TMPC << EOF
6336 #include <lame/lame.h>
6337 int main(void) { int p = STANDARD_FAST; return 0; }
6339 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6340 cat > $TMPC << EOF
6341 #include <lame/lame.h>
6342 int main(void) { int p = MEDIUM_FAST; return 0; }
6344 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6345 else
6346 _def_mp3lame='#undef HAVE_MP3LAME'
6348 echores "$_mp3lame"
6351 echocheck "DivX4linux encore (for mencoder)"
6352 cat > $TMPC << EOF
6353 #include <encore2.h>
6354 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
6356 if test "$_divx4linux" != no && cc_check -ldivxencore $_ld_lm ; then
6357 _def_encore='#define HAVE_DIVX4ENCORE 1'
6358 _ld_encore='-ldivxencore'
6359 echores "DivX4linux (with libdivxencore.so)"
6360 elif test "$_xvidcompat" = yes ; then
6361 _def_encore='#define HAVE_DIVX4ENCORE 1'
6362 _ld_encore=''
6363 _def_encore_xvid='#define ENCORE_XVID 1'
6364 echores "XviD compat."
6365 else
6366 _def_encore='#undef HAVE_DIVX4ENCORE'
6367 echores "no"
6372 echocheck "mencoder"
6373 _mencoder_flag='#undef HAVE_MENCODER'
6374 if test "$_mencoder" = yes ; then
6375 _mencoder_flag='#define HAVE_MENCODER'
6377 echores "$_mencoder"
6379 echocheck "fastmemcpy"
6380 # fastmemcpy check is done earlier with tests of CPU & binutils features
6381 if test "$_fastmemcpy" = yes ; then
6382 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6383 else
6384 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6386 echores "$_fastmemcpy"
6388 echocheck "UniquE RAR File Library"
6389 if test "$_unrarlib" = yes ; then
6390 _def_unrarlib='#define USE_UNRARLIB 1'
6391 else
6392 _def_unrarlib='#undef USE_UNRARLIB'
6394 echores "$_unrarlib"
6396 echocheck "TV interface"
6397 if test "$_tv" = yes ; then
6398 _def_tv='#define USE_TV 1'
6399 _inputmodules="tv $_inputmodules"
6400 else
6401 _noinputmodules="tv $_noinputmodules"
6402 _def_tv='#undef USE_TV'
6404 echores "$_tv"
6406 echocheck "EDL support"
6407 if test "$_edl" = yes ; then
6408 _def_edl='#define USE_EDL'
6409 _inputmodules="edl $_inputmodules"
6410 else
6411 _noinputmodules="edl $_noinputmodules"
6412 _def_edl='#undef USE_EDL'
6414 echores "$_edl"
6416 echocheck "*BSD BrookTree 848 TV interface"
6417 if test "$_tv_bsdbt848" = auto ; then
6418 _tv_bsdbt848=no
6419 if test "$_tv" = yes ; then
6420 cat > $TMPC <<EOF
6421 #include <sys/types.h>
6422 #if defined(__NetBSD__)
6423 #include <dev/ic/bt8xx.h>
6424 #else
6425 #include <machine/ioctl_bt848.h>
6426 #endif
6427 int main(void) { return 0; }
6429 cc_check && _tv_bsdbt848=yes
6432 if test "$_tv_bsdbt848" = yes ; then
6433 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6434 _inputmodules="tv-bsdbt848 $_inputmodules"
6435 else
6436 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6437 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6439 echores "$_tv_bsdbt848"
6441 echocheck "Video 4 Linux TV interface"
6442 if test "$_tv_v4l" = auto ; then
6443 _tv_v4l=no
6444 if test "$_tv" = yes && linux ; then
6445 cat > $TMPC <<EOF
6446 #include <stdlib.h>
6447 #include <linux/videodev.h>
6448 int main(void) { return 0; }
6450 cc_check && _tv_v4l=yes
6453 if test "$_tv_v4l" = yes ; then
6454 _def_tv_v4l='#define HAVE_TV_V4L 1'
6455 _inputmodules="tv-v4l $_inputmodules"
6456 else
6457 _noinputmodules="tv-v4l $_noinputmodules"
6458 _def_tv_v4l='#undef HAVE_TV_V4L'
6460 echores "$_tv_v4l"
6463 echocheck "Video 4 Linux 2 TV interface"
6464 if test "$_tv_v4l2" = auto ; then
6465 _tv_v4l2=no
6466 if test "$_tv" = yes && linux ; then
6467 cat > $TMPC <<EOF
6468 #include <stdlib.h>
6469 #include <linux/types.h>
6470 #include <linux/videodev2.h>
6471 int main(void) { return 0; }
6473 cc_check && _tv_v4l2=yes
6476 if test "$_tv_v4l2" = yes ; then
6477 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6478 _inputmodules="tv-v4l2 $_inputmodules"
6479 else
6480 _noinputmodules="tv-v4l2 $_noinputmodules"
6481 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6483 echores "$_tv_v4l2"
6486 echocheck "audio select()"
6487 if test "$_select" = no ; then
6488 _def_select='#undef HAVE_AUDIO_SELECT'
6489 elif test "$_select" = yes ; then
6490 _def_select='#define HAVE_AUDIO_SELECT 1'
6492 echores "$_select"
6495 echocheck "network"
6496 # FIXME network check
6497 if test "$_network" != no ; then
6498 _def_network='#define MPLAYER_NETWORK 1'
6499 _ld_network="$_ld_sock"
6500 _inputmodules="network $_inputmodules"
6501 else
6502 _noinputmodules="network $_noinputmodules"
6503 _def_network='#undef MPLAYER_NETWORK'
6504 _ftp=no
6506 echores "$_network"
6508 echocheck "ftp"
6509 if not beos && test "$_ftp" != no ; then
6510 _def_ftp='#define HAVE_FTP 1'
6511 _inputmodules="ftp $_inputmodules"
6512 else
6513 _noinputmodules="ftp $_noinputmodules"
6514 _def_ftp='#undef HAVE_FTP'
6516 echores "$_ftp"
6518 echocheck "vstream client"
6519 if test "$_vstream" = auto ; then
6520 _vstream=no
6521 cat > $TMPC <<EOF
6522 #include <vstream-client.h>
6523 void vstream_error(const char *format, ... ) {}
6524 int main(void) { vstream_start(); return 0; }
6526 cc_check -lvstream-client && _vstream=yes
6528 if test "$_vstream" = yes ; then
6529 _def_vstream='#define HAVE_VSTREAM 1'
6530 _inputmodules="vstream $_inputmodules"
6531 _ld_vstream='-lvstream-client'
6532 else
6533 _noinputmodules="vstream $_noinputmodules"
6534 _def_vstream='#undef HAVE_VSTREAM'
6536 echores "$_vstream"
6538 # endian testing
6539 echocheck "byte order"
6540 if test "$_big_endian" = auto ; then
6541 cat > $TMPC <<EOF
6542 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6543 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6544 int main(){
6545 char* s = (char*)ascii_name;
6546 return 0;
6549 if cc_check ; then
6550 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6551 _big_endian=yes
6552 else
6553 _big_endian=no
6555 else
6556 echo -n "failed to autodetect byte order, defaulting to "
6559 if test "$_big_endian" = yes ; then
6560 _byte_order='big-endian'
6561 _def_words_endian='#define WORDS_BIGENDIAN 1'
6562 else
6563 _byte_order='little-endian'
6564 _def_words_endian='#undef WORDS_BIGENDIAN'
6566 echores "$_byte_order"
6568 echocheck "OSD menu"
6569 if test "$_menu" = yes ; then
6570 _def_menu='#define HAVE_MENU 1'
6571 else
6572 _def_menu='#undef HAVE_MENU'
6574 echores "$_menu"
6576 # Check to see if they want QTX codecs enabled
6577 echocheck "QTX codecs"
6578 if test "$_qtx" = auto ; then
6579 _qtx=$_win32
6581 if test "$_qtx" = yes ; then
6582 _def_qtx='#define USE_QTX_CODECS 1'
6583 _codecmodules="qtx $_codecmodules"
6584 else
6585 _def_qtx='#undef USE_QTX_CODECS'
6586 _nocodecmodules="qtx $_nocodecmodules"
6588 echores "$_qtx"
6591 echocheck "Subtitles sorting"
6592 if test "$_sortsub" = yes ; then
6593 _def_sortsub='#define USE_SORTSUB 1'
6594 else
6595 _def_sortsub='#undef USE_SORTSUB'
6597 echores "$_sortsub"
6600 echocheck "XMMS inputplugin support"
6601 if test "$_xmms" = yes ; then
6603 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6604 if test -z "$_xmmsplugindir" ; then
6605 _xmmsplugindir=`xmms-config --input-plugin-dir`
6607 if test -z "$_xmmslibdir" ; then
6608 _xmmslibdir=`xmms-config --exec-prefix`/lib
6610 else
6611 if test -z "$_xmmsplugindir" ; then
6612 _xmmsplugindir=/usr/lib/xmms/Input
6614 if test -z "$_xmmslibdir" ; then
6615 _xmmslibdir=/usr/lib
6619 _def_xmms='#define HAVE_XMMS 1'
6620 if darwin ; then
6621 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
6622 else
6623 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6625 else
6626 _def_xmms='#undef HAVE_XMMS'
6628 echores "$_xmms"
6630 echocheck "inet6"
6631 if test "$_inet6" = auto ; then
6632 cat > $TMPC << EOF
6633 #include <sys/types.h>
6634 #include <sys/socket.h>
6635 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6637 _inet6=no
6638 if cc_check ; then
6639 _inet6=yes
6642 if test "$_inet6" = yes ; then
6643 _def_inet6='#define HAVE_AF_INET6 1'
6644 else
6645 _def_inet6='#undef HAVE_AF_INET6'
6647 echores "$_inet6"
6650 echocheck "gethostbyname2"
6651 if test "$_gethostbyname2" = auto ; then
6652 cat > $TMPC << EOF
6653 #include <sys/types.h>
6654 #include <sys/socket.h>
6655 #include <netdb.h>
6656 int main(void) { gethostbyname2("", AF_INET); }
6658 _gethostbyname2=no
6659 if cc_check ; then
6660 _gethostbyname2=yes
6664 if test "$_gethostbyname2" = yes ; then
6665 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
6666 else
6667 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
6669 echores "$_gethostbyname2"
6671 # --------------- GUI specific tests begin -------------------
6672 echocheck "GUI"
6673 echo "$_gui"
6674 if test "$_gui" = yes ; then
6676 # Required libraries
6677 test "$_png" != yes && die "PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6678 test "$_x11" != yes && die "X11 support required for GUI compilation"
6680 echocheck "XShape extension"
6681 _xshape=no
6682 if test "$_x11" = yes ; then
6683 cat > $TMPC << EOF
6684 #include <X11/Xlib.h>
6685 #include <X11/Xproto.h>
6686 #include <X11/Xutil.h>
6687 #include <X11/extensions/shape.h>
6688 #include <stdlib.h>
6689 int main(void) {
6690 char *name = ":0.0";
6691 Display *wsDisplay;
6692 int exitvar = 0;
6693 int eventbase, errorbase;
6694 if (getenv("DISPLAY"))
6695 name=getenv("DISPLAY");
6696 wsDisplay=XOpenDisplay(name);
6697 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6698 exitvar=1;
6699 XCloseDisplay(wsDisplay);
6700 return exitvar;
6703 cc_check $_inc_x11 $_ld_x11 && _xshape=yes
6705 if test "$_xshape" = yes ; then
6706 _def_xshape='#define HAVE_XSHAPE 1'
6707 else
6708 die "The GUI requires the X11 extension XShape (which was not found)."
6710 echores "$_xshape"
6712 #Check for GTK
6713 if test "$_gtk1" = no ; then
6714 #Check for GTK2 :
6715 echocheck "GTK+ version"
6717 if pkg-config gtk+-2.0 --exists ; then
6718 _gtk=`pkg-config gtk+-2.0 --modversion 2>/dev/null`
6719 _inc_gtk=`pkg-config gtk+-2.0 --cflags 2>/dev/null`
6720 _ld_gtk=`pkg-config gtk+-2.0 --libs 2>/dev/null`
6721 echores "$_gtk"
6723 # Check for GLIB2
6724 if pkg-config glib-2.0 --exists ; then
6725 echocheck "glib version"
6726 _glib=`pkg-config glib-2.0 --modversion 2>/dev/null`
6727 _inc_glib=`pkg-config glib-2.0 --cflags 2>/dev/null`
6728 _ld_glib=`pkg-config glib-2.0 --libs 2>/dev/null`
6729 echores "$_glib"
6731 _def_gui='#define HAVE_NEW_GUI 1'
6732 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
6733 _ld_gui='$(GTKLIB) $(GLIBLIB)'
6734 else
6735 _gtk1=yes
6736 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
6738 else
6739 echo "GTK-2 devel packages were not found, trying GTK 1.2"
6740 _gtk1=yes
6744 if test "$_gtk1" = yes ; then
6745 # Check for old GTK (1.2.x)
6746 echocheck "GTK version"
6747 if test -z "$_gtkconfig" ; then
6748 if ( gtk-config --version ) >/dev/null 2>&1 ; then
6749 _gtkconfig="gtk-config"
6750 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
6751 _gtkconfig="gtk12-config"
6752 else
6753 die "The GUI requires GTK devel packages (which were not found)."
6756 _gtk=`$_gtkconfig --version 2>&1`
6757 _inc_gtk=`$_gtkconfig --cflags 2>&1`
6758 _ld_gtk=`$_gtkconfig --libs 2>&1`
6759 echores "$_gtk (using $_gtkconfig)"
6761 # Check for GLIB
6762 echocheck "glib version"
6763 if test -z "$_glibconfig" ; then
6764 if ( glib-config --version ) >/dev/null 2>&1 ; then
6765 _glibconfig="glib-config"
6766 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
6767 _glibconfig="glib12-config"
6768 else
6769 die "The GUI requires GLib devel packages (which were not found)"
6772 _glib=`$_glibconfig --version 2>&1`
6773 _inc_glib=`$_glibconfig --cflags 2>&1`
6774 _ld_glib=`$_glibconfig --libs 2>&1`
6775 echores "$_glib (using $_glibconfig)"
6777 _def_gui='#define HAVE_NEW_GUI 1'
6778 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
6779 _ld_gui='$(GTKLIB) $(GLIBLIB)'
6782 echo "Creating Gui/config.mak"
6783 cat > Gui/config.mak << EOF
6784 # -------- Generated by configure -----------
6786 GTKINC = $_inc_gtk
6787 GTKLIBS = $_ld_gtk
6788 GLIBINC = $_inc_glib
6789 GLIBLIBS = $_ld_glib
6793 else
6794 _def_gui='#undef HAVE_NEW_GUI'
6795 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
6797 # --------------- GUI specific tests end -------------------
6801 #############################################################################
6803 # Checking for CFLAGS
6804 _stripbinaries=yes
6805 if test "$_profile" != "" || test "$_debug" != "" ; then
6806 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6807 if test "$_cc_major" -ge "3" ; then
6808 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6810 _stripbinaries=no
6811 elif test -z "$CFLAGS" ; then
6812 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6813 # always compile with '-g' if .developer:
6814 if test -f ".developer" ; then
6815 CFLAGS="-g $CFLAGS"
6816 if test "$_crash_debug" = auto && not mingw32 ; then
6817 _crash_debug=yes
6819 _stripbinaries=no
6821 else
6822 _warn_CFLAGS=yes
6825 echocheck "automatic gdb attach"
6826 if test "$_crash_debug" = yes ; then
6827 _def_crash_debug='#define CRASH_DEBUG 1'
6828 else
6829 _def_crash_debug='#undef CRASH_DEBUG'
6830 _crash_debug=no
6832 echores "$_crash_debug"
6834 if darwin ; then
6835 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN"
6836 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6837 CFLAGS="$CFLAGS -no-cpp-precomp"
6840 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
6841 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
6843 if hpux ; then
6844 # use flag for HPUX missing setenv()
6845 CFLAGS="$CFLAGS -DHPUX"
6847 # Thread support
6848 if linux ; then
6849 CFLAGS="$CFLAGS -D_REENTRANT"
6850 elif bsd ; then
6851 # FIXME bsd needs this so maybe other OS'es
6852 CFLAGS="$CFLAGS -D_THREAD_SAFE"
6854 # 64 bit file offsets?
6855 if test "$_largefiles" = yes || freebsd ; then
6856 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6857 if test "$_dvdread" = yes ; then
6858 # dvdread support requires this (for off64_t)
6859 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
6863 echocheck "compiler support for -fno-PIC"
6864 if x86; then
6865 cat > $TMPC <<EOF
6866 int main(void) { return 0; }
6868 if cc_check -fno-PIC ; then
6869 CFLAGS="-fno-PIC $CFLAGS"
6870 echores "yes"
6871 else
6872 echores "no"
6874 else
6875 echores "only used for x86"
6878 echocheck "compiler support for noexecstack"
6879 cat > $TMPC <<EOF
6880 int main(void) { return 0; }
6882 if cc_check -Wl,-z,noexecstack ; then
6883 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
6884 echores "yes"
6885 else
6886 echores "no"
6889 echocheck "ftello()"
6890 # if we don't have ftello use the osdep/ compatibility module
6891 cat > $TMPC << EOF
6892 #include <stdio.h>
6893 #include <sys/types.h>
6894 int main (void) { ftello(stdin); return 0; }
6896 _ftello=no
6897 cc_check && _ftello=yes
6898 if test "$_ftello" = yes ; then
6899 _def_ftello='#define HAVE_FTELLO 1'
6900 else
6901 _def_ftello='#undef HAVE_FTELLO'
6903 echores "$_ftello"
6905 # Determine OS dependent libs
6906 if cygwin ; then
6907 _def_confwin32='#define WIN32'
6908 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
6909 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
6910 CFLAGS="$CFLAGS -D__CYGWIN__"
6913 if win32 ; then
6914 _confwin32='TARGET_WIN32 = yes'
6915 else
6916 _confwin32='TARGET_WIN32 = no'
6919 # Dynamic linking flags
6920 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6921 _ld_dl_dynamic=''
6922 bsd && _ld_dl_dynamic='-rdynamic'
6923 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx && not darwin ; then
6924 _ld_dl_dynamic='-rdynamic'
6927 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6928 bsdos && _ld_arch="$_ld_arch -ldvd"
6929 if netbsd ; then
6930 x86 && _ld_arch="$_ld_arch -li386"
6933 _def_debug='#undef MP_DEBUG'
6934 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
6936 _def_linux='#undef TARGET_LINUX'
6937 linux && _def_linux='#define TARGET_LINUX 1'
6939 # TODO cleanup the VIDIX stuff here
6940 echocheck "VIDIX"
6941 _def_vidix='#define CONFIG_VIDIX 1'
6942 test "$_vidix" = no && _def_vidix='#undef CONFIG_VIDIX'
6943 if test "$_vidix" = yes; then
6944 _vosrc="$_vosrc vo_cvidix.c"
6945 _vomodules="cvidix $_vomodules"
6946 else
6947 _novomodules="cvidix $_novomodules"
6949 if test "$_vidix" = yes && win32; then
6950 _vosrc="$_vosrc vo_winvidix.c"
6951 _vomodules="winvidix $_vomodules"
6952 _ld_win32libs="-lgdi32 $_ld_win32libs"
6953 else
6954 _novomodules="winvidix $_novomodules"
6956 if test "$_vidix" = yes && test "$_x11" = yes; then
6957 _vosrc="$_vosrc vo_xvidix.c"
6958 _vomodules="xvidix $_vomodules"
6959 else
6960 _novomodules="xvidix $_novomodules"
6962 echores "$_vidix"
6964 echocheck "joystick"
6965 _def_joystick='#undef HAVE_JOYSTICK'
6966 if test "$_joystick" = yes ; then
6967 if linux ; then
6968 # TODO add some check
6969 _def_joystick='#define HAVE_JOYSTICK 1'
6970 else
6971 _joystick="no (unsupported under $system_name)"
6974 echores "$_joystick"
6976 echocheck "lirc"
6977 if test "$_lirc" = auto ; then
6978 _lirc=no
6979 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
6980 cat > $TMPC <<EOF
6981 #include <lirc/lirc_client.h>
6982 int main(void) { return 0; }
6984 cc_check -llirc_client && _lirc=yes
6987 if test "$_lirc" = yes ; then
6988 _def_lirc='#define HAVE_LIRC 1'
6989 _ld_lirc='-llirc_client'
6990 else
6991 _def_lirc='#undef HAVE_LIRC'
6993 echores "$_lirc"
6995 echocheck "lircc"
6996 if test "$_lircc" = auto ; then
6997 _lircc=no
6998 cat > $TMPC <<EOF
6999 #include <lirc/lircc.h>
7000 int main(void) { return 0; }
7002 cc_check -llircc && _lircc=yes
7004 if test "$_lircc" = yes ; then
7005 _def_lircc='#define HAVE_LIRCC 1'
7006 _ld_lircc='-llircc'
7007 else
7008 _def_lircc='#undef HAVE_LIRCC'
7010 echores "$_lircc"
7012 #############################################################################
7013 echo "Creating config.mak"
7014 cat > config.mak << EOF
7015 # -------- Generated by configure -----------
7017 LANG = C
7018 MAN_LANG = $MAN_LANG
7019 TARGET_OS = $system_name
7020 DESTDIR =
7021 prefix = \$(DESTDIR)$_prefix
7022 BINDIR = \$(DESTDIR)$_bindir
7023 DATADIR = \$(DESTDIR)$_datadir
7024 MANDIR = \$(DESTDIR)$_mandir
7025 CONFDIR = \$(DESTDIR)$_confdir
7026 LIBDIR = \$(DESTDIR)$_libdir
7027 # FFmpeg uses libdir instead of LIBDIR
7028 libdir = \$(LIBDIR)
7029 #AR = ar
7030 CC = $_cc
7031 HOST_CC = $_host_cc
7032 AWK = $_awk
7033 RANLIB = $_ranlib
7034 INSTALL = $_install
7035 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
7036 EXTRA_INC = $_inc_extra
7037 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC)
7038 STRIPBINARIES = $_stripbinaries
7039 CHARSET = $_charset
7040 HELP_FILE = $_mp_help
7042 PRG = $_prg
7043 PRG_MENCODER = $_prg_mencoder
7045 $_live_libs_def
7047 MPLAYER_NETWORK = $_network
7048 STREAMING_LIVE555 = $_live
7049 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
7050 DVBIN = $_dvbin
7051 VIDIX = $_vidix
7052 CONFIG_PP = yes
7053 CONFIG_MP3LAME = $_mp3lame
7054 LIBMENU = $_menu
7055 I18NLIBS = $_i18n_libs
7056 MATROSKA = $_matroska_internal
7058 OPENDIVX = $_opendivx
7060 MP3LIB = $_mp3lib
7061 LIBA52 = $_liba52
7062 LIBMPEG2 = $_libmpeg2
7063 TREMOR = $_tremor_internal
7064 TREMOR_FLAGS = $_tremor_flags
7066 SPEEX = $_speex
7067 MUSEPACK = $_musepack
7069 UNRARLIB = $_unrarlib
7070 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
7071 PNG = $_mkf_png
7072 JPEG = $_mkf_jpg
7073 GIF = $_mkf_gif
7075 EXTRA_LIB = $_ld_extra
7076 Z_LIB = $_ld_static $_ld_zlib
7077 HAVE_MLIB = $_mlib
7078 WIN32_LIB = $_ld_win32libs
7079 STATIC_LIB = $_ld_static
7080 ENCA_LIB = $_ld_enca
7081 HAVE_PTHREADS = $_pthreads
7082 MATH_LIB = $_ld_lm
7084 X11_INC = $_inc_x11
7085 X11DIR = $_ld_x11
7087 HAVE_XVMC_ACCEL = $_xvmc
7089 # for libavcodec:
7090 SRC_PATH=..
7091 LIBPREF=lib
7092 LIBSUF=.a
7093 SLIBPREF=lib
7094 SLIBSUF=.so
7096 # video output
7097 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
7098 GGI_LIB = $_ld_ggi
7099 MLIB_LIB = $_ld_mlib
7100 MLIB_INC = $_inc_mlib
7101 DXR2_INC = $_inc_dxr2
7102 DVB_INC = $_inc_dvb
7103 PNG_LIB = $_ld_png
7104 JPEG_LIB = $_ld_jpg
7105 GIF_LIB = $_ld_gif
7106 SDL_LIB = $_ld_sdl
7107 SVGA_LIB = $_ld_svga
7108 VESA_LIB = $_ld_vesa
7109 AA_LIB = $_ld_aa
7110 CACA_INC = $_inc_caca
7111 CACA_LIB = $_ld_caca
7113 # audio output
7114 ALSA_LIB = $_ld_alsa
7115 NAS_LIB = $_ld_nas
7116 ARTS_LIB = $_ld_arts
7117 ARTS_INC = $_inc_arts
7118 ESD_LIB = $_ld_esd
7119 ESD_INC = $_inc_esd
7120 POLYP_LIB = $_ld_polyp
7121 POLYP_INC = $_inc_polyp
7122 JACK_LIB = $_ld_jack
7123 JACK_INC = $_inc_jack
7124 SGIAUDIO_LIB = $_ld_sgiaudio
7126 # input/demuxer/codecs
7127 TERMCAP_LIB = $_ld_termcap
7128 LIRC_LIB = $_ld_lirc
7129 LIRCC_LIB = $_ld_lircc
7130 HAVE_DVD = $_have_dvd
7131 DVDREAD = $_dvdread
7132 DVDREAD_LIB = $_ld_dvdread
7133 DVDKIT = $_dvdkit
7134 DVDKIT2 = $_dvdkit2
7135 DVDKIT_SHARED = no
7136 SDL_INC = $_inc_sdl
7137 W32_DEP = $_dep_win32
7138 W32_LIB = $_ld_win32
7139 DS_DEP = $_dep_dshow
7140 DS_LIB = $_ld_dshow
7141 AV_DEP = $_dep_libavutil $_dep_libavcodec $_dep_libavformat
7142 AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil
7143 CONFIG_LIBAVUTIL = $_libavutil
7144 CONFIG_LIBAVCODEC = $_libavcodec
7145 CONFIG_LIBAVCODECSO = $_libavcodecso
7146 CONFIG_LIBAVFORMAT = $_libavformat
7147 ZORAN = $_zr
7148 FAME = $_fame
7149 FAME_LIB = $_ld_fame
7150 MP1E_DEP = $_dep_mp1e
7151 MP1E_LIB = $_ld_mp1e
7152 ARCH_LIB = $_ld_arch $_ld_iconv
7153 XVID = $_xvid
7154 XVID_INC = $_inc_xvid
7155 XVID_LIB = $_ld_xvid
7156 X264 = $_x264
7157 X264_INC = $_inc_x264
7158 X264_LIB = $_ld_x264
7159 CONFIG_DTS = $_libdts
7160 DTS_INC = $_inc_libdts
7161 DTS_LIB = $_ld_libdts
7162 DECORE_LIB = $_ld_decore $_ld_mp3lame
7163 MENCODER = $_mencoder
7164 ENCORE_LIB = $_ld_encore $_ld_mp3lame
7165 DIRECTFB_INC = $_inc_directfb
7166 DIRECTFB_LIB = $_ld_directfb
7167 CDPARANOIA_INC = $_inc_cdparanoia
7168 CDPARANOIA_LIB = $_ld_cdparanoia
7169 FREETYPE_INC = $_inc_freetype
7170 FREETYPE_LIB = $_ld_freetype
7171 FONTCONFIG_INC = $_inc_fontconfig
7172 FONTCONFIG_LIB = $_ld_fontconfig
7173 FRIBIDI_INC = $_inc_fribidi
7174 FRIBIDI_LIB = $_ld_fribidi
7175 LIBCDIO_INC = $_inc_libcdio
7176 LIBCDIO_LIB = $_ld_libcdio
7177 LIBLZO_LIB= $_ld_liblzo
7178 MAD_LIB = $_ld_mad
7179 VORBIS_LIB = $_ld_vorbis $_ld_libdv
7180 SPEEX_LIB = $_ld_speex
7181 THEORA_LIB = $_ld_theora
7182 FAAD_LIB = $_ld_faad
7183 INTERNAL_FAAD = $_faad_internal
7184 SMBSUPPORT_LIB = $_ld_smb
7185 XMMS_PLUGINS = $_xmms
7186 XMMS_LIB = $_xmms_lib
7187 MACOSX = $_macosx
7188 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7189 MACOSX_BUNDLE = $_macosx_bundle
7190 MACOSX_FRAMEWORKS = $_macosx_frameworks
7191 MACOSX_COREVIDEO = $_macosx_corevideo
7192 TOOLAME=$_toolame
7193 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
7194 TOOLAME_LIB=$_toolame_lib
7195 TWOLAME=$_twolame
7196 TWOLAME_LIB=$_twolame_lib
7197 MUSEPACK_LIB = $_ld_musepack
7198 FAAC=$_faac
7199 FAAC_LIB=$_ld_faac
7200 AMR_NB=$_amr_nb
7201 AMR_NB_FIXED=$_amr_nb_fixed
7202 AMR_WB=$_amr_wb
7203 `echo $_libavcodecs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7204 CONFIG_GPL=yes
7206 # --- Some stuff for autoconfigure ----
7207 $_target_arch
7208 $_confwin32
7209 TARGET_CPU=$iproc
7210 TARGET_MMX = $_mmx
7211 TARGET_MMX2 = $_mmx2
7212 TARGET_3DNOW = $_3dnow
7213 TARGET_3DNOWEX = $_3dnowex
7214 TARGET_SSE = $_sse
7215 TARGET_ALTIVEC = $_altivec
7216 TARGET_VIS = $_vis
7218 # --- GUI stuff ---
7219 GTKINC = $_inc_gtk
7220 GTKLIB = $_ld_static $_ld_gtk
7221 GLIBLIB = $_ld_static $_ld_glib
7222 GTK_LIBS = $_ld_static $_ld_gui
7223 GUI = $_gui
7224 DEBUG = -DDEBUG
7228 #############################################################################
7229 echo "Creating config.h"
7230 cat > config.h << EOF
7231 /* -------- This file has been automatically generated by configure ---------
7232 Note: Any changes in it will be lost when you run configure again. */
7234 /* Protect against multiple inclusion */
7235 #ifndef MPLAYER_CONFIG_H
7236 #define MPLAYER_CONFIG_H 1
7238 /* use GNU internationalization */
7239 $_def_i18n
7241 /* Runtime CPU detection */
7242 $_def_runtime_cpudetection
7244 /* Dynamic a/v plugins */
7245 $_def_dynamic_plugins
7247 /* "restrict" keyword */
7248 $_def_restrict_keyword
7250 /* __builtin_expect branch prediction hint */
7251 $_def_builtin_expect
7252 #ifdef HAVE_BUILTIN_EXPECT
7253 #define likely(x) __builtin_expect ((x) != 0, 1)
7254 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7255 #else
7256 #define likely(x) (x)
7257 #define unlikely(x) (x)
7258 #endif
7260 /* attribute(used) as needed by some compilers */
7261 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7262 # define attribute_used __attribute__((used))
7263 #else
7264 # define attribute_used
7265 #endif
7267 #define PREFIX "$_prefix"
7269 #define USE_OSD 1
7270 #define USE_SUB 1
7272 /* enable/disable SIGHANDLER */
7273 $_def_sighandler
7275 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7276 $_def_crash_debug
7278 /* Toggles debugging informations */
7279 $_def_debug
7281 /* Toggles colorized output */
7282 //#define MSG_USE_COLORS 1
7284 /* Indicates that libcdio is available for VCD and CD-DA playback */
7285 $_def_libcdio
7287 /* Indicates that Ogle's libdvdread is available for DVD playback */
7288 $_def_dvdread
7290 /* Indicates that dvdread is from libmpdvdkit */
7291 $_def_mpdvdkit
7293 /* Additional options for libmpdvdkit*/
7294 $_def_dvd
7295 $_def_cdrom
7296 $_def_cdio
7297 $_def_dvdio
7298 $_def_bsdi_dvd
7299 $_def_dvd_bsd
7300 $_def_dvd_linux
7301 $_dev_dvd_openbsd
7302 $_def_dvd_darwin
7303 $_def_sol_scsi_h
7304 $_def_hpux_scsi_h
7305 $_def_stddef
7306 $_def_have_dvd
7308 /* Common data directory (for fonts, etc) */
7309 #define MPLAYER_DATADIR "$_datadir"
7310 #define MPLAYER_CONFDIR "$_confdir"
7311 #define MPLAYER_LIBDIR "$_libdir"
7313 /* Define this to compile stream-caching support, it can be enabled via
7314 -cache <kilobytes> */
7315 #define USE_STREAM_CACHE 1
7317 /* Define to include support for XviD/Divx4Linux/OpenDivx */
7318 $_def_divx
7320 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
7321 /* You have to change DECORE_LIBS in config.mak, too! */
7322 $_def_decore
7324 /* Define if you are using DivX5Linux Decore library */
7325 $_def_divx5
7327 /* Define if you are using XviD library */
7328 $_def_xvid3
7329 $_def_xvid4
7330 $_def_decore_xvid
7331 $_def_encore_xvid
7333 /* Define if you are using the X.264 library */
7334 $_def_x264
7336 /* Define to include support for libdv-0.9.5 */
7337 $_def_libdv
7339 /* If build mencoder */
7340 $_mencoder_flag
7342 /* Indicates if XviD/Divx4linux encore is available
7343 Note: for mencoder */
7344 $_def_encore
7346 /* Indicates if libmp3lame is available
7347 Note: for mencoder */
7348 $_def_mp3lame
7349 $_def_mp3lame_preset
7350 $_def_mp3lame_preset_medium
7352 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
7353 $_def_mp1e
7355 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7356 (use -bps or -nobps commandline option for run-time method selection)
7357 -bps gives better sync for vbr mp3 audio, it is now default */
7358 #define AVI_SYNC_BPS 1
7360 /* Undefine this if you do not want to select mono audio (left or right)
7361 with a stereo MPEG layer 2/3 audio stream. The command line option
7362 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7363 right-only), with 0 being the default.
7365 #define USE_FAKE_MONO 1
7367 /* Undefine this if your sound card driver has no working select().
7368 If you have kernel Oops, player hangups, or just no audio, you should
7369 try to recompile MPlayer with this option disabled! */
7370 $_def_select
7372 /* define this to use iconv(3) function to codepage conversions */
7373 $_def_iconv
7375 /* define this to use nl_langinfo function */
7376 $_def_langinfo
7378 /* define this to use RTC (/dev/rtc) for video timers */
7379 $_def_rtc
7381 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7382 #define MAX_OUTBURST 65536
7384 /* set up audio OUTBURST. Do not change this! */
7385 #define OUTBURST 512
7387 /* Define this if your system has the header file for the OSS sound interface */
7388 $_def_sys_soundcard
7390 /* Define this if your system has the header file for the OSS sound interface
7391 * in /usr/include */
7392 $_def_soundcard
7394 /* Define this if your system has the sysinfo header */
7395 $_def_sys_sysinfo
7397 /* Define this if your system has ftello() */
7399 $_def_ftello
7400 #ifndef HAVE_FTELLO
7401 /* Need these for FILE and off_t an config.h is usually before other includes*/
7402 #include <stdio.h>
7403 #include <sys/types.h>
7404 off_t ftello(FILE *);
7405 #endif
7407 /* Define this if your system has the "malloc.h" header file */
7408 $_def_malloc
7410 /* memalign is mapped to malloc if unsupported */
7411 $_def_memalign
7412 #ifndef HAVE_MEMALIGN
7413 # define memalign(a,b) malloc(b)
7414 #define MEMALIGN_HACK 1
7415 #endif
7417 /* Define this if your system has the "alloca.h" header file */
7418 $_def_alloca
7420 /* Define this if your system has the "sys/mman.h" header file */
7421 $_def_mman
7422 $_def_mman_has_map_failed
7424 /* Define this if you have the elf dynamic linker -ldl library */
7425 $_def_dl
7427 /* Define this if you have the kstat kernel statistics library */
7428 $_def_kstat
7430 /* Define this if you have zlib */
7431 $_def_zlib
7432 #ifdef HAVE_ZLIB
7433 #define CONFIG_ZLIB 1
7434 #endif
7436 /* Define this if you have shm support */
7437 $_def_shm
7439 /* Define this if your system has scandir & alphasort */
7440 $_def_scandir
7442 /* Define this if your system has strsep */
7443 $_def_strsep
7445 /* Define this if your system has strlcpy */
7446 $_def_strlcpy
7447 #ifndef HAVE_STRLCPY
7448 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7449 #endif
7451 /* Define this if your system has strlcat */
7452 $_def_strlcat
7453 #ifndef HAVE_STRLCAT
7454 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7455 #endif
7457 /* Define this if your system has fseeko */
7458 $_def_fseeko
7459 #ifndef HAVE_FSEEKO
7460 /* Need these for FILE and off_t an config.h is usually before other includes*/
7461 #include <stdio.h>
7462 #include <sys/types.h>
7463 int fseeko(FILE *, off_t, int);
7464 #endif
7466 $_def_localtime_r
7468 /* Define this if your system has vsscanf */
7469 $_def_vsscanf
7471 /* Define this if your system has swab */
7472 $_def_swab
7474 /* Define this if your system has no posix select */
7475 $_def_no_posix_select
7477 /* Define this if your system has gettimeofday */
7478 $_def_gettimeofday
7480 /* Define this if your system has glob */
7481 $_def_glob
7483 /* Define this if your system has pthreads */
7484 $_def_pthreads
7486 /* Define this if you enabled thread support for libavcodec */
7487 $_def_threads
7489 /* LIRC (remote control, see www.lirc.org) support: */
7490 $_def_lirc
7493 * LIRCCD (LIRC client daemon)
7494 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7496 $_def_lircc
7498 /* DVD navigation support using libdvdnav */
7499 $_def_dvdnav
7500 $_def_dvdnav_version
7502 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7503 #define MPEG12_POSTPROC 1
7505 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7506 $_def_ffpostprocess
7508 /* Define to include support for OpenDivx postprocessing */
7509 $_def_odivx_postprocess
7511 /* Win32 DLL support */
7512 $_def_win32
7513 #define WIN32_PATH "$_win32libdir"
7515 /* DirectShow support */
7516 $_def_dshow
7518 /* Mac OS X specific features */
7519 $_def_macosx
7520 $_def_macosx_finder_support
7521 $_def_macosx_bundle
7522 $_def_macosx_corevideo
7524 /* Build our Win32-loader */
7525 $_def_win32_loader
7527 /* ffmpeg's libavcodec support (requires libavcodec source) */
7528 $_def_libavcodec
7529 $_def_libavcodecso
7531 /* ffmpeg's libavformat support (requires libavformat source) */
7532 $_def_libavformat
7533 $_def_libavformat_win32
7535 /* Use libavcodec's decoders */
7536 #define CONFIG_DECODERS 1
7537 /* Use libavcodec's encoders */
7538 #define CONFIG_ENCODERS 1
7540 /* Use libavformat's demuxers */
7541 #define CONFIG_DEMUXERS 1
7542 /* Use libavformat's muxers */
7543 #define CONFIG_MUXERS 1
7545 #define CONFIG_MPEGAUDIO_HP 1
7547 #define CONFIG_GPL 1
7549 /* Use amr codecs from libavcodec (requires amr sources) */
7550 $_def_amr_nb
7551 $_def_amr_nb_fixed
7552 $_def_amr_wb
7554 /* Use specific codecs from libavcodec */
7555 `echo $_libavcodecs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7557 /* Use codec libs included in mplayer CVS / source dist: */
7558 $_def_mp3lib
7559 $_def_liba52
7560 $_def_libdts
7561 $_def_libmpeg2
7563 /* Use libfame encoder filter */
7564 $_def_fame
7566 /* XAnim DLL support */
7567 $_def_xanim
7568 /* Default search path */
7569 $_def_xanim_path
7571 /* RealPlayer DLL support */
7572 $_def_real
7573 /* Default search path */
7574 $_def_real_path
7576 /* LIVE555 Streaming Media library support */
7577 $_def_live
7579 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7580 $_def_fastmemcpy
7582 /* Use unrarlib for Vobsubs */
7583 $_def_unrarlib
7585 /* gui support, please do not edit this option */
7586 $_def_gui
7587 $_def_gtk2_gui
7589 /* Audio output drivers */
7590 $_def_ossaudio
7591 $_def_ossaudio_devdsp
7592 $_def_ossaudio_devmixer
7593 $_def_alsa5
7594 $_def_alsa9
7595 $_def_alsa1x
7596 $_def_arts
7597 $_def_esd
7598 $_def_esd_latency
7599 $_def_polyp
7600 $_def_jack
7601 $_def_sys_asoundlib_h
7602 $_def_alsa_asoundlib_h
7603 $_def_sunaudio
7604 $_def_sgiaudio
7605 $_def_win32waveout
7606 $_def_nas
7608 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7609 #undef FAST_OSD
7610 #undef FAST_OSD_TABLE
7612 /* Enable TV Interface support */
7613 $_def_tv
7615 /* Enable EDL support */
7616 $_def_edl
7618 /* Enable Video 4 Linux TV interface support */
7619 $_def_tv_v4l
7621 /* Enable Video 4 Linux 2 TV interface support */
7622 $_def_tv_v4l2
7624 /* Enable *BSD BrookTree TV interface support */
7625 $_def_tv_bsdbt848
7627 /* Define if your processor stores words with the most significant
7628 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7629 $_def_words_endian
7631 $_def_arch
7633 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
7634 have the instruction. */
7635 $_def_dcbzl
7637 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7638 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7640 #ifdef ARCH_POWERPC
7641 #define ARCH_PPC 1
7642 #endif
7644 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7645 #ifdef ARCH_ARMV4L
7646 #define ARCH_ARM 1
7647 #endif
7649 /* only gcc3 can compile mvi instructions */
7650 $_def_gcc_mvi_support
7652 /* Define this for Cygwin build for win32 */
7653 $_def_confwin32
7655 /* Define this to any prefered value from 386 up to infinity with step 100 */
7656 #define __CPU__ $iproc
7658 $_mp_wordsize
7660 $_def_linux
7662 $_def_vcd
7664 #ifdef sun
7665 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7666 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7667 #elif defined(HPUX)
7668 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7669 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7670 #elif defined(WIN32)
7671 #define DEFAULT_CDROM_DEVICE "D:"
7672 #define DEFAULT_DVD_DEVICE "D:"
7673 #elif defined(SYS_DARWIN)
7674 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7675 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7676 #elif defined(__OpenBSD__)
7677 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7678 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7679 #elif defined(__FreeBSD__)
7680 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
7681 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7682 #else
7683 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7684 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7685 #endif
7688 /*----------------------------------------------------------------------------
7690 ** NOTE: Instead of modifying these definitions here, use the
7691 ** --enable/--disable options of the ./configure script!
7692 ** See ./configure --help for details.
7694 *---------------------------------------------------------------------------*/
7696 /* C99 lrintf function available */
7697 $_def_lrintf
7699 /* round function is available */
7700 $_def_round
7702 /* yes, we have inttypes.h */
7703 #define HAVE_INTTYPES_H 1
7705 /* int_fastXY_t emulation */
7706 $_def_fast_inttypes
7708 /* nanosleep support */
7709 $_def_nanosleep
7711 /* SMB support */
7712 $_def_smbsupport
7714 /* termcap flag for getch2.c */
7715 $_def_termcap
7717 /* termios flag for getch2.c */
7718 $_def_termios
7719 $_def_termios_h
7720 $_def_termios_sys_h
7722 /* enable PNG support */
7723 $_def_png
7725 /* enable JPEG support */
7726 $_def_jpg
7728 /* enable PNM support */
7729 $_def_pnm
7731 /* enable md5sum support */
7732 $_def_md5sum
7734 /* enable GIF support */
7735 $_def_gif
7736 $_def_gif_4
7737 $_def_gif_tvt_hack
7739 /* enable FreeType support */
7740 $_def_freetype
7742 /* enable Fontconfig support */
7743 $_def_fontconfig
7745 /* enable FriBiDi usage */
7746 $_def_fribidi
7748 /* enable ENCA usage */
7749 $_def_enca
7751 /* liblzo support */
7752 $_def_liblzo
7754 /* libmad support */
7755 $_def_mad
7757 /* enable OggVorbis support */
7758 $_def_vorbis
7760 /* enable Tremor as vorbis decoder */
7761 $_def_tremor
7763 /* enable Speex support */
7764 $_def_speex
7766 /* enable musepack support */
7767 $_def_musepack
7769 /* enable OggTheora support */
7770 $_def_theora
7772 /* enable Matroska support */
7773 $_def_matroska
7775 /* enable FAAD (AAC) support */
7776 $_def_faad
7777 $_def_faad_internal
7779 /* enable FAAC (AAC encoder) support */
7780 $_def_faac
7782 /* enable LADSPA plugin support */
7783 $_def_ladspa
7785 /* enable network */
7786 $_def_network
7788 /* enable ftp support */
7789 $_def_ftp
7791 /* enable vstream support */
7792 $_def_vstream
7794 /* enable winsock2 instead of Unix functions*/
7795 $_def_winsock2
7797 /* define this to use inet_aton() instead of inet_pton() */
7798 $_def_use_aton
7800 /* enables / disables cdparanoia support */
7801 $_def_cdparanoia
7803 /* enables / disables VIDIX usage */
7804 $_def_vidix
7806 /* enables / disables new input joystick support */
7807 $_def_joystick
7809 /* enables / disables QTX codecs */
7810 $_def_qtx
7812 /* enables / disables osd menu */
7813 $_def_menu
7815 /* enables / disables subtitles sorting */
7816 $_def_sortsub
7818 /* XMMS input plugin support */
7819 $_def_xmms
7820 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7822 /* enables inet6 support */
7823 $_def_inet6
7825 /* do we have gethostbyname2? */
7826 $_def_gethostbyname2
7828 /* Extension defines */
7829 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
7830 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
7831 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
7832 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
7833 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
7834 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
7835 $_def_altivec // only define if you have Altivec (G4)
7837 $_def_altivec_h // enables usage of altivec.h
7840 $_def_mlib // Sun mediaLib, available only on solaris
7841 $_def_vis // only define if you have VIS ( ultrasparc )
7843 /* libmpeg2 uses a different feature test macro for mediaLib */
7844 #ifdef HAVE_MLIB
7845 #define LIBMPEG2_MLIB 1
7846 #endif
7848 /* libvo options */
7849 #define SCREEN_SIZE_X 1
7850 #define SCREEN_SIZE_Y 1
7851 $_def_x11
7852 $_def_xv
7853 $_def_xvmc
7854 $_def_vm
7855 $_def_xf86keysym
7856 $_def_xinerama
7857 $_def_gl
7858 $_def_gl_win32
7859 $_def_dga
7860 $_def_dga2
7861 $_def_sdl
7862 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
7863 $_def_sdlbuggy
7864 $_def_directx
7865 $_def_ggi
7866 $_def_ggiwmh
7867 $_def_3dfx
7868 $_def_tdfxfb
7869 $_def_tdfxvid
7870 $_def_directfb
7871 $_def_directfb_version
7872 $_def_zr
7873 $_def_bl
7874 $_def_mga
7875 $_def_xmga
7876 $_def_syncfb
7877 $_def_fbdev
7878 $_def_dxr2
7879 $_def_dxr3
7880 $_def_dvb
7881 $_def_dvb_in
7882 $_def_svga
7883 $_def_vesa
7884 $_def_xdpms
7885 $_def_aa
7886 $_def_caca
7887 $_def_tga
7888 $_def_toolame
7889 $_def_twolame
7891 /* used by GUI: */
7892 $_def_xshape
7894 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
7895 #define X11_FULLSCREEN 1
7896 #endif
7898 #endif /* MPLAYER_CONFIG_H */
7901 #############################################################################
7903 echo "Creating libvo/config.mak"
7904 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g;s/\.m/\.o/g'`
7905 cat > libvo/config.mak << EOF
7906 include ../config.mak
7907 OPTIONAL_SRCS = $_vosrc
7908 OPTIONAL_OBJS = $_voobj
7911 #############################################################################
7913 echo "Creating libao2/config.mak"
7914 _aoobj=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
7915 cat > libao2/config.mak << EOF
7916 include ../config.mak
7917 OPTIONAL_SRCS = $_aosrc
7918 OPTIONAL_OBJS = $_aoobj
7921 #############################################################################
7923 echo "Creating libaf/config.mak"
7924 _afobj=`echo $_afsrc | sed -e 's/\.c/\.o/g'`
7925 cat > libaf/config.mak << EOF
7926 include ../config.mak
7927 OPTIONAL_SRCS = $_afsrc
7928 OPTIONAL_OBJS = $_afobj
7931 #############################################################################
7933 cat << EOF
7935 Config files successfully generated by ./configure !
7937 Install prefix: $_prefix
7938 Data directory: $_datadir
7939 Config direct.: $_confdir
7941 Byte order: $_byte_order
7942 Optimizing for: $_optimizing
7944 Languages:
7945 Messages/GUI: $_language
7948 echo -n " Manual pages: $MAN_LANG"
7949 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
7950 echo
7952 cat << EOF
7954 Enabled optional drivers:
7955 Input: $_inputmodules
7956 Codecs: $_codecmodules
7957 Audio output: $_aomodules
7958 Video output: $_vomodules
7959 Audio filters: $_afmodules
7960 Disabled optional drivers:
7961 Input: $_noinputmodules
7962 Codecs: $_nocodecmodules
7963 Audio output: $_noaomodules
7964 Video output: $_novomodules
7965 Audio filters: $_noafmodules
7967 'config.h' and 'config.mak' contain your configuration options.
7968 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7969 compile *** DO NOT REPORT BUGS if you tweak these files ***
7971 'make' will now compile MPlayer and 'make install' will install it.
7972 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7977 if test "$_mtrr" = yes ; then
7978 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
7979 echo
7982 if test "$_sdl" = "outdated" ; then
7983 cat <<EOF
7984 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
7985 support has therefore been disabled.
7987 Please upgrade to a more recent version (version 1.1.8 and above are known to
7988 work). You may get this library from: http://www.libsdl.org
7990 You need to rerun ./configure and recompile after updating SDL. If you are
7991 only interested in the libSDL audio drivers, then an older version might work.
7993 Use --enable-sdl to force usage of libSDL.
7998 if x86; then
7999 if test "$_win32" = no ; then
8000 if test "$_win32libdir" ; then
8001 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
8002 else
8003 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
8005 cat << EOF
8006 Create it and copy the DLL files there! You can download the codecs from our
8007 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
8011 else
8012 cat <<EOF
8013 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8014 operating system ($system_name). You may encounter a few files that cannot
8015 be played due to missing open source video/audio codec support.
8021 cat <<EOF
8023 Check $TMPLOG if you wonder why an autodetection failed (check whether
8024 the development headers/packages are installed).
8025 Do not report compilation errors if you used any of the --enable-* options
8026 (except --enable-gui and maybe --enable-debug).
8028 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8032 if test "$_vidix" = no ; then
8033 cat <<EOF
8034 You've disabled VIDIX. Although it would be better to PORT it instead.
8035 Have a look at the documentation for supported cards!
8040 if test "$_warn_CFLAGS" = yes; then
8041 cat <<EOF
8043 MPlayer compilation will use the CFLAGS set by you, but:
8045 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8047 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8048 To do so, execute 'CFLAGS= ./configure <options>'
8053 # Last move:
8054 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"