3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: check the cvs log !
8 # Cleanups all over the place (c) 2001 pl
12 # If the option is named 'opt':
13 # _opt : should have a value in yes/no/auto
14 # _def_opt : '#define ... 1' or '#undef ...' that is: some C code
15 # _ld_opt : ' -L/path/dir -lopt ' that is: some GCC option
16 # _inc_opt : ' -I/path/dir/include '
18 # In this file, a tab is 8 chars and indentation shift is 2 characters
21 # - config files are currently:
22 # config.h config.mak libvo/config.mak libao2/config.mak Gui/config.mak
25 #############################################################################
27 # Prevent locale nonsense from breaking basic text processing utils
31 # Prefer these macros to full length text !
32 # These macros only return an error code - NO display is done
37 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o $TMPO $@" >> "$TMPLOG"
39 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
42 echo "ldd $TMPO" >> "$TMPLOG"
43 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
49 compile_check
$TMPC $@
53 compile_check
$TMPCPP $@
-lstdc++
57 "$TMPO" >> "$TMPLOG" 2>&1
60 # Display error message, flushes tempfile, exit
65 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
66 echo "Check \"$TMPLOG\" if you do not understand why it failed."
70 # OS test booleans functions
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 aix
() { issystem
"AIX" ; return "$?" ; }
79 cygwin
() { issystem
"CYGWIN" ; return "$?" ; }
80 freebsd
() { issystem
"FreeBSD" ; return "$?" ; }
81 netbsd
() { issystem
"NetBSD" ; return "$?" ; }
82 bsdos
() { issystem
"BSD/OS" ; return "$?" ; }
83 openbsd
() { issystem
"OpenBSD" ; return "$?" ; }
84 bsd
() { freebsd || netbsd || bsdos || openbsd
; return "$?" ; }
85 qnx
() { issystem
"QNX" ; return "$?" ; }
86 darwin
() { issystem
"Darwin" ; return "$?" ; }
87 gnu
() { issystem
"GNU" ; return "$?" ; }
88 mingw32
() { issystem
"MINGW32" ; return "$?" ; }
89 morphos
() { issystem
"MorphOS" ; return "$?" ; }
90 win32
() { cygwin || mingw32
; return "$?" ; }
91 beos
() { issystem
"BEOS" ; return "$?" ; }
93 # arch test boolean functions
94 # x86/x86pc is used by QNX
97 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
104 x86_64|amd64
) return 0 ;;
123 # not boolean test: implement the posix shell "!" operator for a
125 # usage: not {command}
126 # returns exit status "success" when the execution of "command"
133 # Use this before starting a check
135 echo "============ Checking for $@ ============" >> "$TMPLOG"
136 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
139 # Use this to echo the results of a check
141 if test "$_res_comment" ; then
142 _res_comment
="($_res_comment)"
144 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
145 echo "##########################################" >> "$TMPLOG"
147 echo "$@ $_res_comment"
150 #############################################################################
152 # Check how echo works in this /bin/sh
154 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
155 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
158 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"`
160 for parm
in "$@" ; do
161 if test "$parm" = "--help" ||
test "$parm" = "-help" ||
test "$parm" = "-h" ; then
164 Usage: $0 [OPTIONS]...
167 -h, --help display this help and exit
169 Installation directories:
170 --prefix=DIR use this prefix for installing mplayer [/usr/local]
171 --bindir=DIR use this prefix for installing mplayer binary
173 --datadir=DIR use this prefix for installing machine independent
174 data files (fonts, skins) [PREFIX/share/mplayer]
175 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
176 --confdir=DIR use this prefix for installing configuration files
178 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
181 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
182 --enable-gui enable gmplayer compilation (GTK+ GUI) [disable]
183 --enable-old-gtk force using GTK 1.2 for GUI [disable]
184 --enable-largefiles enable support for files > 2 GBytes [disable]
185 --enable-linux-devfs set default devices to devfs ones [disable]
186 --enable-termcap use termcap database for key codes [autodetect]
187 --enable-termios use termios database for key codes [autodetect]
188 --disable-iconv do not use iconv(3) function [autodetect]
189 --disable-setlocale disable setlocale using in mplayer [autodetect]
190 --disable-langinfo do not use langinfo [autodetect]
191 --enable-lirc enable LIRC (remote control) support [autodetect]
192 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
193 --enable-joystick enable joystick support [disable]
194 --disable-vm disable support X video mode extensions [autodetect]
195 --disable-xf86keysym disable support for 'multimedia' keys [autodetect]
196 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
197 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
198 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
199 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
200 --disable-edl disable EDL (edit decision list) support [enable]
201 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
202 --disable-network disable network support (for: http/mms/rtp) [enable]
203 --enable-winsock2 enable winsock2 usage [autodetect]
204 --enable-smb enable Samba (SMB) input support [autodetect]
205 --enable-live enable LIVE555 Streaming Media support [autodetect]
206 --disable-dvdread Disable libdvdread support [autodetect]
207 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
208 --disable-cdparanoia Disable cdparanoia support [autodetect]
209 --disable-freetype Disable freetype2 font rendering support [autodetect]
210 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
211 --disable-unrarlib Disable Unique RAR File Library [enabled]
212 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
213 --disable-sortsub Disable subtitles sorting [enabled]
214 --enable-fribidi Enable using the FriBiDi libs [autodetect]
215 --disable-enca Disable using ENCA charset oracle library [autodetect]
216 --disable-macosx Disable Mac OS X specific features [autodetect]
217 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
218 --enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
219 --disable-inet6 Disable IPv6 support [autodetect]
220 --disable-gethostbyname2 gethostbyname() function is not provided by the C
222 --disable-ftp Disable ftp support [enabled]
223 --disable-vstream Disable tivo vstream client support [autodetect]
224 --disable-pthreads Disable Posix threads support [autodetect]
227 --enable-gif enable gif support [autodetect]
228 --enable-png enable png input/output support [autodetect]
229 --enable-jpeg enable jpeg input/output support [autodetect]
230 --enable-libcdio enable external libcdio support [autodetect]
231 --enable-liblzo enable external liblzo support [autodetect]
232 --disable-win32 disable Win32 DLL support [autodetect]
233 --disable-dshow disable Win32/DirectShow support [autodetect]
234 --disable-qtx disable Quicktime codecs [autodetect]
235 --disable-xanim disable XAnim DLL support [autodetect]
236 --disable-real disable RealPlayer DLL support [autodetect]
237 --disable-xvid disable XviD codec [autodetect]
238 --disable-x264 disable H.264 encoder [autodetect]
239 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
240 --enable-opendivx enable _old_ OpenDivx codec [disable]
241 --disable-libavcodec disable libavcodec [autodetect]
242 --disable-libavformat disable libavformat [autodetect]
243 --disable-libpostproc disable libpostproc [autodetect]
244 --disable-libavcodec_so disable shared libavcodec [autodetect]
245 --disable-libavformat_so disable shared libavformat [autodetect]
246 --disable-libpostproc_so disable shared libpostproc [autodetect]
247 --enable-libfame enable libfame realtime encoder [autodetect]
248 --disable-internal-tremor do not build internal OggVorbis support [enabled]
249 --enable-tremor-low build with lower accuracy internal tremor [disabled]
250 --enable-external-tremor build with external tremor [disabled]
251 --disable-vorbis disable OggVorbis support entirely [autodetect]
252 --disable-speex disable Speex support [autodetect]
253 --enable-theora build with OggTheora support [autodetect]
254 --disable-internal-matroska disable internal Matroska support [enabled]
255 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
256 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
257 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
258 --disable-ladspa disable LADSPA plugin support [autodetect]
259 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
260 --disable-mad disable libmad (MPEG audio) support [autodetect]
261 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
262 --disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
263 --enable-xmms build with XMMS inputplugin support [disabled]
264 --disable-mp3lib disable builtin mp3lib [enabled]
265 --disable-liba52 disable builtin liba52 [enabled]
266 --enable-libdts enable libdts support [autodetect]
267 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
268 --disable-musepack disable musepack support [autodetect]
269 --disable-amr_nb disable amr narrowband, floating point [autodetect]
270 --disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
271 --disable-amr_wb disable amr wideband, floating point [autodetect]
272 --disable-codec=CODEC disable specified codec
273 --enable-codec=CODEC dnable specified codec
276 --disable-vidix disable VIDIX [enable on x86 *nix]
277 --enable-gl build with OpenGL render support [autodetect]
278 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
279 --enable-vesa build with VESA support [autodetect]
280 --enable-svga build with SVGAlib support [autodetect]
281 --enable-sdl build with SDL render support [autodetect]
282 --enable-aa build with AAlib render support [autodetect]
283 --enable-caca build with CACA render support [autodetect]
284 --enable-ggi build with GGI render support [autodetect]
285 --enable-ggiwmh build with GGI libggiwmh extension [autodetect]
286 --enable-directx build with DirectX support [autodetect]
287 --enable-dxr2 build with DXR2 render support [autodetect]
288 --enable-dxr3 build with DXR3/H+ render support [autodetect]
289 --enable-dvb build with support for output via DVB-Card [autodetect]
290 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
291 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
292 (check for /dev/mga_vid) [autodetect]
293 --enable-xmga build with mga_vid X Window support
294 (check for X & /dev/mga_vid) [autodetect]
295 --enable-xv build with Xv render support for X 4.x [autodetect]
296 --enable-xvmc build with XvMC acceleration for X 4.x [disable]
297 --enable-vm build with XF86VidMode support for X11 [autodetect]
298 --enable-xinerama build with Xinerama support for X11 [autodetect]
299 --enable-x11 build with X11 render support [autodetect]
300 --enable-fbdev build with FBDev render support [autodetect]
301 --enable-mlib build with MLIB support (Solaris only) [autodetect]
302 --enable-3dfx build with obsolete /dev/3dfx support [disable]
303 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
304 --enable-directfb build with DirectFB support [autodetect]
305 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
306 --enable-bl build with Blinkenlights support [disable]
307 --enable-tdfxvid build with tdfx_vid support [disable]
308 --disable-tga disable targa output support [enable]
309 --disable-pnm disable pnm output support [enable]
310 --disable-md5sum disable md5sum output support [enable]
313 --disable-alsa disable ALSA sound support [autodetect]
314 --disable-ossaudio disable OSS sound support [autodetect]
315 --disable-arts disable aRts sound support [autodetect]
316 --disable-esd disable esd sound support [autodetect]
317 --disable-polyp disable Polypaudio sound support [autodetect]
318 --disable-jack disable JACK sound support [autodetect]
319 --disable-openal disable OpenAL sound support [autodetect]
320 --disable-nas disable NAS sound support [autodetect]
321 --disable-sgiaudio disable SGI sound support [autodetect]
322 --disable-sunaudio disable Sun sound support [autodetect]
323 --disable-win32waveout disable Windows waveout sound support [autodetect]
324 --disable-select disable using select() on audio device [enable]
326 Miscellaneous options:
327 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
328 --enable-cross-compile Enable cross-compilation [autodetect]
329 --cc=COMPILER use this C compiler to build MPlayer [gcc]
330 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
331 --as=ASSEMBLER use this assembler to build MPlayer [as]
332 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
333 --enable-static build a statically linked binary. Set further linking
334 options with --enable-static="-lslang -lncurses"
335 --charset convert the help messages to this charset
336 --language=list a white space or comma separated list of languages
337 for translated man pages, the first language is the
338 primary and therefore used for translated messages
339 and GUI (also the environment variable \$LINGUAS is
341 (Available: $LANGUAGES all)
342 --with-install=PATH use a custom install program (useful if your OS uses
343 a GNU-incompatible install utility by default and
344 you want to use GNU version)
345 --install-path=PATH the path to a custom install program
346 this option is obsolete and will be removed soon,
347 use --with-install instead.
350 --enable-mmx build with MMX support [autodetect]
351 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
352 --enable-3dnow build with 3DNow! support [autodetect]
353 --enable-3dnowex build with extended 3DNow! support [autodetect]
354 --enable-sse build with SSE support [autodetect]
355 --enable-sse2 build with SSE2 support [autodetect]
356 --enable-shm build with shm support [autodetect]
357 --enable-altivec build with Altivec support (PowerPC) [autodetect]
358 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
359 --enable-big-endian Force byte order to big-endian [autodetect]
360 --enable-debug[=1-3] compile debugging information into mplayer [disable]
361 --enable-profile compile profiling information into mplayer [disable]
362 --disable-sighandler disable sighandler for crashes [enable]
363 --enable-crash-debug enable automatic gdb attach on crash [disable]
364 --enable-i18n _experimental_ gnu gettext() support [autodetect]
365 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
367 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
368 --disable-gcc-checking disable gcc version checking [enable]
370 Use these options if autodetection fails (Options marked with (*) accept
371 multiple paths separated by ':'):
372 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
373 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR (*)
374 --with-x11incdir=DIR X headers in DIR (*)
375 --with-x11libdir=DIR X library files in DIR (*)
376 --with-dxr2incdir=DIR DXR2 headers in DIR (*)
377 --with-dvbincdir=DIR DVB headers in DIR (*)
378 --with-madlibdir=DIR libmad (libmad shared library) in DIR (*)
379 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
380 --with-codecsdir=DIR Binary codec files in DIR
381 --with-win32libdir=DIR W*ndows DLL files in DIR
382 --with-xanimlibdir=DIR XAnim DLL files in DIR
383 --with-reallibdir=DIR RealPlayer DLL files in DIR
384 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
385 --with-xvidincdir=DIR XviD header in DIR (*)
386 --with-x264libdir=DIR libx264 in DIR
387 --with-x264incdir=DIR x264 header in DIR
388 --with-dtslibdir=DIR libdts library in DIR (*)
389 --with-dtsincdir=DIR libdts header in DIR (*)
390 --with-livelibdir=DIR LIVE555 Streaming Media libraries in DIR
391 --with-toolamedir=DIR path to Toolame library and include file
392 --with-xmmsplugindir=DIR XMMS plugins in DIR
393 --with-xmmslibdir=DIR libxmms.so.1 in DIR
394 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR (*)
395 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
396 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
397 --with-termcaplib=NAME name of library with termcap functionality
398 name should be given without leading "lib"
399 checks for "termcap" and "tinfo"
401 --with-freetype-config=PATH path to freetype-config
402 (e.g. /opt/bin/freetype-config)
403 --with-fribidi-config=PATH path to fribidi-config
404 (e.g. /opt/bin/fribidi-config)
405 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
406 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
407 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
409 This configure script is NOT autoconf-based, even though its output is similar.
410 It will try to autodetect all configuration options. If you --enable an option
411 it will be forcefully turned on, skipping autodetection. This can break
412 compilation, so you need to know what you are doing.
416 done # for parm in ...
419 # 1st pass checking for vital options
423 test "$CC" && _cc
="$CC"
425 _runtime_cpudetection
=no
430 _target
=`echo $ac_option | cut -d '=' -f 2`
433 _cc
=`echo $ac_option | cut -d '=' -f 2`
436 _host_cc
=`echo $ac_option | cut -d '=' -f 2`
439 _as
=`echo $ac_option | cut -d '=' -f 2`
441 --enable-gcc-checking)
444 --disable-gcc-checking)
454 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
456 --with-extraincdir=*)
457 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
459 --with-extralibdir=*)
460 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
462 --enable-runtime-cpudetection)
463 _runtime_cpudetection
=yes
465 --disable-runtime-cpudetection)
466 _runtime_cpudetection
=no
468 --enable-cross-compile)
471 --disable-cross-compile)
475 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
478 _install
=`echo $ac_option | cut -d '=' -f 2 `
483 # Determine our OS name and CPU architecture
484 if test -z "$_target" ; then
486 system_name
=`uname -s 2>&1`
487 case "$system_name" in
488 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX
)
496 [cC
][yY
][gG
][wW
][iI
][nN
]*)
503 system_name
="$system_name-UNKNOWN"
508 # host's CPU/instruction set
509 host_arch
=`uname -p 2>&1`
511 i386|sparc|ppc|alpha|arm|mips|vax
)
513 powerpc
) # Darwin returns 'powerpc'
516 *) # uname -p on Linux returns 'unknown' for the processor type,
517 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
519 # Maybe uname -m (machine hardware name) returns something we
522 # x86/x86pc is used by QNX
523 case "`uname -m 2>&1`" in
524 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
;;
525 ia64
) host_arch
=ia64
;;
527 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
528 -z "`echo $CFLAGS | grep -- -m32`" ]; then
534 macppc|ppc|ppc64
) host_arch
=ppc
;;
535 alpha
) host_arch
=alpha
;;
536 sparc
) host_arch
=sparc
;;
537 sparc64
) host_arch
=sparc64
;;
538 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
539 arm
*|zaurus|cats
) host_arch
=arm
;;
540 s390
) host_arch
=s390
;;
541 s390x
) host_arch
=s390x
;;
542 mips
*) host_arch
=mips
;;
543 vax
) host_arch
=vax
;;
544 *) host_arch
=UNKNOWN
;;
548 else # if test -z "$_target"
549 system_name
=`echo $_target | cut -d '-' -f 2`
550 case "`echo $system_name | tr A-Z a-z`" in
551 linux
) system_name
=Linux
;;
552 freebsd
) system_name
=FreeBSD
;;
553 netbsd
) system_name
=NetBSD
;;
554 bsd
/os
) system_name
=BSD
/OS
;;
555 openbsd
) system_name
=OpenBSD
;;
556 sunos
) system_name
=SunOS
;;
557 qnx
) system_name
=QNX
;;
558 morphos
) system_name
=MorphOS
;;
559 mingw32msvc
) system_name
=MINGW32
;;
561 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
562 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
565 echo "Detected operating system: $system_name"
566 echo "Detected host architecture: $host_arch"
568 # LGB: temporary files
569 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
573 TMPLOG
="configure.log"
575 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
576 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
577 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
578 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
582 # FIXME: A lot of stuff is installed under /usr/local
583 # NK: But we should never use this stuff implicitly since we call compiler
584 # from /usr we should be sure that there no effects from other compilers
585 # (libraries) which might be installed into /usr/local. Let users use this
586 # stuff explicitly as command line argument. In other words: It would be
587 # resonable to have only /usr/include or only /usr/local/include.
590 _ld_extra
="$_ld_extra -L/usr/local/lib"
591 _inc_extra
="$_inc_extra -I/usr/local/include"
595 for I
in `echo $_ld_extra | sed 's/-L//g'` ; do
596 tmp
="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
612 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
613 # if used as 'head -1' instead of 'head -n 1', but older versions don't
615 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
616 _head
() { head -$1 2>/dev
/null
; }
618 _head
() { head -n $1 2>/dev
/null
; }
620 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
621 _tail
() { tail -$1 2>/dev
/null
; }
623 _tail
() { tail -n $1 2>/dev
/null
; }
626 # Checking CC version...
627 if test "$_skip_cc_check" != yes ; then
628 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
629 if test "`basename $_cc`" = "icc" ||
test "`basename $_cc`" = "ecc"; then
630 echocheck
"$_cc version"
632 cc_name
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
633 cc_version
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
634 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
635 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
636 # TODO verify older icc/ecc compatibility
639 cc_version
="v. ?.??, bad"
643 cc_version
="$cc_version, ok"
647 cc_version
="$cc_version, bad"
651 echores
"$cc_version"
653 for _cc
in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
654 echocheck
"$_cc version"
656 cc_name
=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
657 cc_version
=`$_cc -dumpversion 2>&1`
658 if test "$?" -gt 0; then
659 cc_version
="not found"
663 cc_version
="v. ?.??, bad"
666 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
[3-4].
*)
667 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
668 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
669 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
670 cc_version
="$cc_version, ok"
677 cc_version
="$cc_version, bad"
681 echores
"$cc_version"
682 test "$cc_verc_fail" = "no" && break
685 if test "$cc_verc_fail" = yes ; then
688 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
690 You are not using a supported compiler. We do not have the time to make sure
691 everything works with compilers other than the ones we use. Use either the
692 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
693 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
695 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
696 mplayer and lame (which is used for mencoder). If you get compile errors,
697 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
698 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
701 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
703 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
706 die
"Bad gcc version"
711 ******************************************************************************
713 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
714 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
716 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
717 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
718 Lame which is used by mencoder produces weird errors, too.
720 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
721 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
723 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
725 ******************************************************************************
733 test "$_host_cc" || _host_cc
=$_cc
736 echocheck
"cross compilation"
737 if test $_cross_compile = auto
; then
739 int main() { return 0; }
742 cc_check
&& "$TMPO" && _cross_compile
=no
744 echores
$_cross_compile
746 if test $_cross_compile = yes; then
754 # now that we know what compiler should be used for compilation, try to find
755 # out which assembler is used by the $_cc compiler
756 if test "$_as" = auto
; then
757 _as
=`$_cc -print-prog-name=as`
758 test -z "$_as" && _as
=as
761 # XXX: this should be ok..
763 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
764 # FIXME: Remove the cygwin check once AMD CPUs are supported
765 if test -r /proc
/cpuinfo
&& not cygwin
; then
766 # Linux with /proc mounted, extract CPU information from it
767 _cpuinfo
="cat /proc/cpuinfo"
768 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
769 # FreeBSD with Linux emulation /proc mounted,
770 # extract CPU information from it
771 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
772 elif darwin
&& not x86
; then
773 # use hostinfo on Darwin
776 # use 'lsattr' on AIX
777 _cpuinfo
="lsattr -E -l proc0"
779 # all other OSes try to extract CPU information from a small helper
780 # program TOOLS/cpuinfo instead
781 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
782 _cpuinfo
="TOOLS/cpuinfo"
787 pparam
=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | _head 1`
788 if test -z "$pparam" ; then
789 pparam
=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
800 for i
in $pparam ; do
803 3dnowext
) _3dnow
=yes _3dnowex
=yes ;;
806 mtrr|k6_mtrr|cyrix_arr
) _mtrr
=yes ;;
807 xmm|sse|kni
) _sse
=yes _mmx2
=yes ;;
813 if x86 || x86_64
; then
814 # gather more CPU information
815 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
816 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
817 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
818 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
819 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
823 echocheck
"CPU vendor"
824 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
831 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
832 _def_arch
="#define ARCH_X86 1"
833 _target_arch
="TARGET_ARCH_X86 = yes"
839 3) proc
=i386 iproc
=386 ;;
840 4) proc
=i486 iproc
=486 ;;
841 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
842 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
843 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
845 elif test "$pmodel" -ge 8; then
847 elif test "$pmodel" -ge 6; then
855 # It's a bit difficult to determine the correct type of Family 6
856 # AMD CPUs just from their signature. Instead, we check directly
857 # whether it supports SSE.
858 if test "$_sse" = yes; then
859 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
862 # Again, gcc treats athlon and athlon-tbird similarly.
867 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
868 # caught and remedied in the optimization tests below.
872 *) proc
=k8 iproc
=686 ;;
877 3) proc
=i386 iproc
=386 ;;
878 4) proc
=i486 iproc
=486 ;;
880 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
881 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
887 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
889 elif test "$pmodel" -ge 7; then
891 elif test "$pmodel" -ge 3; then
898 # A nocona in 32-bit mode has no more capabilities than a prescott.
899 if test "$pmodel" -ge 3; then
905 *) proc
=prescott iproc
=686 ;;
911 if test "$pmodel" -ge 8; then
913 elif test "$pmodel" -ge 4; then
920 if test "$pmodel" -ge 9; then
927 *) proc
=i686 iproc
=i686
;;
932 3) proc
=i386 iproc
=386 ;;
933 4) proc
=i486 iproc
=486 ;;
934 *) proc
=i586 iproc
=586 ;;
938 proc
=i586 iproc
=586 ;;
941 # check that gcc supports our CPU, if not, fall back to earlier ones
942 # LGB: check -mcpu and -march swithing step by step with enabling
943 # to fall back till 386.
945 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
947 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
953 echocheck
"GCC & CPU optimization abilities"
955 int main(void) { return 0; }
957 if test "$_runtime_cpudetection" = no
; then
958 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
959 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
961 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ||
test "$proc" = "athlon-tbird"; then
962 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
964 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
965 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
967 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
968 if not cc_check
-march=$proc $cpuopt=$proc; then
969 if cc_check
-march=i586
$cpuopt=i686
; then
976 if test "$proc" = "pentium4" ||
test "$proc" = "pentium-m" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon" ||
test "$proc" = "c3-2"; then
977 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
979 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
980 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
982 if test "$proc" = "i586"; then
983 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
985 if test "$proc" = "i486" ; then
986 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
988 if test "$proc" = "i386" ; then
989 cc_check
-march=$proc $cpuopt=$proc || proc
=error
991 if test "$proc" = "error" ; then
992 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
996 elif test "$proc" = "i586-i686"; then
1001 _march
="-march=$proc"
1002 _mcpu
="$cpuopt=$proc"
1005 else # if test "$_runtime_cpudetection" = no
1006 # i686 is probably the most common CPU - optimize for it
1007 _mcpu
="$cpuopt=i686"
1008 # at least i486 required, for bswap instruction
1009 _march
="-march=i486"
1010 cc_check
$_mcpu || _mcpu
=""
1011 cc_check
$_march $_mcpu || _march
=""
1014 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1015 ## autodetected mcpu/march parameters
1016 if test "$_target" ; then
1017 # TODO: it may be a good idea to check GCC and fall back in all cases
1018 if test "$host_arch" = "i586-i686"; then
1019 _march
="-march=i586"
1020 _mcpu
="$cpuopt=i686"
1022 _march
="-march=$host_arch"
1023 _mcpu
="$cpuopt=$host_arch"
1031 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1032 i686|athlon
*|pentium
*) iproc
=686 ;;
1041 _def_arch
='#define ARCH_IA64 1'
1042 _target_arch
='TARGET_ARCH_IA64 = yes'
1051 _def_arch
='#define ARCH_X86_64 1'
1052 _target_arch
='TARGET_ARCH_X86_64 = yes'
1055 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1056 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1065 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1066 # same capabilities as a nocona.
1072 echocheck
"GCC & CPU optimization abilities"
1074 int main(void) { return 0; }
1076 # This is a stripped-down version of the i386 fallback.
1077 if test "$_runtime_cpudetection" = no
; then
1078 # --- AMD processors ---
1079 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
1080 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1082 # This will fail if gcc version < 3.3, which is ok because earlier
1083 # versions don't really support 64-bit on amd64.
1084 # Is this a valid assumption? -Corey
1085 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ; then
1086 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1088 # --- Intel processors ---
1089 if test "$proc" = "nocona" ||
test "$proc" = "prescott" ; then
1090 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1092 if test "$proc" = "pentium4" ||
test "$proc" = "pentium4m" ; then
1093 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1096 _march
="-march=$proc"
1097 _mcpu
="$cpuopt=$proc"
1098 if test "$proc" = "error" ; then
1099 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1116 _def_arch
='#define ARCH_SPARC 1'
1117 _target_arch
='TARGET_ARCH_SPARC = yes'
1120 echocheck
"CPU type"
1122 case "`echo $karch`" in
1127 sun4u
) proc
=v9 _vis
='yes' _def_vis
='#define HAVE_VIS = yes' ;;
1140 _def_arch
='#define ARCH_SPARC 1'
1141 _target_arch
='TARGET_ARCH_SPARC = yes'
1143 _def_vis
='#define HAVE_VIS = yes'
1151 arm|armv4l|armv5tel
)
1152 _def_arch
='#define ARCH_ARMV4L 1'
1153 _target_arch
='TARGET_ARCH_ARMV4L = yes'
1162 _def_arch
='#define ARCH_POWERPC 1'
1163 _def_dcbzl
='#define NO_DCBZL 1'
1164 _target_arch
='TARGET_ARCH_POWERPC = yes'
1172 echocheck
"CPU type"
1173 case $system_name in
1175 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1176 if test -n "`$_cpuinfo | grep altivec`"; then
1181 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1182 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1183 "`sysctl -n hw.optional.altivec 2>/dev/null`" -eq 1 ]; then
1188 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1190 2*|
3.0*|
3.1*|
3.2*|
3.3*)
1193 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1200 proc
=`$_cpuinfo | grep 'type' | cut -f 7 -d ' ' | sed 's/PowerPC_//'`
1203 if test "$_altivec" = yes; then
1204 echores
"$proc altivec"
1209 echocheck
"GCC & CPU optimization abilities"
1211 if test -n "$proc"; then
1213 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
1214 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
1215 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
1216 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
1217 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
1218 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
1219 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
1220 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
1221 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
1224 # gcc 3.1(.1) and up supports 7400 and 7450
1225 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
1227 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
1228 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
1232 # gcc 3.2 and up supports 970
1233 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
1235 970*) _march
='-mcpu=970' _mcpu
='-mtune=970'
1236 _def_dcbzl
='#undef NO_DCBZL' ;;
1240 # gcc 3.3 and up supports POWER4
1241 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
1243 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
1247 # gcc 4.0 and up supports POWER5
1248 if test "$_cc_major" -ge "4"; then
1250 POWER5
) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
1256 if test -n "$_mcpu"; then
1257 _optimizing
=`echo $_mcpu | cut -c 8-`
1258 echores
"$_optimizing"
1266 _def_arch
='#define ARCH_ALPHA 1'
1267 _target_arch
='TARGET_ARCH_ALPHA = yes'
1271 echocheck
"CPU type"
1274 unsigned long ver, mask;
1275 asm ("implver %0" : "=r" (ver));
1276 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1277 printf("%ld-%x\n", ver, ~mask);
1281 $_cc -o "$TMPO" "$TMPC"
1284 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
1285 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
1286 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
1287 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
1288 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
1289 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
1290 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
1294 echocheck
"GCC & CPU optimization abilities"
1295 if test "$proc" = "ev68" ; then
1296 cc_check
-mcpu=$proc || proc
=ev67
1298 if test "$proc" = "ev67" ; then
1299 cc_check
-mcpu=$proc || proc
=ev6
1306 echocheck
"MVI instruction support in GCC"
1307 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1308 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
1311 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
1312 echores
"no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1317 _def_arch
='#define ARCH_SGI_MIPS 1'
1318 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
1326 echocheck
"CPU type"
1327 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
1328 case "`echo $proc`" in
1329 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
1330 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
1331 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
1332 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
1333 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
1334 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
1342 _def_arch
='#define ARCH_PA_RISC 1'
1343 _target_arch
='TARGET_ARCH_PA_RISC = yes'
1352 _def_arch
='#define ARCH_S390 1'
1353 _target_arch
='TARGET_ARCH_S390 = yes'
1362 _def_arch
='#define ARCH_S390X 1'
1363 _target_arch
='TARGET_ARCH_S390X = yes'
1372 _def_arch
='#define ARCH_VAX 1'
1373 _target_arch
='TARGET_ARCH_VAX = yes'
1382 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1383 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1384 die
"unsupported architecture $host_arch"
1386 esac # case "$host_arch" in
1388 if test "$_runtime_cpudetection" = yes ; then
1403 if x86
&& test "$_runtime_cpudetection" = no
; then
1405 if test "$1" = yes ; then
1406 echocheck
"kernel support of $2"
1409 void catch() { exit(1); }
1411 signal(SIGILL, catch);
1412 __asm__ __volatile__ ("$3":::"memory");return(0);
1416 if cc_check
&& tmp_run
; then
1418 _optimizing
="$_optimizing $2"
1422 echo "It seems that your kernel does not correctly support $2."
1423 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1430 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1431 extcheck
$_mmx2 "mmx2" "sfence" || _mmx2
=no
1432 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1433 extcheck
$_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex
=no
1434 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1435 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1436 echocheck
"mtrr support"
1439 if test "$_mtrr" = yes ; then
1440 _optimizing
="$_optimizing mtrr"
1443 if test "$_gcc3_ext" != ""; then
1444 # if we had to disable sse/sse2 because the active kernel does not
1445 # support this instruction set extension, we also have to tell
1446 # gcc3 to not generate sse/sse2 instructions for normal C code
1448 int main(void) { return 0; }
1450 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1455 echocheck
"assembler support of -pipe option"
1457 int main(void) { return 0; }
1459 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
1461 _prefix
="/usr/local"
1463 # GOTCHA: the variables below defines the default behavior for autodetection
1464 # and have - unless stated otherwise - at least 2 states : yes no
1465 # If autodetection is available then the third state is: auto
1470 _libavcodecs
=`grep 'register_avcodec(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1473 _libavformat_so
=auto
1475 _libpostproc_so
=auto
1480 _dga
=auto
# 1 2 no auto
1482 _xvmc
=no
#auto when complete
1518 _tremor_internal
=yes
1527 _matroska_internal
=yes
1535 # dvdnav disabled, it does not work
1600 _macosx_finder_support
=no
1603 _freetypeconfig
='freetype-config'
1605 _fribidiconfig
='fribidi-config'
1608 _gethostbyname2
=auto
1614 case "$ac_option" in
1620 --enable-gcc-checking) ;;
1621 --disable-gcc-checking) ;;
1622 --enable-static*) ;;
1623 --disable-static*) ;;
1624 --with-extraincdir=*) ;;
1625 --with-extralibdir=*) ;;
1626 --enable-runtime-cpudetection) ;;
1627 --disable-runtime-cpudetection) ;;
1628 --enable-cross-compile) ;;
1629 --disable-cross-compile) ;;
1630 --install-path=*) ;;
1631 --with-install=*) ;;
1634 --enable-mencoder) _mencoder
=yes ;;
1635 --disable-mencoder) _mencoder
=no
;;
1636 --enable-i18n) _i18n
=yes ;;
1637 --disable-i18n) _i18n
=no
;;
1638 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1639 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1640 --enable-x11) _x11
=yes ;;
1641 --disable-x11) _x11
=no
;;
1642 --enable-xv) _xv
=yes ;;
1643 --disable-xv) _xv
=no
;;
1644 --enable-xvmc) _xvmc
=yes ;;
1645 --disable-xvmc) _xvmc
=no
;;
1646 --enable-sdl) _sdl
=yes ;;
1647 --disable-sdl) _sdl
=no
;;
1648 --enable-directx) _directx
=yes ;;
1649 --disable-directx) _directx
=no
;;
1650 --enable-win32waveout) _win32waveout
=yes ;;
1651 --disable-win32waveout) _win32waveout
=no
;;
1652 --enable-nas) _nas
=yes ;;
1653 --disable-nas) _nas
=no
;;
1654 --enable-png) _png
=yes ;;
1655 --disable-png) _png
=no
;;
1656 --enable-jpeg) _jpg
=yes ;;
1657 --disable-jpeg) _jpg
=no
;;
1658 --enable-pnm) _pnm
=yes ;;
1659 --disable-pnm) _pnm
=no
;;
1660 --enable-md5sum) _md5sum
=yes ;;
1661 --disable-md5sum) _md5sum
=no
;;
1662 --enable-gif) _gif
=yes ;;
1663 --disable-gif) _gif
=no
;;
1664 --enable-gl) _gl
=yes ;;
1665 --disable-gl) _gl
=no
;;
1666 --enable-ggi) _ggi
=yes ;;
1667 --disable-ggi) _ggi
=no
;;
1668 --enable-ggiwmh) _ggiwmh
=yes ;;
1669 --disable-ggiwmh) _ggiwmh
=no
;;
1670 --enable-aa) _aa
=yes ;;
1671 --disable-aa) _aa
=no
;;
1672 --enable-caca) _caca
=yes ;;
1673 --disable-caca) _caca
=no
;;
1674 --enable-svga) _svga
=yes ;;
1675 --disable-svga) _svga
=no
;;
1676 --enable-vesa) _vesa
=yes ;;
1677 --disable-vesa) _vesa
=no
;;
1678 --enable-fbdev) _fbdev
=yes ;;
1679 --disable-fbdev) _fbdev
=no
;;
1680 --enable-dvb) _dvb
=yes ;;
1681 --disable-dvb) _dvb
=no
;;
1682 --enable-dvbhead) _dvbhead
=yes ;;
1683 --disable-dvbhead) _dvbhead
=no
;;
1684 --enable-dxr2) _dxr2
=yes ;;
1685 --disable-dxr2) _dxr2
=no
;;
1686 --enable-dxr3) _dxr3
=yes ;;
1687 --disable-dxr3) _dxr3
=no
;;
1688 --enable-iconv) _iconv
=yes ;;
1689 --disable-iconv) _iconv
=no
;;
1690 --enable-langinfo) _langinfo
=yes ;;
1691 --disable-langinfo) _langinfo
=no
;;
1692 --enable-rtc) _rtc
=yes ;;
1693 --disable-rtc) _rtc
=no
;;
1694 --enable-mp1e) _mp1e
=yes ;;
1695 --disable-mp1e) _mp1e
=no
;;
1696 --enable-libdv) _libdv
=yes ;;
1697 --disable-libdv) _libdv
=no
;;
1698 --enable-ossaudio) _ossaudio
=yes ;;
1699 --disable-ossaudio) _ossaudio
=no
;;
1700 --enable-arts) _arts
=yes ;;
1701 --disable-arts) _arts
=no
;;
1702 --enable-esd) _esd
=yes ;;
1703 --disable-esd) _esd
=no
;;
1704 --enable-polyp) _polyp
=yes ;;
1705 --disable-polyp) _polyp
=no
;;
1706 --enable-jack) _jack
=yes ;;
1707 --disable-jack) _jack
=no
;;
1708 --enable-openal) _openal
=yes ;;
1709 --disable-openal) _openal
=no
;;
1710 --enable-mad) _mad
=yes ;;
1711 --disable-mad) _mad
=no
;;
1712 --disable-toolame) _toolame
=no
;;
1713 --disable-twolame) _twolame
=no
;;
1714 --enable-libcdio) _libcdio
=yes ;;
1715 --disable-libcdio) _libcdio
=no
;;
1716 --enable-liblzo) _liblzo
=yes ;;
1717 --disable-liblzo) _liblzo
=no
;;
1718 --enable-vorbis) _vorbis
=yes ;;
1719 --disable-vorbis) _vorbis
=no
;;
1720 --enable-speex) _speex
=yes ;;
1721 --disable-speex) _speex
=no
;;
1722 --enable-internal-tremor) _tremor_internal
=yes ;;
1723 --disable-internal-tremor) _tremor_internal
=no
;;
1724 --enable-tremor-low) _tremor_low
=yes ;;
1725 --disable-tremor-low) _tremor_low
=no
;;
1726 --enable-external-tremor) _tremor
=yes ;;
1727 --disable-external-tremor) _tremor
=no
;;
1728 --enable-theora) _theora
=yes ;;
1729 --disable-theora) _theora
=no
;;
1730 --enable-mp3lib) _mp3lib
=yes ;;
1731 --disable-mp3lib) _mp3lib
=no
;;
1732 --enable-liba52) _liba52
=yes ;;
1733 --disable-liba52) _liba52
=no
;;
1734 --enable-libdts) _libdts
=yes ;;
1735 --disable-libdts) _libdts
=no
;;
1736 --enable-libmpeg2) _libmpeg2
=yes ;;
1737 --disable-libmpeg2) _libmpeg2
=no
;;
1738 --enable-musepack) _musepack
=yes ;;
1739 --disable-musepack) _musepack
=no
;;
1740 --enable-internal-matroska) _matroska_internal
=yes ;;
1741 --disable-internal-matroska) _matroska_internal
=no
;;
1742 --enable-internal-faad) _faad_internal
=yes _faad_external
=no
;;
1743 --disable-internal-faad) _faad_internal
=no
;;
1744 --enable-external-faad) _faad_external
=yes _faad_internal
=no
;;
1745 --disable-external-faad) _faad_external
=no
;;
1746 --enable-faac) _faac
=yes ;;
1747 --disable-faac) _faac
=no
;;
1748 --enable-ladspa) _ladspa
=yes ;;
1749 --disable-ladspa) _ladspa
=no
;;
1750 --enable-xmms) _xmms
=yes ;;
1751 --disable-xmms) _xmms
=no
;;
1752 --enable-dvdread) _dvdread
=yes ;;
1753 --disable-dvdread) _dvdread
=no
;;
1754 --enable-mpdvdkit) _dvdkit
=yes ;;
1755 --disable-mpdvdkit) _dvdkit
=no
;;
1756 # dvdnav disabled, it does not work
1757 # --enable-dvdnav) _dvdnav=yes ;;
1758 # --disable-dvdnav) _dvdnav=no ;;
1759 --enable-xanim) _xanim
=yes ;;
1760 --disable-xanim) _xanim
=no
;;
1761 --enable-real) _real
=yes ;;
1762 --disable-real) _real
=no
;;
1763 --enable-live) _live
=yes ;;
1764 --disable-live) _live
=no
;;
1765 --enable-xinerama) _xinerama
=yes ;;
1766 --disable-xinerama) _xinerama
=no
;;
1767 --enable-mga) _mga
=yes ;;
1768 --disable-mga) _mga
=no
;;
1769 --enable-xmga) _xmga
=yes ;;
1770 --disable-xmga) _xmga
=no
;;
1771 --enable-vm) _vm
=yes ;;
1772 --disable-vm) _vm
=no
;;
1773 --enable-xf86keysym) _xf86keysym
=yes ;;
1774 --disable-xf86keysym) _xf86keysym
=no
;;
1775 --enable-mlib) _mlib
=yes ;;
1776 --disable-mlib) _mlib
=no
;;
1777 --enable-sunaudio) _sunaudio
=yes ;;
1778 --disable-sunaudio) _sunaudio
=no
;;
1779 --enable-sgiaudio) _sgiaudio
=yes ;;
1780 --disable-sgiaudio) _sgiaudio
=no
;;
1781 --enable-alsa) _alsa
=yes ;;
1782 --disable-alsa) _alsa
=no
;;
1783 --enable-tv) _tv
=yes ;;
1784 --disable-tv) _tv
=no
;;
1785 --enable-edl) _edl
=yes ;;
1786 --disable-edl) _edl
=no
;;
1787 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1788 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1789 --enable-tv-v4l) _tv_v4l
=yes ;;
1790 --disable-tv-v4l) _tv_v4l
=no
;;
1791 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1792 --disable-tv-v4l2) _tv_v4l2
=no
;;
1793 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1794 --disable-fastmemcpy) _fastmemcpy
=no
;;
1795 --enable-network) _network
=yes ;;
1796 --disable-network) _network
=no
;;
1797 --enable-winsock2) _winsock2
=yes ;;
1798 --disable-winsock2) _winsock2
=no
;;
1799 --enable-smb) _smbsupport
=yes ;;
1800 --disable-smb) _smbsupport
=no
;;
1801 --enable-vidix) _vidix
=yes ;;
1802 --disable-vidix) _vidix
=no
;;
1803 --enable-joystick) _joystick
=yes ;;
1804 --disable-joystick) _joystick
=no
;;
1805 --enable-xvid) _xvid
=yes ;;
1806 --disable-xvid) _xvid
=no
;;
1807 --enable-x264) _x264
=yes ;;
1808 --disable-x264) _x264
=no
;;
1809 --enable-divx4linux) _divx4linux
=yes ;;
1810 --disable-divx4linux) _divx4linux
=no
;;
1811 --enable-opendivx) _opendivx
=yes ;;
1812 --disable-opendivx) _opendivx
=no
;;
1813 --enable-libavcodec) _libavcodec
=yes ;;
1814 --disable-libavcodec) _libavcodec
=no
;;
1815 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1816 --disable-libavcodec_so) _libavcodec_so
=no
;;
1817 --enable-amr_nb) _amr_nb
=yes ;;
1818 --disable-amr_nb) _amr_nb
=no
;;
1819 --enable-amr_nb-fixed) _amr_nb_fixed
=yes ;;
1820 --disable-amr_nb-fixed) _amr_nb_fixed
=no
;;
1821 --enable-amr_wb) _amr_wb
=yes ;;
1822 --disable-amr_wb) _amr_wb
=no
;;
1823 --enable-codec=*) _libavcodecs
="$_libavcodecs `echo $ac_option | cut -d '=' -f 2`" ;;
1824 --disable-codec=*) _libavcodecs
=`echo $_libavcodecs | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1825 --enable-libavformat) _libavformat
=yes;;
1826 --disable-libavformat) _libavformat
=no
;;
1827 --enable-libavformat_so) _libavformat_so
=yes ;;
1828 --disable-libavformat_so) _libavformat_so
=no
;;
1829 --enable-libpostproc) _libpostproc
=yes ;;
1830 --disable-libpostproc) _libpostproc
=no
;;
1831 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1832 --disable-libpostproc_so) _libpostproc_so
=no
;;
1833 --enable-libfame) _fame
=yes ;;
1834 --disable-libfame) _fame
=no
;;
1835 --enable-lirc) _lirc
=yes ;;
1836 --disable-lirc) _lirc
=no
;;
1837 --enable-lircc) _lircc
=yes ;;
1838 --disable-lircc) _lircc
=no
;;
1839 --enable-gui) _gui
=yes ;;
1840 --disable-gui) _gui
=no
;;
1841 --enable-old-gtk) _gtk1
=yes ;;
1842 --enable-termcap) _termcap
=yes ;;
1843 --disable-termcap) _termcap
=no
;;
1844 --enable-termios) _termios
=yes ;;
1845 --disable-termios) _termios
=no
;;
1846 --enable-3dfx) _3dfx
=yes ;;
1847 --disable-3dfx) _3dfx
=no
;;
1848 --enable-tdfxfb) _tdfxfb
=yes ;;
1849 --disable-tdfxvid) _tdfxvid
=no
;;
1850 --enable-tdfxvid) _tdfxvid
=yes ;;
1851 --disable-tga) _tga
=no
;;
1852 --enable-tga) _tga
=yes ;;
1853 --disable-tdfxfb) _tdfxfb
=no
;;
1854 --enable-directfb) _directfb
=yes ;;
1855 --disable-directfb) _directfb
=no
;;
1856 --enable-zr) _zr
=yes ;;
1857 --disable-zr) _zr
=no
;;
1858 --enable-bl) _bl
=yes ;;
1859 --disable-bl) _bl
=no
;;
1860 --enable-mtrr) _mtrr
=yes ;;
1861 --disable-mtrr) _mtrr
=no
;;
1862 --enable-largefiles) _largefiles
=yes ;;
1863 --disable-largefiles) _largefiles
=no
;;
1864 --enable-shm) _shm
=yes ;;
1865 --disable-shm) _shm
=no
;;
1866 --enable-select) _select
=yes ;;
1867 --disable-select) _select
=no
;;
1868 --enable-linux-devfs) _linux_devfs
=yes ;;
1869 --disable-linux-devfs) _linux_devfs
=no
;;
1870 --enable-cdparanoia) _cdparanoia
=yes ;;
1871 --disable-cdparanoia) _cdparanoia
=no
;;
1872 --enable-big-endian) _big_endian
=yes ;;
1873 --disable-big-endian) _big_endian
=no
;;
1874 --enable-freetype) _freetype
=yes ;;
1875 --disable-freetype) _freetype
=no
;;
1876 --enable-fontconfig) _fontconfig
=yes ;;
1877 --disable-fontconfig) _fontconfig
=no
;;
1878 --enable-unrarlib) _unrarlib
=yes ;;
1879 --disable-unrarlib) _unrarlib
=no
;;
1880 --enable-ftp) _ftp
=yes ;;
1881 --disable-ftp) _ftp
=no
;;
1882 --enable-vstream) _vstream
=yes ;;
1883 --disable-vstream) _vstream
=no
;;
1884 --enable-pthreads) _pthreads
=yes ;;
1885 --disable-pthreads) _pthreads
=no
;;
1887 --enable-fribidi) _fribidi
=yes ;;
1888 --disable-fribidi) _fribidi
=no
;;
1890 --enable-enca) _enca
=yes ;;
1891 --disable-enca) _enca
=no
;;
1893 --enable-inet6) _inet6
=yes ;;
1894 --disable-inet6) _inet6
=no
;;
1896 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1897 --disable-gethostbyname2) _gethostbyname2
=no
;;
1899 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1900 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1901 --disable-dga) _dga
=no
;;
1903 --enable-menu) _menu
=yes ;;
1904 --disable-menu) _menu
=no
;;
1906 --enable-qtx) _qtx
=yes ;;
1907 --disable-qtx) _qtx
=no
;;
1909 --enable-macosx) _macosx
=yes ;;
1910 --disable-macosx) _macosx
=no
;;
1911 --enable-macosx-finder-support) _macosx_finder_support
=yes ;;
1912 --disable-macosx-finder-support) _macosx_finder_support
=no
;;
1913 --enable-macosx-bundle) _macosx_bundle
=yes;;
1914 --disable-macosx-bundle) _macosx_bundle
=no
;;
1916 --enable-sortsub) _sortsub
=yes ;;
1917 --disable-sortsub) _sortsub
=no
;;
1920 _charset
=`echo $ac_option | cut -d '=' -f 2`
1923 _language
=`echo $ac_option | cut -d '=' -f 2`
1925 # dvdnav disabled, it does not work
1926 # --with-libdvdnav=*)
1927 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1932 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1933 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1934 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1936 --with-win32libdir=*)
1937 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1940 --with-xanimlibdir=*)
1941 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1944 --with-reallibdir=*)
1945 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1948 --with-livelibdir=*)
1949 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
1951 --with-toolamedir=*)
1952 _toolamedir
=`echo $ac_option | cut -d '=' -f 2`
1955 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1959 --with-xmmslibdir=*)
1960 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1963 --with-xmmsplugindir=*)
1964 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1977 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1982 --enable-crash-debug)
1985 --disable-crash-debug)
1988 --enable-sighandler)
1991 --disable-sighandler)
1995 --enable-sse) _sse
=yes ;;
1996 --disable-sse) _sse
=no
;;
1997 --enable-sse2) _sse2
=yes ;;
1998 --disable-sse2) _sse2
=no
;;
1999 --enable-mmx2) _mmx2
=yes ;;
2000 --disable-mmx2) _mmx2
=no
;;
2001 --enable-3dnow) _3dnow
=yes ;;
2002 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
2003 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
2004 --disable-3dnowex) _3dnowex
=no
;;
2005 --enable-altivec) _altivec
=yes ;;
2006 --disable-altivec) _altivec
=no
;;
2007 --enable-mmx) _mmx
=yes ;;
2008 --disable-mmx) # 3Dnow! and MMX2 require MMX
2009 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
2011 --enable-win32) _win32
=yes ;;
2012 --disable-win32) _win32
=no _dshow
=no
;;
2013 --enable-dshow) _win32
=yes _dshow
=yes ;;
2014 --disable-dshow) _dshow
=no
;;
2017 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2020 _x11_paths
=`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2022 --with-dxr2incdir=*)
2023 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2026 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
2029 _inc_dvb
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2031 --with-xvidlibdir=*)
2032 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2034 --with-xvidincdir=*)
2035 _inc_xvid
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2038 _ld_libdts
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2041 _inc_libdts
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2043 --with-x264libdir=*)
2044 _ld_x264
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2046 --with-x264incdir=*)
2047 _inc_x264
=-I`echo $ac_option | cut -d '=' -f 2 |sed 's,:, -I,g'`
2049 --with-sdl-config=*)
2050 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
2052 --with-freetype-config=*)
2053 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
2055 --with-fribidi-config=*)
2056 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
2058 --with-gtk-config=*)
2059 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
2061 --with-glib-config=*)
2062 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
2064 # dvdnav disabled, it does not work
2065 # --with-dvdnav-config=*)
2066 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
2069 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2071 --with-cdparanoiaincdir=*)
2072 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
2074 --with-cdparanoialibdir=*)
2075 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2077 --with-termcaplib=*)
2078 _ld_termcap
=-l`echo $ac_option | cut -d '=' -f 2`
2082 _prefix
=`echo $ac_option | cut -d '=' -f 2`
2085 _bindir
=`echo $ac_option | cut -d '=' -f 2`
2088 _datadir
=`echo $ac_option | cut -d '=' -f 2`
2091 _mandir
=`echo $ac_option | cut -d '=' -f 2`
2094 _confdir
=`echo $ac_option | cut -d '=' -f 2`
2097 _libdir
=`echo $ac_option | cut -d '=' -f 2`
2101 echo "Unknown parameter: $ac_option"
2108 # Atmos: moved this here, to be correct, if --prefix is specified
2109 test -z "$_bindir" && _bindir
="$_prefix/bin"
2110 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
2111 test -z "$_mandir" && _mandir
="$_prefix/man"
2112 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
2113 test -z "$_libdir" && _libdir
="$_prefix/lib"
2114 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
2117 # Checking assembler (_as) compatibility...
2118 # Added workaround for older as that reads from stdin by default - atmos
2119 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2120 echocheck
"assembler ($_as $as_version)"
2122 _pref_as_version
='2.9.1'
2124 if test "$_mmx" = yes ; then
2125 echo 'emms' >> $TMPS
2127 if test "$_3dnow" = yes ; then
2128 _pref_as_version
='2.10.1'
2129 echo 'femms' >> $TMPS
2131 if test "$_3dnowex" = yes ; then
2132 _pref_as_version
='2.10.1'
2133 echo 'pswapd %mm0, %mm0' >> $TMPS
2135 if test "$_mmx2" = yes ; then
2136 _pref_as_version
='2.10.1'
2137 echo 'movntq %mm0, (%eax)' >> $TMPS
2139 if test "$_sse" = yes ; then
2140 _pref_as_version
='2.10.1'
2141 echo 'xorps %xmm0, %xmm0' >> $TMPS
2143 #if test "$_sse2" = yes ; then
2144 # _pref_as_version='2.11'
2145 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2147 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
2149 if test "$as_verc_fail" != yes ; then
2153 echo "Upgrade binutils to ${_pref_as_version} ..."
2154 die
"obsolete binutils version"
2160 # check if altivec is supported by the compiler, and how to enable it
2162 _altivec_gcc_flags
=''
2164 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2165 echocheck
"GCC altivec support"
2173 FSF_flags
='-maltivec -mabi=altivec'
2174 Darwin_flags
='-faltivec -D__APPLE_ALTIVEC__'
2176 # check for Darwin-style flags first, since
2177 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2178 # accepts but ignores FSF-style flags...
2180 if test -z "$p"; then
2181 cc_check
$Darwin_flags && p
='Darwin'
2183 if test -z "$p"; then
2184 cc_check
$FSF_flags && p
='FSF'
2188 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
2189 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
2193 if test -z "$p"; then
2196 p
="$p-style ($_altivec_gcc_flags)"
2202 # check if <altivec.h> should be included
2204 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
2206 if test "$_altivec" = yes ; then
2207 echocheck
"altivec.h"
2209 #include <altivec.h>
2210 int main(void) { return 0; }
2213 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
2214 if test "$_have_altivec_h" = yes ; then
2215 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2217 echores
"$_have_altivec_h"
2220 # disable runtime cpudetection if
2221 # - we cannot generate altivec code
2222 # - altivec is disabled by the user
2224 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
2225 _runtime_cpudetection
=no
2228 # show that we are optimizing for altivec (if enabled and supported)
2230 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
2231 _optimizing
="$_optimizing altivec"
2234 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2236 if test "$_altivec" = yes ; then
2237 _mcpu
="$_mcpu $_altivec_gcc_flags"
2240 # setup _def_altivec correctly
2242 if test "$_altivec" = yes ; then
2243 _def_altivec
='#define HAVE_ALTIVEC 1'
2245 _def_altivec
='#undef HAVE_ALTIVEC'
2249 _def_mmx
='#undef HAVE_MMX'
2250 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
2251 _def_mmx2
='#undef HAVE_MMX2'
2252 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
2253 _def_3dnow
='#undef HAVE_3DNOW'
2254 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
2255 _def_3dnowex
='#undef HAVE_3DNOWEX'
2256 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
2257 _def_sse
='#undef HAVE_SSE'
2258 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
2259 _def_sse2
='#undef HAVE_SSE2'
2260 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
2262 # Checking kernel version...
2263 if x86
&& linux
; then
2265 kernel_version
=`uname -r 2>&1`
2266 echocheck
"$system_name kernel version"
2267 case "$kernel_version" in
2268 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2269 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2270 _k_verc_problem
=yes;;
2272 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2275 if test "$_k_verc_fail" ; then
2276 echores
"$kernel_version, fail"
2277 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2278 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2279 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2280 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2281 echo "2.2.x you must upgrade it to get SSE support!"
2282 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2284 echores
"$kernel_version, ok"
2288 if test "$_vidix" = auto
; then
2290 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2292 x86_64
&& _vidix
=yes
2293 ppc
&& linux
&& _vidix
=yes
2294 alpha
&& linux
&& _vidix
=yes
2301 echocheck
"mplayer binary name"
2304 _prg_mencoder
="mencoder.exe"
2307 _prg_mencoder
="mencoder"
2312 # On QNX we must link to libph - Gabucino
2314 _ld_arch
="$_ld_arch -lph"
2317 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2319 if test "$_vidix" = yes ; then
2322 for _awk
in mawk gawk nawk
awk; do
2323 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2328 test "$_awk_verc_fail" = yes && _awk
=no
2330 if test "$_awk_verc_fail" = yes; then
2331 echo "VIDIX needs awk, but no working implementation was found!"
2332 echo "Try the GNU version, which can be downloaded from:"
2333 echo "ftp://ftp.gnu.org/gnu/gawk/"
2334 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2339 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2346 ######################
2347 # MAIN TESTS GO HERE #
2348 ######################
2351 echocheck
"extra headers"
2352 if test "$_inc_extra" ; then
2353 echores
"$_inc_extra"
2359 echocheck
"extra libs"
2360 if test "$_ld_extra" ; then
2361 echores
"$_ld_extra"
2368 int main(void) { return 0; }
2370 if cc_check
-lposix ; then
2371 _ld_arch
="$_ld_arch -lposix"
2379 int main(void) { return 0; }
2381 if cc_check
-lm ; then
2389 # Checking for localization ...
2390 # CSAK EGY MARADHAT - A HEGYLAKO
2392 if test "$_i18n" != no
; then
2394 #include <libintl.h>
2395 int main(void) { gettext("test"); return 0; }
2399 if test "$_i18n" = auto
; then
2400 cc_check
&& _i18n
=yes
2402 for i18n_lib
in "" "-lintl"; do
2403 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
2407 if test "$_i18n" = yes ; then
2408 _def_i18n
='#define USE_I18N 1'
2410 _def_i18n
='#undef USE_I18N'
2412 if test "$_i18n_libs" ; then
2413 _res_comment
="using $_i18n_libs"
2418 echocheck
"langinfo"
2419 if test "$_langinfo" = auto
; then
2421 #include <langinfo.h>
2422 int main(void) { nl_langinfo(CODESET); return 0; }
2425 cc_check
&& _langinfo
=yes
2427 if test "$_langinfo" = yes ; then
2428 _def_langinfo
='#define USE_LANGINFO 1'
2430 _def_langinfo
='#undef USE_LANGINFO'
2432 echores
"$_langinfo"
2435 echocheck
"language"
2436 test -z "$_language" && _language
=$LINGUAS
2437 _language
=`echo $_language | sed 's/,/ /g'`
2438 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
2439 for lang
in $_language ; do
2440 test "$lang" = all
&& lang
=en
2441 if test -f "help/help_mp-${lang}.h" ; then
2445 echo -n "$lang not found, "
2446 _language
=`echo $_language | sed "s/$lang *//"`
2449 test -z "$_language" && _language
=en
2450 _mp_help
="help/help_mp-${_language}.h"
2451 test -f $_mp_help || die
"$_mp_help not found"
2452 for lang
in $LANGUAGES ; do
2453 if test -f "DOCS/man/$lang/mplayer.1" ; then
2454 MAN_LANG
="$MAN_LANG $lang"
2457 _doc_lang
=$_language
2458 test -d DOCS
/xml
/$_doc_lang || _doc_lang
=en
2459 echores
"using $_language (man pages: $MAN_LANG)"
2462 echocheck
"enable sighandler"
2463 if test "$_sighandler" = yes ; then
2464 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
2466 _def_sighandler
='#undef ENABLE_SIGHANDLER'
2468 echores
"$_sighandler"
2470 echocheck
"runtime cpudetection"
2471 if test "$_runtime_cpudetection" = yes ; then
2472 _optimizing
="Runtime CPU-Detection enabled"
2473 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
2475 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
2477 echores
"$_runtime_cpudetection"
2480 echocheck
"restrict keyword"
2481 for restrict_keyword
in restrict __restrict __restrict__
; do
2482 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2484 _def_restrict_keyword
=$restrict_keyword
2488 if [ -n "$_def_restrict_keyword" ]; then
2489 echores
"$_def_restrict_keyword"
2493 # Avoid infinite recursion loop ("#define restrict restrict")
2494 if [ "$_def_restrict_keyword" != "restrict" ]; then
2495 _def_restrict_keyword
="#define restrict $_def_restrict_keyword"
2497 _def_restrict_keyword
=""
2501 echocheck
"__builtin_expect"
2502 # GCC branch prediction hint
2505 a = __builtin_expect (a, 10);
2506 return a == 10 ? 0 : 1;
2508 int main() { return foo(10) && foo(0); }
2511 cc_check
&& _builtin_expect
=yes
2512 if test "$_builtin_expect" = yes ; then
2513 _def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2515 _def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2517 echores
"$_builtin_expect"
2523 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2526 cc_check
-lkstat && _kstat
=yes
2527 if test "$_kstat" = yes ; then
2528 _def_kstat
="#define HAVE_LIBKSTAT 1"
2529 _ld_arch
="-lkstat $_ld_arch"
2531 _def_kstat
="#undef HAVE_LIBKSTAT"
2537 # required for nanosleep on some systems
2540 int main(void) { (void) nanosleep(0, 0); return 0; }
2543 cc_check
-lposix4 && _posix4
=yes
2544 if test "$_posix4" = yes ; then
2545 _ld_arch
="-lposix4 $_ld_arch"
2552 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2555 cc_check
-D_GNU_SOURCE $_ld_lm && _lrintf
=yes
2556 if test "$_lrintf" = yes ; then
2557 _def_lrintf
="#define HAVE_LRINTF 1"
2559 _def_lrintf
="#undef HAVE_LRINTF"
2566 int main(void) { (void) round(0.0); return 0; }
2569 cc_check
$_ld_lm && _round
=yes
2570 if test "$_round" = yes ; then
2571 _def_round
="#define HAVE_ROUND 1"
2573 _def_round
="#undef HAVE_ROUND"
2577 echocheck
"nanosleep"
2578 # also check for nanosleep
2581 int main(void) { (void) nanosleep(0, 0); return 0; }
2584 cc_check
$_ld_arch && _nanosleep
=yes
2585 if test "$_nanosleep" = yes ; then
2586 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2588 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2590 echores
"$_nanosleep"
2594 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2595 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2598 #include <sys/socket.h>
2599 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2601 for _ld_tmp
in "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2602 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && break
2604 if test $_winsock2 = auto
&& not cygwin
; then
2607 #include <winsock2.h>
2608 int main(void) { (void) gethostbyname(0); return 0; }
2610 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2612 if test "$_ld_sock" ; then
2613 echores
"yes (using $_ld_sock)"
2619 if test $_winsock2 = yes ; then
2621 _def_winsock2
='#define HAVE_WINSOCK2 1'
2623 _def_winsock2
='#undef HAVE_WINSOCK2'
2628 echocheck
"inet_pton()"
2630 #include <sys/types.h>
2631 #include <sys/socket.h>
2632 #include <arpa/inet.h>
2633 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2635 if test "$_winsock2" = yes ; then
2636 echores
"not needed (using winsock2 functions)"
2637 elif cc_check
$_ld_sock ; then
2638 # NOTE: Linux has libresolv but does not need it
2640 echores
"yes (using $_ld_sock)"
2641 elif cc_check
$_ld_sock -lresolv ; then
2642 # NOTE: needed for SunOS at least
2643 _ld_sock
="$_ld_sock -lresolv"
2644 echores
"yes (using $_ld_sock)"
2646 echores
"no (=> i'll try inet_aton next)"
2648 echocheck
"inet_aton()"
2650 #include <sys/types.h>
2651 #include <sys/socket.h>
2652 #include <arpa/inet.h>
2653 int main(void) { (void) inet_aton(0, 0); return 0; }
2656 if cc_check
$_ld_sock ; then
2657 # NOTE: Linux has libresolv but does not need it
2659 echores
"yes (using $_ld_sock)"
2660 elif cc_check
$_ld_sock -lresolv ; then
2661 # NOTE: needed for SunOS at least
2662 _ld_sock
="$_ld_sock -lresolv"
2663 echores
"yes (using $_ld_sock)"
2667 echores
"no (=> network support disabled)"
2671 _def_use_aton
='#undef USE_ATON'
2672 if test "$_use_aton" != no
; then
2673 _def_use_aton
='#define USE_ATON 1'
2677 echocheck
"inttypes.h (required)"
2679 #include <inttypes.h>
2680 int main(void) { return 0; }
2683 cc_check
&& _inttypes
=yes
2684 if test "$_inttypes" = yes ; then
2689 echocheck
"bitypes.h (inttypes.h predecessor)"
2691 #include <sys/bitypes.h>
2692 int main(void) { return 0; }
2695 cc_check
&& _inttypes
=yes
2696 if test "$_inttypes" = yes ; then
2697 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."
2699 die
"Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2702 echores
"$_inttypes"
2705 echocheck
"int_fastXY_t in inttypes.h"
2707 #include <inttypes.h>
2709 volatile int_fast16_t v= 0;
2713 cc_check
&& _fast_inttypes
=yes
2714 if test "$_fast_inttypes" = yes ; then
2718 _def_fast_inttypes
='
2719 typedef signed char int_fast8_t;
2720 typedef signed int int_fast16_t;
2721 typedef signed int int_fast32_t;
2722 typedef unsigned char uint_fast8_t;
2723 typedef unsigned int uint_fast16_t;
2724 typedef unsigned int uint_fast32_t;'
2726 echores
"$_fast_inttypes"
2729 echocheck
"word size"
2730 _mp_wordsize
="#undef MP_WORDSIZE"
2733 #include <sys/types.h>
2734 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2736 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2737 echores
"$_wordsize"
2740 echocheck
"stddef.h"
2743 int main(void) { return 0; }
2746 cc_check
&& _stddef
=yes
2747 if test "$_stddef" = yes ; then
2748 _def_stddef
='#define HAVE_STDDEF_H 1'
2750 _def_stddef
='#undef HAVE_STDDEF_H'
2755 echocheck
"malloc.h"
2758 int main(void) { (void) malloc(0); return 0; }
2761 cc_check
&& _malloc
=yes
2762 if test "$_malloc" = yes ; then
2763 _def_malloc
='#define HAVE_MALLOC_H 1'
2765 _def_malloc
='#undef HAVE_MALLOC_H'
2767 # malloc.h emits a warning in FreeBSD and OpenBSD
2768 freebsd || openbsd
&& _def_malloc
='#undef HAVE_MALLOC_H'
2772 echocheck
"memalign()"
2773 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2776 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2779 cc_check
&& _memalign
=yes
2780 if test "$_memalign" = yes ; then
2781 _def_memalign
='#define HAVE_MEMALIGN 1'
2783 _def_memalign
='#undef HAVE_MEMALIGN'
2785 echores
"$_memalign"
2788 echocheck
"alloca.h"
2791 int main(void) { (void) alloca(0); return 0; }
2794 cc_check
&& _alloca
=yes
2796 _def_alloca
='#define HAVE_ALLOCA_H 1'
2798 _def_alloca
='#undef HAVE_ALLOCA_H'
2805 #include <sys/types.h>
2806 #include <sys/mman.h>
2807 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2810 cc_check
&& _mman
=yes
2811 if test "$_mman" = yes ; then
2812 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2814 _def_mman
='#undef HAVE_SYS_MMAN_H'
2819 #include <sys/types.h>
2820 #include <sys/mman.h>
2821 int main(void) { void *p = MAP_FAILED; return 0; }
2823 _mman_has_map_failed
=no
2824 cc_check
&& _mman_has_map_failed
=yes
2825 if test "$_mman_has_map_failed" = yes ; then
2826 _def_mman_has_map_failed
=''
2828 _def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
2831 echocheck
"dynamic loader"
2834 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2837 for _ld_tmp
in "" "-ldl" ; do
2838 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
2840 if test "$_dl" = yes ; then
2841 _def_dl
='#define HAVE_LIBDL 1'
2843 _def_dl
='#undef HAVE_LIBDL'
2848 echocheck
"dynamic a/v plugins support"
2849 if test "$_dl" = no
; then
2852 if test "$_dynamic_plugins" = yes ; then
2853 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2855 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2857 echores
"$_dynamic_plugins"
2860 #echocheck "dynamic linking"
2861 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2862 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2864 #int main(void) { return 0; }
2866 #if cc_check -rdynamic ; then
2867 # _ld_dl_dynamic='-rdynamic'
2868 #elif cc_check -Bdynamic ; then
2869 # _ld_dl_dynamic='-Bdynamic'
2870 #elif cc_check ; then
2873 #echores "using $_ld_dl_dynamic"
2875 _def_threads
='#undef HAVE_THREADS'
2878 if test "$_pthreads" != no
; then
2880 #include <pthread.h>
2881 void* func(void *arg) { return arg; }
2882 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2886 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
2887 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2888 cc_check
$_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
2892 if test "$_pthreads" = yes ; then
2893 echores
"yes (using $_ld_pthread)"
2895 _def_pthreads
='#define HAVE_PTHREADS 1'
2896 _def_threads
='#define HAVE_THREADS 1'
2898 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2900 _def_pthreads
='#undef HAVE_PTHREADS'
2901 _nas
=no
; _tv_v4l
=no
; _macosx
=no
2902 if not mingw32
; then
2909 if test "$_iconv" = auto
; then
2910 _iconv_tmp
='#include <iconv.h>'
2916 #define INBUFSIZE 1024
2917 #define OUTBUFSIZE 4096
2919 char inbuffer[INBUFSIZE];
2920 char outbuffer[OUTBUFSIZE];
2925 char *tocode="UTF-8";
2926 char *fromcode="cp1250";
2927 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
2928 while ((numread = read (0, inbuffer, INBUFSIZE))) {
2929 char *iptr=inbuffer;
2930 char *optr=outbuffer;
2931 size_t inleft=numread;
2932 size_t outleft=OUTBUFSIZE;
2933 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
2935 write (1, outbuffer, OUTBUFSIZE - outleft);
2938 if (iconv_close(icdsc) == -1)
2944 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
2945 cc_check
$_ld_lm $_ld_tmp && _ld_iconv
="$_ld_tmp" && _iconv
=yes && break
2948 if test "$_iconv" = yes ; then
2949 _def_iconv
='#define USE_ICONV 1'
2951 _def_iconv
='#undef USE_ICONV'
2956 echocheck
"sys/soundcard.h"
2958 #include <sys/soundcard.h>
2959 int main(void) { return 0; }
2962 cc_check
&& _sys_soundcard
=yes
2963 if test "$_sys_soundcard" = yes ; then
2964 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2965 _inc_soundcard
='#include <sys/soundcard.h>'
2967 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2969 echores
"$_sys_soundcard"
2971 if test "$_sys_soundcard" != yes ; then
2972 echocheck
"soundcard.h"
2974 #include <soundcard.h>
2975 int main(void) { return 0; }
2978 cc_check
&& _soundcard
=yes
2979 if linux ||
test "$_ossaudio" != no
; then
2980 # use soundcard.h on Linux, or when OSS support is enabled
2981 echores
"$_soundcard"
2983 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2984 echores
"$_soundcard, but ignored!"
2987 if test "$_soundcard" = yes ; then
2988 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2989 _inc_soundcard
='#include <soundcard.h>'
2991 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2994 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2998 echocheck
"sys/dvdio.h"
3001 #include <sys/dvdio.h>
3002 int main(void) { return 0; }
3005 cc_check
&& _dvdio
=yes
3006 if test "$_dvdio" = yes ; then
3007 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3009 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3014 echocheck
"sys/cdio.h"
3017 #include <sys/cdio.h>
3018 int main(void) { return 0; }
3021 cc_check
&& _cdio
=yes
3022 if test "$_cdio" = yes ; then
3023 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3025 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3030 echocheck
"linux/cdrom.h"
3032 #include <sys/types.h>
3033 #include <linux/cdrom.h>
3034 int main(void) { return 0; }
3037 cc_check
&& _cdrom
=yes
3038 if test "$_cdrom" = yes ; then
3039 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3041 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3049 int main(void) { return 0; }
3052 cc_check
&& _dvd
=yes
3053 if test "$_dvd" = yes ; then
3054 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3056 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3061 echocheck
"BSDI dvd.h"
3064 int main(void) { return 0; }
3067 cc_check
&& _bsdi_dvd
=yes
3068 if test "$_bsdi_dvd" = yes ; then
3069 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3071 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3073 echores
"$_bsdi_dvd"
3076 echocheck
"HPUX SCSI header"
3078 #include <sys/scsi.h>
3079 int main(void) { return 0; }
3082 cc_check
&& _hpux_scsi_h
=yes
3083 if test "$_hpux_scsi_h" = yes ; then
3084 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3086 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3088 echores
"$_hpux_scsi_h"
3091 echocheck
"userspace SCSI headers (Solaris)"
3093 # include <unistd.h>
3094 # include <stropts.h>
3095 # include <sys/scsi/scsi_types.h>
3096 # include <sys/scsi/impl/uscsi.h>
3097 int main(void) { return 0; }
3100 cc_check
&& _sol_scsi_h
=yes
3101 if test "$_sol_scsi_h" = yes ; then
3102 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3104 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
3106 echores
"$_sol_scsi_h"
3110 if test "$_termcap" = auto
; then
3112 int main(void) { tgetent(); return 0; }
3115 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3116 cc_check
$_ld_tmp && _ld_termcap
="$_ld_tmp" && _termcap
=yes && break
3119 if test "$_termcap" = yes ; then
3120 _def_termcap
='#define USE_TERMCAP 1'
3121 _res_comment
="using $_ld_termcap"
3123 _def_termcap
='#undef USE_TERMCAP'
3129 if test "$_termios" = auto
; then
3131 #include <sys/termios.h>
3132 int main(void) { return 0; }
3135 cc_check
&& _termios
=yes
3136 _def_termios_h_name
='sys/termios.h'
3139 if test "$_termios" = auto
; then
3141 #include <termios.h>
3142 int main(void) { return 0; }
3145 cc_check
&& _termios
=yes
3146 _def_termios_h_name
='termios.h'
3149 if test "$_termios" = yes ; then
3150 _def_termios
='#define HAVE_TERMIOS 1'
3151 _def_termios_h
='#undef HAVE_TERMIOS_H'
3152 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3154 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3155 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3156 elif test "$_def_termios_h_name" = 'termios.h' ; then
3157 _def_termios_h
='#define HAVE_TERMIOS_H 1'
3159 _res_comment
="using $_def_termios_h_name"
3161 _def_termios
='#undef HAVE_TERMIOS'
3162 _def_termios_h_name
=''
3169 if test "$_shm" = auto
; then
3171 #include <sys/types.h>
3172 #include <sys/shm.h>
3173 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3176 cc_check
&& _shm
=yes
3178 if test "$_shm" = yes ; then
3179 _def_shm
='#define HAVE_SHM 1'
3181 _def_shm
='#undef HAVE_SHM'
3186 # XXX: FIXME, add runtime checking
3187 echocheck
"linux devfs"
3188 echores
"$_linux_devfs"
3191 echocheck
"scandir()"
3193 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3196 cc_check
&& _scandir
=yes
3197 if test "$_scandir" = yes ; then
3198 _def_scandir
='#define HAVE_SCANDIR 1'
3200 _def_scandir
='#undef HAVE_SCANDIR'
3205 echocheck
"strsep()"
3208 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3211 cc_check
&& _strsep
=yes
3212 if test "$_strsep" = yes ; then
3213 _def_strsep
='#define HAVE_STRSEP 1'
3215 _def_strsep
='#undef HAVE_STRSEP'
3219 echocheck
"strlcpy()"
3222 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3225 cc_check
&& _strlcpy
=yes
3226 if test "$_strlcpy" = yes ; then
3227 _def_strlcpy
='#define HAVE_STRLCPY 1'
3229 _def_strlcpy
='#undef HAVE_STRLCPY'
3233 echocheck
"strlcat()"
3236 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3239 cc_check
&& _strlcat
=yes
3240 if test "$_strlcat" = yes ; then
3241 _def_strlcat
='#define HAVE_STRLCAT 1'
3243 _def_strlcat
='#undef HAVE_STRLCAT'
3247 echocheck
"fseeko()"
3250 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3253 cc_check
&& _fseeko
=yes
3254 if test "$_fseeko" = yes ; then
3255 _def_fseeko
='#define HAVE_FSEEKO 1'
3257 _def_fseeko
='#undef HAVE_FSEEKO'
3261 echocheck
"localtime_r()"
3264 int main( void ) { localtime_r(NULL, NULL); }
3267 cc_check
&& _localtime_r
=yes
3268 if test "$_localtime_r" = yes ; then
3269 _def_localtime_r
='#define HAVE_LOCALTIME_R 1'
3271 _def_localtime_r
='#undef HAVE_LOCALTIME_R'
3273 echores
"$_localtime_r"
3275 echocheck
"vsscanf()"
3278 int main(void) { vsscanf(0, 0, 0); return 0; }
3281 cc_check
&& _vsscanf
=yes
3282 if test "$_vsscanf" = yes ; then
3283 _def_vsscanf
='#define HAVE_VSSCANF 1'
3285 _def_vsscanf
='#undef HAVE_VSSCANF'
3293 int main(void) { swab(0, 0, 0); return 0; }
3296 cc_check
&& _swab
=yes
3297 if test "$_swab" = yes ; then
3298 _def_swab
='#define HAVE_SWAB 1'
3300 _def_swab
='#undef HAVE_SWAB'
3304 echocheck
"posix select()"
3308 #include <sys/types.h>
3310 #include <sys/time.h>
3312 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3315 cc_check
&& _posix_select
=yes
3316 if test "$_posix_select" = no
; then
3317 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
3319 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
3321 echores
"$_posix_select"
3324 echocheck
"gettimeofday()"
3327 #include <sys/time.h>
3328 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3331 cc_check
&& _gettimeofday
=yes
3332 if test "$_gettimeofday" = yes ; then
3333 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3335 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3337 echores
"$_gettimeofday"
3344 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3347 cc_check
&& _glob
=yes
3348 if test "$_glob" = yes ; then
3349 _def_glob
='#define HAVE_GLOB 1'
3351 _def_glob
='#undef HAVE_GLOB'
3356 echocheck
"setenv()"
3359 int main (void){ setenv("","",0); return 0; }
3362 cc_check
&& _setenv
=yes
3363 if test "$_setenv" = yes ; then
3364 _def_setenv
='#define HAVE_SETENV 1'
3366 _def_setenv
='#undef HAVE_SETENV'
3371 echocheck
"sys/sysinfo.h"
3373 #include <sys/sysinfo.h>
3375 struct sysinfo s_info;
3381 cc_check
&& _sys_sysinfo
=yes
3382 if test "$_sys_sysinfo" = yes ; then
3383 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3384 _inc_sysinfo
='#include <sys/sysinfo.h>'
3386 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3388 echores
"$_sys_sysinfo"
3391 echocheck
"Mac OS X APIs"
3392 if test "$_macosx" = auto
&& darwin
; then
3393 productName
=`/usr/bin/sw_vers -productName`
3394 if test "$productName" = "Mac OS X" ; then
3398 _def_macosx
='#undef MACOSX'
3399 _noaomodules
="macosx $_noaomodules"
3400 _novomodules
="quartz $_novomodules"
3403 if test "$_macosx" = yes ; then
3405 #include <Carbon/Carbon.h>
3406 #include <QuickTime/QuickTime.h>
3407 #include <CoreAudio/CoreAudio.h>
3411 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3414 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3416 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3417 _def_macosx
='#define MACOSX 1'
3418 _aosrc
="$_aosrc ao_macosx.c"
3419 _aomodules
="macosx $_aomodules"
3420 _vosrc
="$_vosrc vo_quartz.c"
3421 _vomodules
="quartz $_vomodules"
3424 _def_macosx
='#undef MACOSX'
3425 _noaomodules
="macosx $_noaomodules"
3426 _novomodules
="quartz $_novomodules"
3429 #include <Carbon/Carbon.h>
3430 #include <QuartzCore/CoreVideo.h>
3433 if cc_check
-framework Carbon
-framework QuartzCore
-framework OpenGL
; then
3434 _vosrc
="$_vosrc vo_macosx.m"
3435 _vomodules
="macosx $_vomodules"
3436 _macosx_frameworks
="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3437 _def_macosx_corevideo
='#define MACOSX_COREVIDEO 1'
3438 _macosx_corevideo
=yes
3440 _novomodules
="macosx $_novomodules"
3441 _def_macosx_corevideo
='#undef MACOSX_COREVIDEO'
3442 _macosx_corevideo
=no
3447 echocheck
"Mac OS X Finder Support"
3448 if test "$_macosx_finder_support" = auto
; then
3449 _macosx_finder_support
=$_macosx
3451 if test "$_macosx_finder_support" = yes; then
3452 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3453 _macosx_finder_support
=yes
3455 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3456 _macosx_finder_support
=no
3458 echores
"$_macosx_finder_support"
3460 echocheck
"Mac OS X Bundle file locations"
3461 if test "$_macosx_bundle" = auto
; then
3462 _macosx_bundle
=$_macosx_finder_support
3464 if test "$_macosx_bundle" = yes; then
3465 _def_macosx_bundle
='#define MACOSX_BUNDLE 1'
3467 _def_macosx_bundle
='#undef MACOSX_BUNDLE'
3470 echores
"$_macosx_bundle"
3472 echocheck
"Samba support (libsmbclient)"
3473 if test "$_smbsupport" = yes; then
3474 _ld_smb
="-lsmbclient"
3476 if test "$_smbsupport" = auto
; then
3479 #include <libsmbclient.h>
3480 int main(void) { smbc_opendir("smb://"); return 0; }
3482 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3483 cc_check
$_ld_tmp && _ld_smb
="$_ld_tmp" && _smbsupport
=yes && break
3487 if test "$_smbsupport" = yes; then
3488 _def_smbsupport
="#define LIBSMBCLIENT"
3489 _inputmodules
="smb $_inputmodules"
3491 _def_smbsupport
="#undef LIBSMBCLIENT"
3492 _noinputmodules
="smb $_noinputmodules"
3494 echores
"$_smbsupport"
3503 if test "$_3dfx" = yes ; then
3504 _def_3dfx
='#define HAVE_3DFX 1'
3505 _vosrc
="$_vosrc vo_3dfx.c"
3506 _vomodules
="3dfx $_vomodules"
3508 _def_3dfx
='#undef HAVE_3DFX'
3509 _novomodules
="3dfx $_novomodules"
3515 if test "$_tdfxfb" = yes ; then
3516 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3517 _vosrc
="$_vosrc vo_tdfxfb.c"
3518 _vomodules
="tdfxfb $_vomodules"
3520 _def_tdfxfb
='#undef HAVE_TDFXFB'
3521 _novomodules
="tdfxfb $_novomodules"
3526 if test "$_tdfxvid" = yes ; then
3527 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3528 _vosrc
="$_vosrc vo_tdfx_vid.c"
3529 _vomodules
="tdfx_vid $_vomodules"
3531 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3532 _novomodules
="tdfx_vid $_novomodules"
3537 if test "$_tga" = yes ; then
3538 _def_tga
='#define HAVE_TGA 1'
3539 _vosrc
="$_vosrc vo_tga.c"
3540 _vomodules
="tga $_vomodules"
3542 _def_tga
='#undef HAVE_TGA'
3543 _novomodules
="tga $_novomodules"
3547 echocheck
"DirectFB headers presence"
3548 if test -z "$_inc_directfb" ; then
3549 for I
in /usr
/include
/usr
/local
/include
`echo $_inc_extra | sed s/-I//g`; do
3550 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3551 _inc_directfb
="-I$I/directfb"
3552 echores
"yes (using $_inc_directfb)"
3555 if test -d "$I" && test -f "$I/directfb.h" ; then
3556 _inc_directfb
="-I$I"
3557 echores
"yes (using $_inc_directfb)"
3561 if test -z "$_inc_directfb" ; then
3566 echores
"yes (using $_inc_directfb)"
3568 if test "$_inc_directfb" = "-I/usr/include" ; then
3572 echocheck
"DirectFB"
3573 if test "$_directfb" = auto
; then
3576 #include <directfb.h>
3577 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3579 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
3582 if test "$_directfb" = yes; then
3584 #include <directfb_version.h>
3586 dfb_ver = DIRECTFB_MAJOR_VERSION DIRECTFB_MINOR_VERSION DIRECTFB_MICRO_VERSION
3589 if $_cc -E $TMPC $_inc_directfb > "$TMPO"; then
3590 _directfb_version
=`sed -n 's/^dfb_ver[^1-9]*\(.*\)/\1/p' "$TMPO" | tr -d '() '`
3591 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
3592 if test "$_directfb_version" -ge 913; then
3593 _res_comment
="$_directfb_version"
3595 _def_directfb_version
='#undef DIRECTFBVERSION'
3597 _res_comment
="version >=0.9.13 required"
3601 _res_comment
="failed to get version"
3604 echores
"$_directfb"
3606 if test "$_directfb" = yes ; then
3607 _def_directfb
='#define HAVE_DIRECTFB 1'
3608 if test "$_directfb_version" -ge 913; then
3609 _vosrc
="$_vosrc vo_directfb2.c"
3610 _vomodules
="directfb $_vomodules"
3611 _ld_directfb
='-ldirectfb'
3614 if test "$_directfb_version" -ge 915; then
3615 _vosrc
="$_vosrc vo_dfbmga.c"
3616 _vomodules
="dfbmga $_vomodules"
3619 _def_directfb
='#undef HAVE_DIRECTFB'
3620 _novomodules
="directfb $_novomodules"
3625 echocheck
"X11 headers presence"
3626 if test -z "$_inc_x11" ; then
3627 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
3628 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3630 echores
"yes (using $I)"
3634 if test -z "$_inc_x11" ; then
3636 echores
"not found (check if the dev(el) packages are installed)"
3639 echores
"yes (using $_inc_x11)"
3641 if test "$_inc_x11" = "-I/usr/include" ; then
3647 if test "$_x11" != no
; then
3649 #include <X11/Xlib.h>
3650 #include <X11/Xutil.h>
3651 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3653 if test -z "$_x11_paths" ; then
3654 _x11_paths
="/usr/X11R6/lib /usr/lib/X11R6 /usr/X11/lib /usr/lib32 /usr/openwin/lib /usr/X11R6/lib64 /usr/lib"
3656 for I
in $_x11_paths ; do
3657 _ld_x11
="-L$I -lXext -lX11 $_ld_sock $_ld_pthread"
3659 _ld_x11
="$_ld_x11 -Wl,-R$I"
3661 if test -d "$I" && cc_check
$_inc_x11 $_ld_x11 ; then
3667 if test "$_x11" = yes ; then
3668 _def_x11
='#define HAVE_X11 1'
3669 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3670 _vomodules
="x11 xover $_vomodules"
3671 _res_comment
="using $I"
3674 _def_x11
='#undef HAVE_X11'
3677 _novomodules
="x11 $_novomodules"
3678 _res_comment
="check if the dev(el) packages are installed"
3686 if test "$_x11" = yes ; then
3688 #include <X11/Xmd.h>
3689 #include <X11/Xlib.h>
3690 #include <X11/Xutil.h>
3691 #include <X11/Xatom.h>
3692 #include <X11/extensions/dpms.h>
3694 (void) DPMSQueryExtension(0, 0, 0);
3697 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
3699 #include <X11/Xlib.h>
3700 #include <X11/extensions/dpms.h>
3702 (void) DPMSQueryExtension(0, 0, 0);
3705 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
3707 if test "$_xdpms4" = yes ; then
3708 _def_xdpms
='#define HAVE_XDPMS 1'
3709 echores
"yes (using Xdpms 4)"
3710 elif test "$_xdpms3" = yes ; then
3711 _def_xdpms
='#define HAVE_XDPMS 1'
3712 _ld_x11
="-lXdpms $_ld_x11"
3713 echores
"yes (using Xdpms 3)"
3715 _def_xdpms
='#undef HAVE_XDPMS'
3721 if test "$_x11" = yes && test "$_xv" != no
; then
3723 #include <X11/Xlib.h>
3724 #include <X11/extensions/Xvlib.h>
3726 (void) XvGetPortAttribute(0, 0, 0, 0);
3727 (void) XvQueryPortAttributes(0, 0, 0);
3731 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
3735 if test "$_xv" = yes ; then
3736 _def_xv
='#define HAVE_XV 1'
3738 _vosrc
="$_vosrc vo_xv.c"
3739 _vomodules
="xv $_vomodules"
3741 _def_xv
='#undef HAVE_XV'
3742 _novomodules
="xv $_novomodules"
3748 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
3751 #include <X11/Xlib.h>
3752 #include <X11/extensions/Xvlib.h>
3753 #include <X11/extensions/XvMClib.h>
3755 (void) XvMCQueryExtension(0,0,0);
3756 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3759 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
3760 cc_check
$_inc_x11 -lXvMC -l$_ld_tmp $_ld_xv $_ld_x11 && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
3763 if test "$_xvmc" = yes ; then
3764 _def_xvmc
='#define HAVE_XVMC 1'
3765 _ld_xvmc
="-lXvMC -l$_xvmclib"
3766 _vosrc
="$_vosrc vo_xvmc.c"
3767 _vomodules
="xvmc $_vomodules"
3769 _def_xvmc
='#undef HAVE_XVMC'
3770 _novomodules
="xvmc $_novomodules"
3772 echores
"$_xvmc (using $_xvmclib)"
3775 echocheck
"Xinerama"
3776 if test "$_x11" = yes && test "$_xinerama" != no
; then
3778 #include <X11/Xlib.h>
3779 #include <X11/extensions/Xinerama.h>
3780 int main(void) { (void) XineramaIsActive(0); return 0; }
3783 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3787 if test "$_xinerama" = yes ; then
3788 _def_xinerama
='#define HAVE_XINERAMA 1'
3789 _ld_xinerama
='-lXinerama'
3791 _def_xinerama
='#undef HAVE_XINERAMA'
3793 echores
"$_xinerama"
3796 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3797 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3798 # named 'X extensions' or something similar.
3799 # This check may be useful for future mplayer versions (to change resolution)
3800 # If you run into problems, remove '-lXxf86vm'.
3802 if test "$_x11" = yes && test "$_vm" = auto
; then
3804 #include <X11/Xlib.h>
3805 #include <X11/extensions/xf86vmode.h>
3806 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3809 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3811 if test "$_vm" = yes ; then
3812 _def_vm
='#define HAVE_XF86VM 1'
3815 _def_vm
='#undef HAVE_XF86VM'
3819 # Check for the presence of special keycodes, like audio control buttons
3820 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3821 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3822 # have these new keycodes.
3823 echocheck
"XF86keysym"
3824 if test "$_xf86keysym" = auto
; then
3826 if test "$_x11" = yes ; then
3828 #include <X11/Xlib.h>
3829 #include <X11/XF86keysym.h>
3830 int main(void) { return XF86XK_AudioPause; }
3832 cc_check
$_inc_x11 $_ld_x11 && _xf86keysym
=yes
3835 if test "$_xf86keysym" = yes ; then
3836 _def_xf86keysym
='#define HAVE_XF86XK 1'
3838 _def_xf86keysym
='#undef HAVE_XF86XK'
3840 echores
"$_xf86keysym"
3843 if test "$_x11" = no
; then
3846 # Version 2 is preferred to version 1 if available
3847 if test "$_dga" = auto
; then
3849 #include <X11/Xlib.h>
3850 #include <X11/extensions/xf86dga.h>
3851 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3854 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3857 #include <X11/Xlib.h>
3858 #include <X11/extensions/xf86dga.h>
3859 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3861 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3864 _def_dga
='#undef HAVE_DGA'
3865 _def_dga2
='#undef HAVE_DGA2'
3866 if test "$_dga" = 1 ; then
3867 _def_dga
='#define HAVE_DGA 1'
3868 _ld_dga
='-lXxf86dga'
3869 _vosrc
="$_vosrc vo_dga.c"
3870 _vomodules
="dga $_vomodules"
3871 echores
"yes (using DGA 1.0)"
3872 elif test "$_dga" = 2 ; then
3873 _def_dga
='#define HAVE_DGA 1'
3874 _def_dga2
='#define HAVE_DGA2 1'
3875 _ld_dga
='-lXxf86dga'
3876 _vosrc
="$_vosrc vo_dga.c"
3877 _vomodules
="dga $_vomodules"
3878 echores
"yes (using DGA 2.0)"
3879 elif test "$_dga" = no
; then
3881 _novomodules
="dga $_novomodules"
3883 die
"DGA version must be 1 or 2"
3888 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3889 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
3892 int main(void) { return 0; }
3895 if cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3897 _ld_gl
="-lGL $_ld_dl"
3898 elif cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3900 _ld_gl
="-lGL $_ld_pthread $_ld_dl"
3901 elif cc_check
-lopengl32 ; then
3904 _ld_gl
="-lopengl32 -lgdi32"
3909 if test "$_gl" = yes ; then
3910 _def_gl
='#define HAVE_GL 1'
3911 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3912 if test "$_gl_win32" = yes ; then
3913 _def_gl_win32
='#define GL_WIN32 1'
3914 _vosrc
="$_vosrc w32_common.c"
3915 _res_comment
="win32 version"
3917 _vomodules
="opengl $_vomodules"
3919 _def_gl
='#undef HAVE_GL'
3920 _def_gl_win32
='#undef GL_WIN32'
3921 _novomodules
="opengl $_novomodules"
3926 echocheck
"/dev/mga_vid"
3927 if test "$_mga" = auto
; then
3929 test -c /dev
/mga_vid
&& _mga
=yes
3931 if test "$_mga" = yes ; then
3932 _def_mga
='#define HAVE_MGA 1'
3933 _vosrc
="$_vosrc vo_mga.c"
3934 _vomodules
="mga $_vomodules"
3936 _def_mga
='#undef HAVE_MGA'
3937 _novomodules
="mga $_novomodules"
3942 # echocheck "syncfb"
3944 # test "$_mga" = yes && _syncfb=yes
3945 # if test "$_syncfb" = yes ; then
3946 # _def_syncfb='#define HAVE_SYNCFB 1'
3947 # _vosrc="$_vosrc vo_syncfb.c"
3949 # _def_syncfb='#undef HAVE_SYNCFB'
3951 # echores "$_syncfb"
3955 if test "$_xmga" = auto
; then
3957 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3959 if test "$_xmga" = yes ; then
3960 _def_xmga
='#define HAVE_XMGA 1'
3961 _vosrc
="$_vosrc vo_xmga.c"
3962 _vomodules
="xmga $_vomodules"
3964 _def_xmga
='#undef HAVE_XMGA'
3965 _novomodules
="xmga $_novomodules"
3971 if test "$_ggi" = auto
; then
3973 #include <ggi/ggi.h>
3974 int main(void) { return 0; }
3977 cc_check
-lggi && _ggi
=yes
3979 if test "$_ggi" = yes ; then
3980 _def_ggi
='#define HAVE_GGI 1'
3982 _vosrc
="$_vosrc vo_ggi.c"
3983 _vomodules
="ggi $_vomodules"
3985 _def_ggi
='#undef HAVE_GGI'
3986 _novomodules
="ggi $_novomodules"
3990 echocheck
"GGI extension: libggiwmh"
3991 if test "$_ggiwmh" = auto
; then
3994 #include <ggi/ggi.h>
3995 #include <ggi/wmh.h>
3996 int main(void) { return 0; }
3998 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4000 # needed to get right output on obscure combination
4001 # like --disable-ggi --enable-ggiwmh
4002 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4003 _def_ggiwmh
='#define HAVE_GGIWMH 1'
4004 _ld_ggi
="$_ld_ggi -lggiwmh"
4007 _def_ggiwmh
='#undef HAVE_GGIWMH'
4013 if test "$_aa" = auto
; then
4016 extern struct aa_hardware_params aa_defparams;
4017 extern struct aa_renderparams aa_defrenderparams;
4021 (void) aa_init(0, 0, 0);
4022 c = aa_autoinit(&aa_defparams);
4023 p = aa_getrenderparams();
4024 aa_autoinitkbd(c,0);
4028 for _ld_tmp
in "-laa" "$_ld_x11 -laa" ; do
4029 cc_check
$_ld_tmp && _ld_aa
=$_ld_tmp && _aa
=yes && break
4032 if test "$_aa" = yes ; then
4033 _def_aa
='#define HAVE_AA 1'
4035 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
4037 _vosrc
="$_vosrc vo_aa.c"
4038 _vomodules
="aa $_vomodules"
4040 _def_aa
='#undef HAVE_AA'
4041 _novomodules
="aa $_novomodules"
4047 if test "$_caca" = auto
; then
4049 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4052 int main(void) { (void) caca_init(); return 0; }
4054 cc_check
`caca-config --libs` && _caca
=yes
4057 if test "$_caca" = yes ; then
4058 _def_caca
='#define HAVE_CACA 1'
4059 _inc_caca
=`caca-config --cflags`
4060 _ld_caca
=`caca-config --libs`
4061 _vosrc
="$_vosrc vo_caca.c"
4062 _vomodules
="caca $_vomodules"
4064 _def_caca
='#undef HAVE_CACA'
4065 _novomodules
="caca $_novomodules"
4071 if test "$_svga" = auto
; then
4074 int main(void) { return 0; }
4077 cc_check
-lvga $_ld_lm && _svga
=yes
4079 if test "$_svga" = yes ; then
4080 _def_svga
='#define HAVE_SVGALIB 1'
4082 _vosrc
="$_vosrc vo_svga.c"
4083 _vomodules
="svga $_vomodules"
4085 _def_svga
='#undef HAVE_SVGALIB'
4086 _novomodules
="svga $_novomodules"
4092 if test "$_fbdev" = auto
; then
4094 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
4096 if test "$_fbdev" = yes ; then
4097 _def_fbdev
='#define HAVE_FBDEV 1'
4098 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
4099 _vomodules
="fbdev $_vomodules"
4101 _def_fbdev
='#undef HAVE_FBDEV'
4102 _novomodules
="fbdev $_novomodules"
4109 if test "$_dvb" != no
; then
4112 #include <sys/poll.h>
4113 #include <sys/ioctl.h>
4118 #include <ost/dmx.h>
4119 #include <ost/frontend.h>
4120 #include <ost/sec.h>
4121 #include <ost/video.h>
4122 #include <ost/audio.h>
4123 int main(void) {return 0;}
4128 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
4129 if cc_check
"$I" ; then
4132 _res_comment
="using $_inc_dvb"
4136 test "$_dvb" = no
&& _res_comment
="specify path to DVB/ost/include with --with-dvbincdir=DIR"
4140 if test "$_dvb" = yes ; then
4141 _def_dvb
='#define HAVE_DVB 1'
4142 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4143 _aomodules
="mpegpes(dvb) $_aomodules"
4144 _vomodules
="mpegpes(dvb) $_vomodules"
4146 if test "$_dvbhead" != no
; then
4147 echocheck
"DVB HEAD"
4148 if test "$_dvbhead" != no
; then
4152 #include <sys/poll.h>
4153 #include <sys/ioctl.h>
4158 #include <linux/dvb/dmx.h>
4159 #include <linux/dvb/frontend.h>
4160 #include <linux/dvb/video.h>
4161 #include <linux/dvb/audio.h>
4162 int main(void) {return 0;}
4167 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
4168 if cc_check
"$I" ; then
4171 _res_comment
="using $_inc_dvb"
4175 test "$_dvbhead" = no
&& _res_comment
="specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR"
4179 if test "$_dvbhead" = yes ; then
4180 _def_dvb
='#define HAVE_DVB_HEAD 1'
4181 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4182 _aomodules
="mpegpes(dvb) $_aomodules"
4183 _vomodules
="mpegpes(dvb) $_vomodules"
4186 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4187 _def_dvb
='#undef HAVE_DVB'
4188 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
4189 _aomodules
="mpegpes(file) $_aomodules"
4190 _vomodules
="mpegpes(file) $_vomodules"
4193 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4195 _inputmodules
="dvb $_inputmodules"
4198 _noinputmodules
="dvb $_noinputmodules"
4201 echocheck
"PNG support"
4202 if test "$_png" = auto
; then
4205 # Don't check for -lpng on irix since it has its own libpng
4206 # incompatible with the GNU libpng
4207 _res_comment
="disabled on irix (not GNU libpng)"
4213 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4214 printf("libpng: %s\n", png_libpng_ver);
4215 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4218 if cc_check
-lpng -lz $_ld_lm ; then
4222 _res_comment
="mismatch of library and header versions"
4228 if test "$_png" = yes ; then
4229 _def_png
='#define HAVE_PNG 1'
4231 _vosrc
="$_vosrc vo_png.c"
4232 _vomodules
="png $_vomodules"
4235 _def_png
='#undef HAVE_PNG'
4236 _novomodules
="png $_novomodules"
4240 echocheck
"JPEG support"
4241 if test "$_jpg" = auto
; then
4248 #include <jpeglib.h>
4253 if cc_check
-ljpeg $_ld_lm ; then
4261 if test "$_jpg" = yes ; then
4262 _def_jpg
='#define HAVE_JPEG 1'
4263 _vosrc
="$_vosrc vo_jpeg.c"
4264 _vomodules
="jpeg $_vomodules"
4268 _def_jpg
='#undef HAVE_JPEG'
4269 _novomodules
="jpeg $_novomodules"
4275 echocheck
"PNM support"
4276 if test "$_pnm" = yes; then
4277 _def_pnm
="#define HAVE_PNM"
4278 _vosrc
="$_vosrc vo_pnm.c"
4279 _vomodules
="pnm $_vomodules"
4281 _def_pnm
="#undef HAVE_PNM"
4282 _novomodules
="pnm $_novomodules"
4288 echocheck
"md5sum support"
4289 if test "$_md5sum" = yes; then
4290 _def_md5sum
="#define HAVE_MD5SUM"
4291 _vosrc
="$_vosrc vo_md5sum.c md5sum.c"
4292 _vomodules
="md5sum $_vomodules"
4294 _def_md5sum
="#undef HAVE_MD5SUM"
4295 _novomodules
="md5sum $_novomodules"
4301 echocheck
"GIF support"
4302 # This is to appease people who want to force gif support.
4303 # If it is forced to yes, then we still do checks to determine
4304 # which gif library to use.
4305 if test "$_gif" = yes ; then
4310 if test "$_gif" = auto
; then
4313 #include <gif_lib.h>
4318 for _ld_tmp
in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4319 cc_check
$_ld_tmp && tmp_run
&& _ld_gif
="$_ld_tmp" && _gif
=yes && break
4323 # If no library was found, and the user wants support forced,
4324 # then we force it on with libgif, as this is the safest
4325 # assumption IMHO. (libungif & libregif both create symbolic
4326 # links to libgif. We also assume that no x11 support is needed,
4327 # because if you are forcing this, then you _should_ know what
4328 # you are doing. [ Besides, package maintainers should never
4329 # have compiled x11 deps into libungif in the first place. ] )
4332 if test "$_force_gif" = yes && test "$_gif" = no
; then
4337 if test "$_gif" = yes ; then
4338 _def_gif
='#define HAVE_GIF 1'
4339 _vosrc
="$_vosrc vo_gif89a.c"
4340 _codecmodules
="gif $_codecmodules"
4341 _vomodules
="gif89a $_vomodules"
4343 _gif
="yes (old version, some encoding functions disabled)"
4344 _def_gif_4
='#undef HAVE_GIF_4'
4348 #include <gif_lib.h>
4349 void catch() { exit(1); }
4351 signal(SIGSEGV, catch); // catch segfault
4352 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4353 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4357 if cc_check
"$_ld_gif" && tmp_run
; then
4358 _def_gif_4
='#define HAVE_GIF_4 1'
4362 _def_gif
='#undef HAVE_GIF'
4363 _def_gif_4
='#undef HAVE_GIF_4'
4364 _novomodules
="gif89a $_novomodules"
4365 _nocodecmodules
="gif $_nocodecmodules"
4371 case "$_gif" in yes*)
4372 echocheck
"broken giflib workaround"
4373 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4376 #include <gif_lib.h>
4379 printf("UserData is at address %p\n", gif.UserData);
4383 if cc_check
"$_ld_gif" && tmp_run
; then
4384 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4393 echocheck
"VESA support"
4394 if test "$_vesa" = auto
; then
4397 int main(void) { vbeVersion(); return 0; }
4400 cc_check
-lvbe -llrmi && _vesa
=yes
4402 if test "$_vesa" = yes ; then
4403 _def_vesa
='#define HAVE_VESA 1'
4404 _ld_vesa
="-lvbe -llrmi"
4405 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4406 _vomodules
="vesa $_vomodules"
4408 _def_vesa
='#undef HAVE_VESA'
4409 _novomodules
="vesa $_novomodules"
4419 if test -z "$_sdlconfig" ; then
4420 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4421 _sdlconfig
="sdl-config"
4422 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4423 _sdlconfig
="sdl11-config"
4428 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4431 int main(int argc, char *argv[]) { return 0; }
4434 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4435 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4436 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4437 if test "$_sdlversion" -gt 116 ; then
4438 if test "$_sdlversion" -lt 121 ; then
4439 _def_sdlbuggy
='#define BUGGY_SDL'
4441 _def_sdlbuggy
='#undef BUGGY_SDL'
4445 _res_comment
=outdated
4450 if test "$_sdl" = yes ; then
4451 _def_sdl
='#define HAVE_SDL 1'
4453 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4454 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4456 _ld_sdl
=`$_sdlconfig --libs | sed s/-mwindows//`
4457 _inc_sdl
=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4459 _ld_sdl
=`$_sdlconfig --libs`
4460 _inc_sdl
=`$_sdlconfig --cflags`
4462 _vosrc
="$_vosrc vo_sdl.c"
4463 _vomodules
="sdl $_vomodules"
4464 _aosrc
="$_aosrc ao_sdl.c"
4465 _aomodules
="sdl $_aomodules"
4466 _res_comment
="using $_sdlconfig"
4468 _def_sdl
='#undef HAVE_SDL'
4469 _novomodules
="sdl $_novomodules"
4470 _noaomodules
="sdl $_noaomodules"
4474 echocheck
"Windows waveout"
4475 if test "$_win32waveout" = auto
; then
4477 #include <windows.h>
4478 #include <mmsystem.h>
4479 int main(void) { return 0; }
4482 cc_check
-lwinmm && _win32waveout
=yes
4484 if test "$_win32waveout" = yes ; then
4485 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4486 _ld_win32libs
="-lwinmm $_ld_win32libs"
4487 _aosrc
="$_aosrc ao_win32.c"
4488 _aomodules
="win32 $_aomodules"
4490 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4491 _noaomodules
="win32 $_noaomodules"
4493 echores
"$_win32waveout"
4496 if test "$_directx" = auto
; then
4498 #include <windows.h>
4501 int main(void) { return 0; }
4504 cc_check
-lgdi32 && _directx
=yes
4506 if test "$_directx" = yes ; then
4507 _def_directx
='#define HAVE_DIRECTX 1'
4508 _ld_win32libs
="-lgdi32 $_ld_win32libs"
4509 _vosrc
="$_vosrc vo_directx.c"
4510 _vomodules
="directx $_vomodules"
4511 _aosrc
="$_aosrc ao_dsound.c"
4512 _aomodules
="dsound $_aomodules"
4514 _def_directx
='#undef HAVE_DIRECTX'
4515 _novomodules
="directx $_novomodules"
4516 _noaomodules
="dsound $_noaomodules"
4521 if test "$_nas" = auto
; then
4523 #include <audio/audiolib.h>
4524 int main(void) { return 0; }
4527 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas
=yes
4529 if test "$_nas" = yes ; then
4530 _def_nas
='#define HAVE_NAS 1'
4531 _ld_nas
="-laudio -lXt $_ld_x11"
4532 _aosrc
="$_aosrc ao_nas.c"
4533 _aomodules
="nas $_aomodules"
4535 _noaomodules
="nas $_noaomodules"
4536 _def_nas
='#undef HAVE_NAS'
4541 if test "$_dxr2" = auto
; then
4544 #include <dxr2ioctl.h>
4545 int main(void) { return 0; }
4547 for _inc_dxr2
in "$_inc_dxr2" \
4548 "-I/usr/local/include/dxr2" \
4549 "-I/usr/include/dxr2"; do
4550 cc_check
$_inc_dxr2 && _dxr2
=yes && break
4553 if test "$_dxr2" = yes; then
4554 _def_dxr2
='#define HAVE_DXR2 1'
4555 _vosrc
="$_vosrc vo_dxr2.c"
4556 _aosrc
="$_aosrc ao_dxr2.c"
4557 _aomodules
="dxr2 $_aomodules"
4558 _vomodules
="dxr2 $_vomodules"
4559 _res_comment
="using $_inc_dxr2"
4561 _def_dxr2
='#undef HAVE_DXR2'
4562 _noaomodules
="dxr2 $_noaomodules"
4563 _novomodules
="dxr2 $_novomodules"
4569 if test "$_dxr3" = auto
; then
4571 #include <linux/em8300.h>
4572 int main(void) { return 0; }
4575 cc_check
&& _dxr3
=yes
4577 if test "$_dxr3" = yes ; then
4578 _def_dxr3
='#define HAVE_DXR3 1'
4579 _vosrc
="$_vosrc vo_dxr3.c"
4580 _vomodules
="dxr3 $_vomodules"
4582 _def_dxr3
='#undef HAVE_DXR3'
4583 _novomodules
="dxr3 $_novomodules"
4584 if test "$_mp1e" = auto
; then
4585 # we don't need mp1e
4592 if test "$_mmx" = no
; then
4593 # mp1e REQUIRES mmx!
4596 if test "$_mp1e" != no
; then
4598 _def_mp1e
='#define USE_MP1E'
4599 _ld_mp1e
='libmp1e/libmp1e.a'
4600 _dep_mp1e
='libmp1e/libmp1e.a'
4603 _def_mp1e
='#undef USE_MP1E'
4611 if test "$_fame" = auto
; then
4613 test "$_dxr2" = yes && _fame
=auto
4614 test "$_dxr3" = yes && _fame
=auto
4615 test "$_dvb" = yes && _fame
=auto
4617 if test "$_fame" = auto
; then
4619 if test -d libfame
&& test -f libfame
/fame.h
; then
4620 # disable fame on cygwin as no sense to port - atmos
4623 _res_comment
="no fame dir"
4628 _def_fame
='#undef USE_LIBFAME'
4629 if test "$_fame" = yes ; then
4630 _def_fame
='#define USE_LIBFAME 1'
4631 _ld_fame
='libfame/libfame.a'
4640 echocheck
"OSS Audio"
4641 if test "$_ossaudio" = auto
; then
4643 #include <sys/ioctl.h>
4645 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4648 cc_check
&& _ossaudio
=yes
4650 if test "$_ossaudio" = yes ; then
4651 _def_ossaudio
='#define USE_OSS_AUDIO 1'
4652 _aosrc
="$_aosrc ao_oss.c"
4653 _aomodules
="oss $_aomodules"
4654 if test "$_linux_devfs" = yes; then
4655 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
4656 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4659 #include <sys/ioctl.h>
4661 #ifdef OPEN_SOUND_SYSTEM
4662 int main(void) { return 0; }
4664 #error Not the real thing
4668 cc_check
&& _real_ossaudio
=yes
4669 if test "$_real_ossaudio" = yes; then
4670 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4671 elif netbsd || openbsd
; then
4672 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4673 _ld_arch
="$_ld_arch -lossaudio"
4675 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4677 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4680 _def_ossaudio
='#undef USE_OSS_AUDIO'
4681 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4682 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4683 _noaomodules
="oss $_noaomodules"
4685 echores
"$_ossaudio"
4689 if test "$_arts" = auto
; then
4691 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4695 int main(void) { return 0; }
4697 cc_check
`artsc-config --libs` `artsc-config --cflags` && tmp_run
&& _arts
=yes
4702 if test "$_arts" = yes ; then
4703 _def_arts
='#define USE_ARTS 1'
4704 _aosrc
="$_aosrc ao_arts.c"
4705 _aomodules
="arts $_aomodules"
4706 _ld_arts
=`artsc-config --libs`
4707 _inc_arts
=`artsc-config --cflags`
4709 _noaomodules
="arts $_noaomodules"
4715 if test "$_esd" = auto
; then
4717 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4721 int main(void) { return 0; }
4723 cc_check
`esd-config --libs` `esd-config --cflags` && tmp_run
&& _esd
=yes
4729 if test "$_esd" = yes ; then
4730 _def_esd
='#define USE_ESD 1'
4731 _aosrc
="$_aosrc ao_esd.c"
4732 _aomodules
="esd $_aomodules"
4733 _ld_esd
=`esd-config --libs`
4734 _inc_esd
=`esd-config --cflags`
4736 echocheck
"esd_get_latency()"
4739 int main(void) { return esd_get_latency(0); }
4741 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
4742 echores
"$_esd_latency"
4744 _def_esd
='#undef USE_ESD'
4745 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
4746 _noaomodules
="esd $_noaomodules"
4750 if test "$_polyp" = auto
; then
4752 if ( pkg-config
--exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4755 #include <polyp/polyplib.h>
4756 #include <polyp/mainloop.h>
4757 #include <polyp/polyplib-error.h>
4758 int main(void) { return 0; }
4760 cc_check
`pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run
&& _polyp
=yes
4766 if test "$_polyp" = yes ; then
4767 _def_polyp
='#define USE_POLYP 1'
4768 _aosrc
="$_aosrc ao_polyp.c"
4769 _aomodules
="polyp $_aomodules"
4770 _ld_polyp
=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4771 _inc_polyp
=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4773 _def_polyp
='#undef USE_POLYP'
4774 _noaomodules
="polyp $_noaomodules"
4779 if test "$_jack" = auto
; then
4783 #include <jack/jack.h>
4784 int main(void) { jack_client_new("test"); return 0; }
4786 if cc_check
-ljack ; then
4788 elif cc_check
`pkg-config --libs --cflags --silence-errors jack` ; then
4789 _ld_jack
="`pkg-config --libs jack`"
4790 _inc_jack
="`pkg-config --cflags jack`"
4796 if test "$_jack" = yes ; then
4797 _def_jack
='#define USE_JACK 1'
4798 _aosrc
="$_aosrc ao_jack.c"
4799 _aomodules
="jack $_aomodules"
4801 _noaomodules
="jack $_noaomodules"
4806 if test "$_openal" = auto
; then
4811 alSourceQueueBuffers(0, 0, 0);
4812 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4816 if cc_check
-lopenal ; then
4817 _ld_openal
="-lopenal"
4821 if test "$_openal" = yes ; then
4822 _def_openal
='#define USE_OPENAL 1'
4823 _aosrc
="$_aosrc ao_openal.c"
4824 _aomodules
="openal $_aomodules"
4826 _noaomodules
="openal $_noaomodules"
4830 echocheck
"ALSA audio"
4831 if test "$_alsa" != no
; then
4834 #include <sys/asoundlib.h>
4835 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4836 #error "alsa version != 0.5.x"
4838 int main(void) { return 0; }
4840 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
4843 #include <sys/asoundlib.h>
4844 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4845 #error "alsa version != 0.9.x"
4847 int main(void) { return 0; }
4849 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
4851 #include <alsa/asoundlib.h>
4852 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4853 #error "alsa version != 0.9.x"
4855 int main(void) { return 0; }
4857 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
4860 #include <sys/asoundlib.h>
4861 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4862 #error "alsa version != 1.0.x"
4864 int main(void) { return 0; }
4866 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
4868 #include <alsa/asoundlib.h>
4869 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4870 #error "alsa version != 1.0.x"
4872 int main(void) { return 0; }
4874 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
4876 _def_alsa5
='#undef HAVE_ALSA5'
4877 _def_alsa9
='#undef HAVE_ALSA9'
4878 _def_alsa1x
='#undef HAVE_ALSA1X'
4879 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
4880 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
4881 if test "$_alsaver" ; then
4883 if test "$_alsaver" = '0.5.x' ; then
4884 _aosrc
="$_aosrc ao_alsa5.c"
4885 _aomodules
="alsa5 $_aomodules"
4886 _def_alsa5
='#define HAVE_ALSA5 1'
4887 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4888 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
4889 elif test "$_alsaver" = '0.9.x-sys' ; then
4890 _aosrc
="$_aosrc ao_alsa.c"
4891 _aomodules
="alsa $_aomodules"
4892 _def_alsa9
='#define HAVE_ALSA9 1'
4893 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4894 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
4895 elif test "$_alsaver" = '0.9.x-alsa' ; then
4896 _aosrc
="$_aosrc ao_alsa.c"
4897 _aomodules
="alsa $_aomodules"
4898 _def_alsa9
='#define HAVE_ALSA9 1'
4899 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4900 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
4901 elif test "$_alsaver" = '1.0.x-sys' ; then
4902 _aosrc
="$_aosrc ao_alsa.c"
4903 _aomodules
="alsa $_aomodules"
4904 _def_alsa1x
="#define HAVE_ALSA1X 1"
4905 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4906 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
4907 elif test "$_alsaver" = '1.0.x-alsa' ; then
4908 _aosrc
="$_aosrc ao_alsa.c"
4909 _aomodules
="alsa $_aomodules"
4910 _def_alsa1x
="#define HAVE_ALSA1X 1"
4911 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4912 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
4915 _res_comment
="unknown version"
4917 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
4919 _noaomodules
="alsa $_noaomodules"
4924 echocheck
"Sun audio"
4925 if test "$_sunaudio" = auto
; then
4927 #include <sys/types.h>
4928 #include <sys/audioio.h>
4929 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4932 cc_check
&& _sunaudio
=yes
4934 if test "$_sunaudio" = yes ; then
4935 _def_sunaudio
='#define USE_SUN_AUDIO 1'
4936 _aosrc
="$_aosrc ao_sun.c"
4937 _aomodules
="sun $_aomodules"
4939 _def_sunaudio
='#undef USE_SUN_AUDIO'
4940 _noaomodules
="sun $_noaomodules"
4942 echores
"$_sunaudio"
4945 echocheck
"Sun mediaLib"
4946 if test "$_mlib" = auto
; then
4948 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
4951 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4953 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
4955 if test "$_mlib" = yes ; then
4956 _def_mlib
='#define HAVE_MLIB 1'
4957 _inc_mlib
=" -I${_mlibdir}/include "
4958 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4960 _def_mlib
='#undef HAVE_MLIB'
4965 echocheck
"SGI audio"
4966 if test "$_sgiaudio" = auto
; then
4967 # check for SGI audio
4969 #include <dmedia/audio.h>
4970 int main(void) { return 0; }
4973 cc_check
&& _sgiaudio
=yes
4975 if test "$_sgiaudio" = "yes" ; then
4976 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
4977 _ld_sgiaudio
='-laudio'
4978 _aosrc
="$_aosrc ao_sgi.c"
4979 _aomodules
="sgi $_aomodules"
4981 _def_sgiaudio
='#undef USE_SGI_AUDIO'
4982 _noaomodules
="sgi $_noaomodules"
4984 echores
"$_sgiaudio"
4987 echocheck
"VCD support"
4988 if linux || bsdos || freebsd || netbsd || sunos || darwin
; then
4989 _inputmodules
="vcd $_inputmodules"
4990 _def_vcd
='#define HAVE_VCD 1'
4993 _def_vcd
='#undef HAVE_VCD'
4994 _noinputmodules
="vcd $_noinputmodules"
4995 echores
"not supported on this OS"
4998 echocheck
"DVD support (libmpdvdkit)"
4999 if test "$_dvdkit" = auto
; then
5001 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux
; then
5002 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
5003 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
5006 if test "$_dvdkit" = yes ; then
5007 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
5008 if test -f "./libmpdvdkit2/Makefile" ; then
5009 _inputmodules
="mpdvdkit2 $_inputmodules"
5010 _dvdread
=libmpdvdkit2
5014 _inputmodules
="mpdvdkit $_inputmodules"
5015 _dvdread
=libmpdvdkit
5018 _noinputmodules
="mpdvdkit $_noinputmodules"
5020 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
5021 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
5022 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
5023 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
5024 if linux || netbsd || openbsd || bsdos
; then
5025 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5027 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5031 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5034 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5039 _noinputmodules
="mpdvdkit $_noinputmodules"
5041 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
5048 echocheck
"DVD support (libdvdread)"
5049 if test "$_dvdread" = auto
; then
5051 #include <inttypes.h>
5052 #include <dvdread/dvd_reader.h>
5053 #include <dvdread/ifo_types.h>
5054 #include <dvdread/ifo_read.h>
5055 #include <dvdread/nav_read.h>
5056 int main(void) { return 0; }
5059 if test "$_dl" = yes; then
5061 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
5065 _def_mpdvdkit
="#undef USE_MPDVDKIT"
5069 _def_dvdread
='#define USE_DVDREAD 1'
5070 _ld_dvdread
='-ldvdread'
5071 _inputmodules
="dvdread $_inputmodules"
5076 _def_dvdread
='#undef USE_DVDREAD'
5077 _noinputmodules
="dvdread $_noinputmodules"
5082 _def_dvdread
='#define USE_DVDREAD 1'
5083 _ld_dvdread
='-Llibmpdvdkit -lmpdvdkit'
5084 _noinputmodules
="dvdread $_noinputmodules"
5085 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
5087 echores
"disabled by libmpdvdkit"
5091 _def_dvdread
='#define USE_DVDREAD 1'
5092 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
5093 _noinputmodules
="dvdread $_noinputmodules"
5094 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
5096 echores
"disabled by libmpdvdkit2"
5100 if test "$_have_dvd" = yes ; then
5101 _def_have_dvd
='#define HAVE_DVD 1'
5103 _def_have_dvd
='#undef HAVE_DVD'
5106 # dvdnav disabled, it does not work
5107 # echocheck "DVD support (libdvdnav)"
5108 # if test "$_dvdnav" = yes ; then
5110 # #include <dvdnav.h>
5111 # int main(void) { dvdnav_t *dvd=0; return 0; }
5114 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
5115 # if test -z "$_dvdnavconfig" ; then
5116 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
5117 # _dvdnavconfig="dvdnav-config"
5120 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
5122 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
5123 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
5125 # if test "$_dvdnav" = yes ; then
5127 # _def_dvdnav='#define USE_DVDNAV 1'
5128 # if test -n "$_legal_dvdnavdir" ; then
5129 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
5130 # elif test -n "$_dvdnavconfig" ; then
5131 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
5133 # _ld_css="$_ld_css -ldvdnav"
5135 # if test -n "$_dvdnavconfig" ; then
5136 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5137 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5139 # if test -n "$_dvdnavdir" ; then
5140 # _inc_extra="$_inc_extra -I$_dvdnavdir"
5142 # _inputmodules="dvdnav $_inputmodules"
5145 # _def_dvdnav='#undef USE_DVDNAV'
5146 # _noinputmodules="dvdnav $_noinputmodules"
5150 echocheck
"cdparanoia"
5151 if test "$_cdparanoia" = auto
; then
5153 #include <cdda_interface.h>
5154 #include <cdda_paranoia.h>
5155 // This need a better test. How ?
5156 int main(void) { return 1; }
5159 for _inc_tmp
in "$_inc_cdparanoia" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5160 cc_check
$_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && _inc_cdparanoia
="$_inc_tmp" && _cdparanoia
=yes && break
5163 if test "$_cdparanoia" = yes ; then
5164 _def_cdparanoia
='#define HAVE_CDDA'
5165 _inputmodules
="cdda $_inputmodules"
5166 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5167 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
5169 _def_cdparanoia
='#undef HAVE_CDDA'
5170 _noinputmodules
="cdda $_noinputmodules"
5172 echores
"$_cdparanoia"
5176 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5177 if ( pkg-config
--modversion libcdio
) > /dev
/null
2>&1 ; then
5180 #include <cdio/version.h>
5181 #include <cdio/cdda.h>
5182 #include <cdio/paranoia.h>
5185 printf("%s\n", CDIO_VERSION);
5191 for _inc_tmp
in "$_inc_libcdio" "-I/usr/include/cdio" "-I/usr/local/include/cdio" ; do
5192 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
5198 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5199 _def_libcdio
='#define HAVE_LIBCDIO'
5200 _def_cdparanoia
='#define HAVE_CDDA'
5201 _def_havelibcdio
='yes'
5202 _inputmodules
="cdda $_inputmodules"
5203 _inc_libcdio
=`pkg-config --cflags libcdio`
5204 _ld_libcdio
=`pkg-config --libs libcdio`
5205 _ld_cdparanoia
="$_ld_cdparanoia -lcdio_cdda -lcdio_paranoia -lcdio"
5207 if test "$_cdparanoia" = yes ; then
5208 _libcdio
="no (using cdparanoia)"
5212 _def_libcdio
='#undef HAVE_LIBCDIO'
5213 _def_havelibcdio
='no'
5218 echocheck
"freetype >= 2.0.9"
5220 # freetype depends on iconv
5221 if test "$_iconv" = no
; then
5223 _res_comment
="iconv support needed"
5226 if test "$_freetype" = auto
; then
5227 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5230 #include <ft2build.h>
5231 #include FT_FREETYPE_H
5232 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5233 #error "Need FreeType 2.0.9 or newer"
5238 FT_Int major=-1,minor=-1,patch=-1;
5239 int err=FT_Init_FreeType(&library);
5241 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5244 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5245 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5246 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5247 (int)major,(int)minor,(int)patch );
5248 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5249 printf("Library and header version mismatch! Fix it in your distribution!\n");
5256 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _freetype
=yes
5261 if test "$_freetype" = yes ; then
5262 _def_freetype
='#define HAVE_FREETYPE'
5263 _inc_freetype
=`$_freetypeconfig --cflags`
5264 _ld_freetype
=`$_freetypeconfig --libs`
5266 _def_freetype
='#undef HAVE_FREETYPE'
5268 echores
"$_freetype"
5270 if test "$_freetype" = no
; then
5272 _res_comment
="freetype support needed"
5274 echocheck
"fontconfig"
5275 if test "$_fontconfig" = auto
; then
5278 #include <fontconfig/fontconfig.h>
5283 printf("Couldn't initialize fontconfig lib\n");
5291 if cc_check
-lfontconfig ; then
5292 _ld_fontconfig
="-lfontconfig"
5293 elif cc_check
`pkg-config --cflags --libs fontconfig` ; then
5294 _inc_fontconfig
=`pkg-config --cflags fontconfig`
5295 _ld_fontconfig
=`pkg-config --libs fontconfig`
5300 if test "$_fontconfig" = yes ; then
5301 _def_fontconfig
='#define HAVE_FONTCONFIG'
5303 _def_fontconfig
='#undef HAVE_FONTCONFIG'
5305 echores
"$_fontconfig"
5307 echocheck
"fribidi with charsets"
5308 if test "$_fribidi" = auto
; then
5309 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
5312 /* workaround for fribidi 0.10.4 and below */
5313 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5314 #include <fribidi/fribidi.h>
5317 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5318 printf("Fribidi headers are not consistents with the library!\n");
5325 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run
&& _fribidi
=yes
5330 if test "$_fribidi" = yes ; then
5331 _def_fribidi
='#define USE_FRIBIDI'
5332 _inc_fribidi
=`$_fribidiconfig --cflags`
5333 _ld_fribidi
=`$_fribidiconfig --libs`
5335 _def_fribidi
='#undef USE_FRIBIDI'
5341 if test "$_enca" = auto
; then
5348 langs = enca_get_languages(&langcnt);
5353 cc_check
-lenca $_ld_lm && _enca
=yes
5355 if test "$_enca" = yes ; then
5356 _def_enca
='#define HAVE_ENCA 1'
5359 _def_enca
='#undef HAVE_ENCA'
5367 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5370 cc_check
-lz && _zlib
=yes
5371 if test "$_zlib" = yes ; then
5372 _def_zlib
='#define HAVE_ZLIB 1'
5375 _def_zlib
='#undef HAVE_ZLIB'
5381 if test "$_rtc" = auto
; then
5383 #include <sys/ioctl.h>
5385 #include <linux/rtc.h>
5388 #define RTC_PIE_ON RTCIO_PIE_ON
5390 int main(void) { return RTC_PIE_ON; }
5393 cc_check
&& _rtc
=yes
5395 if test "$_rtc" = yes ; then
5396 _def_rtc
='#define HAVE_RTC 1'
5398 _def_rtc
='#undef HAVE_RTC'
5403 echocheck
"external liblzo support"
5404 if test "$_liblzo" = auto
; then
5408 int main(void) { lzo_init();return 0; }
5410 cc_check
-llzo && _liblzo
=yes
5412 if test "$_liblzo" = yes ; then
5413 _def_liblzo
='#define USE_LIBLZO 1'
5415 _codecmodules
="liblzo $_codecmodules"
5417 _def_liblzo
='#undef USE_LIBLZO'
5418 _nocodecmodules
="liblzo $_nocodecmodules"
5423 echocheck
"mad support"
5424 if test "$_mad" = auto
; then
5428 int main(void) { return 0; }
5430 cc_check
$_madlibdir -lmad && _mad
=yes
5432 if test "$_mad" = yes ; then
5433 _def_mad
='#define USE_LIBMAD 1'
5435 _codecmodules
="libmad $_codecmodules"
5437 _def_mad
='#undef USE_LIBMAD'
5438 _nocodecmodules
="libmad $_nocodecmodules"
5443 if test "$_toolame" = auto
; then
5445 #include <toolame.h>
5446 int main(void) { toolame_init(); return 0; }
5449 _toolame_extraflags
=""
5450 _toolame_lib
="-ltoolame"
5451 if test -n "$_toolamedir"; then
5452 _toolame_extraflags
="-I$_toolamedir -L$_toolamedir"
5454 cc_check
$_toolame_extraflags $_toolame_lib $_ld_lm && _toolame
=yes
5456 if test "$_toolame" = yes ; then
5457 _def_toolame
='#define HAVE_TOOLAME 1'
5458 _codecmodules
="$_codecmodules toolame"
5460 _def_toolame
='#undef HAVE_TOOLAME'
5462 _nocodecmodules
="toolame $_nocodecmodules"
5464 if test "$_toolamedir" ; then
5465 _res_comment
="using $_toolamedir"
5470 if test "$_twolame" = auto
; then
5472 #include <twolame.h>
5473 int main(void) { twolame_init(); return 0; }
5476 _twolame_lib
="-ltwolame"
5477 cc_check
$_twolame_lib $_ld_lm && _twolame
=yes
5479 if test "$_twolame" = yes ; then
5480 _def_twolame
='#define HAVE_TWOLAME 1'
5481 _codecmodules
="$_codecmodules twolame"
5483 _def_twolame
='#undef HAVE_TWOLAME'
5485 _nocodecmodules
="twolame $_nocodecmodules"
5489 echocheck
"OggVorbis support"
5490 if test "$_tremor_internal" = yes; then
5492 elif test "$_vorbis" = auto
; then
5495 #include <vorbis/codec.h>
5496 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5498 cc_check
-lvorbis -logg $_ld_lm && _vorbis
=yes
5500 if test "$_vorbis" = yes ; then
5501 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5502 if test "$_tremor_internal" = yes ; then
5503 # do not set _ld_vorbis as it is resolved separately
5504 # mp3lame support for vorbis is deprecated so don't care
5505 _def_tremor
='#define TREMOR 1'
5506 if test "$_tremor_low" = yes ; then
5507 _tremor_flags
='-D_LOW_ACCURACY_'
5511 _codecmodules
="tremor(internal) $_codecmodules"
5512 elif test "$_tremor" = yes ; then
5513 _def_tremor
='#define TREMOR 1'
5514 _ld_vorbis
='-lvorbisidec'
5515 _codecmodules
="tremor $_codecmodules"
5517 _def_tremor
='#undef TREMOR'
5518 _ld_vorbis
='-lvorbis -logg'
5519 _codecmodules
="libvorbis $_codecmodules"
5522 _def_vorbis
='#undef HAVE_OGGVORBIS'
5523 _def_tremor
='#undef TREMOR'
5524 _nocodecmodules
="libvorbis $_nocodecmodules"
5526 if test "$_vorbis" = yes -a "$_tremor_internal" = yes -a "$_tremor_low" = yes ; then
5527 _res_comment
="internal low accuracy Tremor"
5528 elif test "$_vorbis" = yes -a "$_tremor_internal" = yes ; then
5529 _res_comment
="internal Tremor"
5530 elif test "$_vorbis" = yes -a "$_tremor" = yes ; then
5531 _res_comment
="Tremor"
5535 echocheck
"libspeex (version >= 1.1 required)"
5536 if test "$_speex" = auto
; then
5539 #include <speex/speex.h>
5543 speex_decode_int(dec, &bits, dec);
5546 cc_check
-lspeex $_ld_lm && _speex
=yes
5548 if test "$_speex" = yes ; then
5549 _def_speex
='#define HAVE_SPEEX 1'
5551 _codecmodules
="speex $_codecmodules"
5553 _def_speex
='#undef HAVE_SPEEX'
5554 _nocodecmodules
="speex $_nocodecmodules"
5558 echocheck
"OggTheora support"
5559 if test "$_theora" = auto
; then
5562 #include <theora/theora.h>
5566 /* theora is in flux, make sure that all interface routines and
5567 * datatypes exist and work the way we expect it, so we don't break
5577 theora_info_init (&inf);
5578 theora_comment_init (&tc);
5582 /* we don't want to execute this kind of nonsense; just for making sure
5583 * that compilation works... */
5584 memset(&op, 0, sizeof(op));
5585 r = theora_decode_header (&inf, &tc, &op);
5586 r = theora_decode_init (&st, &inf);
5587 t = theora_granule_time (&st, op.granulepos);
5588 r = theora_decode_packetin (&st, &op);
5589 r = theora_decode_YUVout (&st, &yuv);
5595 for _ld_theora
in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5596 cc_check
$_ld_theora && _theora
=yes && break
5598 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
5599 for _ld_theora
in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5600 cc_check
-I. tremor
/bitwise.c
$_ld_theora && _theora
=yes && break
5604 if test "$_theora" = yes ; then
5605 _def_theora
='#define HAVE_OGGTHEORA 1'
5606 _codecmodules
="libtheora $_codecmodules"
5607 # when --enable-theora is forced, we'd better provide a probably sane
5608 # $_ld_theora than nothing
5609 test -z "$_ld_theora" && _ld_theora
="-ltheora -logg"
5611 _def_theora
='#undef HAVE_OGGTHEORA'
5612 _nocodecmodules
="libtheora $_nocodecmodules"
5617 echocheck
"mp3lib support"
5618 if test "$_mp3lib" = yes ; then
5619 _def_mp3lib
='#define USE_MP3LIB 1'
5620 _codecmodules
="mp3lib $_codecmodules"
5622 _def_mp3lib
='#undef USE_MP3LIB'
5623 _nocodecmodules
="mp3lib $_nocodecmodules"
5627 echocheck
"liba52 support"
5628 if test "$_liba52" = yes ; then
5629 _def_liba52
='#define USE_LIBA52 1'
5630 _codecmodules
="liba52 $_codecmodules"
5632 _def_liba52
='#undef USE_LIBA52'
5633 _nocodecmodules
="liba52 $_nocodecmodules"
5637 echocheck
"libdts support"
5638 if test "$_libdts" = auto
; then
5641 #include <inttypes.h>
5643 int main(void) { dts_init (0); return 0; }
5645 cc_check
$_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts
=yes
5647 if test "$_libdts" = yes ; then
5648 _def_libdts
='#define CONFIG_DTS 1'
5649 _ld_libdts
="$_ld_libdts -ldts"
5650 _codecmodules
="libdts $_codecmodules"
5652 _def_libdts
='#undef CONFIG_DTS'
5653 _nocodecmodules
="libdts $_nocodecmodules"
5657 echocheck
"libmpeg2 support"
5658 if test "$_libmpeg2" = yes ; then
5659 _def_libmpeg2
='#define USE_LIBMPEG2 1'
5660 _codecmodules
="libmpeg2 $_codecmodules"
5662 _def_libmpeg2
='#undef USE_LIBMPEG2'
5663 _nocodecmodules
="libmpeg2 $_nocodecmodules"
5665 echores
"$_libmpeg2"
5667 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
5668 if test "$_musepack" = auto
; then
5671 #include <mpcdec/mpcdec.h>
5673 mpc_streaminfo info;
5674 mpc_decoder decoder;
5675 mpc_decoder_set_streaminfo(&decoder, &info);
5676 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5679 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
5681 if test "$_musepack" = yes ; then
5682 _def_musepack
='#define HAVE_MUSEPACK 1'
5683 _ld_musepack
='-lmpcdec'
5684 _codecmodules
="musepack $_codecmodules"
5686 _def_musepack
='#undef HAVE_MUSEPACK'
5687 _nocodecmodules
="musepack $_nocodecmodules"
5689 echores
"$_musepack"
5692 echocheck
"Matroska support"
5693 if test "$_matroska_internal" = yes ; then
5694 _inputmodules
="matroska $_inputmodules"
5695 _def_matroska
='#define HAVE_MATROSKA 1'
5697 _noinputmodules
="matroska $_noinputmodules"
5698 _def_matroska
='#undef HAVE_MATROSKA'
5700 echores
"$_matroska_internal"
5702 echocheck
"FAAC (AAC encoder) support"
5703 if test "$_faac" = auto
; then
5705 #include <inttypes.h>
5707 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5710 for _ld_tmp
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5711 cc_check
-c -O4 $_ld_tmp $_ld_lm && _ld_faac
="$_ld_tmp" && _faac
=yes && break
5714 if test "$_faac" = yes ; then
5715 _def_faac
="#define HAVE_FAAC 1"
5716 _codecmodules
="faac $_codecmodules"
5718 _def_faac
="#undef HAVE_FAAC"
5719 _nocodecmodules
="faac $_nocodecmodules"
5723 echocheck
"internal FAAD2 (AAC) support"
5724 _inc_faad
="-I`pwd`/libfaad2"
5725 if test "$_faad_internal" = auto
; then
5726 # the faad check needs a config.h file
5727 if not
test -f "config.h" ; then
5728 cat > config.h
<< EOF
5729 /* C99 lrintf function available */
5733 # internal faad: check if our dear gcc is able to compile it...
5734 cp "`pwd`/libfaad2/cfft.c" $TMPC
5735 if ( cc_check
-c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer -D_GNU_SOURCE $_inc_faad ); then
5738 _faad_internal
="no (broken gcc)"
5741 if test "$_faad_internal" = yes ; then
5742 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
5745 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
5748 echores
"$_faad_internal"
5751 echocheck
"external FAAD2 (AAC) support"
5752 if test "$_faad_external" != no
; then
5754 _inc_faad
="$_inc_extra"
5755 # external faad: check if it's really faad2 :)
5756 if test "$_faad_external" = auto
; then
5760 #ifndef FAAD_MIN_STREAMSIZE
5761 #error Too old version
5763 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5765 cc_check
$_inc_faad $_ld_faad $_ld_lm && _faad_external
=yes
5768 echores
"$_faad_external"
5770 if test "$_faad_external" = yes; then
5771 _def_faad
='#define HAVE_FAAD 1'
5772 _codecmodules
="faad2(external) $_codecmodules"
5773 elif test "$_faad_internal" = yes; then
5774 _def_faad
='#define HAVE_FAAD 1'
5775 _codecmodules
="faad2(internal) $_codecmodules"
5777 _def_faad
='#undef HAVE_FAAD'
5778 _nocodecmodules
="faad2 $_nocodecmodules"
5783 echocheck
"LADSPA plugin support"
5784 if test "$_ladspa" = auto
; then
5789 const LADSPA_Descriptor *ld = NULL;
5794 cc_check
&& _ladspa
=yes
5796 if test "$_ladspa" = yes; then
5797 _def_ladspa
="#define HAVE_LADSPA"
5798 _afsrc
="$_afsrc af_ladspa.c"
5799 _afmodules
="ladspa $_afmodules"
5801 _def_ladspa
="#undef HAVE_LADSPA"
5802 _noafmodules
="ladspa $_noafmodules"
5807 if test "$_win32" = auto
; then
5811 _win32
=no
# x86 arch only
5815 if test "$_win32" != no
; then
5816 if test -z "$_win32libdir" ; then
5817 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs
/usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5818 if test -d "$I" ; then
5826 echocheck
"Win32 codec DLL support"
5827 if test "$_win32" = auto
; then
5829 test -n "$_win32libdir" && _win32
=yes
5831 if test "$_win32" = yes ; then
5832 _def_win32
='#define USE_WIN32DLL 1'
5833 _res_comment
="using $_win32libdir"
5835 _def_win32
='#undef USE_WIN32DLL'
5836 _nocodecmodules
="win32 $_nocodecmodules"
5841 if test "$_win32" != no
; then
5842 _def_win32_loader
='#undef WIN32_LOADER'
5843 echocheck
"Win32 loader support"
5844 _ld_win32
='loader/libloader.a'
5845 _dep_win32
='loader/libloader.a'
5846 _codecmodules
="win32 $_codecmodules"
5848 x86
&& _ld_win32
="$_ld_win32 -li386"
5851 _def_win32_loader
='#define WIN32_LOADER 1'
5854 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
5855 echores
"no (using native windows)"
5859 echocheck
"DirectShow"
5862 if test "$_dshow" != no
; then
5864 # check if compiler supports C++ and C++-libs are installed correctly
5865 cat > "$TMPCPP" << EOF
5869 public: int myreturn(void);
5871 int myclass::myreturn(void) { ret = 0; return ret ; }
5872 int main(void) { myclass myobject; return myobject.myreturn(); }
5874 if cxx_check
&& tmp_run
; then
5876 echores
"yes (C++ is ok)"
5881 Your C++ runtime environment is broken.
5883 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5884 Are the C++ libraries correctly installed?
5885 Check for libstdc++ and in (/etc/)ld.so.conf.
5887 If you do not need DirectShow support, you can also use:
5888 ./configure --disable-dshow <your-normal-configure-options>
5889 to disable building the C++ based DirectShow code.
5892 die
"$_cc's C++ is broken"
5900 if test "$_dshow" = yes ; then
5901 _def_dshow
='#define USE_DIRECTSHOW 1'
5902 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5903 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5904 _codecmodules
="dshow/dmo $_codecmodules"
5906 _def_dshow
='#undef USE_DIRECTSHOW'
5907 _nocodecmodules
="dshow/dmo $_nocodecmodules"
5911 echocheck
"XAnim DLL"
5912 if test "$_xanim" = auto
; then
5914 _res_comment
="dynamic loader support needed"
5915 if test "$_dl" = yes ; then
5916 _res_comment
="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5917 if test -z "$_xanimlibdir" ; then
5918 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
5919 if test -d "$I" ; then
5925 test "$_xanimlibdir" && _xanim
=yes
5928 if test "$_xanim" = yes ; then
5929 _def_xanim
='#define USE_XANIM 1'
5930 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
5931 _codecmodules
="xanim $_codecmodules"
5932 _res_comment
="using $_xanimlibdir"
5934 _def_xanim
='#undef USE_XANIM'
5935 _def_xanim_path
='#undef XACODEC_PATH'
5936 _nocodecmodules
="xanim $_nocodecmodules"
5940 echocheck
"RealPlayer DLL"
5941 if test "$_real" = auto
; then
5943 _res_comment
="dynamic loader support needed"
5944 if test "$_dl" = yes ||
test "$_win32" = yes ; then
5945 # if test "$_dl" = yes ; then
5946 _res_comment
="tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin"
5947 if linux || freebsd || netbsd || win32 || darwin
; then
5948 _res_comment
="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5949 if test -z "$_reallibdir" ; then
5950 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
5951 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
5952 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
5953 {~
,}/Applications
/RealOne\ Player.app
/Contents
/MacOS
/Library
/Codecs \
5955 if test -d "$I" ; then
5961 test "$_reallibdir" && _real
=yes
5965 if test "$_real" = yes ; then
5966 _def_real
='#define USE_REALCODECS 1'
5967 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
5968 _codecmodules
="real $_codecmodules"
5969 _res_comment
="using $_reallibdir"
5971 _def_real
='#undef USE_REALCODECS'
5972 _def_real_path
="#undef REALCODEC_PATH"
5973 _nocodecmodules
="real $_nocodecmodules"
5978 echocheck
"LIVE555 Streaming Media libraries"
5979 if test "$_live" = auto
&& test "$_network" = yes ; then
5980 cat > $TMPCPP << EOF
5981 #include <liveMedia.hh>
5982 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5983 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
5989 for I
in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
5990 cxx_check
-I$I/liveMedia
/include
-I$I/UsageEnvironment
/include
-I$I/groupsock
/include
&& _livelibdir
=$I && _live
=yes && break
5992 if test "$_live" != yes ; then
5993 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
5998 if test "$_live" = yes && test "$_network" = yes ; then
5999 echores
"yes (using $_livelibdir)"
6000 _def_live
='#define STREAMING_LIVE555 1'
6001 _live_libs_def
="# LIVE555 Streaming Media libraries:
6002 LIVE_LIB_DIR = $_livelibdir
6003 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
6004 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
6005 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
6006 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
6007 LIVE_LIBS += -lstdc++
6008 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
6009 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
6010 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
6011 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
6012 _ld_live
='$(LIVE_LIBS)'
6013 _inputmodules
="live555 $_inputmodules"
6014 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6015 echores
"yes (using distribution version)"
6017 _def_live
='#define STREAMING_LIVE555 1'
6018 _live_libs_def
="# LIVE555 Streaming Media libraries:
6019 LIVE_LIB_DIR = $_livelibdir
6020 LIVE_LIBS = -lliveMedia
6021 LIVE_LIBS += -lgroupsock
6022 LIVE_LIBS += -lUsageEnvironment
6023 LIVE_LIBS += -lBasicUsageEnvironment
6024 LIVE_LIBS += -lstdc++
6025 LIVE_INCLUDES = -I/usr/include/liveMedia
6026 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
6027 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
6028 LIVE_INCLUDES += -I/usr/include/groupsock"
6029 _ld_live
='$(LIVE_LIBS)'
6030 _inputmodules
="live555 $_inputmodules"
6033 _def_live
='#undef STREAMING_LIVE555'
6034 _noinputmodules
="live555 $_noinputmodules"
6037 echocheck
"FFmpeg libavutil (static)"
6038 if test -d libavutil
; then
6043 echores
"$_libavutil"
6045 echocheck
"FFmpeg libavcodec (static)"
6046 if test "$_libavcodec" = auto
; then
6047 # Note: static linking is preferred to dynamic linking
6049 _res_comment
="see DOCS/HTML/$_doc_lang/codecs.html"
6050 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
6051 _res_comment
="old ffmpeg version, use CVS !"
6052 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
6053 # check if libavutil is a required
6055 #include "libavcodec/avcodec.h"
6056 #if LIBAVCODEC_BUILD >= 3211265
6057 #error We need libavutil!
6059 int main(void) { return 0; }
6062 if cc_check
-I.
-I.
/libavutil
; then
6063 _libavutil_required
="no"
6065 _libavutil_required
="yes"
6067 _res_comment
="libavutil availability does not fit libavcodec version"
6068 if test "$_libavutil_required" = "$_libavutil"; then
6075 echores
"$_libavcodec"
6077 echocheck
"FFmpeg libavformat (static)"
6078 if test "$_libavformat" = auto
; then
6079 # Note: static linking is preferred to dynamic linking
6081 if test -d libavformat
&& test -f libavformat
/utils.c
; then
6085 echores
"$_libavformat"
6087 echocheck
"FFmpeg libpostproc (static)"
6088 if test "$_libpostproc" = auto
; then
6090 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
6094 echores
"$_libpostproc"
6097 if test "$_libavcodec" != yes ; then
6098 echocheck
"FFmpeg libavcodec (dynamic)"
6099 if test "$_libavcodec_so" = auto
; then
6101 _res_comment
="libavcodec.so is broken/obsolete"
6102 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6104 #include <ffmpeg/avcodec.h>
6106 avcodec_find_encoder_by_name("");
6110 if (pkg-config
--exists libavcodec
>> "$TMPLOG" 2>&1) ; then
6111 _inc_libavcodec
=`pkg-config --cflags libavcodec`
6112 _ld_libavcodec
=`pkg-config --libs libavcodec`
6113 cc_check
$_inc_libavcodec $_ld_libavcodec && _libavcodec_so
=yes
6114 elif cc_check
-lavcodec $_ld_lm ; then
6117 if test "$_libavcodec_so" == yes ; then
6118 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
6121 echores
"$_libavcodec_so"
6124 if test "$_libavformat" != yes ; then
6125 echocheck
"FFmpeg libavformat (dynamic)"
6126 if test "$_libavformat_so" = auto
; then
6129 #include <ffmpeg/avformat.h>
6130 int main(void) { av_alloc_format_context(); return 0; }
6132 if (pkg-config
--exists libavformat
>> "$TMPLOG" 2>&1 ) ; then
6133 _inc_libavformat
=`pkg-config --cflags libavformat`
6134 _ld_libavformat
=`pkg-config --libs libavformat`
6135 cc_check
$_inc_libavformat $_ld_libavformat && _libavformat_so
=yes
6136 elif cc_check
$_ld_lm -lavformat ; then
6139 if test "$_libavformat_so" == yes ; then
6140 _res_comment
="using libavformat.so, but static libavformat is recommended"
6143 echores
"$_libavformat_so"
6146 if test "$_libpostproc" != yes ; then
6147 echocheck
"FFmpeg libpostproc (dynamic)"
6148 if test "$_libpostproc_so" = auto
; then
6151 #define USE_LIBPOSTPROC 1
6152 #include <inttypes.h>
6153 #include <postproc/postprocess.h>
6155 pp_get_mode_by_name_and_quality("de", 0);
6158 if cc_check
-lpostproc $_ld_lm ; then
6160 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
6163 echores
"$_libpostproc_so"
6166 _def_libavcodec
='#undef USE_LIBAVCODEC'
6167 _def_libavcodec_so
='#undef USE_LIBAVCODEC_SO'
6168 if test "$_libavcodec" = yes ; then
6169 _def_libavcodec
='#define USE_LIBAVCODEC 1'
6170 _ld_libavcodec
='libavcodec/libavcodec.a'
6171 _dep_libavcodec
='libavcodec/libavcodec.a'
6172 _codecmodules
="libavcodec $_codecmodules"
6173 if test "$_libavutil" = yes; then
6174 _ld_libavutil
='libavutil/libavutil.a'
6175 _dep_libavutil
='libavutil/libavutil.a'
6177 elif test "$_libavcodec_so" = yes ; then
6178 _def_libavcodec
='#define USE_LIBAVCODEC 1'
6179 _def_libavcodec_so
='#define USE_LIBAVCODEC_SO 1'
6180 test "$_ld_libavcodec" || _ld_libavcodec
='-lavcodec'
6181 _codecmodules
="libavcodec.so $_codecmodules"
6183 _nocodecmodules
="libavcodec $_nocodecmodules"
6186 _def_libavformat
='#undef USE_LIBAVFORMAT'
6187 _def_libavformat_so
='#undef USE_LIBAVFORMAT_SO'
6188 _def_libavformat_win32
='#undef CONFIG_WIN32'
6189 if test "$_libavformat" = yes ; then
6190 _def_libavformat
='#define USE_LIBAVFORMAT 1'
6191 _ld_libavformat
='libavformat/libavformat.a'
6192 _dep_libavformat
='libavformat/libavformat.a'
6194 _def_libavformat_win32
='#define CONFIG_WIN32 1'
6197 if test "$_libavformat_so" = yes ; then
6198 _def_libavformat_so
='#define USE_LIBAVFORMAT_SO 1'
6199 test "$_ld_libavformat" || _ld_libavformat
='-lavformat'
6201 _def_libavformat_win32
='#define CONFIG_WIN32 1'
6206 _def_libpostproc
='#undef USE_LIBPOSTPROC'
6207 _def_libpostproc_so
='#undef USE_LIBPOSTPROC_SO'
6208 if test "$_libpostproc" = yes ; then
6209 _def_libpostproc
='#define USE_LIBPOSTPROC 1'
6210 _ld_libpostproc
='libavcodec/libpostproc/libpostproc.a'
6211 _dep_libpostproc
='libavcodec/libpostproc/libpostproc.a'
6213 if test "$_libpostproc_so" = yes ; then
6214 _def_libpostproc_so
='#define USE_LIBPOSTPROC_SO 1'
6215 _ld_libpostproc
='-lpostproc'
6219 echocheck
"amr narrowband"
6220 if test "$_amr_nb" = auto
; then
6222 if test -f libavcodec
/amr_float
/sp_dec.c
; then
6223 if test "$_libavcodec" = yes ; then
6226 _res_comment
="libavcodec (static) is required by amr_nb, sorry"
6230 if test "$_amr_nb" = yes ; then
6231 _def_amr_nb
='#define AMR_NB 1'
6233 _def_amr_nb
='#undef AMR_NB'
6235 echores
"$_amr_nb $_echomsg"
6237 echocheck
"amr narrowband, fixed point"
6238 if test "$_amr_nb_fixed" = auto
; then
6240 if test -f libavcodec
/amr
/dtx_dec.c
; then
6241 if test "$_libavcodec" = yes ; then
6242 if test "$_amr_nb" = no
; then
6245 _res_comment
="disabled by amr_nb"
6248 _res_comment
="libavcodec (static) is required by amr_nb-fixed, sorry"
6252 if test "$_amr_nb_fixed" = yes ; then
6253 _def_amr_nb
='#define AMR_NB 1'
6254 _def_amr_nb_fixed
='#define AMR_NB_FIXED 1'
6257 _def_amr_nb_fixed
='#undef AMR_NB_FIXED'
6259 echores
"$_amr_nb_fixed"
6261 if test "$_amr_nb" = yes ; then
6262 _codecmodules
="amr_nb $_codecmodules"
6264 _nocodecmodules
="amr_nb $_nocodecmodules"
6267 echocheck
"amr wideband"
6268 if test "$_amr_wb" = auto
; then
6270 if test -f libavcodec
/amrwb_float
/dec_dtx.c
; then
6271 if test "$_libavcodec" = yes ; then
6274 _res_comment
="libavcodec (static) is required by amr_wb, sorry"
6278 if test "$_amr_wb" = yes ; then
6279 _def_amr_wb
='#define AMR_WB 1'
6280 _codecmodules
="amr_wb $_codecmodules"
6282 _def_amr_wb
='#undef AMR_WB'
6283 _nocodecmodules
="amr_wb $_nocodecmodules"
6287 echocheck
"libdv-0.9.5+"
6288 if test "$_libdv" = auto
; then
6291 #include <libdv/dv.h>
6292 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6294 cc_check
-ldv $_ld_lm && _libdv
=yes
6296 if test "$_libdv" = yes ; then
6297 _def_libdv
='#define HAVE_LIBDV095 1'
6299 _codecmodules
="libdv $_codecmodules"
6301 _def_libdv
='#undef HAVE_LIBDV095'
6302 _nocodecmodules
="libdv $_nocodecmodules"
6307 if test "$_zr" = auto
; then
6308 #36067's seem to identify themselves as 36057PQC's, so the line
6309 #below should work for 36067's and 36057's.
6310 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
6316 if test "$_zr" = yes ; then
6317 if test "$_libavcodec" = yes ; then
6318 _def_zr
='#define HAVE_ZR 1'
6319 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6320 _vomodules
="zr zr2 $_vomodules"
6322 _res_comment
="libavcodec (static) is required by zr, sorry"
6323 _novomodules
="zr $_novomodules"
6324 _def_zr
='#undef HAVE_ZR'
6327 _def_zr
='#undef HAVE_ZR'
6328 _novomodules
="zr zr2 $_novomodules"
6333 if test "$_bl" = yes ; then
6334 _def_bl
='#define HAVE_BL 1'
6335 _vosrc
="$_vosrc vo_bl.c"
6336 _vomodules
="bl $_vomodules"
6338 _def_bl
='#undef HAVE_BL'
6339 _novomodules
="bl $_novomodules"
6346 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6348 _ld_xvid
="$_ld_xvid -lxvidcore"
6349 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid $_ld_lm ; then
6351 _def_xvid3
='#define HAVE_XVID3 1'
6352 _def_xvid4
='#undef HAVE_XVID4'
6353 _codecmodules
="xvid $_codecmodules"
6357 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6359 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid $_ld_lm ; then
6361 _def_xvid3
='#undef HAVE_XVID3'
6362 _def_xvid4
='#define HAVE_XVID4 1'
6363 _codecmodules
="xvid $_codecmodules"
6367 _def_xvid3
='#undef HAVE_XVID3'
6368 _def_xvid4
='#undef HAVE_XVID4'
6369 _nocodecmodules
="xvid $_nocodecmodules"
6375 _def_decore_xvid
='#undef DECORE_XVID'
6376 _def_encore_xvid
='#undef ENCORE_XVID'
6377 if test "$_xvid" = yes ; then
6378 echocheck
"DivX4 compatibility in XviD"
6381 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6383 cc_check
$_ld_lm "$_ld_xvid" && _xvidcompat
=yes
6384 echores
"$_xvidcompat"
6389 #include <inttypes.h>
6392 #error We do not support old versions of x264. Get the latest from SVN.
6394 int main(void) { x264_encoder_open((void*)0); return 0; }
6396 _ld_x264
="$_ld_x264 -lx264 $_ld_pthread"
6397 if test "$_x264" != no
&& \
6398 ( cc_check
$_inc_x264 $_ld_x264 $_ld_lm || \
6399 ( test "$_x11" = yes && cc_check
$_inc_x264 $_inc_x11 $_ld_x264 $_ld_x11 $_ld_lm )) ; \
6402 _def_x264
='#define HAVE_X264 1'
6403 _codecmodules
="x264 $_codecmodules"
6407 _def_x264
='#undef HAVE_X264'
6408 _nocodecmodules
="x264 $_nocodecmodules"
6412 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
6413 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
6416 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
6418 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
6420 _ld_decore
='-ldivxdecore'
6421 _def_decore
='#define NEW_DECORE 1'
6422 _def_divx
='#define USE_DIVX'
6423 _def_divx5
='#undef DECORE_DIVX5'
6424 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6425 _codecmodules
="divx4linux $_codecmodules"
6426 echores
"DivX4linux (with libdivxdecore.so)"
6428 # if test "$_divx4linux" != no ; then
6430 # OdivxPP disabled because of:
6431 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
6434 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
6436 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
6438 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
6439 _ld_decore
='-ldivxdecore'
6440 _def_decore
='#define NEW_DECORE 1'
6441 _def_divx
='#define USE_DIVX'
6442 _def_divx5
='#define DECORE_DIVX5 1'
6443 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
6444 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6445 _codecmodules
="divx5linux $_codecmodules"
6446 _nocodecmodules
="divx4linux $_nocodecmodules"
6447 echores
"DivX5linux (with libdivxdecore.so)"
6448 elif test "$_opendivx" != no
; then
6450 _ld_decore
='opendivx/libdecore.a'
6451 _def_decore
='#undef NEW_DECORE'
6452 _def_divx
='#define USE_DIVX'
6453 _def_divx5
='#undef DECORE_DIVX5'
6454 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
6455 _codecmodules
="opendivx $_codecmodules"
6456 _nocodecmodules
="divx5linux $_nocodecmodules"
6458 elif test "$_xvidcompat" = yes ; then
6461 _def_decore
='#define NEW_DECORE 1'
6462 _def_divx
='#define USE_DIVX 1'
6463 _def_divx5
='#undef DECORE_DIVX5'
6464 _def_decore_xvid
='#define DECORE_XVID 1'
6465 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6466 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
6467 echores
"XviD compat."
6471 _def_decore
='#undef NEW_DECORE'
6472 _def_divx
='#undef USE_DIVX'
6473 _def_divx5
='#undef DECORE_DIVX5'
6474 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
6475 _nocodecmodules
="opendivx $_nocodecmodules"
6481 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
6482 if test "$_mencoder" != no
; then
6484 echocheck
"libmp3lame (for mencoder)"
6486 _def_mp3lame_preset
='#undef HAVE_MP3LAME_PRESET'
6487 _def_mp3lame_preset_medium
='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6489 #include <lame/lame.h>
6490 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; }
6492 # Note: libmp3lame usually depends on vorbis
6493 cc_check
-lmp3lame $_ld_vorbis $_ld_lm && tmp_run
&& _mp3lame
=yes
6494 if test "$_mp3lame" = yes ; then
6495 _def_mp3lame
="#define HAVE_MP3LAME"
6496 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
6498 #include <lame/lame.h>
6499 int main(void) { int p = STANDARD_FAST; return 0; }
6501 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset
="#define HAVE_MP3LAME_PRESET"
6503 #include <lame/lame.h>
6504 int main(void) { int p = MEDIUM_FAST; return 0; }
6506 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium
="#define HAVE_MP3LAME_PRESET_MEDIUM"
6508 _def_mp3lame
='#undef HAVE_MP3LAME'
6513 echocheck
"DivX4linux encore (for mencoder)"
6515 #include <encore2.h>
6516 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
6518 if test "$_divx4linux" != no
&& cc_check
-ldivxencore $_ld_lm ; then
6519 _def_encore
='#define HAVE_DIVX4ENCORE 1'
6520 _ld_encore
='-ldivxencore'
6521 echores
"DivX4linux (with libdivxencore.so)"
6522 elif test "$_xvidcompat" = yes ; then
6523 _def_encore
='#define HAVE_DIVX4ENCORE 1'
6525 _def_encore_xvid
='#define ENCORE_XVID 1'
6526 echores
"XviD compat."
6528 _def_encore
='#undef HAVE_DIVX4ENCORE'
6534 echocheck
"mencoder"
6535 _mencoder_flag
='#undef HAVE_MENCODER'
6536 if test "$_mencoder" = yes ; then
6537 _mencoder_flag
='#define HAVE_MENCODER'
6539 echores
"$_mencoder"
6541 echocheck
"fastmemcpy"
6542 # fastmemcpy check is done earlier with tests of CPU & binutils features
6543 if test "$_fastmemcpy" = yes ; then
6544 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
6546 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
6548 echores
"$_fastmemcpy"
6550 echocheck
"UniquE RAR File Library"
6551 if test "$_unrarlib" = yes ; then
6552 _def_unrarlib
='#define USE_UNRARLIB 1'
6554 _def_unrarlib
='#undef USE_UNRARLIB'
6556 echores
"$_unrarlib"
6558 echocheck
"TV interface"
6559 if test "$_tv" = yes ; then
6560 _def_tv
='#define USE_TV 1'
6561 _inputmodules
="tv $_inputmodules"
6563 _noinputmodules
="tv $_noinputmodules"
6564 _def_tv
='#undef USE_TV'
6568 echocheck
"EDL support"
6569 if test "$_edl" = yes ; then
6570 _def_edl
='#define USE_EDL'
6571 _inputmodules
="edl $_inputmodules"
6573 _noinputmodules
="edl $_noinputmodules"
6574 _def_edl
='#undef USE_EDL'
6578 echocheck
"*BSD BrookTree 848 TV interface"
6579 if test "$_tv_bsdbt848" = auto
; then
6581 if test "$_tv" = yes ; then
6583 #include <sys/types.h>
6584 #if defined(__NetBSD__)
6585 #include <dev/ic/bt8xx.h>
6587 #include <machine/ioctl_bt848.h>
6589 int main(void) { return 0; }
6591 cc_check
&& _tv_bsdbt848
=yes
6594 if test "$_tv_bsdbt848" = yes ; then
6595 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
6596 _inputmodules
="tv-bsdbt848 $_inputmodules"
6598 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
6599 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
6601 echores
"$_tv_bsdbt848"
6603 echocheck
"Video 4 Linux TV interface"
6604 if test "$_tv_v4l" = auto
; then
6606 if test "$_tv" = yes && linux
; then
6609 #include <linux/videodev.h>
6610 int main(void) { return 0; }
6612 cc_check
&& _tv_v4l
=yes
6615 if test "$_tv_v4l" = yes ; then
6616 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6617 _inputmodules
="tv-v4l $_inputmodules"
6619 _noinputmodules
="tv-v4l $_noinputmodules"
6620 _def_tv_v4l
='#undef HAVE_TV_V4L'
6625 echocheck
"Video 4 Linux 2 TV interface"
6626 if test "$_tv_v4l2" = auto
; then
6628 if test "$_tv" = yes && linux
; then
6631 #include <linux/types.h>
6632 #include <linux/videodev2.h>
6633 int main(void) { return 0; }
6635 cc_check
&& _tv_v4l2
=yes
6638 if test "$_tv_v4l2" = yes ; then
6639 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
6640 _inputmodules
="tv-v4l2 $_inputmodules"
6642 _noinputmodules
="tv-v4l2 $_noinputmodules"
6643 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
6648 echocheck
"audio select()"
6649 if test "$_select" = no
; then
6650 _def_select
='#undef HAVE_AUDIO_SELECT'
6651 elif test "$_select" = yes ; then
6652 _def_select
='#define HAVE_AUDIO_SELECT 1'
6658 # FIXME network check
6659 if test "$_network" != no
; then
6660 _def_network
='#define MPLAYER_NETWORK 1'
6661 _ld_network
="$_ld_sock"
6662 _inputmodules
="network $_inputmodules"
6664 _noinputmodules
="network $_noinputmodules"
6665 _def_network
='#undef MPLAYER_NETWORK'
6671 if not beos
&& test "$_ftp" != no
; then
6672 _def_ftp
='#define HAVE_FTP 1'
6673 _inputmodules
="ftp $_inputmodules"
6675 _noinputmodules
="ftp $_noinputmodules"
6676 _def_ftp
='#undef HAVE_FTP'
6680 echocheck
"vstream client"
6681 if test "$_vstream" = auto
; then
6684 #include <vstream-client.h>
6685 void vstream_error(const char *format, ... ) {}
6686 int main(void) { vstream_start(); return 0; }
6688 cc_check
-lvstream-client && _vstream
=yes
6690 if test "$_vstream" = yes ; then
6691 _def_vstream
='#define HAVE_VSTREAM 1'
6692 _inputmodules
="vstream $_inputmodules"
6693 _ld_vstream
='-lvstream-client'
6695 _noinputmodules
="vstream $_noinputmodules"
6696 _def_vstream
='#undef HAVE_VSTREAM'
6701 echocheck
"byte order"
6702 if test "$_big_endian" = auto
; then
6704 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6705 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6707 char* s = (char*)ascii_name;
6712 if strings $TMPO |
grep -l MPlayerBigEndian
>/dev
/null
; then
6718 echo -n "failed to autodetect byte order, defaulting to "
6721 if test "$_big_endian" = yes ; then
6722 _byte_order
='big-endian'
6723 _def_words_endian
='#define WORDS_BIGENDIAN 1'
6725 _byte_order
='little-endian'
6726 _def_words_endian
='#undef WORDS_BIGENDIAN'
6728 echores
"$_byte_order"
6730 echocheck
"OSD menu"
6731 if test "$_menu" = yes ; then
6732 _def_menu
='#define HAVE_MENU 1'
6734 _def_menu
='#undef HAVE_MENU'
6738 # Check to see if they want QTX codecs enabled
6739 echocheck
"QTX codecs"
6740 if test "$_qtx" = auto
; then
6743 if test "$_qtx" = yes ; then
6744 _def_qtx
='#define USE_QTX_CODECS 1'
6745 _codecmodules
="qtx $_codecmodules"
6747 _def_qtx
='#undef USE_QTX_CODECS'
6748 _nocodecmodules
="qtx $_nocodecmodules"
6753 echocheck
"Subtitles sorting"
6754 if test "$_sortsub" = yes ; then
6755 _def_sortsub
='#define USE_SORTSUB 1'
6757 _def_sortsub
='#undef USE_SORTSUB'
6762 echocheck
"XMMS inputplugin support"
6763 if test "$_xmms" = yes ; then
6765 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6766 if test -z "$_xmmsplugindir" ; then
6767 _xmmsplugindir
=`xmms-config --input-plugin-dir`
6769 if test -z "$_xmmslibdir" ; then
6770 _xmmslibdir
=`xmms-config --exec-prefix`/lib
6773 if test -z "$_xmmsplugindir" ; then
6774 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6776 if test -z "$_xmmslibdir" ; then
6777 _xmmslibdir
=/usr
/lib
6781 _def_xmms
='#define HAVE_XMMS 1'
6783 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
6785 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6788 _def_xmms
='#undef HAVE_XMMS'
6793 if test "$_inet6" = auto
; then
6795 #include <sys/types.h>
6796 #include <sys/socket.h>
6797 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6804 if test "$_inet6" = yes ; then
6805 _def_inet6
='#define HAVE_AF_INET6 1'
6807 _def_inet6
='#undef HAVE_AF_INET6'
6812 echocheck
"gethostbyname2"
6813 if test "$_gethostbyname2" = auto
; then
6815 #include <sys/types.h>
6816 #include <sys/socket.h>
6818 int main(void) { gethostbyname2("", AF_INET); }
6826 if test "$_gethostbyname2" = yes ; then
6827 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
6829 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
6831 echores
"$_gethostbyname2"
6833 # --------------- GUI specific tests begin -------------------
6836 if test "$_gui" = yes ; then
6838 # Required libraries
6839 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6840 test "$_x11" != yes && die
"X11 support required for GUI compilation"
6842 echocheck
"XShape extension"
6844 if test "$_x11" = yes ; then
6846 #include <X11/Xlib.h>
6847 #include <X11/Xproto.h>
6848 #include <X11/Xutil.h>
6849 #include <X11/extensions/shape.h>
6852 char *name = ":0.0";
6855 int eventbase, errorbase;
6856 if (getenv("DISPLAY"))
6857 name=getenv("DISPLAY");
6858 wsDisplay=XOpenDisplay(name);
6859 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6861 XCloseDisplay(wsDisplay);
6865 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
6867 if test "$_xshape" = yes ; then
6868 _def_xshape
='#define HAVE_XSHAPE 1'
6870 die
"The GUI requires the X11 extension XShape (which was not found)."
6875 if test "$_gtk1" = no
; then
6877 echocheck
"GTK+ version"
6879 if pkg-config gtk
+-2.0
--exists ; then
6880 _gtk
=`pkg-config gtk+-2.0 --modversion 2>/dev/null`
6881 _inc_gtk
=`pkg-config gtk+-2.0 --cflags 2>/dev/null`
6882 _ld_gtk
=`pkg-config gtk+-2.0 --libs 2>/dev/null`
6886 if pkg-config glib-2.0
--exists ; then
6887 echocheck
"glib version"
6888 _glib
=`pkg-config glib-2.0 --modversion 2>/dev/null`
6889 _inc_glib
=`pkg-config glib-2.0 --cflags 2>/dev/null`
6890 _ld_glib
=`pkg-config glib-2.0 --libs 2>/dev/null`
6893 _def_gui
='#define HAVE_NEW_GUI 1'
6894 _def_gtk2_gui
='#define HAVE_GTK2_GUI 1'
6895 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
6898 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
6901 echo "GTK-2 devel packages were not found, trying GTK 1.2"
6906 if test "$_gtk1" = yes ; then
6907 # Check for old GTK (1.2.x)
6908 echocheck
"GTK version"
6909 if test -z "$_gtkconfig" ; then
6910 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
6911 _gtkconfig
="gtk-config"
6912 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
6913 _gtkconfig
="gtk12-config"
6915 die
"The GUI requires GTK devel packages (which were not found)."
6918 _gtk
=`$_gtkconfig --version 2>&1`
6919 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
6920 _ld_gtk
=`$_gtkconfig --libs 2>&1`
6921 echores
"$_gtk (using $_gtkconfig)"
6924 echocheck
"glib version"
6925 if test -z "$_glibconfig" ; then
6926 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
6927 _glibconfig
="glib-config"
6928 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
6929 _glibconfig
="glib12-config"
6931 die
"The GUI requires GLib devel packages (which were not found)"
6934 _glib
=`$_glibconfig --version 2>&1`
6935 _inc_glib
=`$_glibconfig --cflags 2>&1`
6936 _ld_glib
=`$_glibconfig --libs 2>&1`
6937 echores
"$_glib (using $_glibconfig)"
6939 _def_gui
='#define HAVE_NEW_GUI 1'
6940 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
6941 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
6944 echo "Creating Gui/config.mak"
6945 cat > Gui
/config.mak
<< EOF
6946 # -------- Generated by configure -----------
6950 GLIBINC = $_inc_glib
6951 GLIBLIBS = $_ld_glib
6956 _def_gui
='#undef HAVE_NEW_GUI'
6957 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
6959 # --------------- GUI specific tests end -------------------
6963 #############################################################################
6965 # Checking for CFLAGS
6967 if test "$_profile" != "" ||
test "$_debug" != "" ; then
6968 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6969 if test "$_cc_major" -ge "3" ; then
6970 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6973 elif test -z "$CFLAGS" ; then
6974 CFLAGS
="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6975 # always compile with '-g' if .developer:
6976 if test -f ".developer" ; then
6978 if test "$_crash_debug" = auto
&& not mingw32
; then
6987 echocheck
"automatic gdb attach"
6988 if test "$_crash_debug" = yes ; then
6989 _def_crash_debug
='#define CRASH_DEBUG 1'
6991 _def_crash_debug
='#undef CRASH_DEBUG'
6994 echores
"$_crash_debug"
6997 CFLAGS
="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN"
6998 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6999 CFLAGS
="$CFLAGS -no-cpp-precomp"
7002 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7003 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
7006 # use flag for HPUX missing setenv()
7007 CFLAGS
="$CFLAGS -DHPUX"
7011 CFLAGS
="$CFLAGS -D_REENTRANT"
7013 # FIXME bsd needs this so maybe other OS'es
7014 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
7016 # 64 bit file offsets?
7017 if test "$_largefiles" = yes || freebsd
; then
7018 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7019 if test "$_dvdread" = yes ; then
7020 # dvdread support requires this (for off64_t)
7021 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
7025 echocheck
"compiler support for -fno-PIC"
7028 int main(void) { return 0; }
7030 if cc_check
-fno-PIC ; then
7031 CFLAGS
="-fno-PIC $CFLAGS"
7037 echores
"only used for x86"
7040 echocheck
"compiler support for noexecstack"
7042 int main(void) { return 0; }
7044 if cc_check
-Wl,-z,noexecstack
; then
7045 _ld_extra
="-Wl,-z,noexecstack $_ld_extra"
7051 echocheck
"ftello()"
7052 # if we don't have ftello use the osdep/ compatibility module
7055 #include <sys/types.h>
7056 int main (void) { ftello(stdin); return 0; }
7059 cc_check
&& _ftello
=yes
7060 if test "$_ftello" = yes ; then
7061 _def_ftello
='#define HAVE_FTELLO 1'
7063 _def_ftello
='#undef HAVE_FTELLO'
7067 # Determine OS dependent libs
7069 _def_confwin32
='#define WIN32'
7070 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7071 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7072 CFLAGS
="$CFLAGS -D__CYGWIN__"
7076 _confwin32
='TARGET_WIN32 = yes'
7078 _confwin32
='TARGET_WIN32 = no'
7081 # Dynamic linking flags
7082 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7084 bsd
&& _ld_dl_dynamic
='-rdynamic'
7085 if test "$_real" = yes ||
test "$_xanim" = yes && not win32
&& not qnx
&& not darwin
; then
7086 _ld_dl_dynamic
='-rdynamic'
7089 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7090 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
7092 x86
&& _ld_arch
="$_ld_arch -li386"
7095 _def_debug
='#undef MP_DEBUG'
7096 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
7098 _def_linux
='#undef TARGET_LINUX'
7099 linux
&& _def_linux
='#define TARGET_LINUX 1'
7101 # TODO cleanup the VIDIX stuff here
7103 _def_vidix
='#define CONFIG_VIDIX 1'
7104 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
7105 if test "$_vidix" = yes; then
7106 _vosrc
="$_vosrc vo_cvidix.c"
7107 _vomodules
="cvidix $_vomodules"
7109 _novomodules
="cvidix $_novomodules"
7111 if test "$_vidix" = yes && win32
; then
7112 _vosrc
="$_vosrc vo_winvidix.c"
7113 _vomodules
="winvidix $_vomodules"
7114 _ld_win32libs
="-lgdi32 $_ld_win32libs"
7116 _novomodules
="winvidix $_novomodules"
7118 if test "$_vidix" = yes && test "$_x11" = yes; then
7119 _vosrc
="$_vosrc vo_xvidix.c"
7120 _vomodules
="xvidix $_vomodules"
7122 _novomodules
="xvidix $_novomodules"
7126 echocheck
"joystick"
7127 _def_joystick
='#undef HAVE_JOYSTICK'
7128 if test "$_joystick" = yes ; then
7130 # TODO add some check
7131 _def_joystick
='#define HAVE_JOYSTICK 1'
7133 _joystick
="no (unsupported under $system_name)"
7136 echores
"$_joystick"
7139 if test "$_lirc" = auto
; then
7141 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
7143 #include <lirc/lirc_client.h>
7144 int main(void) { return 0; }
7146 cc_check
-llirc_client && _lirc
=yes
7149 if test "$_lirc" = yes ; then
7150 _def_lirc
='#define HAVE_LIRC 1'
7151 _ld_lirc
='-llirc_client'
7153 _def_lirc
='#undef HAVE_LIRC'
7158 if test "$_lircc" = auto
; then
7161 #include <lirc/lircc.h>
7162 int main(void) { return 0; }
7164 cc_check
-llircc && _lircc
=yes
7166 if test "$_lircc" = yes ; then
7167 _def_lircc
='#define HAVE_LIRCC 1'
7170 _def_lircc
='#undef HAVE_LIRCC'
7174 #############################################################################
7175 echo "Creating config.mak"
7176 cat > config.mak
<< EOF
7177 # -------- Generated by configure -----------
7180 MAN_LANG = $MAN_LANG
7181 TARGET_OS = $system_name
7183 prefix = \$(DESTDIR)$_prefix
7184 BINDIR = \$(DESTDIR)$_bindir
7185 DATADIR = \$(DESTDIR)$_datadir
7186 MANDIR = \$(DESTDIR)$_mandir
7187 CONFDIR = \$(DESTDIR)$_confdir
7188 LIBDIR = \$(DESTDIR)$_libdir
7189 # FFmpeg uses libdir instead of LIBDIR
7197 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
7198 EXTRA_INC = $_inc_extra
7199 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC)
7200 STRIPBINARIES = $_stripbinaries
7202 HELP_FILE = $_mp_help
7205 PRG_MENCODER = $_prg_mencoder
7209 MPLAYER_NETWORK = $_network
7210 STREAMING_LIVE555 = $_live
7211 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
7215 CONFIG_MP3LAME = $_mp3lame
7217 I18NLIBS = $_i18n_libs
7218 MATROSKA = $_matroska_internal
7220 OPENDIVX = $_opendivx
7224 LIBMPEG2 = $_libmpeg2
7225 TREMOR = $_tremor_internal
7226 TREMOR_FLAGS = $_tremor_flags
7229 MUSEPACK = $_musepack
7231 UNRARLIB = $_unrarlib
7236 EXTRA_LIB = $_ld_extra
7237 Z_LIB = $_ld_static $_ld_zlib
7239 WIN32_LIB = $_ld_win32libs
7240 STATIC_LIB = $_ld_static
7241 ENCA_LIB = $_ld_enca
7242 HAVE_PTHREADS = $_pthreads
7244 LIBC_LIB = $_ld_libC
7249 HAVE_XVMC_ACCEL = $_xvmc
7254 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7257 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
7259 MLIB_LIB = $_ld_mlib
7260 MLIB_INC = $_inc_mlib
7261 DXR2_INC = $_inc_dxr2
7267 SVGA_LIB = $_ld_svga
7268 VESA_LIB = $_ld_vesa
7270 CACA_INC = $_inc_caca
7271 CACA_LIB = $_ld_caca
7274 ALSA_LIB = $_ld_alsa
7276 ARTS_LIB = $_ld_arts
7277 ARTS_INC = $_inc_arts
7280 POLYP_LIB = $_ld_polyp
7281 POLYP_INC = $_inc_polyp
7282 JACK_LIB = $_ld_jack
7283 JACK_INC = $_inc_jack
7284 OPENAL_LIB = $_ld_openal
7285 OPENAL_INC = $_inc_openal
7286 SGIAUDIO_LIB = $_ld_sgiaudio
7288 # input/demuxer/codecs
7289 TERMCAP_LIB = $_ld_termcap
7290 LIRC_LIB = $_ld_lirc
7291 LIRCC_LIB = $_ld_lircc
7292 HAVE_DVD = $_have_dvd
7294 DVDREAD_LIB = $_ld_dvdread
7299 W32_DEP = $_dep_win32
7300 W32_LIB = $_ld_win32
7301 DS_DEP = $_dep_dshow
7303 AV_DEP = $_dep_libavcodec $_dep_libavformat $_dep_libavutil $_dep_libpostproc
7304 AV_LIB = $_ld_libavcodec $_ld_libavformat $_ld_libavutil $_ld_libpostproc
7305 CONFIG_LIBAVUTIL = $_libavutil
7306 CONFIG_LIBAVCODEC = $_libavcodec
7307 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7308 CONFIG_LIBAVFORMAT = $_libavformat
7309 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7310 CONFIG_LIBPOSTPROC = $_libpostproc
7311 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7314 FAME_LIB = $_ld_fame
7315 MP1E_DEP = $_dep_mp1e
7316 MP1E_LIB = $_ld_mp1e
7317 ARCH_LIB = $_ld_arch $_ld_iconv
7319 XVID_INC = $_inc_xvid
7320 XVID_LIB = $_ld_xvid
7322 X264_INC = $_inc_x264
7323 X264_LIB = $_ld_x264
7324 CONFIG_DTS = $_libdts
7325 DTS_INC = $_inc_libdts
7326 DTS_LIB = $_ld_libdts
7327 DECORE_LIB = $_ld_decore $_ld_mp3lame
7328 MENCODER = $_mencoder
7329 ENCORE_LIB = $_ld_encore $_ld_mp3lame
7330 DIRECTFB_INC = $_inc_directfb
7331 DIRECTFB_LIB = $_ld_directfb
7332 CDPARANOIA_INC = $_inc_cdparanoia
7333 CDPARANOIA_LIB = $_ld_cdparanoia
7334 FREETYPE_INC = $_inc_freetype
7335 FREETYPE_LIB = $_ld_freetype
7336 FONTCONFIG_INC = $_inc_fontconfig
7337 FONTCONFIG_LIB = $_ld_fontconfig
7338 FRIBIDI_INC = $_inc_fribidi
7339 FRIBIDI_LIB = $_ld_fribidi
7340 LIBCDIO_INC = $_inc_libcdio
7341 LIBCDIO_LIB = $_ld_libcdio
7342 LIBLZO_LIB= $_ld_liblzo
7344 VORBIS_LIB = $_ld_vorbis $_ld_libdv
7345 SPEEX_LIB = $_ld_speex
7346 THEORA_LIB = $_ld_theora
7347 FAAD_LIB = $_ld_faad
7348 INTERNAL_FAAD = $_faad_internal
7349 SMBSUPPORT_LIB = $_ld_smb
7350 XMMS_PLUGINS = $_xmms
7351 XMMS_LIB = $_xmms_lib
7353 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7354 MACOSX_BUNDLE = $_macosx_bundle
7355 MACOSX_FRAMEWORKS = $_macosx_frameworks
7356 MACOSX_COREVIDEO = $_macosx_corevideo
7358 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
7359 TOOLAME_LIB=$_toolame_lib
7361 TWOLAME_LIB=$_twolame_lib
7362 MUSEPACK_LIB = $_ld_musepack
7366 AMR_NB_FIXED=$_amr_nb_fixed
7368 `echo $_libavcodecs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7372 # --- Some stuff for autoconfigure ----
7377 TARGET_MMX2 = $_mmx2
7378 TARGET_3DNOW = $_3dnow
7379 TARGET_3DNOWEX = $_3dnowex
7381 TARGET_ALTIVEC = $_altivec
7386 GTKLIB = $_ld_static $_ld_gtk
7387 GLIBLIB = $_ld_static $_ld_glib
7388 GTK_LIBS = $_ld_static $_ld_gui
7394 #############################################################################
7395 echo "Creating config.h"
7396 cat > config.h
<< EOF
7397 /* -------- This file has been automatically generated by configure ---------
7398 Note: Any changes in it will be lost when you run configure again. */
7400 /* Protect against multiple inclusion */
7401 #ifndef MPLAYER_CONFIG_H
7402 #define MPLAYER_CONFIG_H 1
7404 /* use GNU internationalization */
7407 /* Runtime CPU detection */
7408 $_def_runtime_cpudetection
7410 /* Dynamic a/v plugins */
7411 $_def_dynamic_plugins
7413 /* "restrict" keyword */
7414 $_def_restrict_keyword
7416 /* __builtin_expect branch prediction hint */
7417 $_def_builtin_expect
7418 #ifdef HAVE_BUILTIN_EXPECT
7419 #define likely(x) __builtin_expect ((x) != 0, 1)
7420 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7422 #define likely(x) (x)
7423 #define unlikely(x) (x)
7426 /* attribute(used) as needed by some compilers */
7427 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7428 # define attribute_used __attribute__((used))
7430 # define attribute_used
7433 #define PREFIX "$_prefix"
7438 /* enable/disable SIGHANDLER */
7441 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7444 /* Toggles debugging informations */
7447 /* Toggles colorized output */
7448 //#define MSG_USE_COLORS 1
7450 /* Indicates that libcdio is available for VCD and CD-DA playback */
7453 /* Indicates that Ogle's libdvdread is available for DVD playback */
7456 /* Indicates that dvdread is from libmpdvdkit */
7459 /* Additional options for libmpdvdkit*/
7474 /* Common data directory (for fonts, etc) */
7475 #define MPLAYER_DATADIR "$_datadir"
7476 #define MPLAYER_CONFDIR "$_confdir"
7477 #define MPLAYER_LIBDIR "$_libdir"
7479 /* Define this to compile stream-caching support, it can be enabled via
7480 -cache <kilobytes> */
7481 #define USE_STREAM_CACHE 1
7483 /* Define to include support for XviD/Divx4Linux/OpenDivx */
7486 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
7487 /* You have to change DECORE_LIBS in config.mak, too! */
7490 /* Define if you are using DivX5Linux Decore library */
7493 /* Define if you are using XviD library */
7499 /* Define if you are using the X.264 library */
7502 /* Define to include support for libdv-0.9.5 */
7505 /* If build mencoder */
7508 /* Indicates if XviD/Divx4linux encore is available
7509 Note: for mencoder */
7512 /* Indicates if libmp3lame is available
7513 Note: for mencoder */
7515 $_def_mp3lame_preset
7516 $_def_mp3lame_preset_medium
7518 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
7521 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7522 (use -bps or -nobps commandline option for run-time method selection)
7523 -bps gives better sync for vbr mp3 audio, it is now default */
7524 #define AVI_SYNC_BPS 1
7526 /* Undefine this if you do not want to select mono audio (left or right)
7527 with a stereo MPEG layer 2/3 audio stream. The command line option
7528 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7529 right-only), with 0 being the default.
7531 #define USE_FAKE_MONO 1
7533 /* Undefine this if your sound card driver has no working select().
7534 If you have kernel Oops, player hangups, or just no audio, you should
7535 try to recompile MPlayer with this option disabled! */
7538 /* define this to use iconv(3) function to codepage conversions */
7541 /* define this to use nl_langinfo function */
7544 /* define this to use RTC (/dev/rtc) for video timers */
7547 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7548 #define MAX_OUTBURST 65536
7550 /* set up audio OUTBURST. Do not change this! */
7551 #define OUTBURST 512
7553 /* Define this if your system has the header file for the OSS sound interface */
7556 /* Define this if your system has the header file for the OSS sound interface
7557 * in /usr/include */
7560 /* Define this if your system has the sysinfo header */
7563 /* Define this if your system has ftello() */
7567 /* Need these for FILE and off_t an config.h is usually before other includes*/
7569 #include <sys/types.h>
7570 off_t ftello(FILE *);
7573 /* Define this if your system has the "malloc.h" header file */
7576 /* memalign is mapped to malloc if unsupported */
7578 #ifndef HAVE_MEMALIGN
7579 # define memalign(a,b) malloc(b)
7580 #define MEMALIGN_HACK 1
7583 /* Define this if your system has the "alloca.h" header file */
7586 /* Define this if your system has the "sys/mman.h" header file */
7588 $_def_mman_has_map_failed
7590 /* Define this if you have the elf dynamic linker -ldl library */
7593 /* Define this if you have the kstat kernel statistics library */
7596 /* Define this if you have zlib */
7599 #define CONFIG_ZLIB 1
7602 /* Define this if you have shm support */
7605 /* Define this if your system has scandir & alphasort */
7608 /* Define this if your system has strsep */
7611 /* Define this if your system has strlcpy */
7613 #ifndef HAVE_STRLCPY
7614 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7617 /* Define this if your system has strlcat */
7619 #ifndef HAVE_STRLCAT
7620 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7623 /* Define this if your system has fseeko */
7626 /* Need these for FILE and off_t an config.h is usually before other includes*/
7628 #include <sys/types.h>
7629 int fseeko(FILE *, off_t, int);
7634 /* Define this if your system has vsscanf */
7637 /* Define this if your system has swab */
7640 /* Define this if your system has no posix select */
7641 $_def_no_posix_select
7643 /* Define this if your system has gettimeofday */
7646 /* Define this if your system has glob */
7649 /* Define this if your system has setenv */
7652 int setenv(const char *name, const char *val, int overwrite);
7655 /* Define this if your system has pthreads */
7658 /* Define this if you enabled thread support for libavcodec */
7661 /* LIRC (remote control, see www.lirc.org) support: */
7665 * LIRCCD (LIRC client daemon)
7666 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7670 /* DVD navigation support using libdvdnav */
7672 $_def_dvdnav_version
7674 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7675 #define MPEG12_POSTPROC 1
7677 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7679 $_def_libpostproc_so
7681 /* Define to include support for OpenDivx postprocessing */
7682 $_def_odivx_postprocess
7684 /* Win32 DLL support */
7686 #define WIN32_PATH "$_win32libdir"
7688 /* DirectShow support */
7691 /* Mac OS X specific features */
7693 $_def_macosx_finder_support
7695 $_def_macosx_corevideo
7697 /* Build our Win32-loader */
7700 /* ffmpeg's libavcodec support (requires libavcodec source) */
7704 /* ffmpeg's libavformat support (requires libavformat source) */
7706 $_def_libavformat_so
7707 $_def_libavformat_win32
7709 /* Use libavcodec's decoders */
7710 #define CONFIG_DECODERS 1
7711 /* Use libavcodec's encoders */
7712 #define CONFIG_ENCODERS 1
7714 /* Use libavformat's demuxers */
7715 #define CONFIG_DEMUXERS 1
7716 /* Use libavformat's muxers */
7717 #define CONFIG_MUXERS 1
7719 #define CONFIG_MPEGAUDIO_HP 1
7721 #define CONFIG_GPL 1
7723 /* Use amr codecs from libavcodec (requires amr sources) */
7728 /* Use specific codecs from libavcodec */
7729 `echo $_libavcodecs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
7731 /* Use codec libs included in mplayer CVS / source dist: */
7737 /* Use libfame encoder filter */
7740 /* XAnim DLL support */
7742 /* Default search path */
7745 /* RealPlayer DLL support */
7747 /* Default search path */
7750 /* LIVE555 Streaming Media library support */
7753 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7756 /* Use unrarlib for Vobsubs */
7759 /* gui support, please do not edit this option */
7763 /* Audio output drivers */
7765 $_def_ossaudio_devdsp
7766 $_def_ossaudio_devmixer
7776 $_def_sys_asoundlib_h
7777 $_def_alsa_asoundlib_h
7783 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7785 #undef FAST_OSD_TABLE
7787 /* Enable TV Interface support */
7790 /* Enable EDL support */
7793 /* Enable Video 4 Linux TV interface support */
7796 /* Enable Video 4 Linux 2 TV interface support */
7799 /* Enable *BSD BrookTree TV interface support */
7802 /* Define if your processor stores words with the most significant
7803 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7808 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
7809 have the instruction. */
7812 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7813 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7819 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7824 /* only gcc3 can compile mvi instructions */
7825 $_def_gcc_mvi_support
7827 /* Define this for Cygwin build for win32 */
7830 /* Define this to any prefered value from 386 up to infinity with step 100 */
7831 #define __CPU__ $iproc
7840 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7841 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7843 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7844 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7845 #elif defined(WIN32)
7846 #define DEFAULT_CDROM_DEVICE "D:"
7847 #define DEFAULT_DVD_DEVICE "D:"
7848 #elif defined(SYS_DARWIN)
7849 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7850 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7851 #elif defined(__OpenBSD__)
7852 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7853 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7854 #elif defined(__FreeBSD__)
7855 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
7856 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7858 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7859 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7863 /*----------------------------------------------------------------------------
7865 ** NOTE: Instead of modifying these definitions here, use the
7866 ** --enable/--disable options of the ./configure script!
7867 ** See ./configure --help for details.
7869 *---------------------------------------------------------------------------*/
7871 /* C99 lrintf function available */
7874 /* round function is available */
7877 /* yes, we have inttypes.h */
7878 #define HAVE_INTTYPES_H 1
7880 /* int_fastXY_t emulation */
7883 /* nanosleep support */
7889 /* termcap flag for getch2.c */
7892 /* termios flag for getch2.c */
7897 /* enable PNG support */
7900 /* enable JPEG support */
7903 /* enable PNM support */
7906 /* enable md5sum support */
7909 /* enable GIF support */
7914 /* enable FreeType support */
7917 /* enable Fontconfig support */
7920 /* enable FriBiDi usage */
7923 /* enable ENCA usage */
7926 /* liblzo support */
7929 #define CONFIG_LZO 1
7932 /* libmad support */
7935 /* enable OggVorbis support */
7938 /* enable Tremor as vorbis decoder */
7941 /* enable Speex support */
7944 /* enable musepack support */
7947 /* enable OggTheora support */
7950 /* enable Matroska support */
7953 /* enable FAAD (AAC) support */
7957 /* enable FAAC (AAC encoder) support */
7960 /* enable LADSPA plugin support */
7963 /* enable network */
7966 /* enable ftp support */
7969 /* enable vstream support */
7972 /* enable winsock2 instead of Unix functions*/
7975 /* define this to use inet_aton() instead of inet_pton() */
7978 /* enables / disables cdparanoia support */
7981 /* enables / disables VIDIX usage */
7984 /* enables / disables new input joystick support */
7987 /* enables / disables QTX codecs */
7990 /* enables / disables osd menu */
7993 /* enables / disables subtitles sorting */
7996 /* XMMS input plugin support */
7998 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8000 /* enables inet6 support */
8003 /* do we have gethostbyname2? */
8004 $_def_gethostbyname2
8006 /* Extension defines */
8007 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8008 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
8009 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8010 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
8011 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8012 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8013 $_def_altivec // only define if you have Altivec (G4)
8015 $_def_altivec_h // enables usage of altivec.h
8018 $_def_mlib // Sun mediaLib, available only on solaris
8019 $_def_vis // only define if you have VIS ( ultrasparc )
8021 /* libmpeg2 uses a different feature test macro for mediaLib */
8023 #define LIBMPEG2_MLIB 1
8027 #define SCREEN_SIZE_X 1
8028 #define SCREEN_SIZE_Y 1
8040 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8049 $_def_directfb_version
8072 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8073 #define X11_FULLSCREEN 1
8076 #endif /* MPLAYER_CONFIG_H */
8079 #############################################################################
8081 echo "Creating libvo/config.mak"
8082 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g;s/\.m/\.o/g'`
8083 cat > libvo
/config.mak
<< EOF
8084 include ../config.mak
8085 OPTIONAL_SRCS = $_vosrc
8086 OPTIONAL_OBJS = $_voobj
8089 #############################################################################
8091 echo "Creating libao2/config.mak"
8092 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
8093 cat > libao
2/config.mak
<< EOF
8094 include ../config.mak
8095 OPTIONAL_SRCS = $_aosrc
8096 OPTIONAL_OBJS = $_aoobj
8099 #############################################################################
8101 echo "Creating libaf/config.mak"
8102 _afobj
=`echo $_afsrc | sed -e 's/\.c/\.o/g'`
8103 cat > libaf
/config.mak
<< EOF
8104 include ../config.mak
8105 OPTIONAL_SRCS = $_afsrc
8106 OPTIONAL_OBJS = $_afobj
8109 #############################################################################
8113 Config files successfully generated by ./configure !
8115 Install prefix: $_prefix
8116 Data directory: $_datadir
8117 Config direct.: $_confdir
8119 Byte order: $_byte_order
8120 Optimizing for: $_optimizing
8123 Messages/GUI: $_language
8126 echo -n " Manual pages: $MAN_LANG"
8127 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
8132 Enabled optional drivers:
8133 Input: $_inputmodules
8134 Codecs: $_codecmodules
8135 Audio output: $_aomodules
8136 Video output: $_vomodules
8137 Audio filters: $_afmodules
8138 Disabled optional drivers:
8139 Input: $_noinputmodules
8140 Codecs: $_nocodecmodules
8141 Audio output: $_noaomodules
8142 Video output: $_novomodules
8143 Audio filters: $_noafmodules
8145 'config.h' and 'config.mak' contain your configuration options.
8146 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8147 compile *** DO NOT REPORT BUGS if you tweak these files ***
8149 'make' will now compile MPlayer and 'make install' will install it.
8150 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8155 if test "$_mtrr" = yes ; then
8156 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8160 if test "$_sdl" = "outdated" ; then
8162 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
8163 support has therefore been disabled.
8165 Please upgrade to a more recent version (version 1.1.8 and above are known to
8166 work). You may get this library from: http://www.libsdl.org
8168 You need to rerun ./configure and recompile after updating SDL. If you are
8169 only interested in the libSDL audio drivers, then an older version might work.
8171 Use --enable-sdl to force usage of libSDL.
8177 if test "$_win32" = no
; then
8178 if test "$_win32libdir" ; then
8179 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
8181 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
8184 Create it and copy the DLL files there! You can download the codecs from our
8185 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
8191 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8192 operating system ($system_name). You may encounter a few files that cannot
8193 be played due to missing open source video/audio codec support.
8201 Check $TMPLOG if you wonder why an autodetection failed (check whether
8202 the development headers/packages are installed).
8203 Do not report compilation errors if you used any of the --enable-* options
8204 (except --enable-gui and maybe --enable-debug).
8206 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8210 if test "$_vidix" = no
; then
8212 You've disabled VIDIX. Although it would be better to PORT it instead.
8213 Have a look at the documentation for supported cards!
8218 if test "$_warn_CFLAGS" = yes; then
8221 MPlayer compilation will use the CFLAGS set by you, but:
8223 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8225 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8226 To do so, execute 'CFLAGS= ./configure <options>'
8232 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"