libcdio
[mplayer.git] / configure
blobeaf0bfea16393bd3af6a10e43baec5a8dfbfa783
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 [disabled]
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 if test "$pmodel" -ge 7; then
841 proc=athlon-4
842 elif test "$pmodel" -ge 6; then
843 # only Athlon XP supports ssem MP, Duron etc not
844 # but most of them are CPUID 666, so check if sse detected
845 # btw. there is also athlon-mp opt, but we need extended
846 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
847 if test "$_sse" = yes && test "$pstepping" -ge 2; then
848 proc=athlon-xp
849 else
850 proc=athlon-4
852 elif test "$pmodel" -ge 4; then
853 proc=athlon-tbird
854 else
855 proc=athlon # TODO: should the Duron Spitfire be considered a Thunderbird instead?
858 15) iproc=686
859 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
860 # caught and remedied in the optimization tests below.
861 proc=k8
864 *) proc=athlon-xp iproc=686 ;;
865 esac
867 GenuineIntel)
868 case "$pfamily" in
869 3) proc=i386 iproc=386 ;;
870 4) proc=i486 iproc=486 ;;
871 5) iproc=586
872 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
873 proc=pentium-mmx # 4 is desktop, 8 is mobile
874 else
875 proc=i586
878 6) iproc=686
879 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
880 proc=pentium-m
881 elif test "$pmodel" -ge 7; then
882 proc=pentium3
883 elif test "$pmodel" -ge 3; then
884 proc=pentium2
885 else
886 proc=i686
889 15) iproc=686
890 # A nocona in 32-bit mode has no more capabilities than a prescott.
891 if test "$pmodel" -ge 3; then
892 proc=prescott
893 else
894 proc=pentium4
897 *) proc=prescott iproc=686 ;;
898 esac
900 CentaurHauls)
901 case "$pfamily" in
902 5) iproc=586
903 if test "$pmodel" -ge 8; then
904 proc=winchip2
905 elif test "$pmodel" -ge 4; then
906 proc=winchip-c6
907 else
908 proc=i586
911 6) iproc=686
912 # VIA C3 has SSE, but doesn't have MMX2
913 # workaround for SSE => MMX2 implication above
914 _mmx2=no
915 if test "$pmodel" -ge 9; then
916 proc=c3-2
917 else
918 proc=i686
921 *) proc=i686 iproc=i686 ;;
922 esac
924 unknown)
925 case "$pfamily" in
926 3) proc=i386 iproc=386 ;;
927 4) proc=i486 iproc=486 ;;
928 *) proc=i586 iproc=586 ;;
929 esac
932 proc=i586 iproc=586 ;;
933 esac
935 # check that gcc supports our CPU, if not, fall back to earlier ones
936 # LGB: check -mcpu and -march swithing step by step with enabling
937 # to fall back till 386.
939 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
941 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
942 cpuopt=-mtune
943 else
944 cpuopt=-mcpu
947 echocheck "GCC & CPU optimization abilities"
948 cat > $TMPC << EOF
949 int main(void) { return 0; }
951 if test "$_runtime_cpudetection" = no ; then
952 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
953 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
955 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
956 cc_check -march=$proc $cpuopt=$proc || proc=athlon
958 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
959 cc_check -march=$proc $cpuopt=$proc || proc=k6
961 if test "$proc" = "k6"; then
962 if not cc_check -march=$proc $cpuopt=$proc; then
963 if cc_check -march=i586 $cpuopt=i686; then
964 proc=i586-i686
965 else
966 proc=i586
970 if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2"; then
971 cc_check -march=$proc $cpuopt=$proc || proc=i686
973 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
974 cc_check -march=$proc $cpuopt=$proc || proc=i586
976 if test "$proc" = "i586" || test "$proc" = "c3" ; then
977 cc_check -march=$proc $cpuopt=$proc || proc=i486
979 if test "$proc" = "i486" ; then
980 cc_check -march=$proc $cpuopt=$proc || proc=i386
982 if test "$proc" = "i386" ; then
983 cc_check -march=$proc $cpuopt=$proc || proc=error
985 if test "$proc" = "error" ; then
986 echores "CPU optimization disabled.\nYou have an old compiler and/or configure does not recognize your CPU."
987 _mcpu=""
988 _march=""
989 _optimizing=""
990 elif test "$proc" = "i586-i686"; then
991 _march="-march=i586"
992 _mcpu="$cpuopt=i686"
993 _optimizing="$proc"
994 else
995 _march="-march=$proc"
996 _mcpu="$cpuopt=$proc"
997 _optimizing="$proc"
999 else # if test "$_runtime_cpudetection" = no
1000 # i686 is probably the most common CPU - optimize for it
1001 _mcpu="$cpuopt=i686"
1002 # at least i486 required, for bswap instruction
1003 _march="-march=i486"
1004 cc_check $_mcpu || _mcpu=""
1005 cc_check $_march $_mcpu || _march=""
1008 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1009 ## autodetected mcpu/march parameters
1010 if test "$_target" ; then
1011 # TODO: it may be a good idea to check GCC and fall back in all cases
1012 if test "$host_arch" = "i586-i686"; then
1013 _march="-march=i586"
1014 _mcpu="$cpuopt=i686"
1015 else
1016 _march="-march=$host_arch"
1017 _mcpu="$cpuopt=$host_arch"
1020 proc="$host_arch"
1022 case "$proc" in
1023 i386) iproc=386 ;;
1024 i486) iproc=486 ;;
1025 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1026 i686|athlon*|pentium*) iproc=686 ;;
1027 *) iproc=586 ;;
1028 esac
1031 echores "$proc"
1034 ia64)
1035 _def_arch='#define ARCH_IA64 1'
1036 _target_arch='TARGET_ARCH_IA64 = yes'
1037 iproc='ia64'
1038 proc=''
1039 _march=''
1040 _mcpu=''
1041 _optimizing=''
1044 x86_64|amd64)
1045 _def_arch='#define ARCH_X86_64 1'
1046 _target_arch='TARGET_ARCH_X86_64 = yes'
1047 iproc='x86_64'
1049 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1050 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1051 cpuopt=-mtune
1052 else
1053 cpuopt=-mcpu
1055 case "$pvendor" in
1056 AuthenticAMD)
1057 proc=k8;;
1058 GenuineIntel)
1059 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1060 # same capabilities as a nocona.
1061 proc=nocona;;
1063 proc=error;;
1064 esac
1066 echocheck "GCC & CPU optimization abilities"
1067 cat > $TMPC << EOF
1068 int main(void) { return 0; }
1070 # This is a stripped-down version of the i386 fallback.
1071 if test "$_runtime_cpudetection" = no ; then
1072 # --- AMD processors ---
1073 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
1074 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1076 # This will fail if gcc version < 3.3, which is ok because earlier
1077 # versions don't really support 64-bit on amd64.
1078 # Is this a valid assumption? -Corey
1079 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" ; then
1080 cc_check -march=$proc $cpuopt=$proc || proc=error
1082 # --- Intel processors ---
1083 if test "$proc" = "nocona" || test "$proc" = "prescott" ; then
1084 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1086 if test "$proc" = "pentium4" || test "$proc" = "pentium4m" ; then
1087 cc_check -march=$proc $cpuopt=$proc || proc=error
1090 _march="-march=$proc"
1091 _mcpu="$cpuopt=$proc"
1092 if test "$proc" = "error" ; then
1093 echores "CPU optimization disabled.\nYou have an old compiler and/or configure does not recognize your CPU."
1094 _mcpu=""
1095 _march=""
1097 else
1098 _march=""
1099 _mcpu=""
1102 _optimizing=""
1104 echores "$proc"
1106 x86_exts_check
1109 sparc)
1110 _def_arch='#define ARCH_SPARC 1'
1111 _target_arch='TARGET_ARCH_SPARC = yes'
1112 iproc='sparc'
1113 if sunos ; then
1114 echocheck "CPU type"
1115 karch=`uname -m`
1116 case "`echo $karch`" in
1117 sun4) proc=v7 ;;
1118 sun4c) proc=v7 ;;
1119 sun4d) proc=v8 ;;
1120 sun4m) proc=v8 ;;
1121 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1122 *) ;;
1123 esac
1124 echores "$proc"
1125 else
1126 proc=v8
1128 _march=''
1129 _mcpu="-mcpu=$proc"
1130 _optimizing="$proc"
1133 sparc64)
1134 _def_arch='#define ARCH_SPARC 1'
1135 _target_arch='TARGET_ARCH_SPARC = yes'
1136 _vis='yes'
1137 _def_vis='#define HAVE_VIS = yes'
1138 iproc='sparc'
1139 proc='v9'
1140 _march=''
1141 _mcpu="-mcpu=$proc"
1142 _optimizing="$proc"
1145 arm|armv4l|armv5tel)
1146 _def_arch='#define ARCH_ARMV4L 1'
1147 _target_arch='TARGET_ARCH_ARMV4L = yes'
1148 iproc='arm'
1149 proc=''
1150 _march=''
1151 _mcpu=''
1152 _optimizing=''
1155 ppc)
1156 _def_arch='#define ARCH_POWERPC 1'
1157 _def_dcbzl='#define NO_DCBZL 1'
1158 _target_arch='TARGET_ARCH_POWERPC = yes'
1159 iproc='ppc'
1160 proc=''
1161 _march=''
1162 _mcpu=''
1163 _optimizing=''
1164 _altivec=no
1166 echocheck "CPU type"
1167 case $system_name in
1168 Linux)
1169 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1170 if test -n "`$_cpuinfo | grep altivec`"; then
1171 _altivec=yes
1174 Darwin)
1175 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1176 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1177 "`sysctl -n hw.optional.altivec 2>/dev/null`" -eq 1 ]; then
1178 _altivec=yes
1181 NetBSD)
1182 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1183 case $cc_version in
1184 2*|3.0*|3.1*|3.2*|3.3*)
1187 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1188 _altivec=yes
1191 esac
1193 esac
1194 if test "$_altivec" = yes; then
1195 echores "$proc altivec"
1196 else
1197 echores "$proc"
1200 echocheck "GCC & CPU optimization abilities"
1202 if test -n "$proc"; then
1203 case "$proc" in
1204 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1205 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1206 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1207 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1208 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1209 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1210 *) ;;
1211 esac
1212 # gcc 3.1(.1) and up supports 7400 and 7450
1213 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
1214 case "$proc" in
1215 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1216 7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1217 *) ;;
1218 esac
1220 # gcc 3.2 and up supports 970
1221 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1222 case "$proc" in
1223 970*) _march='-mcpu=970' _mcpu='-mtune=970'
1224 _def_dcbzl='#undef NO_DCBZL' ;;
1225 *) ;;
1226 esac
1230 if test -n "$_mcpu"; then
1231 _optimizing=`echo $_mcpu | cut -c 8-`
1232 echores "$_optimizing"
1233 else
1234 echores "none"
1239 alpha)
1240 _def_arch='#define ARCH_ALPHA 1'
1241 _target_arch='TARGET_ARCH_ALPHA = yes'
1242 iproc='alpha'
1243 _march=''
1245 echocheck "CPU type"
1246 cat > $TMPC << EOF
1247 int main() {
1248 unsigned long ver, mask;
1249 asm ("implver %0" : "=r" (ver));
1250 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1251 printf("%ld-%x\n", ver, ~mask);
1252 return 0;
1255 $_cc -o "$TMPO" "$TMPC"
1256 case `"$TMPO"` in
1258 0-0) proc="ev4"; cpu_understands_mvi="0";;
1259 1-0) proc="ev5"; cpu_understands_mvi="0";;
1260 1-1) proc="ev56"; cpu_understands_mvi="0";;
1261 1-101) proc="pca56"; cpu_understands_mvi="1";;
1262 2-303) proc="ev6"; cpu_understands_mvi="1";;
1263 2-307) proc="ev67"; cpu_understands_mvi="1";;
1264 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1265 esac
1266 echores "$proc"
1268 echocheck "GCC & CPU optimization abilities"
1269 if test "$proc" = "ev68" ; then
1270 cc_check -mcpu=$proc || proc=ev67
1272 if test "$proc" = "ev67" ; then
1273 cc_check -mcpu=$proc || proc=ev6
1275 _mcpu="-mcpu=$proc"
1276 echores "$proc"
1278 _optimizing="$proc"
1280 echocheck "MVI instruction support in GCC"
1281 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1282 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
1283 echores "yes"
1284 else
1285 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
1286 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1290 mips)
1291 _def_arch='#define ARCH_SGI_MIPS 1'
1292 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1293 iproc='sgi-mips'
1294 proc=''
1295 _march=''
1296 _mcpu=''
1297 _optimizing=''
1299 if irix ; then
1300 echocheck "CPU type"
1301 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
1302 case "`echo $proc`" in
1303 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
1304 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
1305 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
1306 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
1307 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
1308 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
1309 esac
1310 echores "$proc"
1315 hppa)
1316 _def_arch='#define ARCH_PA_RISC 1'
1317 _target_arch='TARGET_ARCH_PA_RISC = yes'
1318 iproc='PA-RISC'
1319 proc=''
1320 _march=''
1321 _mcpu=''
1322 _optimizing=''
1325 s390)
1326 _def_arch='#define ARCH_S390 1'
1327 _target_arch='TARGET_ARCH_S390 = yes'
1328 iproc='390'
1329 proc=''
1330 _march=''
1331 _mcpu=''
1332 _optimizing=''
1335 s390x)
1336 _def_arch='#define ARCH_S390X 1'
1337 _target_arch='TARGET_ARCH_S390X = yes'
1338 iproc='390x'
1339 proc=''
1340 _march=''
1341 _mcpu=''
1342 _optimizing=''
1345 vax)
1346 _def_arch='#define ARCH_VAX 1'
1347 _target_arch='TARGET_ARCH_VAX = yes'
1348 iproc='vax'
1349 proc=''
1350 _march=''
1351 _mcpu=''
1352 _optimizing=''
1356 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1357 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1358 die "unsupported architecture $host_arch"
1360 esac # case "$host_arch" in
1362 if test "$_runtime_cpudetection" = yes ; then
1363 if x86; then
1364 _mmx=yes
1365 _3dnow=yes
1366 _3dnowex=yes
1367 _mmx2=yes
1368 _sse=yes
1369 _sse2=yes
1370 _mtrr=yes
1372 if ppc; then
1373 _altivec=yes
1377 if x86 && test "$_runtime_cpudetection" = no ; then
1378 extcheck() {
1379 if test "$1" = yes ; then
1380 echocheck "kernel support of $2"
1381 cat > $TMPC <<EOF
1382 #include <signal.h>
1383 void catch() { exit(1); }
1384 int main(void){
1385 signal(SIGILL, catch);
1386 __asm__ __volatile__ ("$3":::"memory");return(0);
1390 if cc_check && tmp_run ; then
1391 echores "yes"
1392 _optimizing="$_optimizing $2"
1393 return 0
1394 else
1395 echores "failed"
1396 echo "It seems that your kernel does not correctly support $2."
1397 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1398 return 1
1401 return 0
1404 extcheck $_mmx "mmx" "emms" || _mmx=no
1405 extcheck $_mmx2 "mmx2" "sfence" || _mmx2=no
1406 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1407 extcheck $_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex=no
1408 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1409 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1410 echocheck "mtrr support"
1411 echores "$_mtrr"
1413 if test "$_mtrr" = yes ; then
1414 _optimizing="$_optimizing mtrr"
1417 if test "$_gcc3_ext" != ""; then
1418 # if we had to disable sse/sse2 because the active kernel does not
1419 # support this instruction set extension, we also have to tell
1420 # gcc3 to not generate sse/sse2 instructions for normal C code
1421 cat > $TMPC << EOF
1422 int main(void) { return 0; }
1424 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1429 echocheck "assembler support of -pipe option"
1430 cat > $TMPC << EOF
1431 int main(void) { return 0; }
1433 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1435 _prefix="/usr/local"
1436 _xvmclib="XvMCNVIDIA"
1438 # GOTCHA: the variables below defines the default behavior for autodetection
1439 # and have - unless stated otherwise - at least 2 states : yes no
1440 # If autodetection is available then the third state is: auto
1441 _libavcodec=auto
1442 _amr_nb=auto
1443 _amr_nb_fixed=auto
1444 _amr_wb=auto
1445 _libavcodecs=`grep 'register_avcodec(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1446 _libavcodecso=auto
1447 _libavformat=auto
1448 _fame=auto
1449 _mp1e=no
1450 _mencoder=yes
1451 _x11=auto
1452 _dga=auto # 1 2 no auto
1453 _xv=auto
1454 _xvmc=no #auto when complete
1455 _sdl=auto
1456 _directx=auto
1457 _win32waveout=auto
1458 _nas=auto
1459 _png=auto
1460 _jpg=auto
1461 _pnm=yes
1462 _md5sum=yes
1463 _gif=auto
1464 _gl=auto
1465 _ggi=auto
1466 _ggiwmh=auto
1467 _aa=auto
1468 _caca=auto
1469 _svga=auto
1470 _vesa=auto
1471 _fbdev=auto
1472 _dvb=auto
1473 _dvbhead=auto
1474 _dxr2=auto
1475 _dxr3=auto
1476 _iconv=auto
1477 _langinfo=auto
1478 _rtc=auto
1479 _ossaudio=auto
1480 _arts=auto
1481 _esd=auto
1482 _polyp=auto
1483 _jack=auto
1484 _libcdio=auto
1485 _liblzo=auto
1486 _mad=auto
1487 _toolame=auto
1488 _twolame=auto
1489 _tremor_internal=yes
1490 _tremor_low=no
1491 _vorbis=auto
1492 _speex=auto
1493 _theora=auto
1494 _mp3lib=yes
1495 _liba52=yes
1496 _libdts=auto
1497 _libmpeg2=yes
1498 _matroska_internal=yes
1499 _tremor=no
1500 _faad_internal=auto
1501 _faad_external=auto
1502 _faac=auto
1503 _ladspa=auto
1504 _xmms=no
1505 # dvdnav disabled, it does not work
1506 #_dvdnav=no
1507 _dvdread=auto
1508 _dvdkit=auto
1509 _xanim=auto
1510 _real=auto
1511 _live=auto
1512 _xinerama=auto
1513 _mga=auto
1514 _xmga=auto
1515 _vm=auto
1516 _xf86keysym=auto
1517 _mlib=auto
1518 _sgiaudio=auto
1519 _sunaudio=auto
1520 _alsa=auto
1521 _fastmemcpy=yes
1522 _unrarlib=yes
1523 _win32=auto
1524 _dshow=yes
1525 _select=yes
1526 _tv=yes
1527 _tv_v4l=auto
1528 _tv_v4l2=auto
1529 _tv_bsdbt848=auto
1530 _edl=yes
1531 _network=yes
1532 _winsock2=auto
1533 _smbsupport=auto
1534 _vidix=auto
1535 _joystick=no
1536 _xvid=auto
1537 _x264=auto
1538 _divx4linux=auto
1539 _opendivx=no
1540 _lirc=auto
1541 _lircc=auto
1542 _gui=no
1543 _gtk1=no
1544 _termcap=auto
1545 _termios=auto
1546 _3dfx=no
1547 _tdfxfb=no
1548 _tdfxvid=no
1549 _tga=yes
1550 _directfb=auto
1551 _zr=auto
1552 _bl=no
1553 _largefiles=no
1554 #_language=en
1555 _shm=auto
1556 _linux_devfs=no
1557 #_charset=utf8
1558 _i18n=auto
1559 _dynamic_plugins=no
1560 _crash_debug=auto
1561 _sighandler=yes
1562 _libdv=auto
1563 _cdparanoia=auto
1564 _big_endian=auto
1565 _freetype=auto
1566 _fontconfig=auto
1567 _menu=no
1568 _qtx=auto
1569 _macosx=auto
1570 _macosx_finder_support=no
1571 _macosx_bundle=auto
1572 _sortsub=yes
1573 _freetypeconfig='freetype-config'
1574 _fribidi=no
1575 _fribidiconfig='fribidi-config'
1576 _enca=auto
1577 _inet6=auto
1578 _gethostbyname2=auto
1579 _ftp=yes
1580 _musepack=auto
1581 _vstream=auto
1582 _pthreads=yes
1583 for ac_option do
1584 case "$ac_option" in
1585 # Skip 1st pass
1586 --target=*) ;;
1587 --cc=*) ;;
1588 --host-cc=*) ;;
1589 --as=*) ;;
1590 --enable-gcc-checking) ;;
1591 --disable-gcc-checking) ;;
1592 --enable-static*) ;;
1593 --disable-static*) ;;
1594 --with-extraincdir=*) ;;
1595 --with-extralibdir=*) ;;
1596 --enable-runtime-cpudetection) ;;
1597 --disable-runtime-cpudetection) ;;
1598 --enable-cross-compile) ;;
1599 --disable-cross-compile) ;;
1600 --install-path=*) ;;
1601 --with-install=*) ;;
1603 # Real 2nd pass
1604 --enable-mencoder) _mencoder=yes ;;
1605 --disable-mencoder) _mencoder=no ;;
1606 --enable-i18n) _i18n=yes ;;
1607 --disable-i18n) _i18n=no ;;
1608 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1609 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1610 --enable-x11) _x11=yes ;;
1611 --disable-x11) _x11=no ;;
1612 --enable-xv) _xv=yes ;;
1613 --disable-xv) _xv=no ;;
1614 --enable-xvmc) _xvmc=yes ;;
1615 --disable-xvmc) _xvmc=no ;;
1616 --enable-sdl) _sdl=yes ;;
1617 --disable-sdl) _sdl=no ;;
1618 --enable-directx) _directx=yes ;;
1619 --disable-directx) _directx=no ;;
1620 --enable-win32waveout) _win32waveout=yes ;;
1621 --disable-win32waveout) _win32waveout=no ;;
1622 --enable-nas) _nas=yes ;;
1623 --disable-nas) _nas=no ;;
1624 --enable-png) _png=yes ;;
1625 --disable-png) _png=no ;;
1626 --enable-jpeg) _jpg=yes ;;
1627 --disable-jpeg) _jpg=no ;;
1628 --enable-pnm) _pnm=yes ;;
1629 --disable-pnm) _pnm=no ;;
1630 --enable-md5sum) _md5sum=yes ;;
1631 --disable-md5sum) _md5sum=no ;;
1632 --enable-gif) _gif=yes ;;
1633 --disable-gif) _gif=no ;;
1634 --enable-gl) _gl=yes ;;
1635 --disable-gl) _gl=no ;;
1636 --enable-ggi) _ggi=yes ;;
1637 --disable-ggi) _ggi=no ;;
1638 --enable-ggiwmh) _ggiwmh=yes ;;
1639 --disable-ggiwmh) _ggiwmh=no ;;
1640 --enable-aa) _aa=yes ;;
1641 --disable-aa) _aa=no ;;
1642 --enable-caca) _caca=yes ;;
1643 --disable-caca) _caca=no ;;
1644 --enable-svga) _svga=yes ;;
1645 --disable-svga) _svga=no ;;
1646 --enable-vesa) _vesa=yes ;;
1647 --disable-vesa) _vesa=no ;;
1648 --enable-fbdev) _fbdev=yes ;;
1649 --disable-fbdev) _fbdev=no ;;
1650 --enable-dvb) _dvb=yes ;;
1651 --disable-dvb) _dvb=no ;;
1652 --enable-dvbhead) _dvbhead=yes ;;
1653 --disable-dvbhead) _dvbhead=no ;;
1654 --enable-dxr2) _dxr2=yes ;;
1655 --disable-dxr2) _dxr2=no ;;
1656 --enable-dxr3) _dxr3=yes ;;
1657 --disable-dxr3) _dxr3=no ;;
1658 --enable-iconv) _iconv=yes ;;
1659 --disable-iconv) _iconv=no ;;
1660 --enable-langinfo) _langinfo=yes ;;
1661 --disable-langinfo) _langinfo=no ;;
1662 --enable-rtc) _rtc=yes ;;
1663 --disable-rtc) _rtc=no ;;
1664 --enable-mp1e) _mp1e=yes ;;
1665 --disable-mp1e) _mp1e=no ;;
1666 --enable-libdv) _libdv=yes ;;
1667 --disable-libdv) _libdv=no ;;
1668 --enable-ossaudio) _ossaudio=yes ;;
1669 --disable-ossaudio) _ossaudio=no ;;
1670 --enable-arts) _arts=yes ;;
1671 --disable-arts) _arts=no ;;
1672 --enable-esd) _esd=yes ;;
1673 --disable-esd) _esd=no ;;
1674 --enable-polyp) _polyp=yes ;;
1675 --disable-polyp) _polyp=no ;;
1676 --enable-jack) _jack=yes ;;
1677 --disable-jack) _jack=no ;;
1678 --enable-mad) _mad=yes ;;
1679 --disable-mad) _mad=no ;;
1680 --disable-toolame) _toolame=no ;;
1681 --disable-twolame) _twolame=no ;;
1682 --enable-libcdio) _libcdio=yes ;;
1683 --disable-libcio) _libcdio=no ;;
1684 --enable-liblzo) _liblzo=yes ;;
1685 --disable-liblzo) _liblzo=no ;;
1686 --enable-vorbis) _vorbis=yes ;;
1687 --disable-vorbis) _vorbis=no ;;
1688 --enable-speex) _speex=yes ;;
1689 --disable-speex) _speex=no ;;
1690 --enable-internal-tremor) _tremor_internal=yes ;;
1691 --disable-internal-tremor) _tremor_internal=no ;;
1692 --enable-tremor-low) _tremor_low=yes ;;
1693 --disable-tremor-low) _tremor_low=no ;;
1694 --enable-external-tremor) _tremor=yes ;;
1695 --disable-external-tremor) _tremor=no ;;
1696 --enable-theora) _theora=yes ;;
1697 --disable-theora) _theora=no ;;
1698 --enable-mp3lib) _mp3lib=yes ;;
1699 --disable-mp3lib) _mp3lib=no ;;
1700 --enable-liba52) _liba52=yes ;;
1701 --disable-liba52) _liba52=no ;;
1702 --enable-libdts) _libdts=yes ;;
1703 --disable-libdts) _libdts=no ;;
1704 --enable-libmpeg2) _libmpeg2=yes ;;
1705 --disable-libmpeg2) _libmpeg2=no ;;
1706 --enable-musepack) _musepack=yes ;;
1707 --disable-musepack) _musepack=no ;;
1708 --enable-internal-matroska) _matroska_internal=yes ;;
1709 --disable-internal-matroska) _matroska_internal=no ;;
1710 --enable-internal-faad) _faad_internal=yes _faad_external=no ;;
1711 --disable-internal-faad) _faad_internal=no ;;
1712 --enable-external-faad) _faad_external=yes _faad_internal=no ;;
1713 --disable-external-faad) _faad_external=no ;;
1714 --enable-faac) _faac=yes ;;
1715 --disable-faac) _faac=no ;;
1716 --enable-ladspa) _ladspa=yes ;;
1717 --disable-ladspa) _ladspa=no ;;
1718 --enable-xmms) _xmms=yes ;;
1719 --disable-xmms) _xmms=no ;;
1720 --enable-dvdread) _dvdread=yes ;;
1721 --disable-dvdread) _dvdread=no ;;
1722 --enable-mpdvdkit) _dvdkit=yes ;;
1723 --disable-mpdvdkit) _dvdkit=no ;;
1724 # dvdnav disabled, it does not work
1725 # --enable-dvdnav) _dvdnav=yes ;;
1726 # --disable-dvdnav) _dvdnav=no ;;
1727 --enable-xanim) _xanim=yes ;;
1728 --disable-xanim) _xanim=no ;;
1729 --enable-real) _real=yes ;;
1730 --disable-real) _real=no ;;
1731 --enable-live) _live=yes ;;
1732 --disable-live) _live=no ;;
1733 --enable-xinerama) _xinerama=yes ;;
1734 --disable-xinerama) _xinerama=no ;;
1735 --enable-mga) _mga=yes ;;
1736 --disable-mga) _mga=no ;;
1737 --enable-xmga) _xmga=yes ;;
1738 --disable-xmga) _xmga=no ;;
1739 --enable-vm) _vm=yes ;;
1740 --disable-vm) _vm=no ;;
1741 --enable-xf86keysym) _xf86keysym=yes ;;
1742 --disable-xf86keysym) _xf86keysym=no ;;
1743 --enable-mlib) _mlib=yes ;;
1744 --disable-mlib) _mlib=no ;;
1745 --enable-sunaudio) _sunaudio=yes ;;
1746 --disable-sunaudio) _sunaudio=no ;;
1747 --enable-sgiaudio) _sgiaudio=yes ;;
1748 --disable-sgiaudio) _sgiaudio=no ;;
1749 --enable-alsa) _alsa=yes ;;
1750 --disable-alsa) _alsa=no ;;
1751 --enable-tv) _tv=yes ;;
1752 --disable-tv) _tv=no ;;
1753 --enable-edl) _edl=yes ;;
1754 --disable-edl) _edl=no ;;
1755 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1756 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1757 --enable-tv-v4l) _tv_v4l=yes ;;
1758 --disable-tv-v4l) _tv_v4l=no ;;
1759 --enable-tv-v4l2) _tv_v4l2=yes ;;
1760 --disable-tv-v4l2) _tv_v4l2=no ;;
1761 --enable-fastmemcpy) _fastmemcpy=yes ;;
1762 --disable-fastmemcpy) _fastmemcpy=no ;;
1763 --enable-network) _network=yes ;;
1764 --disable-network) _network=no ;;
1765 --enable-winsock2) _winsock2=yes ;;
1766 --disable-winsock2) _winsock2=no ;;
1767 --enable-smb) _smbsupport=yes ;;
1768 --disable-smb) _smbsupport=no ;;
1769 --enable-vidix) _vidix=yes ;;
1770 --disable-vidix) _vidix=no ;;
1771 --enable-joystick) _joystick=yes ;;
1772 --disable-joystick) _joystick=no ;;
1773 --enable-xvid) _xvid=yes ;;
1774 --disable-xvid) _xvid=no ;;
1775 --enable-x264) _x264=yes ;;
1776 --disable-x264) _x264=no ;;
1777 --enable-divx4linux) _divx4linux=yes ;;
1778 --disable-divx4linux) _divx4linux=no ;;
1779 --enable-opendivx) _opendivx=yes ;;
1780 --disable-opendivx) _opendivx=no ;;
1781 --enable-libavcodec) _libavcodec=yes ;;
1782 --disable-libavcodec) _libavcodec=no ;;
1783 --enable-amr_nb) _amr_nb=yes ;;
1784 --disable-amr_nb) _amr_nb=no ;;
1785 --enable-amr_nb-fixed) _amr_nb_fixed=yes ;;
1786 --disable-amr_nb-fixed) _amr_nb_fixed=no ;;
1787 --enable-amr_wb) _amr_wb=yes ;;
1788 --disable-amr_wb) _amr_wb=no ;;
1789 --enable-codec=*) _libavcodecs="$_libavcodecs `echo $ac_option | cut -d '=' -f 2`" ;;
1790 --disable-codec=*) _libavcodecs=`echo $_libavcodecs | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1791 --enable-libavformat) _libavformat=yes;;
1792 --disable-libavformat) _libavformat=no ;;
1793 --enable-libfame) _fame=yes ;;
1794 --disable-libfame) _fame=no ;;
1795 --enable-lirc) _lirc=yes ;;
1796 --disable-lirc) _lirc=no ;;
1797 --enable-lircc) _lircc=yes ;;
1798 --disable-lircc) _lircc=no ;;
1799 --enable-gui) _gui=yes ;;
1800 --disable-gui) _gui=no ;;
1801 --enable-old-gtk) _gtk1=yes ;;
1802 --enable-termcap) _termcap=yes ;;
1803 --disable-termcap) _termcap=no ;;
1804 --enable-termios) _termios=yes ;;
1805 --disable-termios) _termios=no ;;
1806 --enable-3dfx) _3dfx=yes ;;
1807 --disable-3dfx) _3dfx=no ;;
1808 --enable-tdfxfb) _tdfxfb=yes ;;
1809 --disable-tdfxvid) _tdfxvid=no ;;
1810 --enable-tdfxvid) _tdfxvid=yes ;;
1811 --disable-tga) _tga=no ;;
1812 --enable-tga) _tga=yes ;;
1813 --disable-tdfxfb) _tdfxfb=no ;;
1814 --enable-directfb) _directfb=yes ;;
1815 --disable-directfb) _directfb=no ;;
1816 --enable-zr) _zr=yes ;;
1817 --disable-zr) _zr=no ;;
1818 --enable-bl) _bl=yes ;;
1819 --disable-bl) _bl=no ;;
1820 --enable-mtrr) _mtrr=yes ;;
1821 --disable-mtrr) _mtrr=no ;;
1822 --enable-largefiles) _largefiles=yes ;;
1823 --disable-largefiles) _largefiles=no ;;
1824 --enable-shm) _shm=yes ;;
1825 --disable-shm) _shm=no ;;
1826 --enable-select) _select=yes ;;
1827 --disable-select) _select=no ;;
1828 --enable-linux-devfs) _linux_devfs=yes ;;
1829 --disable-linux-devfs) _linux_devfs=no ;;
1830 --enable-cdparanoia) _cdparanoia=yes ;;
1831 --disable-cdparanoia) _cdparanoia=no ;;
1832 --enable-big-endian) _big_endian=yes ;;
1833 --disable-big-endian) _big_endian=no ;;
1834 --enable-freetype) _freetype=yes ;;
1835 --disable-freetype) _freetype=no ;;
1836 --enable-fontconfig) _fontconfig=yes ;;
1837 --disable-fontconfig) _fontconfig=no ;;
1838 --enable-unrarlib) _unrarlib=yes ;;
1839 --disable-unrarlib) _unrarlib=no ;;
1840 --enable-ftp) _ftp=yes ;;
1841 --disable-ftp) _ftp=no ;;
1842 --enable-vstream) _vstream=yes ;;
1843 --disable-vstream) _vstream=no ;;
1844 --enable-pthreads) _pthreads=yes ;;
1845 --disable-pthreads) _pthreads=no ;;
1847 --enable-fribidi) _fribidi=yes ;;
1848 --disable-fribidi) _fribidi=no ;;
1850 --enable-enca) _enca=yes ;;
1851 --disable-enca) _enca=no ;;
1853 --enable-inet6) _inet6=yes ;;
1854 --disable-inet6) _inet6=no ;;
1856 --enable-gethostbyname2) _gethostbyname2=yes ;;
1857 --disable-gethostbyname2) _gethostbyname2=no ;;
1859 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
1860 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
1861 --disable-dga) _dga=no ;;
1863 --enable-menu) _menu=yes ;;
1864 --disable-menu) _menu=no ;;
1866 --enable-qtx) _qtx=yes ;;
1867 --disable-qtx) _qtx=no ;;
1869 --enable-macosx) _macosx=yes ;;
1870 --disable-macosx) _macosx=no ;;
1871 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
1872 --disable-macosx-finder-support) _macosx_finder_support=no ;;
1873 --enable-macosx-bundle) _macosx_bundle=yes;;
1874 --disable-macosx-bundle) _macosx_bundle=no;;
1876 --enable-sortsub) _sortsub=yes ;;
1877 --disable-sortsub) _sortsub=no ;;
1879 --charset=*)
1880 _charset=`echo $ac_option | cut -d '=' -f 2`
1882 --language=*)
1883 _language=`echo $ac_option | cut -d '=' -f 2`
1885 # dvdnav disabled, it does not work
1886 # --with-libdvdnav=*)
1887 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1888 # _dvdnav=yes
1889 # ;;
1891 --with-codecsdir=*)
1892 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1893 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1894 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1896 --with-win32libdir=*)
1897 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
1898 _win32=yes
1900 --with-xanimlibdir=*)
1901 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
1902 _xanim=yes
1904 --with-reallibdir=*)
1905 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
1906 _real=yes
1908 --with-livelibdir=*)
1909 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
1911 --with-toolamedir=*)
1912 _toolamedir=`echo $ac_option | cut -d '=' -f 2`
1914 --with-mlibdir=*)
1915 _mlibdir=`echo $ac_option | cut -d '=' -f 2`
1916 _mlib=yes
1919 --with-xmmslibdir=*)
1920 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
1923 --with-xmmsplugindir=*)
1924 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
1927 --enable-profile)
1928 _profile='-p'
1930 --disable-profile)
1931 _profile=
1933 --enable-debug)
1934 _debug='-g'
1936 --enable-debug=*)
1937 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1939 --disable-debug)
1940 _debug=
1942 --enable-crash-debug)
1943 _crash_debug=yes
1945 --disable-crash-debug)
1946 _crash_debug=no
1948 --enable-sighandler)
1949 _sighandler=yes
1951 --disable-sighandler)
1952 _sighandler=no
1955 --enable-sse) _sse=yes ;;
1956 --disable-sse) _sse=no ;;
1957 --enable-sse2) _sse2=yes ;;
1958 --disable-sse2) _sse2=no ;;
1959 --enable-mmx2) _mmx2=yes ;;
1960 --disable-mmx2) _mmx2=no ;;
1961 --enable-3dnow) _3dnow=yes ;;
1962 --disable-3dnow) _3dnow=no _3dnowex=no ;;
1963 --enable-3dnowex) _3dnow=yes _3dnowex=yes ;;
1964 --disable-3dnowex) _3dnowex=no ;;
1965 --enable-altivec) _altivec=yes ;;
1966 --disable-altivec) _altivec=no ;;
1967 --enable-mmx) _mmx=yes ;;
1968 --disable-mmx) # 3Dnow! and MMX2 require MMX
1969 _3dnow=no _3dnowex=no _mmx=no _mmx2=no ;;
1971 --enable-win32) _win32=yes ;;
1972 --disable-win32) _win32=no _dshow=no ;;
1973 --enable-dshow) _win32=yes _dshow=yes ;;
1974 --disable-dshow) _dshow=no ;;
1976 --with-x11incdir=*)
1977 _inc_x11=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1979 --with-x11libdir=*)
1980 _x11_paths=`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1982 --with-dxr2incdir=*)
1983 _inc_dxr2=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1985 --with-xvmclib=*)
1986 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
1988 --with-dvbincdir=*)
1989 _inc_dvb=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1991 --with-xvidlibdir=*)
1992 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1994 --with-xvidincdir=*)
1995 _inc_xvid=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1997 --with-dtslibdir=*)
1998 _ld_libdts=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2000 --with-dtsincdir=*)
2001 _inc_libdts=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2003 --with-x264libdir=*)
2004 _ld_x264=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2006 --with-x264incdir=*)
2007 _inc_x264=-I`echo $ac_option | cut -d '=' -f 2 |sed 's,:, -I,g'`
2009 --with-sdl-config=*)
2010 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
2012 --with-freetype-config=*)
2013 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
2015 --with-fribidi-config=*)
2016 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
2018 --with-gtk-config=*)
2019 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
2021 --with-glib-config=*)
2022 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
2024 # dvdnav disabled, it does not work
2025 # --with-dvdnav-config=*)
2026 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
2027 # ;;
2028 --with-madlibdir=*)
2029 _ld_mad=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2031 --with-cdparanoiaincdir=*)
2032 _inc_cdparanoia=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2034 --with-cdparanoialibdir=*)
2035 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2037 --with-termcaplib=*)
2038 _ld_termcap=-l`echo $ac_option | cut -d '=' -f 2`
2039 _termcap=yes
2041 --prefix=*)
2042 _prefix=`echo $ac_option | cut -d '=' -f 2`
2044 --bindir=*)
2045 _bindir=`echo $ac_option | cut -d '=' -f 2`
2047 --datadir=*)
2048 _datadir=`echo $ac_option | cut -d '=' -f 2`
2050 --mandir=*)
2051 _mandir=`echo $ac_option | cut -d '=' -f 2`
2053 --confdir=*)
2054 _confdir=`echo $ac_option | cut -d '=' -f 2`
2056 --libdir=*)
2057 _libdir=`echo $ac_option | cut -d '=' -f 2`
2061 echo "Unknown parameter: $ac_option"
2062 exit 1
2065 esac
2066 done
2068 # Atmos: moved this here, to be correct, if --prefix is specified
2069 test -z "$_bindir" && _bindir="$_prefix/bin"
2070 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
2071 test -z "$_mandir" && _mandir="$_prefix/man"
2072 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
2073 test -z "$_libdir" && _libdir="$_prefix/lib"
2074 test -z "$_mlibdir" && _mlibdir="$MLIBHOME"
2076 if x86 ; then
2077 # Checking assembler (_as) compatibility...
2078 # Added workaround for older as that reads from stdin by default - atmos
2079 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2080 echocheck "assembler ($_as $as_version)"
2082 _pref_as_version='2.9.1'
2083 echo 'nop' > $TMPS
2084 if test "$_mmx" = yes ; then
2085 echo 'emms' >> $TMPS
2087 if test "$_3dnow" = yes ; then
2088 _pref_as_version='2.10.1'
2089 echo 'femms' >> $TMPS
2091 if test "$_3dnowex" = yes ; then
2092 _pref_as_version='2.10.1'
2093 echo 'pswapd %mm0, %mm0' >> $TMPS
2095 if test "$_mmx2" = yes ; then
2096 _pref_as_version='2.10.1'
2097 echo 'movntq %mm0, (%eax)' >> $TMPS
2099 if test "$_sse" = yes ; then
2100 _pref_as_version='2.10.1'
2101 echo 'xorps %xmm0, %xmm0' >> $TMPS
2103 #if test "$_sse2" = yes ; then
2104 # _pref_as_version='2.11'
2105 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2107 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2109 if test "$as_verc_fail" != yes ; then
2110 echores "ok"
2111 else
2112 echores "failed"
2113 echo "Upgrade binutils to ${_pref_as_version} ..."
2114 die "obsolete binutils version"
2118 if ppc ; then
2120 # check if altivec is supported by the compiler, and how to enable it
2122 _altivec_gcc_flags=''
2124 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2125 echocheck "GCC altivec support"
2127 p=''
2128 cat > $TMPC << EOF
2129 int main() {
2130 return 0;
2133 FSF_flags='-maltivec -mabi=altivec'
2134 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2136 # check for Darwin-style flags first, since
2137 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2138 # accepts but ignores FSF-style flags...
2140 if test -z "$p"; then
2141 cc_check $Darwin_flags && p='Darwin'
2143 if test -z "$p"; then
2144 cc_check $FSF_flags && p='FSF'
2147 case $p in
2148 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2149 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2150 *) _altivec=no ;;
2151 esac
2153 if test -z "$p"; then
2154 p=none
2155 else
2156 p="$p-style ($_altivec_gcc_flags)"
2159 echores "$p"
2162 # check if <altivec.h> should be included
2164 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2166 if test "$_altivec" = yes ; then
2167 echocheck "altivec.h"
2168 cat > $TMPC << EOF
2169 #include <altivec.h>
2170 int main(void) { return 0; }
2172 _have_altivec_h=no
2173 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2174 if test "$_have_altivec_h" = yes ; then
2175 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2177 echores "$_have_altivec_h"
2180 # disable runtime cpudetection if
2181 # - we cannot generate altivec code
2182 # - altivec is disabled by the user
2184 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2185 _runtime_cpudetection=no
2188 # show that we are optimizing for altivec (if enabled and supported)
2190 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2191 _optimizing="$_optimizing altivec"
2194 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2196 if test "$_altivec" = yes ; then
2197 _mcpu="$_mcpu $_altivec_gcc_flags"
2200 # setup _def_altivec correctly
2202 if test "$_altivec" = yes ; then
2203 _def_altivec='#define HAVE_ALTIVEC 1'
2204 else
2205 _def_altivec='#undef HAVE_ALTIVEC'
2209 _def_mmx='#undef HAVE_MMX'
2210 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2211 _def_mmx2='#undef HAVE_MMX2'
2212 test "$_mmx2" = yes && _def_mmx2='#define HAVE_MMX2 1'
2213 _def_3dnow='#undef HAVE_3DNOW'
2214 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2215 _def_3dnowex='#undef HAVE_3DNOWEX'
2216 test "$_3dnowex" = yes && _def_3dnowex='#define HAVE_3DNOWEX 1'
2217 _def_sse='#undef HAVE_SSE'
2218 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2219 _def_sse2='#undef HAVE_SSE2'
2220 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2222 # Checking kernel version...
2223 if x86 && linux ; then
2224 _k_verc_problem=no
2225 kernel_version=`uname -r 2>&1`
2226 echocheck "$system_name kernel version"
2227 case "$kernel_version" in
2228 '') kernel_version="?.??"; _k_verc_fail=yes;;
2229 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2230 _k_verc_problem=yes;;
2231 esac
2232 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2233 _k_verc_fail=yes
2235 if test "$_k_verc_fail" ; then
2236 echores "$kernel_version, fail"
2237 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2238 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2239 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2240 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2241 echo "2.2.x you must upgrade it to get SSE support!"
2242 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2243 else
2244 echores "$kernel_version, ok"
2248 if test "$_vidix" = auto ; then
2249 _vidix=no
2250 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2251 x86 && _vidix=yes
2252 x86_64 && _vidix=yes
2253 ppc && linux && _vidix=yes
2254 alpha && linux && _vidix=yes
2255 qnx && _vidix=no
2256 sunos && _vidix=no
2257 beos && _vidix=no
2260 echocheck "mplayer binary name"
2261 if win32 ; then
2262 _prg="mplayer.exe"
2263 _prg_mencoder="mencoder.exe"
2264 else
2265 _prg="mplayer"
2266 _prg_mencoder="mencoder"
2268 echores $_prg
2271 # On QNX we must link to libph - Gabucino
2272 if qnx ; then
2273 _ld_arch="$_ld_arch -lph"
2276 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2277 _awk=
2278 if test "$_vidix" = yes ; then
2279 _awk_verc_fail=yes
2280 echocheck "awk"
2281 for _awk in mawk gawk nawk awk; do
2282 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2283 _awk_verc_fail=no
2284 break
2286 done
2287 test "$_awk_verc_fail" = yes && _awk=no
2288 echores "$_awk"
2289 if test "$_awk_verc_fail" = yes; then
2290 echo "VIDIX needs awk, but no working implementation was found!"
2291 echo "Try the GNU version, which can be downloaded from:"
2292 echo "ftp://ftp.gnu.org/gnu/gawk/"
2293 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2294 die "no awk"
2298 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2299 if irix ; then
2300 _ranlib='ar -r'
2301 elif linux ; then
2302 _ranlib='true'
2305 ######################
2306 # MAIN TESTS GO HERE #
2307 ######################
2310 echocheck "extra headers"
2311 if test "$_inc_extra" ; then
2312 echores "$_inc_extra"
2313 else
2314 echores "none"
2318 echocheck "extra libs"
2319 if test "$_ld_extra" ; then
2320 echores "$_ld_extra"
2321 else
2322 echores "none"
2325 echocheck "-lposix"
2326 cat > $TMPC <<EOF
2327 int main(void) { return 0; }
2329 if cc_check -lposix ; then
2330 _ld_arch="$_ld_arch -lposix"
2331 echores "yes"
2332 else
2333 echores "no"
2336 echocheck "-lm"
2337 cat > $TMPC <<EOF
2338 int main(void) { return 0; }
2340 if cc_check -lm ; then
2341 _ld_lm="-lm"
2342 echores "yes"
2343 else
2344 _ld_lm=""
2345 echores "no"
2348 # Checking for localization ...
2349 # CSAK EGY MARADHAT - A HEGYLAKO
2350 echocheck "i18n"
2351 if test "$_i18n" != no ; then
2352 cat > $TMPC <<EOF
2353 #include <libintl.h>
2354 int main(void) { gettext("test"); return 0; }
2356 _i18n=no
2357 _i18n_libs=""
2358 if test "$_i18n" = auto ; then
2359 cc_check && _i18n=yes
2360 else
2361 for i18n_lib in "" "-lintl"; do
2362 cc_check $i18n_lib && _i18n=yes && _i18n_libs=$i18n_lib && break
2363 done
2366 if test "$_i18n" = yes ; then
2367 _def_i18n='#define USE_I18N 1'
2368 else
2369 _def_i18n='#undef USE_I18N'
2371 if test "$_i18n_libs" ; then
2372 _res_comment="using $_i18n_libs"
2374 echores "$_i18n"
2377 echocheck "langinfo"
2378 if test "$_langinfo" = auto ; then
2379 cat > $TMPC <<EOF
2380 #include <langinfo.h>
2381 int main(void) { nl_langinfo(CODESET); return 0; }
2383 _langinfo=no
2384 cc_check && _langinfo=yes
2386 if test "$_langinfo" = yes ; then
2387 _def_langinfo='#define USE_LANGINFO 1'
2388 else
2389 _def_langinfo='#undef USE_LANGINFO'
2391 echores "$_langinfo"
2394 echocheck "language"
2395 test -z "$_language" && _language=$LINGUAS
2396 _language=`echo $_language | sed 's/,/ /g'`
2397 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2398 for lang in $_language ; do
2399 test "$lang" = all && lang=en
2400 if test -f "help/help_mp-${lang}.h" ; then
2401 _language=$lang
2402 break
2403 else
2404 echo -n "$lang not found, "
2405 _language=`echo $_language | sed "s/$lang *//"`
2407 done
2408 test -z "$_language" && _language=en
2409 _mp_help="help/help_mp-${_language}.h"
2410 test -f $_mp_help || die "$_mp_help not found"
2411 for lang in $LANGUAGES ; do
2412 if test -f "DOCS/man/$lang/mplayer.1" ; then
2413 MAN_LANG="$MAN_LANG $lang"
2415 done
2416 _doc_lang=$_language
2417 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2418 echores "using $_language (man pages: $MAN_LANG)"
2421 echocheck "enable sighandler"
2422 if test "$_sighandler" = yes ; then
2423 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2424 else
2425 _def_sighandler='#undef ENABLE_SIGHANDLER'
2427 echores "$_sighandler"
2429 echocheck "runtime cpudetection"
2430 if test "$_runtime_cpudetection" = yes ; then
2431 _optimizing="Runtime CPU-Detection enabled"
2432 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2433 else
2434 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2436 echores "$_runtime_cpudetection"
2439 echocheck "restrict keyword"
2440 for restrict_keyword in restrict __restrict __restrict__ ; do
2441 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2442 if cc_check; then
2443 _def_restrict_keyword=$restrict_keyword
2444 break;
2446 done
2447 if [ -n "$_def_restrict_keyword" ]; then
2448 echores "$_def_restrict_keyword"
2449 else
2450 echores "none"
2452 # Avoid infinite recursion loop ("#define restrict restrict")
2453 if [ "$_def_restrict_keyword" != "restrict" ]; then
2454 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2455 else
2456 _def_restrict_keyword=""
2460 echocheck "__builtin_expect"
2461 # GCC branch prediction hint
2462 cat > $TMPC << EOF
2463 int foo (int a) {
2464 a = __builtin_expect (a, 10);
2465 return a == 10 ? 0 : 1;
2467 int main() { return foo(10) && foo(0); }
2469 _builtin_expect=no
2470 cc_check && _builtin_expect=yes
2471 if test "$_builtin_expect" = yes ; then
2472 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2473 else
2474 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2476 echores "$_builtin_expect"
2479 echocheck "kstat"
2480 cat > $TMPC << EOF
2481 #include <kstat.h>
2482 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2484 _kstat=no
2485 cc_check -lkstat && _kstat=yes
2486 if test "$_kstat" = yes ; then
2487 _def_kstat="#define HAVE_LIBKSTAT 1"
2488 _ld_arch="-lkstat $_ld_arch"
2489 else
2490 _def_kstat="#undef HAVE_LIBKSTAT"
2492 echores "$_kstat"
2495 echocheck "posix4"
2496 # required for nanosleep on some systems
2497 cat > $TMPC << EOF
2498 #include <time.h>
2499 int main(void) { (void) nanosleep(0, 0); return 0; }
2501 _posix4=no
2502 cc_check -lposix4 && _posix4=yes
2503 if test "$_posix4" = yes ; then
2504 _ld_arch="-lposix4 $_ld_arch"
2506 echores "$_posix4"
2508 echocheck "lrintf"
2509 cat > $TMPC << EOF
2510 #include <math.h>
2511 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2513 _lrintf=no
2514 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2515 if test "$_lrintf" = yes ; then
2516 _def_lrintf="#define HAVE_LRINTF 1"
2517 else
2518 _def_lrintf="#undef HAVE_LRINTF"
2520 echores "$_lrintf"
2522 echocheck "round"
2523 cat > $TMPC << EOF
2524 #include <math.h>
2525 int main(void) { (void) round(0.0); return 0; }
2527 _round=no
2528 cc_check $_ld_lm && _round=yes
2529 if test "$_round" = yes ; then
2530 _def_round="#define HAVE_ROUND 1"
2531 else
2532 _def_round="#undef HAVE_ROUND"
2534 echores "$_round"
2536 echocheck "nanosleep"
2537 # also check for nanosleep
2538 cat > $TMPC << EOF
2539 #include <time.h>
2540 int main(void) { (void) nanosleep(0, 0); return 0; }
2542 _nanosleep=no
2543 cc_check $_ld_arch && _nanosleep=yes
2544 if test "$_nanosleep" = yes ; then
2545 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2546 else
2547 _def_nanosleep='#undef HAVE_NANOSLEEP'
2549 echores "$_nanosleep"
2552 echocheck "socklib"
2553 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2554 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2555 cat > $TMPC << EOF
2556 #include <netdb.h>
2557 #include <sys/socket.h>
2558 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2560 for _ld_tmp in "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2561 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && break
2562 done
2563 if test $_winsock2 = auto && not cygwin ; then
2564 _winsock2=no
2565 cat > $TMPC << EOF
2566 #include <winsock2.h>
2567 int main(void) { (void) gethostbyname(0); return 0; }
2569 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2571 if test "$_ld_sock" ; then
2572 echores "yes (using $_ld_sock)"
2573 else
2574 echores "no"
2578 if test $_winsock2 = yes ; then
2579 _ld_sock="-lws2_32"
2580 _def_winsock2='#define HAVE_WINSOCK2 1'
2581 else
2582 _def_winsock2='#undef HAVE_WINSOCK2'
2586 _use_aton=no
2587 echocheck "inet_pton()"
2588 cat > $TMPC << EOF
2589 #include <sys/types.h>
2590 #include <sys/socket.h>
2591 #include <arpa/inet.h>
2592 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2594 if test "$_winsock2" = yes ; then
2595 echores "not needed (using winsock2 functions)"
2596 elif cc_check $_ld_sock ; then
2597 # NOTE: Linux has libresolv but does not need it
2599 echores "yes (using $_ld_sock)"
2600 elif cc_check $_ld_sock -lresolv ; then
2601 # NOTE: needed for SunOS at least
2602 _ld_sock="$_ld_sock -lresolv"
2603 echores "yes (using $_ld_sock)"
2604 else
2605 echores "no (=> i'll try inet_aton next)"
2607 echocheck "inet_aton()"
2608 cat > $TMPC << EOF
2609 #include <sys/types.h>
2610 #include <sys/socket.h>
2611 #include <arpa/inet.h>
2612 int main(void) { (void) inet_aton(0, 0); return 0; }
2614 _use_aton=yes
2615 if cc_check $_ld_sock ; then
2616 # NOTE: Linux has libresolv but does not need it
2618 echores "yes (using $_ld_sock)"
2619 elif cc_check $_ld_sock -lresolv ; then
2620 # NOTE: needed for SunOS at least
2621 _ld_sock="$_ld_sock -lresolv"
2622 echores "yes (using $_ld_sock)"
2623 else
2624 _use_aton=no
2625 _network=no
2626 echores "no (=> network support disabled)"
2630 _def_use_aton='#undef USE_ATON'
2631 if test "$_use_aton" != no; then
2632 _def_use_aton='#define USE_ATON 1'
2636 echocheck "inttypes.h (required)"
2637 cat > $TMPC << EOF
2638 #include <inttypes.h>
2639 int main(void) { return 0; }
2641 _inttypes=no
2642 cc_check && _inttypes=yes
2643 if test "$_inttypes" = yes ; then
2644 # nothing to do
2646 else
2647 echores "no"
2648 echocheck "bitypes.h (inttypes.h predecessor)"
2649 cat > $TMPC << EOF
2650 #include <sys/bitypes.h>
2651 int main(void) { return 0; }
2653 _inttypes=no
2654 cc_check && _inttypes=yes
2655 if test "$_inttypes" = yes ; then
2656 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."
2657 else
2658 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2661 echores "$_inttypes"
2664 echocheck "int_fastXY_t in inttypes.h"
2665 cat > $TMPC << EOF
2666 #include <inttypes.h>
2667 int main(void) {
2668 volatile int_fast16_t v= 0;
2669 return v; }
2671 _fast_inttypes=no
2672 cc_check && _fast_inttypes=yes
2673 if test "$_fast_inttypes" = yes ; then
2674 # nothing to do
2676 else
2677 _def_fast_inttypes='
2678 typedef signed char int_fast8_t;
2679 typedef signed int int_fast16_t;
2680 typedef signed int int_fast32_t;
2681 typedef unsigned char uint_fast8_t;
2682 typedef unsigned int uint_fast16_t;
2683 typedef unsigned int uint_fast32_t;'
2685 echores "$_fast_inttypes"
2688 echocheck "word size"
2689 _mp_wordsize="#undef MP_WORDSIZE"
2690 cat > $TMPC << EOF
2691 #include <stdio.h>
2692 #include <sys/types.h>
2693 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2695 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2696 echores "$_wordsize"
2699 echocheck "stddef.h"
2700 cat > $TMPC << EOF
2701 #include <stddef.h>
2702 int main(void) { return 0; }
2704 _stddef=no
2705 cc_check && _stddef=yes
2706 if test "$_stddef" = yes ; then
2707 _def_stddef='#define HAVE_STDDEF_H 1'
2708 else
2709 _def_stddef='#undef HAVE_STDDEF_H'
2711 echores "$_stddef"
2714 echocheck "malloc.h"
2715 cat > $TMPC << EOF
2716 #include <malloc.h>
2717 int main(void) { (void) malloc(0); return 0; }
2719 _malloc=no
2720 cc_check && _malloc=yes
2721 if test "$_malloc" = yes ; then
2722 _def_malloc='#define HAVE_MALLOC_H 1'
2723 else
2724 _def_malloc='#undef HAVE_MALLOC_H'
2726 # malloc.h emits a warning in FreeBSD and OpenBSD
2727 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2728 echores "$_malloc"
2731 echocheck "memalign()"
2732 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2733 cat > $TMPC << EOF
2734 #include <malloc.h>
2735 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2737 _memalign=no
2738 cc_check && _memalign=yes
2739 if test "$_memalign" = yes ; then
2740 _def_memalign='#define HAVE_MEMALIGN 1'
2741 else
2742 _def_memalign='#undef HAVE_MEMALIGN'
2744 echores "$_memalign"
2747 echocheck "alloca.h"
2748 cat > $TMPC << EOF
2749 #include <alloca.h>
2750 int main(void) { (void) alloca(0); return 0; }
2752 _alloca=no
2753 cc_check && _alloca=yes
2754 if cc_check ; then
2755 _def_alloca='#define HAVE_ALLOCA_H 1'
2756 else
2757 _def_alloca='#undef HAVE_ALLOCA_H'
2759 echores "$_alloca"
2762 echocheck "mman.h"
2763 cat > $TMPC << EOF
2764 #include <sys/types.h>
2765 #include <sys/mman.h>
2766 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2768 _mman=no
2769 cc_check && _mman=yes
2770 if test "$_mman" = yes ; then
2771 _def_mman='#define HAVE_SYS_MMAN_H 1'
2772 else
2773 _def_mman='#undef HAVE_SYS_MMAN_H'
2775 echores "$_mman"
2777 cat > $TMPC << EOF
2778 #include <sys/types.h>
2779 #include <sys/mman.h>
2780 int main(void) { void *p = MAP_FAILED; return 0; }
2782 _mman_has_map_failed=no
2783 cc_check && _mman_has_map_failed=yes
2784 if test "$_mman_has_map_failed" = yes ; then
2785 _def_mman_has_map_failed=''
2786 else
2787 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2790 echocheck "dynamic loader"
2791 cat > $TMPC << EOF
2792 #include <dlfcn.h>
2793 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2795 _dl=no
2796 for _ld_tmp in "" "-ldl" ; do
2797 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
2798 done
2799 if test "$_dl" = yes ; then
2800 _def_dl='#define HAVE_LIBDL 1'
2801 else
2802 _def_dl='#undef HAVE_LIBDL'
2804 echores "$_dl"
2807 echocheck "dynamic a/v plugins support"
2808 if test "$_dl" = no ; then
2809 _dynamic_plugins=no
2811 if test "$_dynamic_plugins" = yes ; then
2812 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2813 else
2814 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2816 echores "$_dynamic_plugins"
2819 #echocheck "dynamic linking"
2820 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2821 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2822 #cat > $TMPC << EOF
2823 #int main(void) { return 0; }
2824 #EOF
2825 #if cc_check -rdynamic ; then
2826 # _ld_dl_dynamic='-rdynamic'
2827 #elif cc_check -Bdynamic ; then
2828 # _ld_dl_dynamic='-Bdynamic'
2829 #elif cc_check ; then
2830 # _ld_dl_dynamic=''
2832 #echores "using $_ld_dl_dynamic"
2834 _def_threads='#undef HAVE_THREADS'
2836 echocheck "pthread"
2837 if test "$_pthreads" != no ; then
2838 cat > $TMPC << EOF
2839 #include <pthread.h>
2840 void* func(void *arg) { return arg; }
2841 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2843 _pthreads=no
2844 if not hpux ; then
2845 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
2846 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2847 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
2848 done
2851 if test "$_pthreads" = yes ; then
2852 echores "yes (using $_ld_pthread)"
2853 _pthreads='yes'
2854 _def_pthreads='#define HAVE_PTHREADS 1'
2855 _def_threads='#define HAVE_THREADS 1'
2856 else
2857 echores "no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2858 _pthreads=''
2859 _def_pthreads='#undef HAVE_PTHREADS'
2860 _nas=no ; _tv_v4l=no ; _macosx=no
2861 if not mingw32 ; then
2862 _win32=no
2867 echocheck "iconv"
2868 if test "$_iconv" = auto ; then
2869 _iconv_tmp='#include <iconv.h>'
2871 cat > $TMPC << EOF
2872 #include <stdio.h>
2873 #include <unistd.h>
2874 $_iconv_tmp
2875 #define INBUFSIZE 1024
2876 #define OUTBUFSIZE 4096
2878 char inbuffer[INBUFSIZE];
2879 char outbuffer[OUTBUFSIZE];
2881 int main(void) {
2882 size_t numread;
2883 iconv_t icdsc;
2884 char *tocode="UTF-8";
2885 char *fromcode="cp1250";
2886 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
2887 while ((numread = read (0, inbuffer, INBUFSIZE))) {
2888 char *iptr=inbuffer;
2889 char *optr=outbuffer;
2890 size_t inleft=numread;
2891 size_t outleft=OUTBUFSIZE;
2892 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
2893 != (size_t)(-1)) {
2894 write (1, outbuffer, OUTBUFSIZE - outleft);
2897 if (iconv_close(icdsc) == -1)
2902 _iconv=no
2903 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
2904 cc_check $_ld_lm $_ld_tmp && _ld_iconv="$_ld_tmp" && _iconv=yes && break
2905 done
2907 if test "$_iconv" = yes ; then
2908 _def_iconv='#define USE_ICONV 1'
2909 else
2910 _def_iconv='#undef USE_ICONV'
2912 echores "$_iconv"
2915 echocheck "sys/soundcard.h"
2916 cat > $TMPC << EOF
2917 #include <sys/soundcard.h>
2918 int main(void) { return 0; }
2920 _sys_soundcard=no
2921 cc_check && _sys_soundcard=yes
2922 if test "$_sys_soundcard" = yes ; then
2923 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
2924 _inc_soundcard='#include <sys/soundcard.h>'
2925 else
2926 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
2928 echores "$_sys_soundcard"
2930 if test "$_sys_soundcard" != yes ; then
2931 echocheck "soundcard.h"
2932 cat > $TMPC << EOF
2933 #include <soundcard.h>
2934 int main(void) { return 0; }
2936 _soundcard=no
2937 cc_check && _soundcard=yes
2938 if linux || test "$_ossaudio" != no ; then
2939 # use soundcard.h on Linux, or when OSS support is enabled
2940 echores "$_soundcard"
2941 else
2942 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2943 echores "$_soundcard, but ignored!"
2944 _soundcard=no
2946 if test "$_soundcard" = yes ; then
2947 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
2948 _inc_soundcard='#include <soundcard.h>'
2949 else
2950 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2952 else
2953 _def_soundcard='#undef HAVE_SOUNDCARD_H'
2957 echocheck "sys/dvdio.h"
2958 cat > $TMPC << EOF
2959 #include <unistd.h>
2960 #include <sys/dvdio.h>
2961 int main(void) { return 0; }
2963 _dvdio=no
2964 cc_check && _dvdio=yes
2965 if test "$_dvdio" = yes ; then
2966 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2967 else
2968 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2970 echores "$_dvdio"
2973 echocheck "sys/cdio.h"
2974 cat > $TMPC << EOF
2975 #include <unistd.h>
2976 #include <sys/cdio.h>
2977 int main(void) { return 0; }
2979 _cdio=no
2980 cc_check && _cdio=yes
2981 if test "$_cdio" = yes ; then
2982 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2983 else
2984 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2986 echores "$_cdio"
2989 echocheck "linux/cdrom.h"
2990 cat > $TMPC << EOF
2991 #include <sys/types.h>
2992 #include <linux/cdrom.h>
2993 int main(void) { return 0; }
2995 _cdrom=no
2996 cc_check && _cdrom=yes
2997 if test "$_cdrom" = yes ; then
2998 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2999 else
3000 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3002 echores "$_cdrom"
3005 echocheck "dvd.h"
3006 cat > $TMPC << EOF
3007 #include <dvd.h>
3008 int main(void) { return 0; }
3010 _dvd=no
3011 cc_check && _dvd=yes
3012 if test "$_dvd" = yes ; then
3013 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3014 else
3015 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3017 echores "$_dvd"
3020 echocheck "BSDI dvd.h"
3021 cat > $TMPC << EOF
3022 #include <dvd.h>
3023 int main(void) { return 0; }
3025 _bsdi_dvd=no
3026 cc_check && _bsdi_dvd=yes
3027 if test "$_bsdi_dvd" = yes ; then
3028 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3029 else
3030 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3032 echores "$_bsdi_dvd"
3035 echocheck "HPUX SCSI header"
3036 cat > $TMPC << EOF
3037 #include <sys/scsi.h>
3038 int main(void) { return 0; }
3040 _hpux_scsi_h=no
3041 cc_check && _hpux_scsi_h=yes
3042 if test "$_hpux_scsi_h" = yes ; then
3043 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3044 else
3045 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3047 echores "$_hpux_scsi_h"
3050 echocheck "userspace SCSI headers (Solaris)"
3051 cat > $TMPC << EOF
3052 # include <unistd.h>
3053 # include <stropts.h>
3054 # include <sys/scsi/scsi_types.h>
3055 # include <sys/scsi/impl/uscsi.h>
3056 int main(void) { return 0; }
3058 _sol_scsi_h=no
3059 cc_check && _sol_scsi_h=yes
3060 if test "$_sol_scsi_h" = yes ; then
3061 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3062 else
3063 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3065 echores "$_sol_scsi_h"
3068 echocheck "termcap"
3069 if test "$_termcap" = auto ; then
3070 cat > $TMPC <<EOF
3071 int main(void) { return 0; }
3073 _termcap=no
3074 for _ld_tmp in "-ltermcap" "-ltinfo" ; do
3075 cc_check $_ld_tmp && _ld_termcap="$_ld_tmp" && _termcap=yes && break
3076 done
3078 if test "$_termcap" = yes ; then
3079 _def_termcap='#define USE_TERMCAP 1'
3080 _res_comment="using $_ld_termcap"
3081 else
3082 _def_termcap='#undef USE_TERMCAP'
3084 echores "$_termcap"
3087 echocheck "termios"
3088 if test "$_termios" = auto ; then
3089 cat > $TMPC <<EOF
3090 #include <sys/termios.h>
3091 int main(void) { return 0; }
3093 _termios=auto
3094 cc_check && _termios=yes
3095 _def_termios_h_name='sys/termios.h'
3097 # second test:
3098 if test "$_termios" = auto ; then
3099 cat > $TMPC <<EOF
3100 #include <termios.h>
3101 int main(void) { return 0; }
3103 _termios=no
3104 cc_check && _termios=yes
3105 _def_termios_h_name='termios.h'
3108 if test "$_termios" = yes ; then
3109 _def_termios='#define HAVE_TERMIOS 1'
3110 _def_termios_h='#undef HAVE_TERMIOS_H'
3111 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3113 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3114 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3115 elif test "$_def_termios_h_name" = 'termios.h' ; then
3116 _def_termios_h='#define HAVE_TERMIOS_H 1'
3118 _res_comment="using $_def_termios_h_name"
3119 else
3120 _def_termios='#undef HAVE_TERMIOS'
3121 _def_termios_h_name=''
3122 _termios=no
3124 echores "$_termios"
3127 echocheck "shm"
3128 if test "$_shm" = auto ; then
3129 cat > $TMPC << EOF
3130 #include <sys/types.h>
3131 #include <sys/shm.h>
3132 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3134 _shm=no
3135 cc_check && _shm=yes
3137 if test "$_shm" = yes ; then
3138 _def_shm='#define HAVE_SHM 1'
3139 else
3140 _def_shm='#undef HAVE_SHM'
3142 echores "$_shm"
3145 # XXX: FIXME, add runtime checking
3146 echocheck "linux devfs"
3147 echores "$_linux_devfs"
3150 echocheck "scandir()"
3151 cat > $TMPC << EOF
3152 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3154 _scandir=no
3155 cc_check && _scandir=yes
3156 if test "$_scandir" = yes ; then
3157 _def_scandir='#define HAVE_SCANDIR 1'
3158 else
3159 _def_scandir='#undef HAVE_SCANDIR'
3161 echores "$_scandir"
3164 echocheck "strsep()"
3165 cat > $TMPC << EOF
3166 #include <string.h>
3167 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3169 _strsep=no
3170 cc_check && _strsep=yes
3171 if test "$_strsep" = yes ; then
3172 _def_strsep='#define HAVE_STRSEP 1'
3173 else
3174 _def_strsep='#undef HAVE_STRSEP'
3176 echores "$_strsep"
3178 echocheck "strlcpy()"
3179 cat > $TMPC << EOF
3180 #include <string.h>
3181 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3183 _strlcpy=no
3184 cc_check && _strlcpy=yes
3185 if test "$_strlcpy" = yes ; then
3186 _def_strlcpy='#define HAVE_STRLCPY 1'
3187 else
3188 _def_strlcpy='#undef HAVE_STRLCPY'
3190 echores "$_strlcpy"
3192 echocheck "strlcat()"
3193 cat > $TMPC << EOF
3194 #include <string.h>
3195 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3197 _strlcat=no
3198 cc_check && _strlcat=yes
3199 if test "$_strlcat" = yes ; then
3200 _def_strlcat='#define HAVE_STRLCAT 1'
3201 else
3202 _def_strlcat='#undef HAVE_STRLCAT'
3204 echores "$_strlcat"
3206 echocheck "fseeko()"
3207 cat > $TMPC << EOF
3208 #include <stdio.h>
3209 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3211 _fseeko=no
3212 cc_check && _fseeko=yes
3213 if test "$_fseeko" = yes ; then
3214 _def_fseeko='#define HAVE_FSEEKO 1'
3215 else
3216 _def_fseeko='#undef HAVE_FSEEKO'
3218 echores "$_fseeko"
3220 echocheck "localtime_r()"
3221 cat > $TMPC << EOF
3222 #include <time.h>
3223 int main( void ) { localtime_r(NULL, NULL); }
3225 _localtime_r=no
3226 cc_check && _localtime_r=yes
3227 if test "$_localtime_r" = yes ; then
3228 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3229 else
3230 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3232 echores "$_localtime_r"
3234 echocheck "vsscanf()"
3235 cat > $TMPC << EOF
3236 #include <stdarg.h>
3237 int main(void) { vsscanf(0, 0, 0); return 0; }
3239 _vsscanf=no
3240 cc_check && _vsscanf=yes
3241 if test "$_vsscanf" = yes ; then
3242 _def_vsscanf='#define HAVE_VSSCANF 1'
3243 else
3244 _def_vsscanf='#undef HAVE_VSSCANF'
3246 echores "$_vsscanf"
3249 echocheck "swab()"
3250 cat > $TMPC << EOF
3251 #include <unistd.h>
3252 int main(void) { swab(0, 0, 0); return 0; }
3254 _swab=no
3255 cc_check && _swab=yes
3256 if test "$_swab" = yes ; then
3257 _def_swab='#define HAVE_SWAB 1'
3258 else
3259 _def_swab='#undef HAVE_SWAB'
3261 echores "$_swab"
3263 echocheck "posix select()"
3264 cat > $TMPC << EOF
3265 #include <stdio.h>
3266 #include <stdlib.h>
3267 #include <sys/types.h>
3268 #include <string.h>
3269 #include <sys/time.h>
3270 #include <unistd.h>
3271 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3273 _posix_select=no
3274 cc_check && _posix_select=yes
3275 if test "$_posix_select" = no ; then
3276 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3277 else
3278 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3280 echores "$_posix_select"
3283 echocheck "gettimeofday()"
3284 cat > $TMPC << EOF
3285 #include <stdio.h>
3286 #include <sys/time.h>
3287 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3289 _gettimeofday=no
3290 cc_check && _gettimeofday=yes
3291 if test "$_gettimeofday" = yes ; then
3292 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3293 else
3294 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3296 echores "$_gettimeofday"
3299 echocheck "glob()"
3300 cat > $TMPC << EOF
3301 #include <stdio.h>
3302 #include <glob.h>
3303 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3305 _glob=no
3306 cc_check && _glob=yes
3307 if test "$_glob" = yes ; then
3308 _def_glob='#define HAVE_GLOB 1'
3309 else
3310 _def_glob='#undef HAVE_GLOB'
3312 echores "$_glob"
3315 echocheck "sys/sysinfo.h"
3316 cat > $TMPC << EOF
3317 #include <sys/sysinfo.h>
3318 int main(void) {
3319 struct sysinfo s_info;
3320 sysinfo(&s_info);
3321 return 0;
3324 _sys_sysinfo=no
3325 cc_check && _sys_sysinfo=yes
3326 if test "$_sys_sysinfo" = yes ; then
3327 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3328 _inc_sysinfo='#include <sys/sysinfo.h>'
3329 else
3330 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3332 echores "$_sys_sysinfo"
3335 echocheck "Mac OS X APIs"
3336 if test "$_macosx" = auto && darwin ; then
3337 productName=`/usr/bin/sw_vers -productName`
3338 if test "$productName" = "Mac OS X" ; then
3339 _macosx=yes
3340 else
3341 _macosx=no
3342 _def_macosx='#undef MACOSX'
3343 _noaomodules="macosx $_noaomodules"
3344 _novomodules="quartz $_novomodules"
3347 if test "$_macosx" = yes ; then
3348 cat > $TMPC <<EOF
3349 #include <Carbon/Carbon.h>
3350 #include <QuickTime/QuickTime.h>
3351 #include <CoreAudio/CoreAudio.h>
3352 int main(void) {
3353 EnterMovies();
3354 ExitMovies();
3355 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3358 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3359 _macosx=yes
3360 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3361 _def_macosx='#define MACOSX 1'
3362 _aosrc="$_aosrc ao_macosx.c"
3363 _aomodules="macosx $_aomodules"
3364 _vosrc="$_vosrc vo_quartz.c"
3365 _vomodules="quartz $_vomodules"
3366 else
3367 _macosx=no
3368 _def_macosx='#undef MACOSX'
3369 _noaomodules="macosx $_noaomodules"
3370 _novomodules="quartz $_novomodules"
3372 cat > $TMPC <<EOF
3373 #include <Carbon/Carbon.h>
3374 #include <QuartzCore/CoreVideo.h>
3375 int main(void) {}
3377 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3378 _vosrc="$_vosrc vo_macosx.m"
3379 _vomodules="macosx $_vomodules"
3380 _macosx_frameworks="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3381 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3382 _macosx_corevideo=yes
3383 else
3384 _novomodules="macosx $_novomodules"
3385 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3386 _macosx_corevideo=no
3389 echores "$_macosx"
3391 echocheck "Mac OS X Finder Support"
3392 if test "$_macosx_finder_support" = auto ; then
3393 _macosx_finder_support=$_macosx
3395 if test "$_macosx_finder_support" = yes; then
3396 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3397 _macosx_finder_support=yes
3398 else
3399 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3400 _macosx_finder_support=no
3402 echores "$_macosx_finder_support"
3404 echocheck "Mac OS X Bundle file locations"
3405 if test "$_macosx_bundle" = auto ; then
3406 _macosx_bundle=$_macosx_finder_support
3408 if test "$_macosx_bundle" = yes; then
3409 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3410 else
3411 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3412 _macosx_bundle=no
3414 echores "$_macosx_bundle"
3416 echocheck "Samba support (libsmbclient)"
3417 if test "$_smbsupport" = yes; then
3418 _ld_smb="-lsmbclient"
3420 if test "$_smbsupport" = auto; then
3421 _smbsupport=no
3422 cat > $TMPC << EOF
3423 #include <libsmbclient.h>
3424 int main(void) { smbc_opendir("smb://"); return 0; }
3426 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3427 cc_check $_ld_tmp && _ld_smb="$_ld_tmp" && _smbsupport=yes && break
3428 done
3431 if test "$_smbsupport" = yes; then
3432 _def_smbsupport="#define LIBSMBCLIENT"
3433 _inputmodules="smb $_inputmodules"
3434 else
3435 _def_smbsupport="#undef LIBSMBCLIENT"
3436 _noinputmodules="smb $_noinputmodules"
3438 echores "$_smbsupport"
3441 #########
3442 # VIDEO #
3443 #########
3446 echocheck "3dfx"
3447 if test "$_3dfx" = yes ; then
3448 _def_3dfx='#define HAVE_3DFX 1'
3449 _vosrc="$_vosrc vo_3dfx.c"
3450 _vomodules="3dfx $_vomodules"
3451 else
3452 _def_3dfx='#undef HAVE_3DFX'
3453 _novomodules="3dfx $_novomodules"
3455 echores "$_3dfx"
3458 echocheck "tdfxfb"
3459 if test "$_tdfxfb" = yes ; then
3460 _def_tdfxfb='#define HAVE_TDFXFB 1'
3461 _vosrc="$_vosrc vo_tdfxfb.c"
3462 _vomodules="tdfxfb $_vomodules"
3463 else
3464 _def_tdfxfb='#undef HAVE_TDFXFB'
3465 _novomodules="tdfxfb $_novomodules"
3467 echores "$_tdfxfb"
3469 echocheck "tdfxvid"
3470 if test "$_tdfxvid" = yes ; then
3471 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3472 _vosrc="$_vosrc vo_tdfx_vid.c"
3473 _vomodules="tdfx_vid $_vomodules"
3474 else
3475 _def_tdfxvid='#undef HAVE_TDFX_VID'
3476 _novomodules="tdfx_vid $_novomodules"
3478 echores "$_tdfxfb"
3480 echocheck "tga"
3481 if test "$_tga" = yes ; then
3482 _def_tga='#define HAVE_TGA 1'
3483 _vosrc="$_vosrc vo_tga.c"
3484 _vomodules="tga $_vomodules"
3485 else
3486 _def_tga='#undef HAVE_TGA'
3487 _novomodules="tga $_novomodules"
3489 echores "$_tga"
3491 echocheck "DirectFB headers presence"
3492 if test -z "$_inc_directfb" ; then
3493 for I in /usr/include /usr/local/include $_inc_extra; do
3494 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3495 _inc_directfb="-I$I/directfb"
3496 echores "yes (using $_inc_directfb)"
3497 break
3499 if test -d "$I" && test -f "$I/directfb.h" ; then
3500 _inc_directfb="-I$I"
3501 echores "yes (using $_inc_directfb)"
3502 break
3504 done
3505 if test -z "$_inc_directfb" ; then
3506 _directfb=no
3507 echores "not found"
3509 else
3510 echores "yes (using $_inc_directfb)"
3512 if test "$_inc_directfb" = "-I/usr/include" ; then
3513 _inc_directfb=""
3516 echocheck "DirectFB"
3517 if test "$_directfb" = auto ; then
3518 _directfb=no
3519 cat > $TMPC <<EOF
3520 #include <directfb.h>
3521 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3523 linux && test -c /dev/fb0 && cc_check $_inc_directfb -ldirectfb && _directfb=yes
3526 if test "$_directfb" = yes; then
3527 cat > $TMPC << EOF
3528 #include <directfb_version.h>
3530 dfb_ver = DIRECTFB_MAJOR_VERSION DIRECTFB_MINOR_VERSION DIRECTFB_MICRO_VERSION
3533 if $_cc -E $TMPC $_inc_directfb > "$TMPO"; then
3534 _directfb_version=`sed -n 's/^dfb_ver[^1-9]*\(.*\)/\1/p' "$TMPO" | tr -d '() '`
3535 _def_directfb_version="#define DIRECTFBVERSION $_directfb_version"
3536 if test "$_directfb_version" -ge 913; then
3537 _res_comment="$_directfb_version"
3538 else
3539 _def_directfb_version='#undef DIRECTFBVERSION'
3540 _directfb=no
3541 _res_comment="version >=0.9.13 required"
3543 else
3544 _directfb=no
3545 _res_comment="failed to get version"
3548 echores "$_directfb"
3550 if test "$_directfb" = yes ; then
3551 _def_directfb='#define HAVE_DIRECTFB 1'
3552 if test "$_directfb_version" -ge 913; then
3553 _vosrc="$_vosrc vo_directfb2.c"
3554 _vomodules="directfb $_vomodules"
3555 _ld_directfb='-ldirectfb'
3558 if test "$_directfb_version" -ge 915; then
3559 _vosrc="$_vosrc vo_dfbmga.c"
3560 _vomodules="dfbmga $_vomodules"
3562 else
3563 _def_directfb='#undef HAVE_DIRECTFB'
3564 _novomodules="directfb $_novomodules"
3565 _inc_directfb=""
3569 echocheck "X11 headers presence"
3570 if test -z "$_inc_x11" ; then
3571 for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
3572 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3573 _inc_x11="-I$I"
3574 echores "yes (using $I)"
3575 break
3577 done
3578 if test -z "$_inc_x11" ; then
3579 _x11=no
3580 echores "not found (check if the dev(el) packages are installed)"
3582 else
3583 echores "yes (using $_inc_x11)"
3585 if test "$_inc_x11" = "-I/usr/include" ; then
3586 _inc_x11=""
3590 echocheck "X11"
3591 if test "$_x11" != no ; then
3592 cat > $TMPC <<EOF
3593 #include <X11/Xlib.h>
3594 #include <X11/Xutil.h>
3595 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3597 if test -z "$_x11_paths" ; then
3598 _x11_paths="/usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 /usr/lib"
3600 for I in $_x11_paths ; do
3601 _ld_x11="-L$I -lXext -lX11 $_ld_sock $_ld_pthread"
3602 if netbsd; then
3603 _ld_x11="$_ld_x11 -Wl,-R$I"
3605 if test -d "$I" && cc_check $_inc_x11 $_ld_x11 ; then
3606 _x11=yes
3607 break
3609 done
3611 if test "$_x11" = yes ; then
3612 _def_x11='#define HAVE_X11 1'
3613 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3614 _vomodules="x11 xover $_vomodules"
3615 _res_comment="using $I"
3616 else
3617 _x11=no
3618 _def_x11='#undef HAVE_X11'
3619 _inc_x11=''
3620 _ld_x11=''
3621 _novomodules="x11 $_novomodules"
3622 _res_comment="check if the dev(el) packages are installed"
3624 echores "$_x11"
3627 echocheck "DPMS"
3628 _xdpms3=no
3629 _xdpms4=no
3630 if test "$_x11" = yes ; then
3631 cat > $TMPC <<EOF
3632 #include <X11/Xmd.h>
3633 #include <X11/Xlib.h>
3634 #include <X11/Xutil.h>
3635 #include <X11/Xatom.h>
3636 #include <X11/extensions/dpms.h>
3637 int main(void) {
3638 (void) DPMSQueryExtension(0, 0, 0);
3641 cc_check $_inc_x11 -lXdpms $_ld_x11 && _xdpms3=yes
3642 cat > $TMPC <<EOF
3643 #include <X11/Xlib.h>
3644 #include <X11/extensions/dpms.h>
3645 int main(void) {
3646 (void) DPMSQueryExtension(0, 0, 0);
3649 cc_check $_inc_x11 $_ld_x11 && _xdpms4=yes
3651 if test "$_xdpms4" = yes ; then
3652 _def_xdpms='#define HAVE_XDPMS 1'
3653 echores "yes (using Xdpms 4)"
3654 elif test "$_xdpms3" = yes ; then
3655 _def_xdpms='#define HAVE_XDPMS 1'
3656 _ld_x11="-lXdpms $_ld_x11"
3657 echores "yes (using Xdpms 3)"
3658 else
3659 _def_xdpms='#undef HAVE_XDPMS'
3660 echores "no"
3664 echocheck "Xv"
3665 if test "$_x11" = yes && test "$_xv" != no ; then
3666 cat > $TMPC <<EOF
3667 #include <X11/Xlib.h>
3668 #include <X11/extensions/Xvlib.h>
3669 int main(void) {
3670 (void) XvGetPortAttribute(0, 0, 0, 0);
3671 (void) XvQueryPortAttributes(0, 0, 0);
3672 return 0; }
3674 _xv=no
3675 cc_check $_inc_x11 -lXv $_ld_x11 && _xv=yes
3676 else
3677 _xv=no
3679 if test "$_xv" = yes ; then
3680 _def_xv='#define HAVE_XV 1'
3681 _ld_xv='-lXv'
3682 _vosrc="$_vosrc vo_xv.c"
3683 _vomodules="xv $_vomodules"
3684 else
3685 _def_xv='#undef HAVE_XV'
3686 _novomodules="xv $_novomodules"
3688 echores "$_xv"
3691 echocheck "XvMC"
3692 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no ; then
3693 _xvmc=no
3694 cat > $TMPC <<EOF
3695 #include <X11/Xlib.h>
3696 #include <X11/extensions/Xvlib.h>
3697 #include <X11/extensions/XvMClib.h>
3698 int main(void) {
3699 (void) XvMCQueryExtension(0,0,0);
3700 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3701 return 0; }
3703 cc_check $_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc=yes
3705 if test "$_xvmc" = yes ; then
3706 _def_xvmc='#define HAVE_XVMC 1'
3707 _ld_xvmc="-lXvMC -l$_xvmclib"
3708 _vosrc="$_vosrc vo_xvmc.c"
3709 _vomodules="xvmc $_vomodules"
3710 else
3711 _def_xvmc='#undef HAVE_XVMC'
3712 _novomodules="xvmc $_novomodules"
3714 echores "$_xvmc"
3717 echocheck "Xinerama"
3718 if test "$_x11" = yes && test "$_xinerama" != no ; then
3719 cat > $TMPC <<EOF
3720 #include <X11/Xlib.h>
3721 #include <X11/extensions/Xinerama.h>
3722 int main(void) { (void) XineramaIsActive(0); return 0; }
3724 _xinerama=no
3725 cc_check $_inc_x11 -lXinerama $_ld_x11 && _xinerama=yes
3726 else
3727 _xinerama=no
3729 if test "$_xinerama" = yes ; then
3730 _def_xinerama='#define HAVE_XINERAMA 1'
3731 _ld_xinerama='-lXinerama'
3732 else
3733 _def_xinerama='#undef HAVE_XINERAMA'
3735 echores "$_xinerama"
3738 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3739 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3740 # named 'X extensions' or something similar.
3741 # This check may be useful for future mplayer versions (to change resolution)
3742 # If you run into problems, remove '-lXxf86vm'.
3743 echocheck "Xxf86vm"
3744 if test "$_x11" = yes && test "$_vm" = auto ; then
3745 cat > $TMPC <<EOF
3746 #include <X11/Xlib.h>
3747 #include <X11/extensions/xf86vmode.h>
3748 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3750 _vm=no
3751 cc_check $_inc_x11 -lXxf86vm $_ld_x11 && _vm=yes
3753 if test "$_vm" = yes ; then
3754 _def_vm='#define HAVE_XF86VM 1'
3755 _ld_vm='-lXxf86vm'
3756 else
3757 _def_vm='#undef HAVE_XF86VM'
3759 echores "$_vm"
3761 # Check for the presence of special keycodes, like audio control buttons
3762 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3763 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3764 # have these new keycodes.
3765 echocheck "XF86keysym"
3766 if test "$_xf86keysym" = auto; then
3767 _xf86keysym=no
3768 if test "$_x11" = yes ; then
3769 cat > $TMPC <<EOF
3770 #include <X11/Xlib.h>
3771 #include <X11/XF86keysym.h>
3772 int main(void) { return XF86XK_AudioPause; }
3774 cc_check $_inc_x11 $_ld_x11 && _xf86keysym=yes
3777 if test "$_xf86keysym" = yes ; then
3778 _def_xf86keysym='#define HAVE_XF86XK 1'
3779 else
3780 _def_xf86keysym='#undef HAVE_XF86XK'
3782 echores "$_xf86keysym"
3784 echocheck "DGA"
3785 if test "$_x11" = no ; then
3786 _dga=no
3788 # Version 2 is preferred to version 1 if available
3789 if test "$_dga" = auto ; then
3790 cat > $TMPC << EOF
3791 #include <X11/Xlib.h>
3792 #include <X11/extensions/xf86dga.h>
3793 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3795 _dga=no
3796 cc_check $_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
3798 cat > $TMPC << EOF
3799 #include <X11/Xlib.h>
3800 #include <X11/extensions/xf86dga.h>
3801 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3803 cc_check $_inc_x11 -lXxf86dga $_ld_x11 && _dga=2
3806 _def_dga='#undef HAVE_DGA'
3807 _def_dga2='#undef HAVE_DGA2'
3808 if test "$_dga" = 1 ; then
3809 _def_dga='#define HAVE_DGA 1'
3810 _ld_dga='-lXxf86dga'
3811 _vosrc="$_vosrc vo_dga.c"
3812 _vomodules="dga $_vomodules"
3813 echores "yes (using DGA 1.0)"
3814 elif test "$_dga" = 2 ; then
3815 _def_dga='#define HAVE_DGA 1'
3816 _def_dga2='#define HAVE_DGA2 1'
3817 _ld_dga='-lXxf86dga'
3818 _vosrc="$_vosrc vo_dga.c"
3819 _vomodules="dga $_vomodules"
3820 echores "yes (using DGA 2.0)"
3821 elif test "$_dga" = no ; then
3822 echores "no"
3823 _novomodules="dga $_novomodules"
3824 else
3825 die "DGA version must be 1 or 2"
3829 echocheck "OpenGL"
3830 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3831 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
3832 cat > $TMPC << EOF
3833 #include <GL/gl.h>
3834 int main(void) { return 0; }
3836 _gl=no
3837 if cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3838 _gl=yes
3839 _ld_gl="-lGL $_ld_dl"
3840 elif cc_check $_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3841 _gl=yes
3842 _ld_gl="-lGL $_ld_pthread $_ld_dl"
3843 elif cc_check -lopengl32 ; then
3844 _gl=yes
3845 _gl_win32=yes
3846 _ld_gl="-lopengl32 -lgdi32"
3848 else
3849 _gl=no
3851 if test "$_gl" = yes ; then
3852 _def_gl='#define HAVE_GL 1'
3853 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3854 if test "$_gl_win32" = yes ; then
3855 _def_gl_win32='#define GL_WIN32 1'
3856 _vosrc="$_vosrc w32_common.c"
3857 _res_comment="win32 version"
3859 _vomodules="opengl $_vomodules"
3860 else
3861 _def_gl='#undef HAVE_GL'
3862 _def_gl_win32='#undef GL_WIN32'
3863 _novomodules="opengl $_novomodules"
3865 echores "$_gl"
3868 echocheck "/dev/mga_vid"
3869 if test "$_mga" = auto ; then
3870 _mga=no
3871 test -c /dev/mga_vid && _mga=yes
3873 if test "$_mga" = yes ; then
3874 _def_mga='#define HAVE_MGA 1'
3875 _vosrc="$_vosrc vo_mga.c"
3876 _vomodules="mga $_vomodules"
3877 else
3878 _def_mga='#undef HAVE_MGA'
3879 _novomodules="mga $_novomodules"
3881 echores "$_mga"
3884 # echocheck "syncfb"
3885 # _syncfb=no
3886 # test "$_mga" = yes && _syncfb=yes
3887 # if test "$_syncfb" = yes ; then
3888 # _def_syncfb='#define HAVE_SYNCFB 1'
3889 # _vosrc="$_vosrc vo_syncfb.c"
3890 # else
3891 # _def_syncfb='#undef HAVE_SYNCFB'
3892 # fi
3893 # echores "$_syncfb"
3896 echocheck "xmga"
3897 if test "$_xmga" = auto ; then
3898 _xmga=no
3899 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
3901 if test "$_xmga" = yes ; then
3902 _def_xmga='#define HAVE_XMGA 1'
3903 _vosrc="$_vosrc vo_xmga.c"
3904 _vomodules="xmga $_vomodules"
3905 else
3906 _def_xmga='#undef HAVE_XMGA'
3907 _novomodules="xmga $_novomodules"
3909 echores "$_xmga"
3912 echocheck "GGI"
3913 if test "$_ggi" = auto ; then
3914 cat > $TMPC << EOF
3915 #include <ggi/ggi.h>
3916 int main(void) { return 0; }
3918 _ggi=no
3919 cc_check -lggi && _ggi=yes
3921 if test "$_ggi" = yes ; then
3922 _def_ggi='#define HAVE_GGI 1'
3923 _ld_ggi='-lggi'
3924 _vosrc="$_vosrc vo_ggi.c"
3925 _vomodules="ggi $_vomodules"
3926 else
3927 _def_ggi='#undef HAVE_GGI'
3928 _novomodules="ggi $_novomodules"
3930 echores "$_ggi"
3932 echocheck "GGI extension: libggiwmh"
3933 if test "$_ggiwmh" = auto ; then
3934 _ggiwmh=no
3935 cat > $TMPC << EOF
3936 #include <ggi/ggi.h>
3937 #include <ggi/wmh.h>
3938 int main(void) { return 0; }
3940 cc_check -lggi -lggiwmh && _ggiwmh=yes
3942 # needed to get right output on obscure combination
3943 # like --disable-ggi --enable-ggiwmh
3944 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
3945 _def_ggiwmh='#define HAVE_GGIWMH 1'
3946 _ld_ggi="$_ld_ggi -lggiwmh"
3947 else
3948 _ggiwmh=no
3949 _def_ggiwmh='#undef HAVE_GGIWMH'
3951 echores "$_ggiwmh"
3954 echocheck "AA"
3955 if test "$_aa" = auto ; then
3956 cat > $TMPC << EOF
3957 #include <aalib.h>
3958 extern struct aa_hardware_params aa_defparams;
3959 extern struct aa_renderparams aa_defrenderparams;
3960 int main(void) {
3961 aa_context *c;
3962 aa_renderparams *p;
3963 (void) aa_init(0, 0, 0);
3964 c = aa_autoinit(&aa_defparams);
3965 p = aa_getrenderparams();
3966 aa_autoinitkbd(c,0);
3967 return 0; }
3969 _aa=no
3970 for _ld_tmp in "-laa" "$_ld_x11 -laa" ; do
3971 cc_check $_ld_tmp && _ld_aa=$_ld_tmp && _aa=yes && break
3972 done
3974 if test "$_aa" = yes ; then
3975 _def_aa='#define HAVE_AA 1'
3976 if cygwin ; then
3977 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
3979 _vosrc="$_vosrc vo_aa.c"
3980 _vomodules="aa $_vomodules"
3981 else
3982 _def_aa='#undef HAVE_AA'
3983 _novomodules="aa $_novomodules"
3985 echores "$_aa"
3988 echocheck "CACA"
3989 if test "$_caca" = auto ; then
3990 _caca=no
3991 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
3992 cat > $TMPC << EOF
3993 #include <caca.h>
3994 int main(void) { (void) caca_init(); return 0; }
3996 cc_check `caca-config --libs` && _caca=yes
3999 if test "$_caca" = yes ; then
4000 _def_caca='#define HAVE_CACA 1'
4001 _inc_caca=`caca-config --cflags`
4002 _ld_caca=`caca-config --libs`
4003 _vosrc="$_vosrc vo_caca.c"
4004 _vomodules="caca $_vomodules"
4005 else
4006 _def_caca='#undef HAVE_CACA'
4007 _novomodules="caca $_novomodules"
4009 echores "$_caca"
4012 echocheck "SVGAlib"
4013 if test "$_svga" = auto ; then
4014 cat > $TMPC << EOF
4015 #include <vga.h>
4016 int main(void) { return 0; }
4018 _svga=no
4019 cc_check -lvga $_ld_lm && _svga=yes
4021 if test "$_svga" = yes ; then
4022 _def_svga='#define HAVE_SVGALIB 1'
4023 _ld_svga="-lvga"
4024 _vosrc="$_vosrc vo_svga.c"
4025 _vomodules="svga $_vomodules"
4026 else
4027 _def_svga='#undef HAVE_SVGALIB'
4028 _novomodules="svga $_novomodules"
4030 echores "$_svga"
4033 echocheck "FBDev"
4034 if test "$_fbdev" = auto ; then
4035 _fbdev=no
4036 linux && test -c /dev/fb0 && _fbdev=yes
4038 if test "$_fbdev" = yes ; then
4039 _def_fbdev='#define HAVE_FBDEV 1'
4040 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4041 _vomodules="fbdev $_vomodules"
4042 else
4043 _def_fbdev='#undef HAVE_FBDEV'
4044 _novomodules="fbdev $_novomodules"
4046 echores "$_fbdev"
4050 echocheck "DVB"
4051 if test "$_dvb" != no ; then
4052 _dvb=no
4053 cat >$TMPC << EOF
4054 #include <sys/poll.h>
4055 #include <sys/ioctl.h>
4056 #include <stdio.h>
4057 #include <time.h>
4058 #include <unistd.h>
4060 #include <ost/dmx.h>
4061 #include <ost/frontend.h>
4062 #include <ost/sec.h>
4063 #include <ost/video.h>
4064 #include <ost/audio.h>
4065 int main(void) {return 0;}
4067 if cc_check ; then
4068 _dvb=yes
4069 else
4070 for I in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
4071 if cc_check "$I" ; then
4072 _dvb=yes
4073 _inc_dvb="$I"
4074 _res_comment="using $_inc_dvb"
4075 break
4077 done
4078 test "$_dvb" = no && _res_comment="specify path to DVB/ost/include with --with-dvbincdir=DIR"
4081 echores "$_dvb"
4082 if test "$_dvb" = yes ; then
4083 _def_dvb='#define HAVE_DVB 1'
4084 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4085 _aomodules="mpegpes(dvb) $_aomodules"
4086 _vomodules="mpegpes(dvb) $_vomodules"
4088 if test "$_dvbhead" != no ; then
4089 echocheck "DVB HEAD"
4090 if test "$_dvbhead" != no ; then
4091 _dvbhead=no
4093 cat >$TMPC << EOF
4094 #include <sys/poll.h>
4095 #include <sys/ioctl.h>
4096 #include <stdio.h>
4097 #include <time.h>
4098 #include <unistd.h>
4100 #include <linux/dvb/dmx.h>
4101 #include <linux/dvb/frontend.h>
4102 #include <linux/dvb/video.h>
4103 #include <linux/dvb/audio.h>
4104 int main(void) {return 0;}
4106 if cc_check ; then
4107 _dvbhead=yes
4108 else
4109 for I in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
4110 if cc_check "$I" ; then
4111 _dvbhead=yes
4112 _inc_dvb="$I"
4113 _res_comment="using $_inc_dvb"
4114 break
4116 done
4117 test "$_dvbhead" = no && _res_comment="specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR"
4120 echores "$_dvbhead"
4121 if test "$_dvbhead" = yes ; then
4122 _def_dvb='#define HAVE_DVB_HEAD 1'
4123 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4124 _aomodules="mpegpes(dvb) $_aomodules"
4125 _vomodules="mpegpes(dvb) $_vomodules"
4128 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4129 _def_dvb='#undef HAVE_DVB'
4130 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4131 _aomodules="mpegpes(file) $_aomodules"
4132 _vomodules="mpegpes(file) $_vomodules"
4135 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4136 _dvbin=yes
4137 _inputmodules="dvb $_inputmodules"
4138 else
4139 _dvbin=no
4140 _noinputmodules="dvb $_noinputmodules"
4143 echocheck "PNG support"
4144 if test "$_png" = auto ; then
4145 _png=no
4146 if irix ; then
4147 # Don't check for -lpng on irix since it has its own libpng
4148 # incompatible with the GNU libpng
4149 _res_comment="disabled on irix (not GNU libpng)"
4150 else
4151 cat > $TMPC << EOF
4152 #include <png.h>
4153 #include <string.h>
4154 int main(void) {
4155 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4156 printf("libpng: %s\n", png_libpng_ver);
4157 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4160 if cc_check -lpng -lz $_ld_lm ; then
4161 if tmp_run ; then
4162 _png=yes
4163 else
4164 _res_comment="mismatch of library and header versions"
4169 echores "$_png"
4170 if test "$_png" = yes ; then
4171 _def_png='#define HAVE_PNG 1'
4172 _ld_png='-lpng -lz'
4173 _vosrc="$_vosrc vo_png.c"
4174 _vomodules="png $_vomodules"
4175 _mkf_png="yes"
4176 else
4177 _def_png='#undef HAVE_PNG'
4178 _novomodules="png $_novomodules"
4179 _mkf_png="no"
4182 echocheck "JPEG support"
4183 if test "$_jpg" = auto ; then
4184 _jpg=no
4185 cat > $TMPC << EOF
4186 #include <stdio.h>
4187 #include <stdlib.h>
4188 #include <setjmp.h>
4189 #include <string.h>
4190 #include <jpeglib.h>
4191 int main(void) {
4192 return 0;
4195 if cc_check -ljpeg $_ld_lm ; then
4196 if tmp_run ; then
4197 _jpg=yes
4201 echores "$_jpg"
4203 if test "$_jpg" = yes ; then
4204 _def_jpg='#define HAVE_JPEG 1'
4205 _vosrc="$_vosrc vo_jpeg.c"
4206 _vomodules="jpeg $_vomodules"
4207 _ld_jpg="-ljpeg"
4208 _mkf_jpg="yes"
4209 else
4210 _def_jpg='#undef HAVE_JPEG'
4211 _novomodules="jpeg $_novomodules"
4212 _mkf_jpg="no"
4217 echocheck "PNM support"
4218 if test "$_pnm" = yes; then
4219 _def_pnm="#define HAVE_PNM"
4220 _vosrc="$_vosrc vo_pnm.c"
4221 _vomodules="pnm $_vomodules"
4222 else
4223 _def_pnm="#undef HAVE_PNM"
4224 _novomodules="pnm $_novomodules"
4226 echores "$_pnm"
4230 echocheck "md5sum support"
4231 if test "$_md5sum" = yes; then
4232 _def_md5sum="#define HAVE_MD5SUM"
4233 _vosrc="$_vosrc vo_md5sum.c md5sum.c"
4234 _vomodules="md5sum $_vomodules"
4235 else
4236 _def_md5sum="#undef HAVE_MD5SUM"
4237 _novomodules="md5sum $_novomodules"
4239 echores "$_md5sum"
4243 echocheck "GIF support"
4244 # This is to appease people who want to force gif support.
4245 # If it is forced to yes, then we still do checks to determine
4246 # which gif library to use.
4247 if test "$_gif" = yes ; then
4248 _force_gif=yes
4249 _gif=auto
4252 if test "$_gif" = auto ; then
4253 _gif=no
4254 cat > $TMPC << EOF
4255 #include <gif_lib.h>
4256 int main(void) {
4257 return 0;
4260 for _ld_tmp in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4261 cc_check $_ld_tmp && tmp_run && _ld_gif="$_ld_tmp" && _gif=yes && break
4262 done
4265 # If no library was found, and the user wants support forced,
4266 # then we force it on with libgif, as this is the safest
4267 # assumption IMHO. (libungif & libregif both create symbolic
4268 # links to libgif. We also assume that no x11 support is needed,
4269 # because if you are forcing this, then you _should_ know what
4270 # you are doing. [ Besides, package maintainers should never
4271 # have compiled x11 deps into libungif in the first place. ] )
4272 # </rant>
4273 # --Joey
4274 if test "$_force_gif" = yes && test "$_gif" = no ; then
4275 _gif=yes
4276 _ld_gif="-lgif"
4279 if test "$_gif" = yes ; then
4280 _def_gif='#define HAVE_GIF 1'
4281 _vosrc="$_vosrc vo_gif89a.c"
4282 _codecmodules="gif $_codecmodules"
4283 _vomodules="gif89a $_vomodules"
4284 _mkf_gif="yes"
4285 _gif="yes (old version, some encoding functions disabled)"
4286 _def_gif_4='#undef HAVE_GIF_4'
4288 cat > $TMPC << EOF
4289 #include <signal.h>
4290 #include <gif_lib.h>
4291 void catch() { exit(1); }
4292 int main(void) {
4293 signal(SIGSEGV, catch); // catch segfault
4294 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4295 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4296 return 0;
4299 if cc_check "$_ld_gif" && tmp_run ; then
4300 _def_gif_4='#define HAVE_GIF_4 1'
4301 _gif="yes"
4303 else
4304 _def_gif='#undef HAVE_GIF'
4305 _def_gif_4='#undef HAVE_GIF_4'
4306 _novomodules="gif89a $_novomodules"
4307 _nocodecmodules="gif $_nocodecmodules"
4308 _mkf_gif="no"
4310 echores "$_gif"
4313 case "$_gif" in yes*)
4314 echocheck "broken giflib workaround"
4315 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4317 cat > $TMPC << EOF
4318 #include <gif_lib.h>
4319 int main(void) {
4320 GifFileType gif;
4321 printf("UserData is at address %p\n", gif.UserData);
4322 return 0;
4325 if cc_check "$_ld_gif" && tmp_run ; then
4326 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4327 echores "disabled"
4328 else
4329 echores "enabled"
4332 esac
4335 echocheck "VESA support"
4336 if test "$_vesa" = auto ; then
4337 cat > $TMPC << EOF
4338 #include <vbe.h>
4339 int main(void) { vbeVersion(); return 0; }
4341 _vesa=no
4342 cc_check -lvbe -llrmi && _vesa=yes
4344 if test "$_vesa" = yes ; then
4345 _def_vesa='#define HAVE_VESA 1'
4346 _ld_vesa="-lvbe -llrmi"
4347 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4348 _vomodules="vesa $_vomodules"
4349 else
4350 _def_vesa='#undef HAVE_VESA'
4351 _novomodules="vesa $_novomodules"
4353 echores "$_vesa"
4355 #################
4356 # VIDEO + AUDIO #
4357 #################
4360 echocheck "SDL"
4361 if test -z "$_sdlconfig" ; then
4362 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4363 _sdlconfig="sdl-config"
4364 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4365 _sdlconfig="sdl11-config"
4366 else
4367 _sdlconfig=false
4370 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4371 cat > $TMPC << EOF
4372 #include <SDL.h>
4373 int main(int argc, char *argv[]) { return 0; }
4375 _sdl=no
4376 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4377 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4378 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4379 if test "$_sdlversion" -gt 116 ; then
4380 if test "$_sdlversion" -lt 121 ; then
4381 _def_sdlbuggy='#define BUGGY_SDL'
4382 else
4383 _def_sdlbuggy='#undef BUGGY_SDL'
4385 _sdl=yes
4386 else
4387 _res_comment=outdated
4392 if test "$_sdl" = yes ; then
4393 _def_sdl='#define HAVE_SDL 1'
4394 if cygwin ; then
4395 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4396 _inc_sdl=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4397 elif mingw32 ; then
4398 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
4399 _inc_sdl=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4400 else
4401 _ld_sdl=`$_sdlconfig --libs`
4402 _inc_sdl=`$_sdlconfig --cflags`
4404 _vosrc="$_vosrc vo_sdl.c"
4405 _vomodules="sdl $_vomodules"
4406 _aosrc="$_aosrc ao_sdl.c"
4407 _aomodules="sdl $_aomodules"
4408 _res_comment="using $_sdlconfig"
4409 else
4410 _def_sdl='#undef HAVE_SDL'
4411 _novomodules="sdl $_novomodules"
4412 _noaomodules="sdl $_noaomodules"
4414 echores "$_sdl"
4416 echocheck "Windows waveout"
4417 if test "$_win32waveout" = auto ; then
4418 cat > $TMPC << EOF
4419 #include <windows.h>
4420 #include <mmsystem.h>
4421 int main(void) { return 0; }
4423 _win32waveout=no
4424 cc_check -lwinmm && _win32waveout=yes
4426 if test "$_win32waveout" = yes ; then
4427 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4428 _ld_win32libs="-lwinmm $_ld_win32libs"
4429 _aosrc="$_aosrc ao_win32.c"
4430 _aomodules="win32 $_aomodules"
4431 else
4432 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4433 _noaomodules="win32 $_noaomodules"
4435 echores "$_win32waveout"
4437 echocheck "Directx"
4438 if test "$_directx" = auto ; then
4439 cat > $TMPC << EOF
4440 #include <windows.h>
4441 #include <ddraw.h>
4442 #include <dsound.h>
4443 int main(void) { return 0; }
4445 _directx=no
4446 cc_check -lgdi32 && _directx=yes
4448 if test "$_directx" = yes ; then
4449 _def_directx='#define HAVE_DIRECTX 1'
4450 _ld_win32libs="-lgdi32 $_ld_win32libs"
4451 _vosrc="$_vosrc vo_directx.c"
4452 _vomodules="directx $_vomodules"
4453 _aosrc="$_aosrc ao_dsound.c"
4454 _aomodules="dsound $_aomodules"
4455 else
4456 _def_directx='#undef HAVE_DIRECTX'
4457 _novomodules="directx $_novomodules"
4458 _noaomodules="dsound $_noaomodules"
4460 echores "$_directx"
4462 echocheck "NAS"
4463 if test "$_nas" = auto ; then
4464 cat > $TMPC << EOF
4465 #include <audio/audiolib.h>
4466 int main(void) { return 0; }
4468 _nas=no
4469 cc_check -laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas=yes
4471 if test "$_nas" = yes ; then
4472 _def_nas='#define HAVE_NAS 1'
4473 _ld_nas="-laudio -lXt $_ld_x11"
4474 _aosrc="$_aosrc ao_nas.c"
4475 _aomodules="nas $_aomodules"
4476 else
4477 _noaomodules="nas $_noaomodules"
4478 _def_nas='#undef HAVE_NAS'
4480 echores "$_nas"
4482 echocheck "DXR2"
4483 if test "$_dxr2" = auto; then
4484 _dxr2=no
4485 cat > $TMPC << EOF
4486 #include <dxr2ioctl.h>
4487 int main(void) { return 0; }
4489 for _inc_dxr2 in "$_inc_dxr2" \
4490 "-I/usr/local/include/dxr2" \
4491 "-I/usr/include/dxr2"; do
4492 cc_check $_inc_dxr2 && _dxr2=yes && break
4493 done
4495 if test "$_dxr2" = yes; then
4496 _def_dxr2='#define HAVE_DXR2 1'
4497 _vosrc="$_vosrc vo_dxr2.c"
4498 _aosrc="$_aosrc ao_dxr2.c"
4499 _aomodules="dxr2 $_aomodules"
4500 _vomodules="dxr2 $_vomodules"
4501 _res_comment="using $_inc_dxr2"
4502 else
4503 _def_dxr2='#undef HAVE_DXR2'
4504 _noaomodules="dxr2 $_noaomodules"
4505 _novomodules="dxr2 $_novomodules"
4506 _inc_dxr2=""
4508 echores "$_dxr2"
4510 echocheck "DXR3/H+"
4511 if test "$_dxr3" = auto ; then
4512 cat > $TMPC << EOF
4513 #include <linux/em8300.h>
4514 int main(void) { return 0; }
4516 _dxr3=no
4517 cc_check && _dxr3=yes
4519 if test "$_dxr3" = yes ; then
4520 _def_dxr3='#define HAVE_DXR3 1'
4521 _vosrc="$_vosrc vo_dxr3.c"
4522 _vomodules="dxr3 $_vomodules"
4523 else
4524 _def_dxr3='#undef HAVE_DXR3'
4525 _novomodules="dxr3 $_novomodules"
4526 if test "$_mp1e" = auto ; then
4527 # we don't need mp1e
4528 _mp1e=no
4531 echores "$_dxr3"
4533 echocheck "libmp1e"
4534 if test "$_mmx" = no ; then
4535 # mp1e REQUIRES mmx!
4536 _mp1e=no
4538 if test "$_mp1e" != no ; then
4539 _mp1e=yes
4540 _def_mp1e='#define USE_MP1E'
4541 _ld_mp1e='libmp1e/libmp1e.a'
4542 _dep_mp1e='libmp1e/libmp1e.a'
4543 else
4544 _mp1e=no
4545 _def_mp1e='#undef USE_MP1E'
4546 _ld_mp1e=""
4547 _dep_mp1e=''
4549 echores "$_mp1e"
4552 echocheck "libfame"
4553 if test "$_fame" = auto ; then
4554 _fame=no
4555 test "$_dxr2" = yes && _fame=auto
4556 test "$_dxr3" = yes && _fame=auto
4557 test "$_dvb" = yes && _fame=auto
4559 if test "$_fame" = auto ; then
4560 _fame=no
4561 if test -d libfame && test -f libfame/fame.h ; then
4562 # disable fame on cygwin as no sense to port - atmos
4563 cygwin || _fame=yes
4564 else
4565 _res_comment="no fame dir"
4568 echores "$_fame"
4570 _def_fame='#undef USE_LIBFAME'
4571 if test "$_fame" = yes ; then
4572 _def_fame='#define USE_LIBFAME 1'
4573 _ld_fame='libfame/libfame.a'
4577 #########
4578 # AUDIO #
4579 #########
4582 echocheck "OSS Audio"
4583 if test "$_ossaudio" = auto ; then
4584 cat > $TMPC << EOF
4585 #include <sys/ioctl.h>
4586 $_inc_soundcard
4587 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4589 _ossaudio=no
4590 cc_check && _ossaudio=yes
4592 if test "$_ossaudio" = yes ; then
4593 _def_ossaudio='#define USE_OSS_AUDIO 1'
4594 _aosrc="$_aosrc ao_oss.c"
4595 _aomodules="oss $_aomodules"
4596 if test "$_linux_devfs" = yes; then
4597 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4598 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4599 else
4600 cat > $TMPC << EOF
4601 #include <sys/ioctl.h>
4602 $_inc_soundcard
4603 #ifdef OPEN_SOUND_SYSTEM
4604 int main(void) { return 0; }
4605 #else
4606 #error Not the real thing
4607 #endif
4609 _real_ossaudio=no
4610 cc_check && _real_ossaudio=yes
4611 if test "$_real_ossaudio" = yes; then
4612 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4613 elif netbsd || openbsd ; then
4614 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4615 _ld_arch="$_ld_arch -lossaudio"
4616 else
4617 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4619 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4621 else
4622 _def_ossaudio='#undef USE_OSS_AUDIO'
4623 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4624 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4625 _noaomodules="oss $_noaomodules"
4627 echores "$_ossaudio"
4630 echocheck "aRts"
4631 if test "$_arts" = auto ; then
4632 _arts=no
4633 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4635 cat > $TMPC << EOF
4636 #include <artsc.h>
4637 int main(void) { return 0; }
4639 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
4644 if test "$_arts" = yes ; then
4645 _def_arts='#define USE_ARTS 1'
4646 _aosrc="$_aosrc ao_arts.c"
4647 _aomodules="arts $_aomodules"
4648 _ld_arts=`artsc-config --libs`
4649 _inc_arts=`artsc-config --cflags`
4650 else
4651 _noaomodules="arts $_noaomodules"
4653 echores "$_arts"
4656 echocheck "EsounD"
4657 if test "$_esd" = auto ; then
4658 _esd=no
4659 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4661 cat > $TMPC << EOF
4662 #include <esd.h>
4663 int main(void) { return 0; }
4665 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4669 echores "$_esd"
4671 if test "$_esd" = yes ; then
4672 _def_esd='#define USE_ESD 1'
4673 _aosrc="$_aosrc ao_esd.c"
4674 _aomodules="esd $_aomodules"
4675 _ld_esd=`esd-config --libs`
4676 _inc_esd=`esd-config --cflags`
4678 echocheck "esd_get_latency()"
4679 cat > $TMPC << EOF
4680 #include <esd.h>
4681 int main(void) { return esd_get_latency(0); }
4683 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4684 echores "$_esd_latency"
4685 else
4686 _def_esd='#undef USE_ESD'
4687 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4688 _noaomodules="esd $_noaomodules"
4691 echocheck "Polyp"
4692 if test "$_polyp" = auto ; then
4693 _polyp=no
4694 if ( pkg-config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4696 cat > $TMPC << EOF
4697 #include <polyp/polyplib.h>
4698 #include <polyp/mainloop.h>
4699 #include <polyp/polyplib-error.h>
4700 int main(void) { return 0; }
4702 cc_check `pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run && _polyp=yes
4706 echores "$_polyp"
4708 if test "$_polyp" = yes ; then
4709 _def_polyp='#define USE_POLYP 1'
4710 _aosrc="$_aosrc ao_polyp.c"
4711 _aomodules="polyp $_aomodules"
4712 _ld_polyp=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4713 _inc_polyp=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4714 else
4715 _def_polyp='#undef USE_POLYP'
4716 _noaomodules="polyp $_noaomodules"
4720 echocheck "JACK"
4721 if test "$_jack" = auto ; then
4722 _jack=yes
4724 cat > $TMPC << EOF
4725 #include <jack/jack.h>
4726 int main(void) { jack_client_new("test"); return 0; }
4728 if cc_check -ljack ; then
4729 _ld_jack="-ljack"
4730 elif cc_check `pkg-config --libs --cflags --silence-errors jack` ; then
4731 _ld_jack="`pkg-config --libs jack`"
4732 _inc_jack="`pkg-config --cflags jack`"
4733 else
4734 _jack=no
4738 if test "$_jack" = yes ; then
4739 _def_jack='#define USE_JACK 1'
4740 _aosrc="$_aosrc ao_jack.c"
4741 _aomodules="jack $_aomodules"
4742 else
4743 _noaomodules="jack $_noaomodules"
4745 echores "$_jack"
4748 echocheck "ALSA audio"
4749 if test "$_alsa" != no ; then
4750 _alsa=no
4751 cat > $TMPC << EOF
4752 #include <sys/asoundlib.h>
4753 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4754 #error "alsa version != 0.5.x"
4755 #endif
4756 int main(void) { return 0; }
4758 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
4760 cat > $TMPC << EOF
4761 #include <sys/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-sys'
4768 cat > $TMPC << EOF
4769 #include <alsa/asoundlib.h>
4770 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4771 #error "alsa version != 0.9.x"
4772 #endif
4773 int main(void) { return 0; }
4775 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
4777 cat > $TMPC << EOF
4778 #include <sys/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-sys'
4785 cat > $TMPC << EOF
4786 #include <alsa/asoundlib.h>
4787 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4788 #error "alsa version != 1.0.x"
4789 #endif
4790 int main(void) { return 0; }
4792 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
4794 _def_alsa5='#undef HAVE_ALSA5'
4795 _def_alsa9='#undef HAVE_ALSA9'
4796 _def_alsa1x='#undef HAVE_ALSA1X'
4797 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
4798 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
4799 if test "$_alsaver" ; then
4800 _alsa=yes
4801 if test "$_alsaver" = '0.5.x' ; then
4802 _aosrc="$_aosrc ao_alsa5.c"
4803 _aomodules="alsa5 $_aomodules"
4804 _def_alsa5='#define HAVE_ALSA5 1'
4805 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4806 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
4807 elif test "$_alsaver" = '0.9.x-sys' ; then
4808 _aosrc="$_aosrc ao_alsa.c"
4809 _aomodules="alsa $_aomodules"
4810 _def_alsa9='#define HAVE_ALSA9 1'
4811 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4812 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
4813 elif test "$_alsaver" = '0.9.x-alsa' ; then
4814 _aosrc="$_aosrc ao_alsa.c"
4815 _aomodules="alsa $_aomodules"
4816 _def_alsa9='#define HAVE_ALSA9 1'
4817 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4818 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
4819 elif test "$_alsaver" = '1.0.x-sys' ; then
4820 _aosrc="$_aosrc ao_alsa.c"
4821 _aomodules="alsa $_aomodules"
4822 _def_alsa1x="#define HAVE_ALSA1X 1"
4823 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
4824 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
4825 elif test "$_alsaver" = '1.0.x-alsa' ; then
4826 _aosrc="$_aosrc ao_alsa.c"
4827 _aomodules="alsa $_aomodules"
4828 _def_alsa1x="#define HAVE_ALSA1X 1"
4829 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
4830 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
4831 else
4832 _alsa=no
4833 _res_comment="unknown version"
4835 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
4836 else
4837 _noaomodules="alsa $_noaomodules"
4839 echores "$_alsa"
4842 echocheck "Sun audio"
4843 if test "$_sunaudio" = auto ; then
4844 cat > $TMPC << EOF
4845 #include <sys/types.h>
4846 #include <sys/audioio.h>
4847 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4849 _sunaudio=no
4850 cc_check && _sunaudio=yes
4852 if test "$_sunaudio" = yes ; then
4853 _def_sunaudio='#define USE_SUN_AUDIO 1'
4854 _aosrc="$_aosrc ao_sun.c"
4855 _aomodules="sun $_aomodules"
4856 else
4857 _def_sunaudio='#undef USE_SUN_AUDIO'
4858 _noaomodules="sun $_noaomodules"
4860 echores "$_sunaudio"
4863 echocheck "Sun mediaLib"
4864 if test "$_mlib" = auto ; then
4865 _mlib=no
4866 test -z "$_mlibdir" && _mlibdir=/opt/SUNWmlib
4867 cat > $TMPC << EOF
4868 #include <mlib.h>
4869 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4871 cc_check -I${_mlibdir}/include -L${_mlibdir}/lib -lmlib && _mlib=yes
4873 if test "$_mlib" = yes ; then
4874 _def_mlib='#define HAVE_MLIB 1'
4875 _inc_mlib=" -I${_mlibdir}/include "
4876 _ld_mlib=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4877 else
4878 _def_mlib='#undef HAVE_MLIB'
4880 echores "$_mlib"
4883 echocheck "SGI audio"
4884 if test "$_sgiaudio" = auto ; then
4885 # check for SGI audio
4886 cat > $TMPC << EOF
4887 #include <dmedia/audio.h>
4888 int main(void) { return 0; }
4890 _sgiaudio=no
4891 cc_check && _sgiaudio=yes
4893 if test "$_sgiaudio" = "yes" ; then
4894 _def_sgiaudio='#define USE_SGI_AUDIO 1'
4895 _ld_sgiaudio='-laudio'
4896 _aosrc="$_aosrc ao_sgi.c"
4897 _aomodules="sgi $_aomodules"
4898 else
4899 _def_sgiaudio='#undef USE_SGI_AUDIO'
4900 _noaomodules="sgi $_noaomodules"
4902 echores "$_sgiaudio"
4905 echocheck "VCD support"
4906 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
4907 _inputmodules="vcd $_inputmodules"
4908 _def_vcd='#define HAVE_VCD 1'
4909 echores "ok"
4910 else
4911 _def_vcd='#undef HAVE_VCD'
4912 _noinputmodules="vcd $_noinputmodules"
4913 echores "not supported on this OS"
4916 echocheck "DVD support (libmpdvdkit)"
4917 if test "$_dvdkit" = auto ; then
4918 _dvdkit=no
4919 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux; then
4920 test -f "./libmpdvdkit2/Makefile" && _dvdkit=yes
4921 test -f "./libmpdvdkit/Makefile" && _dvdkit=yes
4924 if test "$_dvdkit" = yes ; then
4925 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
4926 if test -f "./libmpdvdkit2/Makefile" ; then
4927 _inputmodules="mpdvdkit2 $_inputmodules"
4928 _dvdread=libmpdvdkit2
4929 _dvdkit2=yes
4930 _dvdkit=no
4931 else
4932 _inputmodules="mpdvdkit $_inputmodules"
4933 _dvdread=libmpdvdkit
4935 else
4936 _noinputmodules="mpdvdkit $_noinputmodules"
4938 _def_dvd_linux='#undef HAVE_LINUX_DVD_STRUCT'
4939 _def_dvd_bsd='#undef HAVE_BSD_DVD_STRUCT'
4940 _dev_dvd_openbsd='#undef HAVE_OPENBSD_DVD_STRUCT'
4941 _def_dvd_darwin='#undef DARWIN_DVD_IOCTL'
4942 if linux || netbsd || openbsd || bsdos ; then
4943 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
4944 if openbsd ; then
4945 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
4947 else
4948 if freebsd ; then
4949 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
4950 else
4951 if darwin ; then
4952 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
4956 else
4957 _noinputmodules="mpdvdkit $_noinputmodules"
4959 if test "$_dvdkit" = yes || test "$_dvdkit2" = yes; then
4960 echores "yes"
4961 else
4962 echores "no"
4965 echocheck "DVD support (libdvdread)"
4966 if test "$_dvdread" = auto ; then
4967 cat > $TMPC << EOF
4968 #include <inttypes.h>
4969 #include <dvdread/dvd_reader.h>
4970 #include <dvdread/ifo_types.h>
4971 #include <dvdread/ifo_read.h>
4972 #include <dvdread/nav_read.h>
4973 int main(void) { return 0; }
4975 _dvdread=no
4976 if test "$_dl" = yes; then
4977 cc_check \
4978 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4979 _dvdread=yes
4982 _def_mpdvdkit="#undef USE_MPDVDKIT"
4983 case "$_dvdread" in
4984 yes)
4985 _largefiles=yes
4986 _def_dvdread='#define USE_DVDREAD 1'
4987 _ld_dvdread='-ldvdread'
4988 _inputmodules="dvdread $_inputmodules"
4989 echores "yes"
4992 _def_dvdread='#undef USE_DVDREAD'
4993 _noinputmodules="dvdread $_noinputmodules"
4994 echores "no"
4996 libmpdvdkit)
4997 _largefiles=yes
4998 _def_dvdread='#define USE_DVDREAD 1'
4999 _ld_dvdread='-Llibmpdvdkit -lmpdvdkit'
5000 _noinputmodules="dvdread $_noinputmodules"
5001 _def_mpdvdkit="#define USE_MPDVDKIT 1"
5002 echores "disabled by libmpdvdkit"
5004 libmpdvdkit2)
5005 _largefiles=yes
5006 _def_dvdread='#define USE_DVDREAD 1'
5007 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
5008 _noinputmodules="dvdread $_noinputmodules"
5009 _def_mpdvdkit="#define USE_MPDVDKIT 2"
5010 echores "disabled by libmpdvdkit2"
5012 esac
5014 # dvdnav disabled, it does not work
5015 # echocheck "DVD support (libdvdnav)"
5016 # if test "$_dvdnav" = yes ; then
5017 # cat > $TMPC <<EOF
5018 # #include <dvdnav.h>
5019 # int main(void) { dvdnav_t *dvd=0; return 0; }
5020 # EOF
5021 # _dvdnav=no
5022 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
5023 # if test -z "$_dvdnavconfig" ; then
5024 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
5025 # _dvdnavconfig="dvdnav-config"
5026 # fi
5027 # fi
5028 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
5029 # _used_css=
5030 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
5031 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
5032 # fi
5033 # if test "$_dvdnav" = yes ; then
5034 # _largefiles=yes
5035 # _def_dvdnav='#define USE_DVDNAV 1'
5036 # if test -n "$_legal_dvdnavdir" ; then
5037 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
5038 # elif test -n "$_dvdnavconfig" ; then
5039 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
5040 # else
5041 # _ld_css="$_ld_css -ldvdnav"
5042 # fi
5043 # if test -n "$_dvdnavconfig" ; then
5044 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5045 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5046 # fi
5047 # if test -n "$_dvdnavdir" ; then
5048 # _inc_extra="$_inc_extra -I$_dvdnavdir"
5049 # fi
5050 # _inputmodules="dvdnav $_inputmodules"
5051 # echores "yes"
5052 # else
5053 # _def_dvdnav='#undef USE_DVDNAV'
5054 # _noinputmodules="dvdnav $_noinputmodules"
5055 # echores "no"
5056 # fi
5058 echocheck "cdparanoia"
5059 if test "$_cdparanoia" = auto ; then
5060 cat > $TMPC <<EOF
5061 #include <cdda_interface.h>
5062 #include <cdda_paranoia.h>
5063 // This need a better test. How ?
5064 int main(void) { return 1; }
5066 _cdparanoia=no
5067 for _inc_tmp in "$_inc_cdparanoia" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5068 cc_check $_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && _inc_cdparanoia="$_inc_tmp" && _cdparanoia=yes && break
5069 done
5071 if test "$_cdparanoia" = yes ; then
5072 _def_cdparanoia='#define HAVE_CDDA'
5073 _inputmodules="cdda $_inputmodules"
5074 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5075 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
5076 else
5077 _def_cdparanoia='#undef HAVE_CDDA'
5078 _noinputmodules="cdda $_noinputmodules"
5080 echores "$_cdparanoia"
5083 echocheck "libcdio"
5084 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5085 if ( pkg-config --modversion libcdio) > /dev/null 2>&1 ; then
5086 cat > $TMPC << EOF
5087 #include <stdio.h>
5088 #include <cdio/version.h>
5089 #include <cdio/cdda.h>
5090 #include <cdio/paranoia.h>
5091 int main()
5093 printf("%s\n", CDIO_VERSION);
5094 return 0;
5098 _libcdio=no
5099 for _inc_tmp in "$_inc_libcdio" "-I/usr/include/cdio" "-I/usr/local/include/cdio" ; do
5100 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
5101 done
5102 else
5103 _libcdio=no
5106 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5107 _def_libcdio='#define HAVE_LIBCDIO'
5108 _def_cdparanoia='#define HAVE_CDDA'
5109 _def_havelibcdio='yes'
5110 _inputmodules="cdda $_inputmodules"
5111 _inc_libcdio=`pkg-config --cflags libcdio`
5112 _ld_libcdio=`pkg-config --libs libcdio`
5113 _ld_cdparanoia="$_ld_cdparanoia -lcdio_cdda -lcdio_paranoia -lcdio"
5114 else
5115 if test "$_cdparanoia" = yes ; then
5116 _libcdio="no (using cdparanoia)"
5117 else
5118 _libcdio=no
5120 _def_libcdio='#undef HAVE_LIBCDIO'
5121 _def_havelibcdio='no'
5123 echores "$_libcdio"
5126 echocheck "freetype >= 2.0.9"
5128 # freetype depends on iconv
5129 if test "$_iconv" = no ; then
5130 _freetype=no
5131 _res_comment="iconv support needed"
5134 if test "$_freetype" = auto ; then
5135 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5136 cat > $TMPC << EOF
5137 #include <stdio.h>
5138 #include <ft2build.h>
5139 #include FT_FREETYPE_H
5140 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5141 #error "Need FreeType 2.0.9 or newer"
5142 #endif
5143 int main()
5145 FT_Library library;
5146 FT_Int major=-1,minor=-1,patch=-1;
5147 int err=FT_Init_FreeType(&library);
5148 if(err){
5149 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5150 exit(err);
5152 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5153 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5154 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5155 (int)major,(int)minor,(int)patch );
5156 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5157 printf("Library and header version mismatch! Fix it in your distribution!\n");
5158 exit(1);
5160 return 0;
5163 _freetype=no
5164 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5165 else
5166 _freetype=no
5169 if test "$_freetype" = yes ; then
5170 _def_freetype='#define HAVE_FREETYPE'
5171 _inc_freetype=`$_freetypeconfig --cflags`
5172 _ld_freetype=`$_freetypeconfig --libs`
5173 else
5174 _def_freetype='#undef HAVE_FREETYPE'
5176 echores "$_freetype"
5178 if test "$_freetype" = no ; then
5179 _fontconfig=no
5180 _res_comment="freetype support needed"
5182 echocheck "fontconfig"
5183 if test "$_fontconfig" = auto ; then
5184 cat > $TMPC << EOF
5185 #include <stdio.h>
5186 #include <fontconfig/fontconfig.h>
5187 int main()
5189 int err = FcInit();
5190 if(err == FcFalse){
5191 printf("Couldn't initialize fontconfig lib\n");
5192 exit(err);
5194 return 0;
5198 _fontconfig=yes
5199 if cc_check -lfontconfig ; then
5200 _ld_fontconfig="-lfontconfig"
5201 elif cc_check `pkg-config --cflags --libs fontconfig` ; then
5202 _inc_fontconfig=`pkg-config --cflags fontconfig`
5203 _ld_fontconfig=`pkg-config --libs fontconfig`
5204 else
5205 _fontconfig=no
5208 if test "$_fontconfig" = yes ; then
5209 _def_fontconfig='#define HAVE_FONTCONFIG'
5210 else
5211 _def_fontconfig='#undef HAVE_FONTCONFIG'
5213 echores "$_fontconfig"
5215 echocheck "fribidi with charsets"
5216 if test "$_fribidi" = yes ; then
5217 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5218 cat > $TMPC << EOF
5219 #include <stdio.h>
5220 /* workaround for fribidi 0.10.4 and below */
5221 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5222 #include <fribidi/fribidi.h>
5223 int main()
5225 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5226 printf("Fribidi headers are not consistents with the library!\n");
5227 exit(1);
5229 return 0;
5232 _fribidi=no
5233 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5234 else
5235 _fribidi=no
5238 if test "$_fribidi" = yes ; then
5239 _def_fribidi='#define USE_FRIBIDI'
5240 _inc_fribidi=`$_fribidiconfig --cflags`
5241 _ld_fribidi=`$_fribidiconfig --libs`
5242 else
5243 _def_fribidi='#undef USE_FRIBIDI'
5245 echores "$_fribidi"
5248 echocheck "ENCA"
5249 if test "$_enca" = auto ; then
5250 cat > $TMPC << EOF
5251 #include <enca.h>
5252 int main()
5254 const char **langs;
5255 size_t langcnt;
5256 langs = enca_get_languages(&langcnt);
5257 return 0;
5260 _enca=no
5261 cc_check -lenca $_ld_lm && _enca=yes
5263 if test "$_enca" = yes ; then
5264 _def_enca='#define HAVE_ENCA 1'
5265 _ld_enca='-lenca'
5266 else
5267 _def_enca='#undef HAVE_ENCA'
5269 echores "$_enca"
5272 echocheck "zlib"
5273 cat > $TMPC << EOF
5274 #include <zlib.h>
5275 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5277 _zlib=no
5278 cc_check -lz && _zlib=yes
5279 if test "$_zlib" = yes ; then
5280 _def_zlib='#define HAVE_ZLIB 1'
5281 _ld_zlib='-lz'
5282 else
5283 _def_zlib='#undef HAVE_ZLIB'
5285 echores "$_zlib"
5288 echocheck "RTC"
5289 if test "$_rtc" = auto ; then
5290 cat > $TMPC << EOF
5291 #include <sys/ioctl.h>
5292 #ifdef __linux__
5293 #include <linux/rtc.h>
5294 #else
5295 #include <rtc.h>
5296 #define RTC_PIE_ON RTCIO_PIE_ON
5297 #endif
5298 int main(void) { return RTC_PIE_ON; }
5300 _rtc=no
5301 cc_check && _rtc=yes
5303 if test "$_rtc" = yes ; then
5304 _def_rtc='#define HAVE_RTC 1'
5305 else
5306 _def_rtc='#undef HAVE_RTC'
5308 echores "$_rtc"
5311 echocheck "external liblzo support"
5312 if test "$_liblzo" = auto ; then
5313 _liblzo=no
5314 cat > $TMPC << EOF
5315 #include <lzo1x.h>
5316 int main(void) { lzo_init();return 0; }
5318 cc_check -llzo && _liblzo=yes
5320 if test "$_liblzo" = yes ; then
5321 _def_liblzo='#define USE_LIBLZO 1'
5322 _ld_liblzo='-llzo'
5323 _codecmodules="liblzo $_codecmodules"
5324 else
5325 _def_liblzo='#undef USE_LIBLZO'
5326 _nocodecmodules="liblzo $_nocodecmodules"
5328 echores "$_liblzo"
5331 echocheck "mad support"
5332 if test "$_mad" = auto ; then
5333 _mad=no
5334 cat > $TMPC << EOF
5335 #include <mad.h>
5336 int main(void) { return 0; }
5338 cc_check $_madlibdir -lmad && _mad=yes
5340 if test "$_mad" = yes ; then
5341 _def_mad='#define USE_LIBMAD 1'
5342 _ld_mad='-lmad'
5343 _codecmodules="libmad $_codecmodules"
5344 else
5345 _def_mad='#undef USE_LIBMAD'
5346 _nocodecmodules="libmad $_nocodecmodules"
5348 echores "$_mad"
5350 echocheck "Toolame"
5351 if test "$_toolame" = auto ; then
5352 cat > $TMPC <<EOF
5353 #include <toolame.h>
5354 int main(void) { toolame_init(); return 0; }
5356 _toolame=no
5357 _toolame_extraflags=""
5358 _toolame_lib="-ltoolame"
5359 if test -n "$_toolamedir"; then
5360 _toolame_extraflags="-I$_toolamedir -L$_toolamedir"
5362 cc_check $_toolame_extraflags $_toolame_lib $_ld_lm && _toolame=yes
5364 if test "$_toolame" = yes ; then
5365 _def_toolame='#define HAVE_TOOLAME 1'
5366 _codecmodules="$_codecmodules toolame"
5367 else
5368 _def_toolame='#undef HAVE_TOOLAME'
5369 _toolame_lib=""
5370 _nocodecmodules="toolame $_nocodecmodules"
5372 if test "$_toolamedir" ; then
5373 _res_comment="using $_toolamedir"
5375 echores "$_toolame"
5377 echocheck "Twolame"
5378 if test "$_twolame" = auto ; then
5379 cat > $TMPC <<EOF
5380 #include <twolame.h>
5381 int main(void) { twolame_init(); return 0; }
5383 _twolame=no
5384 _twolame_lib="-ltwolame"
5385 cc_check $_twolame_lib $_ld_lm && _twolame=yes
5387 if test "$_twolame" = yes ; then
5388 _def_twolame='#define HAVE_TWOLAME 1'
5389 _codecmodules="$_codecmodules twolame"
5390 else
5391 _def_twolame='#undef HAVE_TWOLAME'
5392 _twolame_lib=""
5393 _nocodecmodules="twolame $_nocodecmodules"
5395 echores "$_twolame"
5397 echocheck "OggVorbis support"
5398 if test "$_tremor_internal" = yes; then
5399 _vorbis=yes
5400 elif test "$_vorbis" = auto; then
5401 _vorbis=no
5402 cat > $TMPC << EOF
5403 #include <vorbis/codec.h>
5404 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5406 cc_check -lvorbis -logg $_ld_lm && _vorbis=yes
5408 if test "$_vorbis" = yes ; then
5409 _def_vorbis='#define HAVE_OGGVORBIS 1'
5410 if test "$_tremor_internal" = yes ; then
5411 # do not set _ld_vorbis as it is resolved separately
5412 # mp3lame support for vorbis is deprecated so don't care
5413 _def_tremor='#define TREMOR 1'
5414 if test "$_tremor_low" = yes ; then
5415 _tremor_flags='-D_LOW_ACCURACY_'
5416 else
5417 _tremor_flags=''
5419 _codecmodules="tremor(internal) $_codecmodules"
5420 elif test "$_tremor" = yes ; then
5421 _def_tremor='#define TREMOR 1'
5422 _ld_vorbis='-lvorbisidec'
5423 _codecmodules="tremor $_codecmodules"
5424 else
5425 _def_tremor='#undef TREMOR'
5426 _ld_vorbis='-lvorbis -logg'
5427 _codecmodules="libvorbis $_codecmodules"
5429 else
5430 _def_vorbis='#undef HAVE_OGGVORBIS'
5431 _def_tremor='#undef TREMOR'
5432 _nocodecmodules="libvorbis $_nocodecmodules"
5434 if test "$_vorbis" = yes -a "$_tremor_internal" = yes -a "$_tremor_low" = yes ; then
5435 _res_comment="internal low accuracy Tremor"
5436 elif test "$_vorbis" = yes -a "$_tremor_internal" = yes ; then
5437 _res_comment="internal Tremor"
5438 elif test "$_vorbis" = yes -a "$_tremor" = yes ; then
5439 _res_comment="Tremor"
5441 echores "$_vorbis"
5443 echocheck "libspeex (version >= 1.1 required)"
5444 if test "$_speex" = auto ; then
5445 _speex=no
5446 cat > $TMPC << EOF
5447 #include <speex/speex.h>
5448 int main(void) {
5449 SpeexBits bits;
5450 void *dec;
5451 speex_decode_int(dec, &bits, dec);
5454 cc_check -lspeex $_ld_lm && _speex=yes
5456 if test "$_speex" = yes ; then
5457 _def_speex='#define HAVE_SPEEX 1'
5458 _ld_speex='-lspeex'
5459 _codecmodules="speex $_codecmodules"
5460 else
5461 _def_speex='#undef HAVE_SPEEX'
5462 _nocodecmodules="speex $_nocodecmodules"
5464 echores "$_speex"
5466 echocheck "OggTheora support"
5467 if test "$_theora" = auto ; then
5468 _theora=no
5469 cat > $TMPC << EOF
5470 #include <theora/theora.h>
5471 #include <string.h>
5472 int main(void)
5474 /* theora is in flux, make sure that all interface routines and
5475 * datatypes exist and work the way we expect it, so we don't break
5476 * mplayer */
5477 ogg_packet op;
5478 theora_comment tc;
5479 theora_info inf;
5480 theora_state st;
5481 yuv_buffer yuv;
5482 int r;
5483 double t;
5485 theora_info_init (&inf);
5486 theora_comment_init (&tc);
5488 return 0;
5490 /* we don't want to execute this kind of nonsense; just for making sure
5491 * that compilation works... */
5492 memset(&op, 0, sizeof(op));
5493 r = theora_decode_header (&inf, &tc, &op);
5494 r = theora_decode_init (&st, &inf);
5495 t = theora_granule_time (&st, op.granulepos);
5496 r = theora_decode_packetin (&st, &op);
5497 r = theora_decode_YUVout (&st, &yuv);
5498 theora_clear (&st);
5500 return 0;
5503 for _ld_theora in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5504 cc_check $_ld_theora && _theora=yes && break
5505 done
5506 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5507 for _ld_theora in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5508 cc_check -I. tremor/bitwise.c $_ld_theora && _theora=yes && break
5509 done
5512 if test "$_theora" = yes ; then
5513 _def_theora='#define HAVE_OGGTHEORA 1'
5514 _codecmodules="libtheora $_codecmodules"
5515 else
5516 _def_theora='#undef HAVE_OGGTHEORA'
5517 _nocodecmodules="libtheora $_nocodecmodules"
5518 _ld_theora=""
5520 echores "$_theora"
5522 echocheck "mp3lib support"
5523 if test "$_mp3lib" = yes ; then
5524 _def_mp3lib='#define USE_MP3LIB 1'
5525 _codecmodules="mp3lib $_codecmodules"
5526 else
5527 _def_mp3lib='#undef USE_MP3LIB'
5528 _nocodecmodules="mp3lib $_nocodecmodules"
5530 echores "$_mp3lib"
5532 echocheck "liba52 support"
5533 if test "$_liba52" = yes ; then
5534 _def_liba52='#define USE_LIBA52 1'
5535 _codecmodules="liba52 $_codecmodules"
5536 else
5537 _def_liba52='#undef USE_LIBA52'
5538 _nocodecmodules="liba52 $_nocodecmodules"
5540 echores "$_liba52"
5542 echocheck "libdts support"
5543 if test "$_libdts" = auto ; then
5544 _libdts=no
5545 cat > $TMPC << EOF
5546 #include <inttypes.h>
5547 #include <dts.h>
5548 int main(void) { dts_init (0); return 0; }
5550 cc_check $_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts=yes
5552 if test "$_libdts" = yes ; then
5553 _def_libdts='#define CONFIG_DTS 1'
5554 _ld_libdts="$_ld_libdts -ldts"
5555 _codecmodules="libdts $_codecmodules"
5556 else
5557 _def_libdts='#undef CONFIG_DTS'
5558 _nocodecmodules="libdts $_nocodecmodules"
5560 echores "$_libdts"
5562 echocheck "libmpeg2 support"
5563 if test "$_libmpeg2" = yes ; then
5564 _def_libmpeg2='#define USE_LIBMPEG2 1'
5565 _codecmodules="libmpeg2 $_codecmodules"
5566 else
5567 _def_libmpeg2='#undef USE_LIBMPEG2'
5568 _nocodecmodules="libmpeg2 $_nocodecmodules"
5570 echores "$_libmpeg2"
5572 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5573 if test "$_musepack" = auto ; then
5574 _musepack=no
5575 cat > $TMPC << EOF
5576 #include <mpcdec/mpcdec.h>
5577 int main(void) {
5578 mpc_streaminfo info;
5579 mpc_decoder decoder;
5580 mpc_decoder_set_streaminfo(&decoder, &info);
5581 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5584 cc_check -lmpcdec $_ld_lm && _musepack=yes
5586 if test "$_musepack" = yes ; then
5587 _def_musepack='#define HAVE_MUSEPACK 1'
5588 _ld_musepack='-lmpcdec'
5589 _codecmodules="musepack $_codecmodules"
5590 else
5591 _def_musepack='#undef HAVE_MUSEPACK'
5592 _nocodecmodules="musepack $_nocodecmodules"
5594 echores "$_musepack"
5597 echocheck "Matroska support"
5598 if test "$_matroska_internal" = yes ; then
5599 _inputmodules="matroska $_inputmodules"
5600 _def_matroska='#define HAVE_MATROSKA 1'
5601 else
5602 _noinputmodules="matroska $_noinputmodules"
5603 _def_matroska='#undef HAVE_MATROSKA'
5605 echores "$_matroska_internal"
5607 echocheck "FAAC (AAC encoder) support"
5608 if test "$_faac" = auto ; then
5609 cat > $TMPC <<EOF
5610 #include <inttypes.h>
5611 #include <faac.h>
5612 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5614 _faac=no
5615 for _ld_tmp in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5616 cc_check -c -O4 $_ld_tmp $_ld_lm && _ld_faac="$_ld_tmp" && _faac=yes && break
5617 done
5619 if test "$_faac" = yes ; then
5620 _def_faac="#define HAVE_FAAC 1"
5621 _codecmodules="faac $_codecmodules"
5622 else
5623 _def_faac="#undef HAVE_FAAC"
5624 _nocodecmodules="faac $_nocodecmodules"
5626 echores "$_faac"
5628 echocheck "internal FAAD2 (AAC) support"
5629 _inc_faad="-I`pwd`/libfaad2"
5630 if test "$_faad_internal" = auto ; then
5631 # the faad check needs a config.h file
5632 if not test -f "config.h" ; then
5633 cat > config.h << EOF
5634 /* C99 lrintf function available */
5635 $_def_lrintf
5638 # internal faad: check if our dear gcc is able to compile it...
5639 cp "`pwd`/libfaad2/cfft.c" $TMPC
5640 if ( cc_check -c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer -D_GNU_SOURCE $_inc_faad ); then
5641 _faad_internal=yes
5642 else
5643 _faad_internal="no (broken gcc)"
5646 if test "$_faad_internal" = yes ; then
5647 _def_faad_internal="#define USE_INTERNAL_FAAD 1"
5648 _faad_external=no
5649 else
5650 _def_faad_internal="#undef USE_INTERNAL_FAAD"
5651 _inc_faad=
5653 echores "$_faad_internal"
5656 echocheck "external FAAD2 (AAC) support"
5657 if test "$_faad_external" != no ; then
5658 _ld_faad='-lfaad'
5659 _inc_faad="$_inc_extra"
5660 # external faad: check if it's really faad2 :)
5661 if test "$_faad_external" = auto ; then
5662 _faad_external=no
5663 cat > $TMPC << EOF
5664 #include <faad.h>
5665 #ifndef FAAD_MIN_STREAMSIZE
5666 #error Too old version
5667 #endif
5668 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5670 cc_check $_inc_faad $_ld_faad $_ld_lm && _faad_external=yes
5673 echores "$_faad_external"
5675 if test "$_faad_external" = yes; then
5676 _def_faad='#define HAVE_FAAD 1'
5677 _codecmodules="faad2(external) $_codecmodules"
5678 elif test "$_faad_internal" = yes; then
5679 _def_faad='#define HAVE_FAAD 1'
5680 _codecmodules="faad2(internal) $_codecmodules"
5681 else
5682 _def_faad='#undef HAVE_FAAD'
5683 _nocodecmodules="faad2 $_nocodecmodules"
5684 _ld_faad=
5688 echocheck "LADSPA plugin support"
5689 if test "$_ladspa" = auto ; then
5690 cat > $TMPC <<EOF
5691 #include <stdio.h>
5692 #include <ladspa.h>
5693 int main(void) {
5694 const LADSPA_Descriptor *ld = NULL;
5695 return 0;
5698 _ladspa=no
5699 cc_check && _ladspa=yes
5701 if test "$_ladspa" = yes; then
5702 _def_ladspa="#define HAVE_LADSPA"
5703 _afsrc="$_afsrc af_ladspa.c"
5704 _afmodules="ladspa $_afmodules"
5705 else
5706 _def_ladspa="#undef HAVE_LADSPA"
5707 _noafmodules="ladspa $_noafmodules"
5709 echores "$_ladspa"
5712 if test "$_win32" = auto ; then
5713 if x86 ; then
5714 qnx && _win32=no
5715 else
5716 _win32=no # x86 arch only
5720 if test "$_win32" != no ; then
5721 if test -z "$_win32libdir" ; then
5722 for I in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
5723 if test -d "$I" ; then
5724 _win32libdir="$I"
5725 break;
5727 done
5731 echocheck "Win32 codec DLL support"
5732 if test "$_win32" = auto ; then
5733 _win32=no
5734 test -n "$_win32libdir" && _win32=yes
5736 if test "$_win32" = yes ; then
5737 _def_win32='#define USE_WIN32DLL 1'
5738 _res_comment="using $_win32libdir"
5739 else
5740 _def_win32='#undef USE_WIN32DLL'
5741 _nocodecmodules="win32 $_nocodecmodules"
5742 _dshow=no
5744 echores "$_win32"
5746 if test "$_win32" != no ; then
5747 _def_win32_loader='#undef WIN32_LOADER'
5748 echocheck "Win32 loader support"
5749 _ld_win32='loader/libloader.a'
5750 _dep_win32='loader/libloader.a'
5751 _codecmodules="win32 $_codecmodules"
5752 if openbsd ; then
5753 x86 && _ld_win32="$_ld_win32 -li386"
5755 if not win32 ; then
5756 _def_win32_loader='#define WIN32_LOADER 1'
5757 echores "yes"
5758 else
5759 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
5760 echores "no (using native windows)"
5764 echocheck "DirectShow"
5765 if false ; then
5767 if test "$_dshow" != no ; then
5768 _dshow=no
5769 # check if compiler supports C++ and C++-libs are installed correctly
5770 cat > "$TMPCPP" << EOF
5771 #include <string>
5772 class myclass {
5773 private: int ret;
5774 public: int myreturn(void);
5776 int myclass::myreturn(void) { ret = 0; return ret ; }
5777 int main(void) { myclass myobject; return myobject.myreturn(); }
5779 if cxx_check && tmp_run ; then
5780 _dshow=yes
5781 echores "yes (C++ is ok)"
5782 else
5783 echores "no"
5784 cat << EOF
5786 Your C++ runtime environment is broken.
5788 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5789 Are the C++ libraries correctly installed?
5790 Check for libstdc++ and in (/etc/)ld.so.conf.
5792 If you do not need DirectShow support, you can also use:
5793 ./configure --disable-dshow <your-normal-configure-options>
5794 to disable building the C++ based DirectShow code.
5797 die "$_cc's C++ is broken"
5803 echores "$_dshow"
5805 if test "$_dshow" = yes ; then
5806 _def_dshow='#define USE_DIRECTSHOW 1'
5807 _ld_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5808 _dep_dshow='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5809 _codecmodules="dshow/dmo $_codecmodules"
5810 else
5811 _def_dshow='#undef USE_DIRECTSHOW'
5812 _nocodecmodules="dshow/dmo $_nocodecmodules"
5816 echocheck "XAnim DLL"
5817 if test "$_xanim" = auto ; then
5818 _xanim=no
5819 _res_comment="dynamic loader support needed"
5820 if test "$_dl" = yes ; then
5821 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5822 if test -z "$_xanimlibdir" ; then
5823 for I in "$_libdir/codecs" /usr/local/lib/xanim/mods /usr/lib/xanim/mods /usr/lib/xanim $XANIM_MOD_DIR ; do
5824 if test -d "$I" ; then
5825 _xanimlibdir="$I"
5826 break;
5828 done
5830 test "$_xanimlibdir" && _xanim=yes
5833 if test "$_xanim" = yes ; then
5834 _def_xanim='#define USE_XANIM 1'
5835 _def_xanim_path="#define XACODEC_PATH \"$_xanimlibdir\""
5836 _codecmodules="xanim $_codecmodules"
5837 _res_comment="using $_xanimlibdir"
5838 else
5839 _def_xanim='#undef USE_XANIM'
5840 _def_xanim_path='#undef XACODEC_PATH'
5841 _nocodecmodules="xanim $_nocodecmodules"
5843 echores "$_xanim"
5845 echocheck "RealPlayer DLL"
5846 if test "$_real" = auto ; then
5847 _real=no
5848 _res_comment="dynamic loader support needed"
5849 if test "$_dl" = yes || test "$_win32" = yes ; then
5850 # if test "$_dl" = yes ; then
5851 _res_comment="tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin"
5852 if linux || freebsd || netbsd || win32 || darwin ; then
5853 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5854 if test -z "$_reallibdir" ; then
5855 for I in "$_libdir/codecs" "$_libdir/real" /usr/lib/real \
5856 /usr/lib/RealPlayer{9,8,}/Codecs /usr/local/RealPlayer{9,8,}/Codecs \
5857 /usr/local/lib/RealPlayer{9,8,}/Codecs /opt/RealPlayer{9,8,}/{Real/,}Codecs \
5858 {~,}/Applications/RealOne\ Player.app/Contents/MacOS/Library/Codecs \
5859 "$_win32libdir"; do
5860 if test -d "$I" ; then
5861 _reallibdir="$I"
5862 break
5864 done
5866 test "$_reallibdir" && _real=yes
5870 if test "$_real" = yes ; then
5871 _def_real='#define USE_REALCODECS 1'
5872 _def_real_path="#define REALCODEC_PATH \"$_reallibdir\""
5873 _codecmodules="real $_codecmodules"
5874 _res_comment="using $_reallibdir"
5875 else
5876 _def_real='#undef USE_REALCODECS'
5877 _def_real_path="#undef REALCODEC_PATH"
5878 _nocodecmodules="real $_nocodecmodules"
5880 echores "$_real"
5883 echocheck "LIVE555 Streaming Media libraries"
5884 if test "$_live" = auto && test "$_network" = yes ; then
5885 cat > $TMPCPP << EOF
5886 #include <liveMedia.hh>
5887 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5888 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
5889 #endif
5890 int main(void) {}
5893 _live=no
5894 for I in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
5895 cxx_check -I$I/liveMedia/include -I$I/UsageEnvironment/include -I$I/groupsock/include && _livelibdir=$I && _live=yes && break
5896 done
5897 if test "$_live" != yes ; then
5898 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
5899 _live_dist=yes
5903 if test "$_live" = yes && test "$_network" = yes ; then
5904 echores "yes (using $_livelibdir)"
5905 _def_live='#define STREAMING_LIVE555 1'
5906 _live_libs_def="# LIVE555 Streaming Media libraries:
5907 LIVE_LIB_DIR = $_livelibdir
5908 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
5909 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
5910 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
5911 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
5912 LIVE_LIBS += -lstdc++
5913 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
5914 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
5915 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
5916 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
5917 _ld_live='$(LIVE_LIBS)'
5918 _inputmodules="live555 $_inputmodules"
5919 elif test "$_live_dist" = yes && test "$_network" = yes ; then
5920 echores "yes (using distribution version)"
5921 _live="yes"
5922 _def_live='#define STREAMING_LIVE555 1'
5923 _live_libs_def="# LIVE555 Streaming Media libraries:
5924 LIVE_LIB_DIR = $_livelibdir
5925 LIVE_LIBS = -lliveMedia
5926 LIVE_LIBS += -lgroupsock
5927 LIVE_LIBS += -lUsageEnvironment
5928 LIVE_LIBS += -lBasicUsageEnvironment
5929 LIVE_LIBS += -lstdc++
5930 LIVE_INCLUDES = -I/usr/include/liveMedia
5931 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
5932 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
5933 LIVE_INCLUDES += -I/usr/include/groupsock"
5934 _ld_live='$(LIVE_LIBS)'
5935 _inputmodules="live555 $_inputmodules"
5936 else
5937 echores "no"
5938 _def_live='#undef STREAMING_LIVE555'
5939 _noinputmodules="live555 $_noinputmodules"
5942 echocheck "FFmpeg libavutil (static)"
5943 if test -d libavutil ; then
5944 _libavutil=yes
5945 else
5946 _libavutil=no
5948 echores "$_libavutil"
5950 echocheck "FFmpeg libavcodec (static)"
5951 if test "$_libavcodec" = auto ; then
5952 # Note: static linking is preferred to dynamic linking
5953 _libavcodec=no
5954 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
5955 if test -d libavcodec && test -f libavcodec/utils.c ; then
5956 _res_comment="old ffmpeg version, use CVS !"
5957 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
5958 # check if libavutil is a required
5959 cat > $TMPC << EOF
5960 #include "libavcodec/avcodec.h"
5961 #if LIBAVCODEC_BUILD >= 3211265
5962 #error We need libavutil!
5963 #endif
5964 int main(void) { return 0; }
5967 if cc_check -I. -I./libavutil; then
5968 _libavutil_required="no"
5969 else
5970 _libavutil_required="yes"
5972 _res_comment="libavutil availability does not fit libavcodec version"
5973 if test "$_libavutil_required" = "$_libavutil"; then
5974 _libavcodec="yes"
5975 _res_comment=""
5980 echores "$_libavcodec"
5982 echocheck "FFmpeg libavformat (static)"
5983 if test "$_libavformat" = auto ; then
5984 # Note: static linking is preferred to dynamic linking
5985 _libavformat=no
5986 if test -d libavformat && test -f libavformat/utils.c ; then
5987 _libavformat=yes
5990 echores "$_libavformat"
5992 _def_haveffpostprocess='no'
5993 if test -d libavcodec && test -f libavcodec/libpostproc/postprocess.h ; then
5994 _def_haveffpostprocess='yes'
5997 if test "$_libavcodec" != yes ; then
5998 echocheck "FFmpeg libavcodec (dynamic)"
5999 if test "$_libavcodecso" = auto ; then
6000 _libavcodecso=no
6001 _res_comment="libavcodec.so is broken/obsolete"
6002 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6003 cat > $TMPC << EOF
6004 #define FF_POSTPROCESS 1
6005 #include <ffmpeg/avcodec.h>
6006 int main(void) {
6007 avcodec_find_encoder_by_name("");
6008 return 0;
6011 if cc_check -lavcodec $_ld_lm ; then
6012 _libavcodecso=yes
6013 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6016 echores "$_libavcodecso"
6019 _def_libavcodec='#undef USE_LIBAVCODEC'
6020 _def_libavcodecso='#undef USE_LIBAVCODEC_SO'
6021 _def_ffpostprocess='#undef FF_POSTPROCESS'
6022 if test "$_libavcodec" = yes ; then
6023 _def_libavcodec='#define USE_LIBAVCODEC 1'
6024 _ld_libavcodec='libavcodec/libavcodec.a'
6025 _dep_libavcodec='libavcodec/libavcodec.a'
6026 _def_ffpostprocess='#define FF_POSTPROCESS 1'
6027 _codecmodules="libavcodec $_codecmodules"
6028 if test "$_libavutil" = yes; then
6029 _ld_libavutil='libavutil/libavutil.a'
6030 _dep_libavutil='libavutil/libavutil.a'
6032 elif test "$_libavcodecso" = yes ; then
6033 _def_libavcodec='#define USE_LIBAVCODEC 1'
6034 _def_libavcodecso='#define USE_LIBAVCODEC_SO 1'
6035 _ld_libavcodec='-lavcodec'
6036 _codecmodules="libavcodec.so $_codecmodules"
6037 else
6038 _nocodecmodules="libavcodec $_nocodecmodules"
6041 _def_libavformat='#undef USE_LIBAVFORMAT'
6042 _def_libavformat_win32='#undef CONFIG_WIN32'
6043 if test "$_libavformat" = yes ; then
6044 _def_libavformat='#define USE_LIBAVFORMAT 1'
6045 _ld_libavformat='libavformat/libavformat.a'
6046 _dep_libavformat='libavformat/libavformat.a'
6047 if win32 ; then
6048 _def_libavformat_win32='#define CONFIG_WIN32 1'
6052 echocheck "amr narrowband"
6053 if test "$_amr_nb" = auto ; then
6054 _amr_nb=no
6055 if test -f libavcodec/amr_float/sp_dec.c ; then
6056 if test "$_libavcodec" = yes ; then
6057 _amr_nb=yes
6058 else
6059 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6063 if test "$_amr_nb" = yes ; then
6064 _def_amr_nb='#define AMR_NB 1'
6065 else
6066 _def_amr_nb='#undef AMR_NB'
6068 echores "$_amr_nb $_echomsg"
6070 echocheck "amr narrowband, fixed point"
6071 if test "$_amr_nb_fixed" = auto ; then
6072 _amr_nb_fixed=no
6073 if test -f libavcodec/amr/dtx_dec.c ; then
6074 if test "$_libavcodec" = yes ; then
6075 if test "$_amr_nb" = no ; then
6076 _amr_nb_fixed=yes
6077 else
6078 _res_comment="disabled by amr_nb"
6080 else
6081 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6085 if test "$_amr_nb_fixed" = yes ; then
6086 _def_amr_nb='#define AMR_NB 1'
6087 _def_amr_nb_fixed='#define AMR_NB_FIXED 1'
6088 _amr_nb=yes;
6089 else
6090 _def_amr_nb_fixed='#undef AMR_NB_FIXED'
6092 echores "$_amr_nb_fixed"
6094 if test "$_amr_nb" = yes ; then
6095 _codecmodules="amr_nb $_codecmodules"
6096 else
6097 _nocodecmodules="amr_nb $_nocodecmodules"
6100 echocheck "amr wideband"
6101 if test "$_amr_wb" = auto ; then
6102 _amr_wb=no
6103 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6104 if test "$_libavcodec" = yes ; then
6105 _amr_wb=yes
6106 else
6107 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6111 if test "$_amr_wb" = yes ; then
6112 _def_amr_wb='#define AMR_WB 1'
6113 _codecmodules="amr_wb $_codecmodules"
6114 else
6115 _def_amr_wb='#undef AMR_WB'
6116 _nocodecmodules="amr_wb $_nocodecmodules"
6118 echores "$_amr_wb"
6120 echocheck "libdv-0.9.5+"
6121 if test "$_libdv" = auto ; then
6122 _libdv=no
6123 cat > $TMPC <<EOF
6124 #include <libdv/dv.h>
6125 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6127 cc_check -ldv $_ld_lm && _libdv=yes
6129 if test "$_libdv" = yes ; then
6130 _def_libdv='#define HAVE_LIBDV095 1'
6131 _ld_libdv="-ldv"
6132 _codecmodules="libdv $_codecmodules"
6133 else
6134 _def_libdv='#undef HAVE_LIBDV095'
6135 _nocodecmodules="libdv $_nocodecmodules"
6137 echores "$_libdv"
6139 echocheck "zr"
6140 if test "$_zr" = auto ; then
6141 #36067's seem to identify themselves as 36057PQC's, so the line
6142 #below should work for 36067's and 36057's.
6143 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
6144 _zr=yes
6145 else
6146 _zr=no
6149 if test "$_zr" = yes ; then
6150 if test "$_libavcodec" = yes ; then
6151 _def_zr='#define HAVE_ZR 1'
6152 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6153 _vomodules="zr zr2 $_vomodules"
6154 else
6155 _res_comment="libavcodec (static) is required by zr, sorry"
6156 _novomodules="zr $_novomodules"
6157 _def_zr='#undef HAVE_ZR'
6159 else
6160 _def_zr='#undef HAVE_ZR'
6161 _novomodules="zr zr2 $_novomodules"
6163 echores "$_zr"
6165 echocheck "bl"
6166 if test "$_bl" = yes ; then
6167 _def_bl='#define HAVE_BL 1'
6168 _vosrc="$_vosrc vo_bl.c"
6169 _vomodules="bl $_vomodules"
6170 else
6171 _def_bl='#undef HAVE_BL'
6172 _novomodules="bl $_novomodules"
6174 echores "$_bl"
6176 echocheck "XviD"
6177 cat > $TMPC << EOF
6178 #include <xvid.h>
6179 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6181 _ld_xvid="$_ld_xvid -lxvidcore"
6182 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid $_ld_lm ; then
6183 _xvid=yes
6184 _def_xvid3='#define HAVE_XVID3 1'
6185 _def_xvid4='#undef HAVE_XVID4'
6186 _codecmodules="xvid $_codecmodules"
6187 else
6188 cat > $TMPC << EOF
6189 #include <xvid.h>
6190 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6192 if test "$_xvid" != no && cc_check $_inc_xvid $_ld_xvid $_ld_lm ; then
6193 _xvid=yes
6194 _def_xvid3='#undef HAVE_XVID3'
6195 _def_xvid4='#define HAVE_XVID4 1'
6196 _codecmodules="xvid $_codecmodules"
6197 else
6198 _xvid=no
6199 _ld_xvid=''
6200 _def_xvid3='#undef HAVE_XVID3'
6201 _def_xvid4='#undef HAVE_XVID4'
6202 _nocodecmodules="xvid $_nocodecmodules"
6205 echores "$_xvid"
6207 _xvidcompat=no
6208 _def_decore_xvid='#undef DECORE_XVID'
6209 _def_encore_xvid='#undef ENCORE_XVID'
6210 if test "$_xvid" = yes ; then
6211 echocheck "DivX4 compatibility in XviD"
6212 cat > $TMPC << EOF
6213 #include <divx4.h>
6214 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6216 cc_check $_ld_lm "$_ld_xvid" && _xvidcompat=yes
6217 echores "$_xvidcompat"
6220 echocheck "x264"
6221 cat > $TMPC << EOF
6222 #include <inttypes.h>
6223 #include <x264.h>
6224 #if X264_BUILD < 39
6225 #error We do not support old versions of x264. Get the latest from SVN.
6226 #endif
6227 int main(void) { x264_encoder_open((void*)0); return 0; }
6229 _ld_x264="$_ld_x264 -lx264 $_ld_pthread"
6230 if test "$_x264" != no && \
6231 ( cc_check $_inc_x264 $_ld_x264 $_ld_lm || \
6232 ( test "$_x11" = yes && cc_check $_inc_x264 $_inc_x11 $_ld_x264 $_ld_x11 $_ld_lm )) ; \
6233 then
6234 _x264=yes
6235 _def_x264='#define HAVE_X264 1'
6236 _codecmodules="x264 $_codecmodules"
6237 else
6238 _x264=no
6239 _ld_x264=''
6240 _def_x264='#undef HAVE_X264'
6241 _nocodecmodules="x264 $_nocodecmodules"
6243 echores "$_x264"
6245 echocheck "DivX4linux/DivX5linux/OpenDivX decore"
6246 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
6247 cat > $TMPC << EOF
6248 #include <decore.h>
6249 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
6251 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
6252 _opendivx=no
6253 _ld_decore='-ldivxdecore'
6254 _def_decore='#define NEW_DECORE 1'
6255 _def_divx='#define USE_DIVX'
6256 _def_divx5='#undef DECORE_DIVX5'
6257 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6258 _codecmodules="divx4linux $_codecmodules"
6259 echores "DivX4linux (with libdivxdecore.so)"
6260 else
6261 # if test "$_divx4linux" != no ; then
6262 # DivX5 check
6263 # OdivxPP disabled because of:
6264 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
6265 cat > $TMPC << EOF
6266 #include <decore.h>
6267 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
6269 if test "$_divx4linux" != no && cc_check $_ld_lm -ldivxdecore ; then
6270 _opendivx=no
6271 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
6272 _ld_decore='-ldivxdecore'
6273 _def_decore='#define NEW_DECORE 1'
6274 _def_divx='#define USE_DIVX'
6275 _def_divx5='#define DECORE_DIVX5 1'
6276 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6277 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6278 _codecmodules="divx5linux $_codecmodules"
6279 _nocodecmodules="divx4linux $_nocodecmodules"
6280 echores "DivX5linux (with libdivxdecore.so)"
6281 elif test "$_opendivx" != no ; then
6282 _opendivx=yes
6283 _ld_decore='opendivx/libdecore.a'
6284 _def_decore='#undef NEW_DECORE'
6285 _def_divx='#define USE_DIVX'
6286 _def_divx5='#undef DECORE_DIVX5'
6287 _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6288 _codecmodules="opendivx $_codecmodules"
6289 _nocodecmodules="divx5linux $_nocodecmodules"
6290 echores "OpenDivX"
6291 elif test "$_xvidcompat" = yes ; then
6292 _opendivx=no
6293 _ld_decore=''
6294 _def_decore='#define NEW_DECORE 1'
6295 _def_divx='#define USE_DIVX 1'
6296 _def_divx5='#undef DECORE_DIVX5'
6297 _def_decore_xvid='#define DECORE_XVID 1'
6298 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6299 _nocodecmodules="opendivx divx5linux divx4linux $_nocodecmodules"
6300 echores "XviD compat."
6301 else
6302 _opendivx=no
6303 _ld_decore=''
6304 _def_decore='#undef NEW_DECORE'
6305 _def_divx='#undef USE_DIVX'
6306 _def_divx5='#undef DECORE_DIVX5'
6307 _def_odivx_postprocess='#undef HAVE_ODIVX_POSTPROCESS'
6308 _nocodecmodules="opendivx $_nocodecmodules"
6309 echores "no"
6310 fi # DivX5 check
6314 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
6315 if test "$_mencoder" != no ; then
6317 echocheck "libmp3lame (for mencoder)"
6318 _mp3lame=no
6319 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6320 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6321 cat > $TMPC <<EOF
6322 #include <lame/lame.h>
6323 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; }
6325 # Note: libmp3lame usually depends on vorbis
6326 cc_check -lmp3lame $_ld_vorbis $_ld_lm && tmp_run && _mp3lame=yes
6327 if test "$_mp3lame" = yes ; then
6328 _def_mp3lame="#define HAVE_MP3LAME"
6329 _ld_mp3lame="-lmp3lame $_ld_vorbis"
6330 cat > $TMPC << EOF
6331 #include <lame/lame.h>
6332 int main(void) { int p = STANDARD_FAST; return 0; }
6334 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6335 cat > $TMPC << EOF
6336 #include <lame/lame.h>
6337 int main(void) { int p = MEDIUM_FAST; return 0; }
6339 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6340 else
6341 _def_mp3lame='#undef HAVE_MP3LAME'
6343 echores "$_mp3lame"
6346 echocheck "DivX4linux encore (for mencoder)"
6347 cat > $TMPC << EOF
6348 #include <encore2.h>
6349 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
6351 if test "$_divx4linux" != no && cc_check -ldivxencore $_ld_lm ; then
6352 _def_encore='#define HAVE_DIVX4ENCORE 1'
6353 _ld_encore='-ldivxencore'
6354 echores "DivX4linux (with libdivxencore.so)"
6355 elif test "$_xvidcompat" = yes ; then
6356 _def_encore='#define HAVE_DIVX4ENCORE 1'
6357 _ld_encore=''
6358 _def_encore_xvid='#define ENCORE_XVID 1'
6359 echores "XviD compat."
6360 else
6361 _def_encore='#undef HAVE_DIVX4ENCORE'
6362 echores "no"
6367 echocheck "mencoder"
6368 _mencoder_flag='#undef HAVE_MENCODER'
6369 if test "$_mencoder" = yes ; then
6370 _mencoder_flag='#define HAVE_MENCODER'
6372 echores "$_mencoder"
6374 echocheck "fastmemcpy"
6375 # fastmemcpy check is done earlier with tests of CPU & binutils features
6376 if test "$_fastmemcpy" = yes ; then
6377 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6378 else
6379 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6381 echores "$_fastmemcpy"
6383 echocheck "UniquE RAR File Library"
6384 if test "$_unrarlib" = yes ; then
6385 _def_unrarlib='#define USE_UNRARLIB 1'
6386 else
6387 _def_unrarlib='#undef USE_UNRARLIB'
6389 echores "$_unrarlib"
6391 echocheck "TV interface"
6392 if test "$_tv" = yes ; then
6393 _def_tv='#define USE_TV 1'
6394 _inputmodules="tv $_inputmodules"
6395 else
6396 _noinputmodules="tv $_noinputmodules"
6397 _def_tv='#undef USE_TV'
6399 echores "$_tv"
6401 echocheck "EDL support"
6402 if test "$_edl" = yes ; then
6403 _def_edl='#define USE_EDL'
6404 _inputmodules="edl $_inputmodules"
6405 else
6406 _noinputmodules="edl $_noinputmodules"
6407 _def_edl='#undef USE_EDL'
6409 echores "$_edl"
6411 echocheck "*BSD BrookTree 848 TV interface"
6412 if test "$_tv_bsdbt848" = auto ; then
6413 _tv_bsdbt848=no
6414 if test "$_tv" = yes ; then
6415 cat > $TMPC <<EOF
6416 #include <sys/types.h>
6417 #if defined(__NetBSD__)
6418 #include <dev/ic/bt8xx.h>
6419 #else
6420 #include <machine/ioctl_bt848.h>
6421 #endif
6422 int main(void) { return 0; }
6424 cc_check && _tv_bsdbt848=yes
6427 if test "$_tv_bsdbt848" = yes ; then
6428 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6429 _inputmodules="tv-bsdbt848 $_inputmodules"
6430 else
6431 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6432 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6434 echores "$_tv_bsdbt848"
6436 echocheck "Video 4 Linux TV interface"
6437 if test "$_tv_v4l" = auto ; then
6438 _tv_v4l=no
6439 if test "$_tv" = yes && linux ; then
6440 cat > $TMPC <<EOF
6441 #include <stdlib.h>
6442 #include <linux/videodev.h>
6443 int main(void) { return 0; }
6445 cc_check && _tv_v4l=yes
6448 if test "$_tv_v4l" = yes ; then
6449 _def_tv_v4l='#define HAVE_TV_V4L 1'
6450 _inputmodules="tv-v4l $_inputmodules"
6451 else
6452 _noinputmodules="tv-v4l $_noinputmodules"
6453 _def_tv_v4l='#undef HAVE_TV_V4L'
6455 echores "$_tv_v4l"
6458 echocheck "Video 4 Linux 2 TV interface"
6459 if test "$_tv_v4l2" = auto ; then
6460 _tv_v4l2=no
6461 if test "$_tv" = yes && linux ; then
6462 cat > $TMPC <<EOF
6463 #include <stdlib.h>
6464 #include <linux/types.h>
6465 #include <linux/videodev2.h>
6466 int main(void) { return 0; }
6468 cc_check && _tv_v4l2=yes
6471 if test "$_tv_v4l2" = yes ; then
6472 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6473 _inputmodules="tv-v4l2 $_inputmodules"
6474 else
6475 _noinputmodules="tv-v4l2 $_noinputmodules"
6476 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6478 echores "$_tv_v4l2"
6481 echocheck "audio select()"
6482 if test "$_select" = no ; then
6483 _def_select='#undef HAVE_AUDIO_SELECT'
6484 elif test "$_select" = yes ; then
6485 _def_select='#define HAVE_AUDIO_SELECT 1'
6487 echores "$_select"
6490 echocheck "network"
6491 # FIXME network check
6492 if test "$_network" != no ; then
6493 _def_network='#define MPLAYER_NETWORK 1'
6494 _ld_network="$_ld_sock"
6495 _inputmodules="network $_inputmodules"
6496 else
6497 _noinputmodules="network $_noinputmodules"
6498 _def_network='#undef MPLAYER_NETWORK'
6499 _ftp=no
6501 echores "$_network"
6503 echocheck "ftp"
6504 if not beos && test "$_ftp" != no ; then
6505 _def_ftp='#define HAVE_FTP 1'
6506 _inputmodules="ftp $_inputmodules"
6507 else
6508 _noinputmodules="ftp $_noinputmodules"
6509 _def_ftp='#undef HAVE_FTP'
6511 echores "$_ftp"
6513 echocheck "vstream client"
6514 if test "$_vstream" = auto ; then
6515 _vstream=no
6516 cat > $TMPC <<EOF
6517 #include <vstream-client.h>
6518 void vstream_error(const char *format, ... ) {}
6519 int main(void) { vstream_start(); return 0; }
6521 cc_check -lvstream-client && _vstream=yes
6523 if test "$_vstream" = yes ; then
6524 _def_vstream='#define HAVE_VSTREAM 1'
6525 _inputmodules="vstream $_inputmodules"
6526 _ld_vstream='-lvstream-client'
6527 else
6528 _noinputmodules="vstream $_noinputmodules"
6529 _def_vstream='#undef HAVE_VSTREAM'
6531 echores "$_vstream"
6533 # endian testing
6534 echocheck "byte order"
6535 if test "$_big_endian" = auto ; then
6536 cat > $TMPC <<EOF
6537 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6538 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6539 int main(){
6540 char* s = (char*)ascii_name;
6541 return 0;
6544 if cc_check ; then
6545 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6546 _big_endian=yes
6547 else
6548 _big_endian=no
6550 else
6551 echo -n "failed to autodetect byte order, defaulting to "
6554 if test "$_big_endian" = yes ; then
6555 _byte_order='big-endian'
6556 _def_words_endian='#define WORDS_BIGENDIAN 1'
6557 else
6558 _byte_order='little-endian'
6559 _def_words_endian='#undef WORDS_BIGENDIAN'
6561 echores "$_byte_order"
6563 echocheck "OSD menu"
6564 if test "$_menu" = yes ; then
6565 _def_menu='#define HAVE_MENU 1'
6566 else
6567 _def_menu='#undef HAVE_MENU'
6569 echores "$_menu"
6571 # Check to see if they want QTX codecs enabled
6572 echocheck "QTX codecs"
6573 if test "$_qtx" = auto ; then
6574 _qtx=$_win32
6576 if test "$_qtx" = yes ; then
6577 _def_qtx='#define USE_QTX_CODECS 1'
6578 _codecmodules="qtx $_codecmodules"
6579 else
6580 _def_qtx='#undef USE_QTX_CODECS'
6581 _nocodecmodules="qtx $_nocodecmodules"
6583 echores "$_qtx"
6586 echocheck "Subtitles sorting"
6587 if test "$_sortsub" = yes ; then
6588 _def_sortsub='#define USE_SORTSUB 1'
6589 else
6590 _def_sortsub='#undef USE_SORTSUB'
6592 echores "$_sortsub"
6595 echocheck "XMMS inputplugin support"
6596 if test "$_xmms" = yes ; then
6598 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6599 if test -z "$_xmmsplugindir" ; then
6600 _xmmsplugindir=`xmms-config --input-plugin-dir`
6602 if test -z "$_xmmslibdir" ; then
6603 _xmmslibdir=`xmms-config --exec-prefix`/lib
6605 else
6606 if test -z "$_xmmsplugindir" ; then
6607 _xmmsplugindir=/usr/lib/xmms/Input
6609 if test -z "$_xmmslibdir" ; then
6610 _xmmslibdir=/usr/lib
6614 _def_xmms='#define HAVE_XMMS 1'
6615 if darwin ; then
6616 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
6617 else
6618 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6620 else
6621 _def_xmms='#undef HAVE_XMMS'
6623 echores "$_xmms"
6625 echocheck "inet6"
6626 if test "$_inet6" = auto ; then
6627 cat > $TMPC << EOF
6628 #include <sys/types.h>
6629 #include <sys/socket.h>
6630 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6632 _inet6=no
6633 if cc_check ; then
6634 _inet6=yes
6637 if test "$_inet6" = yes ; then
6638 _def_inet6='#define HAVE_AF_INET6 1'
6639 else
6640 _def_inet6='#undef HAVE_AF_INET6'
6642 echores "$_inet6"
6645 echocheck "gethostbyname2"
6646 if test "$_gethostbyname2" = auto ; then
6647 cat > $TMPC << EOF
6648 #include <sys/types.h>
6649 #include <sys/socket.h>
6650 #include <netdb.h>
6651 int main(void) { gethostbyname2("", AF_INET); }
6653 _gethostbyname2=no
6654 if cc_check ; then
6655 _gethostbyname2=yes
6659 if test "$_gethostbyname2" = yes ; then
6660 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
6661 else
6662 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
6664 echores "$_gethostbyname2"
6666 # --------------- GUI specific tests begin -------------------
6667 echocheck "GUI"
6668 echo "$_gui"
6669 if test "$_gui" = yes ; then
6671 # Required libraries
6672 test "$_png" != yes && die "PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6673 test "$_x11" != yes && die "X11 support required for GUI compilation"
6675 echocheck "XShape extension"
6676 _xshape=no
6677 if test "$_x11" = yes ; then
6678 cat > $TMPC << EOF
6679 #include <X11/Xlib.h>
6680 #include <X11/Xproto.h>
6681 #include <X11/Xutil.h>
6682 #include <X11/extensions/shape.h>
6683 #include <stdlib.h>
6684 int main(void) {
6685 char *name = ":0.0";
6686 Display *wsDisplay;
6687 int exitvar = 0;
6688 int eventbase, errorbase;
6689 if (getenv("DISPLAY"))
6690 name=getenv("DISPLAY");
6691 wsDisplay=XOpenDisplay(name);
6692 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6693 exitvar=1;
6694 XCloseDisplay(wsDisplay);
6695 return exitvar;
6698 cc_check $_inc_x11 $_ld_x11 && _xshape=yes
6700 if test "$_xshape" = yes ; then
6701 _def_xshape='#define HAVE_XSHAPE 1'
6702 else
6703 die "The GUI requires the X11 extension XShape (which was not found)."
6705 echores "$_xshape"
6707 #Check for GTK
6708 if test "$_gtk1" = no ; then
6709 #Check for GTK2 :
6710 echocheck "GTK+ version"
6712 if pkg-config gtk+-2.0 --exists ; then
6713 _gtk=`pkg-config gtk+-2.0 --modversion 2>/dev/null`
6714 _inc_gtk=`pkg-config gtk+-2.0 --cflags 2>/dev/null`
6715 _ld_gtk=`pkg-config gtk+-2.0 --libs 2>/dev/null`
6716 echores "$_gtk"
6718 # Check for GLIB2
6719 if pkg-config glib-2.0 --exists ; then
6720 echocheck "glib version"
6721 _glib=`pkg-config glib-2.0 --modversion 2>/dev/null`
6722 _inc_glib=`pkg-config glib-2.0 --cflags 2>/dev/null`
6723 _ld_glib=`pkg-config glib-2.0 --libs 2>/dev/null`
6724 echores "$_glib"
6726 _def_gui='#define HAVE_NEW_GUI 1'
6727 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
6728 _ld_gui='$(GTKLIB) $(GLIBLIB)'
6729 else
6730 _gtk1=yes
6731 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
6733 else
6734 echo "GTK-2 devel packages were not found, trying GTK 1.2"
6735 _gtk1=yes
6739 if test "$_gtk1" = yes ; then
6740 # Check for old GTK (1.2.x)
6741 echocheck "GTK version"
6742 if test -z "$_gtkconfig" ; then
6743 if ( gtk-config --version ) >/dev/null 2>&1 ; then
6744 _gtkconfig="gtk-config"
6745 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
6746 _gtkconfig="gtk12-config"
6747 else
6748 die "The GUI requires GTK devel packages (which were not found)."
6751 _gtk=`$_gtkconfig --version 2>&1`
6752 _inc_gtk=`$_gtkconfig --cflags 2>&1`
6753 _ld_gtk=`$_gtkconfig --libs 2>&1`
6754 echores "$_gtk (using $_gtkconfig)"
6756 # Check for GLIB
6757 echocheck "glib version"
6758 if test -z "$_glibconfig" ; then
6759 if ( glib-config --version ) >/dev/null 2>&1 ; then
6760 _glibconfig="glib-config"
6761 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
6762 _glibconfig="glib12-config"
6763 else
6764 die "The GUI requires GLib devel packages (which were not found)"
6767 _glib=`$_glibconfig --version 2>&1`
6768 _inc_glib=`$_glibconfig --cflags 2>&1`
6769 _ld_glib=`$_glibconfig --libs 2>&1`
6770 echores "$_glib (using $_glibconfig)"
6772 _def_gui='#define HAVE_NEW_GUI 1'
6773 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
6774 _ld_gui='$(GTKLIB) $(GLIBLIB)'
6777 echo "Creating Gui/config.mak"
6778 cat > Gui/config.mak << EOF
6779 # -------- Generated by configure -----------
6781 GTKINC = $_inc_gtk
6782 GTKLIBS = $_ld_gtk
6783 GLIBINC = $_inc_glib
6784 GLIBLIBS = $_ld_glib
6788 else
6789 _def_gui='#undef HAVE_NEW_GUI'
6790 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
6792 # --------------- GUI specific tests end -------------------
6796 #############################################################################
6798 # Checking for CFLAGS
6799 _stripbinaries=yes
6800 if test "$_profile" != "" || test "$_debug" != "" ; then
6801 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6802 if test "$_cc_major" -ge "3" ; then
6803 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6805 _stripbinaries=no
6806 elif test -z "$CFLAGS" ; then
6807 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6808 # always compile with '-g' if .developer:
6809 if test -f ".developer" ; then
6810 CFLAGS="-g $CFLAGS"
6811 if test "$_crash_debug" = auto && not mingw32 ; then
6812 _crash_debug=yes
6814 _stripbinaries=no
6816 else
6817 _warn_CFLAGS=yes
6820 echocheck "automatic gdb attach"
6821 if test "$_crash_debug" = yes ; then
6822 _def_crash_debug='#define CRASH_DEBUG 1'
6823 else
6824 _def_crash_debug='#undef CRASH_DEBUG'
6825 _crash_debug=no
6827 echores "$_crash_debug"
6829 if darwin ; then
6830 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN"
6831 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6832 CFLAGS="$CFLAGS -no-cpp-precomp"
6835 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
6836 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
6838 if hpux ; then
6839 # use flag for HPUX missing setenv()
6840 CFLAGS="$CFLAGS -DHPUX"
6842 # Thread support
6843 if linux ; then
6844 CFLAGS="$CFLAGS -D_REENTRANT"
6845 elif bsd ; then
6846 # FIXME bsd needs this so maybe other OS'es
6847 CFLAGS="$CFLAGS -D_THREAD_SAFE"
6849 # 64 bit file offsets?
6850 if test "$_largefiles" = yes || freebsd ; then
6851 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6852 if test "$_dvdread" = yes ; then
6853 # dvdread support requires this (for off64_t)
6854 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
6858 echocheck "compiler support for -fno-PIC"
6859 if x86; then
6860 cat > $TMPC <<EOF
6861 int main(void) { return 0; }
6863 if cc_check -fno-PIC ; then
6864 CFLAGS="-fno-PIC $CFLAGS"
6865 echores "yes"
6866 else
6867 echores "no"
6869 else
6870 echores "only used for x86"
6873 echocheck "compiler support for noexecstack"
6874 cat > $TMPC <<EOF
6875 int main(void) { return 0; }
6877 if cc_check -Wl,-z,noexecstack ; then
6878 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
6879 echores "yes"
6880 else
6881 echores "no"
6884 echocheck "ftello()"
6885 # if we don't have ftello use the osdep/ compatibility module
6886 cat > $TMPC << EOF
6887 #include <stdio.h>
6888 #include <sys/types.h>
6889 int main (void) { ftello(stdin); return 0; }
6891 _ftello=no
6892 cc_check && _ftello=yes
6893 if test "$_ftello" = yes ; then
6894 _def_ftello='#define HAVE_FTELLO 1'
6895 else
6896 _def_ftello='#undef HAVE_FTELLO'
6898 echores "$_ftello"
6900 # Determine OS dependent libs
6901 if cygwin ; then
6902 _def_confwin32='#define WIN32'
6903 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
6904 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
6905 CFLAGS="$CFLAGS -D__CYGWIN__"
6908 if win32 ; then
6909 _confwin32='TARGET_WIN32 = yes'
6910 else
6911 _confwin32='TARGET_WIN32 = no'
6914 # Dynamic linking flags
6915 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6916 _ld_dl_dynamic=''
6917 bsd && _ld_dl_dynamic='-rdynamic'
6918 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx ; then
6919 _ld_dl_dynamic='-rdynamic'
6922 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6923 bsdos && _ld_arch="$_ld_arch -ldvd"
6924 if netbsd ; then
6925 x86 && _ld_arch="$_ld_arch -li386"
6928 _def_debug='#undef MP_DEBUG'
6929 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
6931 _def_linux='#undef TARGET_LINUX'
6932 linux && _def_linux='#define TARGET_LINUX 1'
6934 # TODO cleanup the VIDIX stuff here
6935 _def_vidix='#define CONFIG_VIDIX 1'
6936 test "$_vidix" = no && _def_vidix='#undef CONFIG_VIDIX'
6937 if test "$_vidix" = yes; then
6938 _vosrc="$_vosrc vo_cvidix.c"
6939 _vomodules="cvidix $_vomodules"
6940 else
6941 _novomodules="cvidix $_novomodules"
6943 if test "$_vidix" = yes && win32; then
6944 _vosrc="$_vosrc vo_winvidix.c"
6945 _vomodules="winvidix $_vomodules"
6946 _ld_win32libs="-lgdi32 $_ld_win32libs"
6947 else
6948 _novomodules="winvidix $_novomodules"
6950 if test "$_vidix" = yes && test "$_x11" = yes; then
6951 _vosrc="$_vosrc vo_xvidix.c"
6952 _vomodules="xvidix $_vomodules"
6953 else
6954 _novomodules="xvidix $_novomodules"
6956 echo Checking for VIDIX ... "$_vidix"
6958 _def_joystick='#undef HAVE_JOYSTICK'
6959 if test "$_joystick" = yes ; then
6960 if linux ; then
6961 # TODO add some check
6962 _def_joystick='#define HAVE_JOYSTICK 1'
6963 else
6964 _joystick="no (unsupported under $system_name)"
6967 echo Checking for joystick ... "$_joystick"
6969 echocheck "lirc"
6970 if test "$_lirc" = auto ; then
6971 _lirc=no
6972 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
6973 cat > $TMPC <<EOF
6974 #include <lirc/lirc_client.h>
6975 int main(void) { return 0; }
6977 cc_check -llirc_client && _lirc=yes
6980 if test "$_lirc" = yes ; then
6981 _def_lirc='#define HAVE_LIRC 1'
6982 _ld_lirc='-llirc_client'
6983 else
6984 _def_lirc='#undef HAVE_LIRC'
6986 echores "$_lirc"
6988 echocheck "lircc"
6989 if test "$_lircc" = auto ; then
6990 _lircc=no
6991 cat > $TMPC <<EOF
6992 #include <lirc/lircc.h>
6993 int main(void) { return 0; }
6995 cc_check -llircc && _lircc=yes
6997 if test "$_lircc" = yes ; then
6998 _def_lircc='#define HAVE_LIRCC 1'
6999 _ld_lircc='-llircc'
7000 else
7001 _def_lircc='#undef HAVE_LIRCC'
7003 echores "$_lircc"
7005 #############################################################################
7006 echo "Creating config.mak"
7007 cat > config.mak << EOF
7008 # -------- Generated by configure -----------
7010 LANG = C
7011 MAN_LANG = $MAN_LANG
7012 TARGET_OS = $system_name
7013 DESTDIR =
7014 prefix = \$(DESTDIR)$_prefix
7015 BINDIR = \$(DESTDIR)$_bindir
7016 DATADIR = \$(DESTDIR)$_datadir
7017 MANDIR = \$(DESTDIR)$_mandir
7018 CONFDIR = \$(DESTDIR)$_confdir
7019 LIBDIR = \$(DESTDIR)$_libdir
7020 # FFmpeg uses libdir instead of LIBDIR
7021 libdir = \$(LIBDIR)
7022 #AR = ar
7023 CC = $_cc
7024 HOST_CC = $_host_cc
7025 AWK = $_awk
7026 RANLIB = $_ranlib
7027 INSTALL = $_install
7028 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
7029 EXTRA_INC = $_inc_extra
7030 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC)
7031 STRIPBINARIES = $_stripbinaries
7032 CHARSET = $_charset
7033 HELP_FILE = $_mp_help
7035 PRG = $_prg
7036 PRG_MENCODER = $_prg_mencoder
7038 $_live_libs_def
7040 MPLAYER_NETWORK = $_network
7041 STREAMING_LIVE555 = $_live
7042 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
7043 DVBIN = $_dvbin
7044 VIDIX = $_vidix
7045 CONFIG_PP = yes
7046 CONFIG_MP3LAME = $_mp3lame
7047 LIBMENU = $_menu
7048 I18NLIBS = $_i18n_libs
7049 MATROSKA = $_matroska_internal
7051 OPENDIVX = $_opendivx
7053 MP3LIB = $_mp3lib
7054 LIBA52 = $_liba52
7055 LIBMPEG2 = $_libmpeg2
7056 TREMOR = $_tremor_internal
7057 TREMOR_FLAGS = $_tremor_flags
7059 SPEEX = $_speex
7060 MUSEPACK = $_musepack
7062 UNRARLIB = $_unrarlib
7063 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
7064 PNG = $_mkf_png
7065 JPEG = $_mkf_jpg
7066 GIF = $_mkf_gif
7068 EXTRA_LIB = $_ld_extra
7069 Z_LIB = $_ld_static $_ld_zlib
7070 HAVE_MLIB = $_mlib
7071 WIN32_LIB = $_ld_win32libs
7072 STATIC_LIB = $_ld_static
7073 ENCA_LIB = $_ld_enca
7074 HAVE_PTHREADS = $_pthreads
7075 MATH_LIB = $_ld_lm
7077 X11_INC = $_inc_x11
7078 X11DIR = $_ld_x11
7080 HAVE_XVMC_ACCEL = $_xvmc
7082 # for libavcodec:
7083 SRC_PATH=..
7084 LIBPREF=lib
7085 LIBSUF=.a
7086 SLIBPREF=lib
7087 SLIBSUF=.so
7089 # video output
7090 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
7091 GGI_LIB = $_ld_ggi
7092 MLIB_LIB = $_ld_mlib
7093 MLIB_INC = $_inc_mlib
7094 DXR2_INC = $_inc_dxr2
7095 DVB_INC = $_inc_dvb
7096 PNG_LIB = $_ld_png
7097 JPEG_LIB = $_ld_jpg
7098 GIF_LIB = $_ld_gif
7099 SDL_LIB = $_ld_sdl
7100 SVGA_LIB = $_ld_svga
7101 VESA_LIB = $_ld_vesa
7102 AA_LIB = $_ld_aa
7103 CACA_INC = $_inc_caca
7104 CACA_LIB = $_ld_caca
7106 # audio output
7107 ALSA_LIB = $_ld_alsa
7108 NAS_LIB = $_ld_nas
7109 ARTS_LIB = $_ld_arts
7110 ARTS_INC = $_inc_arts
7111 ESD_LIB = $_ld_esd
7112 ESD_INC = $_inc_esd
7113 POLYP_LIB = $_ld_polyp
7114 POLYP_INC = $_inc_polyp
7115 JACK_LIB = $_ld_jack
7116 JACK_INC = $_inc_jack
7117 SGIAUDIO_LIB = $_ld_sgiaudio
7119 # input/demuxer/codecs
7120 TERMCAP_LIB = $_ld_termcap
7121 LIRC_LIB = $_ld_lirc
7122 LIRCC_LIB = $_ld_lircc
7123 DVDREAD_LIB = $_ld_dvdread
7124 DVDKIT = $_dvdkit
7125 DVDKIT2 = $_dvdkit2
7126 DVDKIT_SHARED = no
7127 SDL_INC = $_inc_sdl
7128 W32_DEP = $_dep_win32
7129 W32_LIB = $_ld_win32
7130 DS_DEP = $_dep_dshow
7131 DS_LIB = $_ld_dshow
7132 AV_DEP = $_dep_libavutil $_dep_libavcodec $_dep_libavformat
7133 AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil
7134 CONFIG_LIBAVUTIL = $_libavutil
7135 CONFIG_LIBAVCODEC = $_libavcodec
7136 CONFIG_LIBAVCODECSO = $_libavcodecso
7137 CONFIG_LIBAVFORMAT = $_libavformat
7138 ZORAN = $_zr
7139 FAME = $_fame
7140 FAME_LIB = $_ld_fame
7141 MP1E_DEP = $_dep_mp1e
7142 MP1E_LIB = $_ld_mp1e
7143 ARCH_LIB = $_ld_arch $_ld_iconv
7144 XVID = $_xvid
7145 XVID_INC = $_inc_xvid
7146 XVID_LIB = $_ld_xvid
7147 X264 = $_x264
7148 X264_INC = $_inc_x264
7149 X264_LIB = $_ld_x264
7150 CONFIG_DTS = $_libdts
7151 DTS_INC = $_inc_libdts
7152 DTS_LIB = $_ld_libdts
7153 DECORE_LIB = $_ld_decore $_ld_mp3lame
7154 MENCODER = $_mencoder
7155 ENCORE_LIB = $_ld_encore $_ld_mp3lame
7156 DIRECTFB_INC = $_inc_directfb
7157 DIRECTFB_LIB = $_ld_directfb
7158 CDPARANOIA_INC = $_inc_cdparanoia
7159 CDPARANOIA_LIB = $_ld_cdparanoia
7160 FREETYPE_INC = $_inc_freetype
7161 FREETYPE_LIB = $_ld_freetype
7162 FONTCONFIG_INC = $_inc_fontconfig
7163 FONTCONFIG_LIB = $_ld_fontconfig
7164 FRIBIDI_INC = $_inc_fribidi
7165 FRIBIDI_LIB = $_ld_fribidi
7166 LIBCDIO_INC = $_inc_libcdio
7167 LIBCDIO_LIB = $_ld_libcdio
7168 LIBLZO_LIB= $_ld_liblzo
7169 MAD_LIB = $_ld_mad
7170 VORBIS_LIB = $_ld_vorbis $_ld_libdv
7171 SPEEX_LIB = $_ld_speex
7172 THEORA_LIB = $_ld_theora
7173 FAAD_LIB = $_ld_faad
7174 INTERNAL_FAAD = $_faad_internal
7175 SMBSUPPORT_LIB = $_ld_smb
7176 XMMS_PLUGINS = $_xmms
7177 XMMS_LIB = $_xmms_lib
7178 MACOSX = $_macosx
7179 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7180 MACOSX_BUNDLE = $_macosx_bundle
7181 MACOSX_FRAMEWORKS = $_macosx_frameworks
7182 MACOSX_COREVIDEO = $_macosx_corevideo
7183 TOOLAME=$_toolame
7184 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
7185 TOOLAME_LIB=$_toolame_lib
7186 TWOLAME=$_twolame
7187 TWOLAME_LIB=$_twolame_lib
7188 MUSEPACK_LIB = $_ld_musepack
7189 FAAC=$_faac
7190 FAAC_LIB=$_ld_faac
7191 AMR_NB=$_amr_nb
7192 AMR_NB_FIXED=$_amr_nb_fixed
7193 AMR_WB=$_amr_wb
7194 `echo $_libavcodecs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7195 CONFIG_GPL=yes
7197 # --- Some stuff for autoconfigure ----
7198 $_target_arch
7199 $_confwin32
7200 TARGET_CPU=$iproc
7201 TARGET_MMX = $_mmx
7202 TARGET_MMX2 = $_mmx2
7203 TARGET_3DNOW = $_3dnow
7204 TARGET_3DNOWEX = $_3dnowex
7205 TARGET_SSE = $_sse
7206 TARGET_ALTIVEC = $_altivec
7207 TARGET_VIS = $_vis
7209 # --- GUI stuff ---
7210 GTKINC = $_inc_gtk
7211 GTKLIB = $_ld_static $_ld_gtk
7212 GLIBLIB = $_ld_static $_ld_glib
7213 GTK_LIBS = $_ld_static $_ld_gui
7214 GUI = $_gui
7215 DEBUG = -DDEBUG
7219 #############################################################################
7220 echo "Creating config.h"
7221 cat > config.h << EOF
7222 /* -------- This file has been automatically generated by configure ---------
7223 Note: Any changes in it will be lost when you run configure again. */
7225 /* Protect against multiple inclusion */
7226 #ifndef MPLAYER_CONFIG_H
7227 #define MPLAYER_CONFIG_H 1
7229 /* use GNU internationalization */
7230 $_def_i18n
7232 /* Runtime CPU detection */
7233 $_def_runtime_cpudetection
7235 /* Dynamic a/v plugins */
7236 $_def_dynamic_plugins
7238 /* "restrict" keyword */
7239 $_def_restrict_keyword
7241 /* __builtin_expect branch prediction hint */
7242 $_def_builtin_expect
7243 #ifdef HAVE_BUILTIN_EXPECT
7244 #define likely(x) __builtin_expect ((x) != 0, 1)
7245 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7246 #else
7247 #define likely(x) (x)
7248 #define unlikely(x) (x)
7249 #endif
7251 /* attribute(used) as needed by some compilers */
7252 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7253 # define attribute_used __attribute__((used))
7254 #else
7255 # define attribute_used
7256 #endif
7258 #define PREFIX "$_prefix"
7260 #define USE_OSD 1
7261 #define USE_SUB 1
7263 /* enable/disable SIGHANDLER */
7264 $_def_sighandler
7266 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7267 $_def_crash_debug
7269 /* Toggles debugging informations */
7270 $_def_debug
7272 /* Toggles colorized output */
7273 //#define MSG_USE_COLORS 1
7275 /* Indicates that libcdio is available for VCD and CD-DA playback */
7276 $_def_libcdio
7278 /* Indicates that Ogle's libdvdread is available for DVD playback */
7279 $_def_dvdread
7281 /* Indicates that dvdread is from libmpdvdkit */
7282 $_def_mpdvdkit
7284 /* Additional options for libmpdvdkit*/
7285 $_def_dvd
7286 $_def_cdrom
7287 $_def_cdio
7288 $_def_dvdio
7289 $_def_bsdi_dvd
7290 $_def_dvd_bsd
7291 $_def_dvd_linux
7292 $_dev_dvd_openbsd
7293 $_def_dvd_darwin
7294 $_def_sol_scsi_h
7295 $_def_hpux_scsi_h
7296 $_def_stddef
7298 /* Common data directory (for fonts, etc) */
7299 #define MPLAYER_DATADIR "$_datadir"
7300 #define MPLAYER_CONFDIR "$_confdir"
7301 #define MPLAYER_LIBDIR "$_libdir"
7303 /* Define this to compile stream-caching support, it can be enabled via
7304 -cache <kilobytes> */
7305 #define USE_STREAM_CACHE 1
7307 /* Define to include support for XviD/Divx4Linux/OpenDivx */
7308 $_def_divx
7310 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
7311 /* You have to change DECORE_LIBS in config.mak, too! */
7312 $_def_decore
7314 /* Define if you are using DivX5Linux Decore library */
7315 $_def_divx5
7317 /* Define if you are using XviD library */
7318 $_def_xvid3
7319 $_def_xvid4
7320 $_def_decore_xvid
7321 $_def_encore_xvid
7323 /* Define if you are using the X.264 library */
7324 $_def_x264
7326 /* Define to include support for libdv-0.9.5 */
7327 $_def_libdv
7329 /* If build mencoder */
7330 $_mencoder_flag
7332 /* Indicates if XviD/Divx4linux encore is available
7333 Note: for mencoder */
7334 $_def_encore
7336 /* Indicates if libmp3lame is available
7337 Note: for mencoder */
7338 $_def_mp3lame
7339 $_def_mp3lame_preset
7340 $_def_mp3lame_preset_medium
7342 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
7343 $_def_mp1e
7345 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7346 (use -bps or -nobps commandline option for run-time method selection)
7347 -bps gives better sync for vbr mp3 audio, it is now default */
7348 #define AVI_SYNC_BPS 1
7350 /* Undefine this if you do not want to select mono audio (left or right)
7351 with a stereo MPEG layer 2/3 audio stream. The command line option
7352 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7353 right-only), with 0 being the default.
7355 #define USE_FAKE_MONO 1
7357 /* Undefine this if your sound card driver has no working select().
7358 If you have kernel Oops, player hangups, or just no audio, you should
7359 try to recompile MPlayer with this option disabled! */
7360 $_def_select
7362 /* define this to use iconv(3) function to codepage conversions */
7363 $_def_iconv
7365 /* define this to use nl_langinfo function */
7366 $_def_langinfo
7368 /* define this to use RTC (/dev/rtc) for video timers */
7369 $_def_rtc
7371 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7372 #define MAX_OUTBURST 65536
7374 /* set up audio OUTBURST. Do not change this! */
7375 #define OUTBURST 512
7377 /* Define this if your system has the header file for the OSS sound interface */
7378 $_def_sys_soundcard
7380 /* Define this if your system has the header file for the OSS sound interface
7381 * in /usr/include */
7382 $_def_soundcard
7384 /* Define this if your system has the sysinfo header */
7385 $_def_sys_sysinfo
7387 /* Define this if your system has ftello() */
7389 $_def_ftello
7390 #ifndef HAVE_FTELLO
7391 /* Need these for FILE and off_t an config.h is usually before other includes*/
7392 #include <stdio.h>
7393 #include <sys/types.h>
7394 off_t ftello(FILE *);
7395 #endif
7397 /* Define this if your system has the "malloc.h" header file */
7398 $_def_malloc
7400 /* memalign is mapped to malloc if unsupported */
7401 $_def_memalign
7402 #ifndef HAVE_MEMALIGN
7403 # define memalign(a,b) malloc(b)
7404 #define MEMALIGN_HACK 1
7405 #endif
7407 /* Define this if your system has the "alloca.h" header file */
7408 $_def_alloca
7410 /* Define this if your system has the "sys/mman.h" header file */
7411 $_def_mman
7412 $_def_mman_has_map_failed
7414 /* Define this if you have the elf dynamic linker -ldl library */
7415 $_def_dl
7417 /* Define this if you have the kstat kernel statistics library */
7418 $_def_kstat
7420 /* Define this if you have zlib */
7421 $_def_zlib
7422 #ifdef HAVE_ZLIB
7423 #define CONFIG_ZLIB 1
7424 #endif
7426 /* Define this if you have shm support */
7427 $_def_shm
7429 /* Define this if your system has scandir & alphasort */
7430 $_def_scandir
7432 /* Define this if your system has strsep */
7433 $_def_strsep
7435 /* Define this if your system has strlcpy */
7436 $_def_strlcpy
7437 #ifndef HAVE_STRLCPY
7438 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7439 #endif
7441 /* Define this if your system has strlcat */
7442 $_def_strlcat
7443 #ifndef HAVE_STRLCAT
7444 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7445 #endif
7447 /* Define this if your system has fseeko */
7448 $_def_fseeko
7449 #ifndef HAVE_FSEEKO
7450 /* Need these for FILE and off_t an config.h is usually before other includes*/
7451 #include <stdio.h>
7452 #include <sys/types.h>
7453 int fseeko(FILE *, off_t, int);
7454 #endif
7456 $_def_localtime_r
7458 /* Define this if your system has vsscanf */
7459 $_def_vsscanf
7461 /* Define this if your system has swab */
7462 $_def_swab
7464 /* Define this if your system has no posix select */
7465 $_def_no_posix_select
7467 /* Define this if your system has gettimeofday */
7468 $_def_gettimeofday
7470 /* Define this if your system has glob */
7471 $_def_glob
7473 /* Define this if your system has pthreads */
7474 $_def_pthreads
7476 /* Define this if you enabled thread support for libavcodec */
7477 $_def_threads
7479 /* LIRC (remote control, see www.lirc.org) support: */
7480 $_def_lirc
7483 * LIRCCD (LIRC client daemon)
7484 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7486 $_def_lircc
7488 /* DVD navigation support using libdvdnav */
7489 $_def_dvdnav
7490 $_def_dvdnav_version
7492 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7493 #define MPEG12_POSTPROC 1
7495 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7496 $_def_ffpostprocess
7498 /* Define to include support for OpenDivx postprocessing */
7499 $_def_odivx_postprocess
7501 /* Win32 DLL support */
7502 $_def_win32
7503 #define WIN32_PATH "$_win32libdir"
7505 /* DirectShow support */
7506 $_def_dshow
7508 /* Mac OS X specific features */
7509 $_def_macosx
7510 $_def_macosx_finder_support
7511 $_def_macosx_bundle
7512 $_def_macosx_corevideo
7514 /* Build our Win32-loader */
7515 $_def_win32_loader
7517 /* ffmpeg's libavcodec support (requires libavcodec source) */
7518 $_def_libavcodec
7519 $_def_libavcodecso
7521 /* ffmpeg's libavformat support (requires libavformat source) */
7522 $_def_libavformat
7523 $_def_libavformat_win32
7525 /* Use libavcodec's decoders */
7526 #define CONFIG_DECODERS 1
7527 /* Use libavcodec's encoders */
7528 #define CONFIG_ENCODERS 1
7530 /* Use libavformat's demuxers */
7531 #define CONFIG_DEMUXERS 1
7532 /* Use libavformat's muxers */
7533 #define CONFIG_MUXERS 1
7535 #define CONFIG_MPEGAUDIO_HP 1
7537 #define CONFIG_GPL 1
7539 /* Use amr codecs from libavcodec (requires amr sources) */
7540 $_def_amr_nb
7541 $_def_amr_nb_fixed
7542 $_def_amr_wb
7544 /* Use specific codecs from libavcodec */
7545 `echo $_libavcodecs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7547 /* Use codec libs included in mplayer CVS / source dist: */
7548 $_def_mp3lib
7549 $_def_liba52
7550 $_def_libdts
7551 $_def_libmpeg2
7553 /* Use libfame encoder filter */
7554 $_def_fame
7556 /* XAnim DLL support */
7557 $_def_xanim
7558 /* Default search path */
7559 $_def_xanim_path
7561 /* RealPlayer DLL support */
7562 $_def_real
7563 /* Default search path */
7564 $_def_real_path
7566 /* LIVE555 Streaming Media library support */
7567 $_def_live
7569 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7570 $_def_fastmemcpy
7572 /* Use unrarlib for Vobsubs */
7573 $_def_unrarlib
7575 /* gui support, please do not edit this option */
7576 $_def_gui
7577 $_def_gtk2_gui
7579 /* Audio output drivers */
7580 $_def_ossaudio
7581 $_def_ossaudio_devdsp
7582 $_def_ossaudio_devmixer
7583 $_def_alsa5
7584 $_def_alsa9
7585 $_def_alsa1x
7586 $_def_arts
7587 $_def_esd
7588 $_def_esd_latency
7589 $_def_polyp
7590 $_def_jack
7591 $_def_sys_asoundlib_h
7592 $_def_alsa_asoundlib_h
7593 $_def_sunaudio
7594 $_def_sgiaudio
7595 $_def_win32waveout
7596 $_def_nas
7598 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7599 #undef FAST_OSD
7600 #undef FAST_OSD_TABLE
7602 /* Enable TV Interface support */
7603 $_def_tv
7605 /* Enable EDL support */
7606 $_def_edl
7608 /* Enable Video 4 Linux TV interface support */
7609 $_def_tv_v4l
7611 /* Enable Video 4 Linux 2 TV interface support */
7612 $_def_tv_v4l2
7614 /* Enable *BSD BrookTree TV interface support */
7615 $_def_tv_bsdbt848
7617 /* Define if your processor stores words with the most significant
7618 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7619 $_def_words_endian
7621 $_def_arch
7623 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
7624 have the instruction. */
7625 $_def_dcbzl
7627 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7628 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7630 #ifdef ARCH_POWERPC
7631 #define ARCH_PPC 1
7632 #endif
7634 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7635 #ifdef ARCH_ARMV4L
7636 #define ARCH_ARM 1
7637 #endif
7639 /* only gcc3 can compile mvi instructions */
7640 $_def_gcc_mvi_support
7642 /* Define this for Cygwin build for win32 */
7643 $_def_confwin32
7645 /* Define this to any prefered value from 386 up to infinity with step 100 */
7646 #define __CPU__ $iproc
7648 $_mp_wordsize
7650 $_def_linux
7652 $_def_vcd
7654 #ifdef sun
7655 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7656 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7657 #elif defined(HPUX)
7658 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7659 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7660 #elif defined(WIN32)
7661 #define DEFAULT_CDROM_DEVICE "D:"
7662 #define DEFAULT_DVD_DEVICE "D:"
7663 #elif defined(SYS_DARWIN)
7664 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7665 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7666 #elif defined(__OpenBSD__)
7667 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7668 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7669 #elif defined(__FreeBSD__)
7670 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
7671 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7672 #else
7673 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7674 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7675 #endif
7678 /*----------------------------------------------------------------------------
7680 ** NOTE: Instead of modifying these definitions here, use the
7681 ** --enable/--disable options of the ./configure script!
7682 ** See ./configure --help for details.
7684 *---------------------------------------------------------------------------*/
7686 /* C99 lrintf function available */
7687 $_def_lrintf
7689 /* round function is available */
7690 $_def_round
7692 /* yes, we have inttypes.h */
7693 #define HAVE_INTTYPES_H 1
7695 /* int_fastXY_t emulation */
7696 $_def_fast_inttypes
7698 /* nanosleep support */
7699 $_def_nanosleep
7701 /* SMB support */
7702 $_def_smbsupport
7704 /* termcap flag for getch2.c */
7705 $_def_termcap
7707 /* termios flag for getch2.c */
7708 $_def_termios
7709 $_def_termios_h
7710 $_def_termios_sys_h
7712 /* enable PNG support */
7713 $_def_png
7715 /* enable JPEG support */
7716 $_def_jpg
7718 /* enable PNM support */
7719 $_def_pnm
7721 /* enable md5sum support */
7722 $_def_md5sum
7724 /* enable GIF support */
7725 $_def_gif
7726 $_def_gif_4
7727 $_def_gif_tvt_hack
7729 /* enable FreeType support */
7730 $_def_freetype
7732 /* enable Fontconfig support */
7733 $_def_fontconfig
7735 /* enable FriBiDi usage */
7736 $_def_fribidi
7738 /* enable ENCA usage */
7739 $_def_enca
7741 /* liblzo support */
7742 $_def_liblzo
7744 /* libmad support */
7745 $_def_mad
7747 /* enable OggVorbis support */
7748 $_def_vorbis
7750 /* enable Tremor as vorbis decoder */
7751 $_def_tremor
7753 /* enable Speex support */
7754 $_def_speex
7756 /* enable musepack support */
7757 $_def_musepack
7759 /* enable OggTheora support */
7760 $_def_theora
7762 /* enable Matroska support */
7763 $_def_matroska
7765 /* enable FAAD (AAC) support */
7766 $_def_faad
7767 $_def_faad_internal
7769 /* enable FAAC (AAC encoder) support */
7770 $_def_faac
7772 /* enable LADSPA plugin support */
7773 $_def_ladspa
7775 /* enable network */
7776 $_def_network
7778 /* enable ftp support */
7779 $_def_ftp
7781 /* enable vstream support */
7782 $_def_vstream
7784 /* enable winsock2 instead of Unix functions*/
7785 $_def_winsock2
7787 /* define this to use inet_aton() instead of inet_pton() */
7788 $_def_use_aton
7790 /* enables / disables cdparanoia support */
7791 $_def_cdparanoia
7793 /* enables / disables VIDIX usage */
7794 $_def_vidix
7796 /* enables / disables new input joystick support */
7797 $_def_joystick
7799 /* enables / disables QTX codecs */
7800 $_def_qtx
7802 /* enables / disables osd menu */
7803 $_def_menu
7805 /* enables / disables subtitles sorting */
7806 $_def_sortsub
7808 /* XMMS input plugin support */
7809 $_def_xmms
7810 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7812 /* enables inet6 support */
7813 $_def_inet6
7815 /* do we have gethostbyname2? */
7816 $_def_gethostbyname2
7818 /* Extension defines */
7819 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
7820 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
7821 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
7822 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
7823 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
7824 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
7825 $_def_altivec // only define if you have Altivec (G4)
7827 $_def_altivec_h // enables usage of altivec.h
7830 $_def_mlib // Sun mediaLib, available only on solaris
7831 $_def_vis // only define if you have VIS ( ultrasparc )
7833 /* libmpeg2 uses a different feature test macro for mediaLib */
7834 #ifdef HAVE_MLIB
7835 #define LIBMPEG2_MLIB 1
7836 #endif
7838 /* libvo options */
7839 #define SCREEN_SIZE_X 1
7840 #define SCREEN_SIZE_Y 1
7841 $_def_x11
7842 $_def_xv
7843 $_def_xvmc
7844 $_def_vm
7845 $_def_xf86keysym
7846 $_def_xinerama
7847 $_def_gl
7848 $_def_gl_win32
7849 $_def_dga
7850 $_def_dga2
7851 $_def_sdl
7852 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
7853 $_def_sdlbuggy
7854 $_def_directx
7855 $_def_ggi
7856 $_def_ggiwmh
7857 $_def_3dfx
7858 $_def_tdfxfb
7859 $_def_tdfxvid
7860 $_def_directfb
7861 $_def_directfb_version
7862 $_def_zr
7863 $_def_bl
7864 $_def_mga
7865 $_def_xmga
7866 $_def_syncfb
7867 $_def_fbdev
7868 $_def_dxr2
7869 $_def_dxr3
7870 $_def_dvb
7871 $_def_dvb_in
7872 $_def_svga
7873 $_def_vesa
7874 $_def_xdpms
7875 $_def_aa
7876 $_def_caca
7877 $_def_tga
7878 $_def_toolame
7879 $_def_twolame
7881 /* used by GUI: */
7882 $_def_xshape
7884 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
7885 #define X11_FULLSCREEN 1
7886 #endif
7888 #endif /* MPLAYER_CONFIG_H */
7891 #############################################################################
7893 echo "Creating libvo/config.mak"
7894 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g;s/\.m/\.o/g'`
7895 cat > libvo/config.mak << EOF
7896 include ../config.mak
7897 OPTIONAL_SRCS = $_vosrc
7898 OPTIONAL_OBJS = $_voobj
7901 #############################################################################
7903 echo "Creating libao2/config.mak"
7904 _aoobj=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
7905 cat > libao2/config.mak << EOF
7906 include ../config.mak
7907 OPTIONAL_SRCS = $_aosrc
7908 OPTIONAL_OBJS = $_aoobj
7911 #############################################################################
7913 echo "Creating libaf/config.mak"
7914 _afobj=`echo $_afsrc | sed -e 's/\.c/\.o/g'`
7915 cat > libaf/config.mak << EOF
7916 include ../config.mak
7917 OPTIONAL_SRCS = $_afsrc
7918 OPTIONAL_OBJS = $_afobj
7921 #############################################################################
7923 cat << EOF
7925 Config files successfully generated by ./configure !
7927 Install prefix: $_prefix
7928 Data directory: $_datadir
7929 Config direct.: $_confdir
7931 Byte order: $_byte_order
7932 Optimizing for: $_optimizing
7934 Languages:
7935 Messages/GUI: $_language
7938 echo -n " Manual pages: $MAN_LANG"
7939 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
7940 echo
7942 cat << EOF
7944 Enabled optional drivers:
7945 Input: $_inputmodules
7946 Codecs: $_codecmodules
7947 Audio output: $_aomodules
7948 Video output: $_vomodules
7949 Audio filters: $_afmodules
7950 Disabled optional drivers:
7951 Input: $_noinputmodules
7952 Codecs: $_nocodecmodules
7953 Audio output: $_noaomodules
7954 Video output: $_novomodules
7955 Audio filters: $_noafmodules
7957 'config.h' and 'config.mak' contain your configuration options.
7958 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7959 compile *** DO NOT REPORT BUGS if you tweak these files ***
7961 'make' will now compile MPlayer and 'make install' will install it.
7962 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7967 if test "$_mtrr" = yes ; then
7968 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
7969 echo
7972 if test "$_sdl" = "outdated" ; then
7973 cat <<EOF
7974 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
7975 support has therefore been disabled.
7977 Please upgrade to a more recent version (version 1.1.8 and above are known to
7978 work). You may get this library from: http://www.libsdl.org
7980 You need to rerun ./configure and recompile after updating SDL. If you are
7981 only interested in the libSDL audio drivers, then an older version might work.
7983 Use --enable-sdl to force usage of libSDL.
7988 if x86; then
7989 if test "$_win32" = no ; then
7990 if test "$_win32libdir" ; then
7991 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
7992 else
7993 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
7995 cat << EOF
7996 Create it and copy the DLL files there! You can download the codecs from our
7997 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
8001 else
8002 cat <<EOF
8003 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8004 operating system ($system_name). You may encounter a few files that cannot
8005 be played due to missing open source video/audio codec support.
8011 cat <<EOF
8013 Check $TMPLOG if you wonder why an autodetection failed (check whether
8014 the development headers/packages are installed).
8015 Do not report compilation errors if you used any of the --enable-* options
8016 (except --enable-gui and maybe --enable-debug).
8018 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8022 if test "$_vidix" = no ; then
8023 cat <<EOF
8024 You've disabled VIDIX. Although it would be better to PORT it instead.
8025 Have a look at the documentation for supported cards!
8030 if test "$_warn_CFLAGS" = yes; then
8031 cat <<EOF
8033 MPlayer compilation will use the CFLAGS set by you, but:
8035 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8037 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8038 To do so, execute 'CFLAGS= ./configure <options>'
8043 # Last move:
8044 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"