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
24 #############################################################################
26 # Prefer these macros to full length text !
27 # These macros only return an error code - NO display is done
30 cat "$TMPC" >> "$TMPLOG"
32 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $TMPC -o $TMPO $@" >> "$TMPLOG"
34 ( $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra "$TMPC" -o "$TMPO" "$@" ) >> "$TMPLOG" 2>&1
37 echo "ldd $TMPO" >> "$TMPLOG"
38 ( $_ldd "$TMPO" ) >> "$TMPLOG" 2>&1
43 # Display error message, flushes tempfile, exit
48 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
49 echo "Check \"$TMPLOG\" if you do not understand why it failed."
53 # OS test booleans functions
55 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
57 linux
() { issystem
"Linux" ; return "$?" ; }
58 sunos
() { issystem
"SunOS" ; return "$?" ; }
59 hpux
() { issystem
"HP-UX" ; return "$?" ; }
60 irix
() { issystem
"IRIX" ; return "$?" ; }
61 cygwin
() { issystem
"CYGWIN" ; return "$?" ; }
62 freebsd
() { issystem
"FreeBSD" ; return "$?" ; }
63 netbsd
() { issystem
"NetBSD" ; return "$?" ; }
64 bsdos
() { issystem
"BSD/OS" ; return "$?" ; }
65 openbsd
() { issystem
"OpenBSD" ; return "$?" ; }
66 bsd
() { freebsd || netbsd || bsdos || openbsd
; return "$?" ; }
67 qnx
() { issystem
"QNX" ; return "$?" ; }
68 darwin
() { issystem
"Darwin" ; return "$?" ; }
69 gnu
() { issystem
"GNU" ; return "$?" ; }
70 mingw32
() { issystem
"MINGW32" ; return "$?" ; }
71 morphos
() { issystem
"MorphOS" ; return "$?" ; }
72 win32
() { cygwin || mingw32
; return "$?" ; }
73 beos
() { issystem
"BEOS" ; return "$?" ; }
75 # arch test boolean functions
76 # x86/x86pc is used by QNX
79 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
98 # not boolean test: implement the posix shell "!" operator for a
100 # usage: not {command}
101 # returns exit status "success" when the execution of "command"
108 # Use this before starting a check
110 echo "============ Checking for $@ ============" >> "$TMPLOG"
111 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
114 # Use this to echo the results of a check
116 echo "Result is: $@" >> "$TMPLOG"
117 echo "##########################################" >> "$TMPLOG"
121 #############################################################################
123 # Check how echo works in this /bin/sh
125 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
126 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
129 LANGUAGES
=`echo help/help_mp-??.h help/help_mp-??_??.h | sed "s:help/help_mp-\(..\).h:\1:g" | sed "s:help/help_mp-\(.....\).h:\1:g"`
131 for parm
in "$@" ; do
132 if test "$parm" = "--help" ||
test "$parm" = "-help" ||
test "$parm" = "-h" ; then
135 Usage: $0 [OPTIONS]...
138 -h, --help display this help and exit
140 Installation directories:
141 --prefix=DIR use this prefix for installing mplayer [/usr/local]
142 --bindir=DIR use this prefix for installing mplayer binary
144 --datadir=DIR use this prefix for installing machine independent
145 data files (fonts, skins) [PREFIX/share/mplayer]
146 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
147 --confdir=DIR use this prefix for installing configuration files
149 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
152 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
153 --enable-gui enable gmplayer compilation (GTK 1.2 GUI) [disable]
154 --enable-largefiles enable support for files > 2 GBytes [disable]
155 --enable-linux-devfs set default devices to devfs ones [disable]
156 --enable-termcap use termcap database for key codes [autodetect]
157 --enable-termios use termios database for key codes [autodetect]
158 --disable-iconv do not use iconv(3) function [autodetect]
159 --disable-setlocale disable setlocale using in mplayer [autodetect]
160 --disable-langinfo do not use langinfo [autodetect]
161 --enable-lirc enable LIRC (remote control) support [autodetect]
162 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
163 --enable-joystick enable joystick support [disable]
164 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
165 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
166 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
167 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
168 --disable-edl disable EDL (edit decision list) support [enable]
169 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
170 --disable-network disable network support (for: http/mms/rtp) [enable]
171 --enable-winsock2 enable winsock2 usage [autodetect]
172 --enable-smb enable Samba (SMB) input support [autodetect]
173 --enable-live enable LIVE.COM Streaming Media support [autodetect]
174 --disable-dvdread Disable libdvdread support [autodetect]
175 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
176 --disable-cdparanoia Disable cdparanoia support [autodetect]
177 --disable-freetype Disable freetype2 font rendering support [autodetect]
178 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
179 --disable-unrarlib Disable Unique RAR File Library [enabled]
180 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
181 --disable-sortsub Disable subtitles sorting [enabled]
182 --enable-fribidi Enable using the FriBiDi libs [disabled]
183 --disable-enca Disable using ENCA charset oracle library [autodetect]
184 --disable-macosx Disable Mac OS X specific features [autodetect]
185 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
186 --disable-inet6 Disable IPv6 support [autodetect]
187 --disable-gethostbyname2 gethostbyname() function is not provided by the C
189 --disable-ftp Disable ftp support [enabled]
192 --enable-gif enable gif support [autodetect]
193 --enable-png enable png input/output support [autodetect]
194 --enable-jpeg enable jpeg input/output support [autodetect]
195 --enable-liblzo enable external liblzo support [autodetect]
196 --disable-win32 disable Win32 DLL support [autodetect]
197 --disable-dshow disable Win32/DirectShow support [autodetect]
198 --disable-qtx disable Quicktime codecs [autodetect]
199 --disable-xanim disable XAnim DLL support [autodetect]
200 --disable-real disable RealPlayer DLL support [autodetect]
201 --disable-xvid disable XviD codec [autodetect]
202 --disable-x264 disable H.264 encoder [autodetect]
203 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
204 --enable-opendivx enable _old_ OpenDivx codec [disable]
205 --disable-libavcodec disable libavcodec [autodetect]
206 --disable-libavformat disable libavformat [autodetect]
207 --enable-libfame enable libfame realtime encoder [autodetect]
208 --enable-vorbis build with OggVorbis support [autodetect]
209 --enable-tremor build with integer-only OggVorbis support [disabled]
210 --enable-theora build with OggTheora support [autodetect]
211 --disable-internal-matroska disable internal Matroska support [enabled]
212 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
213 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
214 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
215 --disable-mad disable libmad (MPEG audio) support [autodetect]
216 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
217 --enable-xmms build with XMMS inputplugin support [disabled]
218 --disable-mp3lib disable builtin mp3lib [enabled]
219 --disable-liba52 disable builtin liba52 [enabled]
220 --enable-libdts enable libdts support [autodetect]
221 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
224 --disable-vidix disable VIDIX [enable on x86 *nix]
225 --enable-gl build with OpenGL render support [autodetect]
226 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
227 --enable-vesa build with VESA support [autodetect]
228 --enable-svga build with SVGAlib support [autodetect]
229 --enable-sdl build with SDL render support [autodetect]
230 --enable-aa build with AAlib render support [autodetect]
231 --enable-caca build with CACA render support [autodetect]
232 --enable-ggi build with GGI render support [autodetect]
233 --enable-directx build with DirectX support [autodetect]
234 --enable-dxr2 build with DXR2 render support [autodetect]
235 --enable-dxr3 build with DXR3/H+ render support [autodetect]
236 --enable-dvb build with support for output via DVB-Card [autodetect]
237 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
238 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
239 (check for /dev/mga_vid) [autodetect]
240 --enable-xmga build with mga_vid X Window support
241 (check for X & /dev/mga_vid) [autodetect]
242 --enable-xv build with Xv render support for X 4.x [autodetect]
243 --enable-xvmc build with XvMC acceleration for X 4.x [autodetect]
244 --enable-vm build with XF86VidMode support for X11 [autodetect]
245 --enable-xinerama build with Xinerama support for X11 [autodetect]
246 --enable-x11 build with X11 render support [autodetect]
247 --enable-fbdev build with FBDev render support [autodetect]
248 --enable-mlib build with MLIB support (Solaris only) [autodetect]
249 --enable-3dfx build with obsolete /dev/3dfx support [disable]
250 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
251 --enable-directfb build with DirectFB support [autodetect]
252 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
253 --enable-bl build with Blinkenlights support [disable]
254 --enable-tdfxvid build with tdfx_vid support [disable]
255 --disable-tga disable targa output support [enable]
256 --disable-pnm disable pnm output support [enable]
257 --disable-md5sum disable md5sum output support [enable]
260 --disable-alsa disable ALSA sound support [autodetect]
261 --disable-ossaudio disable OSS sound support [autodetect]
262 --disable-arts disable aRts sound support [autodetect]
263 --disable-esd disable esd sound support [autodetect]
264 --disable-polyp disable Polypaudio sound support [autodetect]
265 --disable-jack disable JACK sound support [autodetect]
266 --disable-nas disable NAS sound support [autodetect]
267 --disable-sgiaudio disable SGI sound support [autodetect]
268 --disable-sunaudio disable Sun sound support [autodetect]
269 --disable-win32waveout disable Windows waveout sound support [autodetect]
270 --disable-select disable using select() on audio device [enable]
272 Miscellaneous options:
273 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
274 --cc=COMPILER use this C compiler to build MPlayer [gcc]
275 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
276 --as=ASSEMBLER use this assembler to build MPlayer [as]
277 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
278 --enable-static build a statically linked binary. Set further linking
279 options with --enable-static="-lslang -lncurses"
280 --language=list a white space or comma separated list of languages
281 for translated man pages, the first language is the
282 primary and therefore used for translated messages
283 and GUI (also the environment variable \$LINGUAS is
285 (Available: $LANGUAGES all)
286 --enable-shared-pp install & use shared postprocessing lib
287 --with-install=PATH use a custom install program (useful if your OS uses
288 a GNU-incompatible install utility by default and
289 you want to use GNU version)
290 --install-path=PATH the path to a custom install program
291 this option is obsolete and will be removed soon,
292 use --with-install instead.
295 --enable-mmx build with MMX support [autodetect]
296 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
297 --enable-3dnow build with 3DNow! support [autodetect]
298 --enable-3dnowex build with extended 3DNow! support [autodetect]
299 --enable-sse build with SSE support [autodetect]
300 --enable-sse2 build with SSE2 support [autodetect]
301 --enable-shm build with shm support [autodetect]
302 --enable-altivec build with Altivec support (PowerPC) [autodetect]
303 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
304 --enable-big-endian Force byte order to big-endian [autodetect]
305 --enable-debug[=1-3] compile debugging information into mplayer [disable]
306 --enable-profile compile profiling information into mplayer [disable]
307 --disable-sighandler disable sighandler for crashes [enable]
308 --enable-crash-debug enable automatic gdb attach on crash [disable]
309 --enable-i18n _experimental_ gnu gettext() support [autodetect]
310 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
312 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
313 --disable-gcc-checking disable gcc version checking [enable]
315 Use these options if autodetection fails (Options marked with (*) accept
316 multiple paths separated by ':'):
317 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
318 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR (*)
319 --with-x11incdir=DIR X headers in DIR (*)
320 --with-x11libdir=DIR X library files in DIR (*)
321 --with-dxr2incdir=DIR DXR2 headers in DIR (*)
322 --with-dvbincdir=DIR DVB headers in DIR (*)
323 --with-madlibdir=DIR libmad (libmad shared library) in DIR (*)
324 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
325 --with-codecsdir=DIR Binary codec files in DIR
326 --with-win32libdir=DIR W*ndows DLL files in DIR
327 --with-xanimlibdir=DIR XAnim DLL files in DIR
328 --with-reallibdir=DIR RealPlayer DLL files in DIR
329 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
330 --with-xvidincdir=DIR XviD header in DIR (*)
331 --with-x264libdir=DIR libx264 in DIR
332 --with-x264incdir=DIR x264 header in DIR
333 --with-dtslibdir=DIR libdts library in DIR (*)
334 --with-dtsincdir=DIR libdts header in DIR (*)
335 --with-livelibdir=DIR LIVE.COM Streaming Media libraries in DIR
336 --with-toolamedir=DIR path to Toolame library and include file
337 --with-xmmsplugindir=DIR XMMS plugins in DIR
338 --with-xmmslibdir=DIR libxmms.so.1 in DIR
339 --with-bio2jack=DIR libbio2jack.a in DIR
340 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR (*)
341 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
342 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
343 --with-termcaplib=NAME name of library with termcap functionality
344 name should be given without leading "lib"
345 checks for "termcap" and "tinfo"
347 --with-freetype-config=PATH path to freetype-config
348 (e.g. /opt/bin/freetype-config)
349 --with-fribidi-config=PATH path to fribidi-config
350 (e.g. /opt/bin/fribidi-config)
351 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
352 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
353 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
357 done # for parm in ...
360 # 1st pass checking for vital options
364 test "$CC" && _cc
="$CC"
366 _runtime_cpudetection
=no
370 _target
=`echo $ac_option | cut -d '=' -f 2`
373 _cc
=`echo $ac_option | cut -d '=' -f 2`
376 _host_cc
=`echo $ac_option | cut -d '=' -f 2`
379 _as
=`echo $ac_option | cut -d '=' -f 2`
381 --enable-gcc-checking)
384 --disable-gcc-checking)
394 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
396 --with-extraincdir=*)
397 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
399 --with-extralibdir=*)
400 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
402 --enable-runtime-cpudetection)
403 _runtime_cpudetection
=yes
405 --disable-runtime-cpudetection)
406 _runtime_cpudetection
=no
409 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
412 _install
=`echo $ac_option | cut -d '=' -f 2 `
417 # Determine our OS name and CPU architecture
418 if test -z "$_target" ; then
420 system_name
=`( uname -s ) 2>&1`
421 case "$system_name" in
422 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS
)
430 [cC
][yY
][gG
][wW
][iI
][nN
]*)
440 system_name
="$system_name-UNKNOWN"
445 # host's CPU/instruction set
446 host_arch
=`( uname -p ) 2>&1`
448 i386|sparc|ppc|alpha|arm|mips|vax
)
450 powerpc
) # Darwin returns 'powerpc'
453 *) # uname -p on Linux returns 'unknown' for the processor type,
454 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
456 # Maybe uname -m (machine hardware name) returns something we
459 # x86/x86pc is used by QNX
460 case "`( uname -m ) 2>&1`" in
461 i
[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium
*|athlon
*|i586_i686|i586-i686|BePC
) host_arch
=i386
;;
462 ia64
) host_arch
=ia64
;;
464 if [ "`$_cc -dumpmachine | grep x86_64 | cut -d- -f1`" = "x86_64" -a \
465 -z "`echo $CFLAGS | grep -- -m32`" ]; then
471 macppc|ppc
) host_arch
=ppc
;;
472 alpha
) host_arch
=alpha
;;
473 sparc
) host_arch
=sparc
;;
474 sparc64
) host_arch
=sparc64
;;
475 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
476 arm
*) host_arch
=arm
;;
477 s390
) host_arch
=s390
;;
478 s390x
) host_arch
=s390x
;;
479 mips
) host_arch
=mips
;;
480 vax
) host_arch
=vax
;;
481 *) host_arch
=UNKNOWN
;;
486 system_name
=`echo $_target | cut -d '-' -f 2`
487 case "`echo $system_name | tr A-Z a-z`" in
488 linux
) system_name
=Linux
;;
489 freebsd
) system_name
=FreeBSD
;;
490 netbsd
) system_name
=NetBSD
;;
491 bsd
/os
) system_name
=BSD
/OS
;;
492 openbsd
) system_name
=OpenBSD
;;
493 sunos
) system_name
=SunOS
;;
494 qnx
) system_name
=QNX
;;
495 morphos
) system_name
=MorphOS
;;
496 mingw32msvc
) system_name
=MINGW32
;;
498 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
499 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
502 echo "Detected operating system: $system_name"
503 echo "Detected host architecture: $host_arch"
505 # LGB: temporary files
506 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
510 TMPLOG
="configure.log"
512 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
513 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
514 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
515 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
519 # FIXME: A lot of stuff is installed under /usr/local
520 # NK: But we should never use this stuff implicitly since we call compiler
521 # from /usr we should be sure that there no effects from other compilers
522 # (libraries) which might be installed into /usr/local. Let users use this
523 # stuff explicitly as command line argument. In other words: It would be
524 # resonable to have only /usr/include or only /usr/local/include.
527 _ld_extra
="$_ld_extra -L/usr/local/lib"
528 _inc_extra
="$_inc_extra -I/usr/local/include"
532 for I
in `echo $_ld_extra | sed 's/-L//g'` ; do
533 tmp
="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
543 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
544 # if used as 'head -1' instead of 'head -n 1', but older versions don't
546 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
547 _head
() { head -$1 2>/dev
/null
; }
549 _head
() { head -n $1 2>/dev
/null
; }
551 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
552 _tail
() { tail -$1 2>/dev
/null
; }
554 _tail
() { tail -n $1 2>/dev
/null
; }
557 # Checking CC version...
558 if test "$_skip_cc_check" != yes ; then
559 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
560 if test "`basename $_cc`" = "icc" ||
test "`basename $_cc`" = "ecc"; then
561 echocheck
"$_cc version"
563 cc_name
=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 1`
564 cc_version
=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
565 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
566 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
567 # TODO verify older icc/ecc compatibility
570 cc_version
="v. ?.??, bad"
574 cc_version
="$cc_version, ok"
578 cc_version
="$cc_version, bad"
582 echores
"$cc_version"
584 for _cc
in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
585 echocheck
"$_cc version"
587 cc_name
=`( $_cc -v ) 2>&1 | _tail 1 | cut -d ' ' -f 1`
588 cc_version
=`( $_cc -dumpversion ) 2>&1`
589 if test "$?" -gt 0; then
590 cc_version
="not found"
594 cc_version
="v. ?.??, bad"
597 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
3.
[0-9]|
3.
[0-9].
[0-9])
598 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
599 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
600 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
601 cc_version
="$cc_version, ok"
608 cc_version
="$cc_version, bad"
612 echores
"$cc_version"
613 (test "$cc_verc_fail" = "no") && break
616 if test "$cc_verc_fail" = yes ; then
619 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
621 You are not using a supported compiler. We do not have the time to make sure
622 everything works with compilers other than the ones we use. Use either the
623 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
624 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
626 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
627 mplayer and lame (which is used for mencoder). If you get compile errors,
628 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
629 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
632 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
634 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
637 die
"Bad gcc version"
642 ******************************************************************************
644 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
645 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
647 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
648 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
649 Lame which is used by mencoder produces weird errors, too.
651 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
652 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
654 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
656 ******************************************************************************
664 if not
test "$_host_cc" ; then
672 # now that we know what compiler should be used for compilation, try to find
673 # out which assembler is used by the $_cc compiler
674 if test "$_as" = auto
; then
675 _as
=`$_cc -print-prog-name=as`
676 test -z "$_as" && _as
=as
679 # XXX: this should be ok..
681 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
682 # FIXME: Remove the cygwin check once AMD CPUs are supported
683 if test -r /proc
/cpuinfo
&& not cygwin
; then
684 # Linux with /proc mounted, extract CPU information from it
685 _cpuinfo
="cat /proc/cpuinfo"
686 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
687 # FreeBSD with Linux emulation /proc mounted,
688 # extract CPU information from it
689 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
691 # use hostinfo on Darwin
694 # all other OSes try to extract CPU information from a small helper
695 # program TOOLS/cpuinfo instead
696 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
697 _cpuinfo
="TOOLS/cpuinfo"
702 pparam
=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | _head 1`
703 if test -z "$pparam" ; then
704 pparam
=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
715 for i
in $pparam ; do
718 3dnowext
) _3dnow
=yes _3dnowex
=yes ;;
721 mtrr|k6_mtrr|cyrix_arr
) _mtrr
=yes ;;
722 xmm|sse|kni
) _sse
=yes _mmx2
=yes ;;
729 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
730 _def_arch
="#define ARCH_X86 1"
731 _target_arch
="TARGET_ARCH_X86 = yes"
733 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
734 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
735 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
736 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
737 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
741 echocheck
"CPU vendor"
742 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
750 3) proc
=i386 iproc
=386 ;;
751 4) proc
=i486 iproc
=486 ;;
752 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
753 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
754 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
756 elif test "$pmodel" -ge 8; then
758 elif test "$pmodel" -ge 6; then
766 if test "$pmodel" -ge 7; then
768 elif test "$pmodel" -ge 6; then
769 # only Athlon XP supports ssem MP, Duron etc not
770 # but most of them are CPUID 666, so check if sse detected
771 # btw. there is also athlon-mp opt, but we need extended
772 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
773 if test "$_sse" = yes && test "$pstepping" -ge 2; then
778 elif test "$pmodel" -ge 4; then
781 proc
=athlon
# TODO: should the Duron Spitfire be considered a Thunderbird instead?
785 *) proc
=athlon-xp iproc
=686 ;;
790 3) proc
=i386 iproc
=386 ;;
791 4) proc
=i486 iproc
=486 ;;
793 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
794 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
800 if test "$pmodel" -ge 7; then
802 elif test "$pmodel" -ge 3; then
808 15) proc
=pentium4 iproc
=686 ;;
809 *) proc
=pentium4 iproc
=686 ;;
814 3) proc
=i386 iproc
=386 ;;
815 4) proc
=i486 iproc
=486 ;;
816 *) proc
=i586 iproc
=586 ;;
820 proc
=i586 iproc
=586 ;;
823 # check that gcc supports our CPU, if not, fall back to earlier ones
824 # LGB: check -mcpu and -march swithing step by step with enabling
825 # to fall back till 386.
827 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
829 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
835 echocheck
"GCC & CPU optimization abilities"
837 int main(void) { return 0; }
839 if test "$_runtime_cpudetection" = no
; then
840 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ||
test "$proc" = "athlon-tbird"; then
841 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
843 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
844 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
846 if test "$proc" = "k6"; then
847 if not cc_check
-march=$proc $cpuopt=$proc; then
848 if cc_check
-march=i586
$cpuopt=i686
; then
855 if test "$proc" = "pentium4" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon"; then
856 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
858 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx"; then
859 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
861 if test "$proc" = "i586" ; then
862 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
864 if test "$proc" = "i486" ; then
865 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
867 if test "$proc" = "i386" ; then
868 cc_check
-march=$proc $cpuopt=$proc || proc
=error
870 if test "$proc" = "error" ; then
871 echores
"Your $_cc does not even support \"i386\" for '-march' and '$cpuopt'."
875 elif test "$proc" = "i586-i686"; then
880 _march
="-march=$proc"
881 _mcpu
="$cpuopt=$proc"
885 # i686 is probably the most common CPU - optimize for it
887 # at least i486 required, for bswap instruction
889 cc_check
$_mcpu || _mcpu
=""
890 cc_check
$_march $_mcpu || _march
=""
893 ## Gabucino : --target takes effect here (hopefully...) by overwriting
894 ## autodetected mcpu/march parameters
895 if test "$_target" ; then
896 # TODO: it may be a good idea to check GCC and fall back in all cases
897 if test "$host_arch" = "i586-i686"; then
901 _march
="-march=$host_arch"
902 _mcpu
="$cpuopt=$host_arch"
910 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
911 i686|athlon
*|pentium
*) iproc
=686 ;;
920 _def_arch
='#define ARCH_IA64 1'
921 _target_arch
='TARGET_ARCH_IA64 = yes'
930 _def_arch
='#define ARCH_X86_64 1'
931 _target_arch
='TARGET_ARCH_X86_64 = yes'
941 _def_arch
='#define ARCH_SPARC 1'
942 _target_arch
='TARGET_ARCH_SPARC = yes'
947 case "`echo $karch`" in
952 sun4u
) proc
=v9 _vis
='yes' _def_vis
='#define HAVE_VIS = yes' ;;
965 _def_arch
='#define ARCH_SPARC 1'
966 _target_arch
='TARGET_ARCH_SPARC = yes'
968 _def_vis
='#define HAVE_VIS = yes'
977 _def_arch
='#define ARCH_ARMV4L 1'
978 _target_arch
='TARGET_ARCH_ARMV4L = yes'
987 _def_arch
='#define ARCH_POWERPC 1'
988 _target_arch
='TARGET_ARCH_POWERPC = yes'
997 if linux
&& test -n "$_cpuinfo"; then
998 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
999 if test -n "`$_cpuinfo | grep altivec`"; then
1004 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1005 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
1007 elif [ "`sysctl -n hw.optional.altivec 2>/dev/null`" = 1 ]; then
1011 # only gcc 3.4 works reliably with altivec code under netbsd
1014 2*|
3.0*|
3.1*|
3.2*|
3.3*)
1017 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1023 if test "$_altivec" = yes; then
1024 echores
"$proc altivec"
1029 echocheck
"GCC & CPU optimization abilities"
1031 if test -n "$proc"; then
1033 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
1034 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
1035 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
1036 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
1037 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
1038 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
1041 # gcc 3.1(.1) and up supports 7400 and 7450
1042 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1"; then
1044 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
1045 7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
1049 # gcc 3.2 and up supports 970
1050 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3"; then
1052 970*) _march
='-mcpu=970' _mcpu
='-mtune=970' ;;
1058 if test -n "$_mcpu"; then
1059 _optimizing
=`echo $_mcpu | cut -c 8-`
1060 echores
"$_optimizing"
1068 _def_arch
='#define ARCH_ALPHA 1'
1069 _target_arch
='TARGET_ARCH_ALPHA = yes'
1073 echocheck
"CPU type"
1076 unsigned long ver, mask;
1077 asm ("implver %0" : "=r" (ver));
1078 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1079 printf("%ld-%x\n", ver, ~mask);
1083 $_cc -o "$TMPO" "$TMPC"
1086 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
1087 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
1088 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
1089 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
1090 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
1091 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
1092 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
1096 echocheck
"GCC & CPU optimization abilities"
1097 if test "$proc" = "ev68" ; then
1098 cc_check
-mcpu=$proc || proc
=ev67
1100 if test "$proc" = "ev67" ; then
1101 cc_check
-mcpu=$proc || proc
=ev6
1108 echocheck
"MVI instruction support in GCC"
1109 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1110 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
1113 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
1114 echores
"no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1119 _def_arch
='#define ARCH_SGI_MIPS 1'
1120 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
1128 echocheck
"CPU type"
1129 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
1130 case "`echo $proc`" in
1131 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
1132 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
1133 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
1134 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
1135 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
1136 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
1144 _def_arch
='#define ARCH_PA_RISC 1'
1145 _target_arch
='TARGET_ARCH_PA_RISC = yes'
1154 _def_arch
='#define ARCH_S390 1'
1155 _target_arch
='TARGET_ARCH_S390 = yes'
1164 _def_arch
='#define ARCH_S390X 1'
1165 _target_arch
='TARGET_ARCH_S390X = yes'
1174 _def_arch
='#define ARCH_VAX 1'
1175 _target_arch
='TARGET_ARCH_VAX = yes'
1184 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1185 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1186 die
"unsupported architecture $host_arch"
1190 if test "$_runtime_cpudetection" = yes ; then
1205 if x86
&& test "$_runtime_cpudetection" = no
; then
1207 if test "$1" = yes ; then
1208 echocheck
"kernel support of $2"
1211 void catch() { exit(1); }
1213 signal(SIGILL, catch);
1214 __asm__ __volatile__ ("$3":::"memory");return(0);
1218 if ( cc_check
&& $TMPO ) > /dev
/null
2>&1 ; then
1220 _optimizing
="$_optimizing $2"
1224 echo "It seems that your kernel does not correctly support $2."
1225 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1232 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1233 extcheck
$_mmx2 "mmx2" "sfence" || _mmx2
=no
1234 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1235 extcheck
$_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex
=no
1236 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1237 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1238 echocheck
"mtrr support"
1241 if test "$_mtrr" = yes ; then
1242 _optimizing
="$_optimizing mtrr"
1245 if test "$_gcc3_ext" != ""; then
1246 # if we had to disable sse/sse2 because the active kernel does not
1247 # support this instruction set extension, we also have to tell
1248 # gcc3 to not generate sse/sse2 instructions for normal C code
1250 int main(void) { return 0; }
1252 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1257 echocheck
"assembler support of -pipe option"
1259 int main(void) { return 0; }
1261 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
1263 _prefix
="/usr/local"
1264 _xvmclib
="XvMCNVIDIA"
1266 # GOTCHA: the variables below defines the default behavior for autodetection
1267 # and have - unless stated otherwise - at least 2 states : yes no
1268 # If autodetection is available then the third state is: auto
1276 _dga
=auto
# 1 2 no auto
1278 _xvmc
=no
#auto when complete
1316 _matroska_internal
=yes
1321 # dvdnav disabled, it does not work
1385 _macosx_finder_support
=no
1387 _freetypeconfig
='freetype-config'
1389 _fribidiconfig
='fribidi-config'
1392 _gethostbyname2
=auto
1395 case "$ac_option" in
1401 --enable-gcc-checking) ;;
1402 --disable-gcc-checking) ;;
1403 --enable-static*) ;;
1404 --disable-static*) ;;
1405 --with-extraincdir=*) ;;
1406 --with-extralibdir=*) ;;
1407 --enable-runtime-cpudetection) ;;
1408 --disable-runtime-cpudetection) ;;
1409 --install-path=*) ;;
1410 --with-install=*) ;;
1413 --enable-mencoder) _mencoder
=yes ;;
1414 --disable-mencoder) _mencoder
=no
;;
1415 --enable-i18n) _i18n
=yes ;;
1416 --disable-i18n) _i18n
=no
;;
1417 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1418 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1419 --enable-setlocale) _setlocale
=yes ;;
1420 --disable-setlocale) _setlocale
=no
;;
1421 --enable-x11) _x11
=yes ;;
1422 --disable-x11) _x11
=no
;;
1423 --enable-xv) _xv
=yes ;;
1424 --disable-xv) _xv
=no
;;
1425 --enable-xvmc) _xvmc
=yes ;;
1426 --disable-xvmc) _xvmc
=no
;;
1427 --enable-sdl) _sdl
=yes ;;
1428 --disable-sdl) _sdl
=no
;;
1429 --enable-directx) _directx
=yes ;;
1430 --disable-directx) _directx
=no
;;
1431 --enable-win32waveout) _win32waveout
=yes ;;
1432 --disable-win32waveout) _win32waveout
=no
;;
1433 --enable-nas) _nas
=yes ;;
1434 --disable-nas) _nas
=no
;;
1435 --enable-png) _png
=yes ;;
1436 --disable-png) _png
=no
;;
1437 --enable-jpeg) _jpg
=yes ;;
1438 --disable-jpeg) _jpg
=no
;;
1439 --enable-pnm) _pnm
=yes ;;
1440 --disable-pnm) _pnm
=no
;;
1441 --enable-md5sum) _md5sum
=yes ;;
1442 --disable-md5sum) _md5sum
=no
;;
1443 --enable-gif) _gif
=yes ;;
1444 --disable-gif) _gif
=no
;;
1445 --enable-gl) _gl
=yes ;;
1446 --disable-gl) _gl
=no
;;
1447 --enable-ggi) _ggi
=yes ;;
1448 --disable-ggi) _ggi
=no
;;
1449 --enable-aa) _aa
=yes ;;
1450 --disable-aa) _aa
=no
;;
1451 --enable-caca) _caca
=yes ;;
1452 --disable-caca) _caca
=no
;;
1453 --enable-svga) _svga
=yes ;;
1454 --disable-svga) _svga
=no
;;
1455 --enable-vesa) _vesa
=yes ;;
1456 --disable-vesa) _vesa
=no
;;
1457 --enable-fbdev) _fbdev
=yes ;;
1458 --disable-fbdev) _fbdev
=no
;;
1459 --enable-dvb) _dvb
=yes ;;
1460 --disable-dvb) _dvb
=no
;;
1461 --enable-dvbhead) _dvbhead
=yes ;;
1462 --disable-dvbhead) _dvbhead
=no
;;
1463 --enable-dxr2) _dxr2
=yes ;;
1464 --disable-dxr2) _dxr2
=no
;;
1465 --enable-dxr3) _dxr3
=yes ;;
1466 --disable-dxr3) _dxr3
=no
;;
1467 --enable-iconv) _iconv
=yes ;;
1468 --disable-iconv) _iconv
=no
;;
1469 --enable-langinfo) _langinfo
=yes ;;
1470 --disable-langinfo) _langinfo
=no
;;
1471 --enable-rtc) _rtc
=yes ;;
1472 --disable-rtc) _rtc
=no
;;
1473 --enable-mp1e) _mp1e
=yes ;;
1474 --disable-mp1e) _mp1e
=no
;;
1475 --enable-libdv) _libdv
=yes ;;
1476 --disable-libdv) _libdv
=no
;;
1477 --enable-ossaudio) _ossaudio
=yes ;;
1478 --disable-ossaudio) _ossaudio
=no
;;
1479 --enable-arts) _arts
=yes ;;
1480 --disable-arts) _arts
=no
;;
1481 --enable-esd) _esd
=yes ;;
1482 --disable-esd) _esd
=no
;;
1483 --enable-polyp) _polyp
=yes ;;
1484 --disable-polyp) _polyp
=no
;;
1485 --enable-jack) _jack
=yes ;;
1486 --disable-jack) _jack
=no
;;
1487 --enable-mad) _mad
=yes ;;
1488 --disable-mad) _mad
=no
;;
1489 --disable-toolame) _toolame
=no
;;
1490 --enable-liblzo) _liblzo
=yes ;;
1491 --disable-liblzo) _liblzo
=no
;;
1492 --enable-vorbis) _vorbis
=yes ;;
1493 --disable-vorbis) _vorbis
=no
;;
1494 --enable-tremor) _tremor
=yes ;;
1495 --disable-tremor) _tremor
=no
;;
1496 --enable-theora) _theora
=yes ;;
1497 --disable-theora) _theora
=no
;;
1498 --enable-mp3lib) _mp3lib
=yes ;;
1499 --disable-mp3lib) _mp3lib
=no
;;
1500 --enable-liba52) _liba52
=yes ;;
1501 --disable-liba52) _liba52
=no
;;
1502 --enable-libdts) _libdts
=yes ;;
1503 --disable-libdts) _libdts
=no
;;
1504 --enable-libmpeg2) _libmpeg2
=yes ;;
1505 --disable-libmpeg2) _libmpeg2
=no
;;
1506 --enable-internal-matroska) _matroska_internal
=yes ;;
1507 --disable-internal-matroska) _matroska_internal
=no
;;
1508 --enable-internal-faad) _faad_internal
=yes _faad_external
=no
;;
1509 --disable-internal-faad) _faad_internal
=no
;;
1510 --enable-external-faad) _faad_external
=yes _faad_internal
=no
;;
1511 --disable-external-faad) _faad_external
=no
;;
1512 --enable-xmms) _xmms
=yes ;;
1513 --disable-xmms) _xmms
=no
;;
1514 --enable-dvdread) _dvdread
=yes ;;
1515 --disable-dvdread) _dvdread
=no
;;
1516 --enable-mpdvdkit) _dvdkit
=yes ;;
1517 --disable-mpdvdkit) _dvdkit
=no
;;
1518 # dvdnav disabled, it does not work
1519 # --enable-dvdnav) _dvdnav=yes ;;
1520 # --disable-dvdnav) _dvdnav=no ;;
1521 --enable-xanim) _xanim
=yes ;;
1522 --disable-xanim) _xanim
=no
;;
1523 --enable-real) _real
=yes ;;
1524 --disable-real) _real
=no
;;
1525 --enable-live) _live
=yes ;;
1526 --disable-live) _live
=no
;;
1527 --enable-xinerama) _xinerama
=yes ;;
1528 --disable-xinerama) _xinerama
=no
;;
1529 --enable-mga) _mga
=yes ;;
1530 --disable-mga) _mga
=no
;;
1531 --enable-xmga) _xmga
=yes ;;
1532 --disable-xmga) _xmga
=no
;;
1533 --enable-vm) _vm
=yes ;;
1534 --disable-vm) _vm
=no
;;
1535 --enable-mlib) _mlib
=yes ;;
1536 --disable-mlib) _mlib
=no
;;
1537 --enable-sunaudio) _sunaudio
=yes ;;
1538 --disable-sunaudio) _sunaudio
=no
;;
1539 --enable-sgiaudio) _sgiaudio
=yes ;;
1540 --disable-sgiaudio) _sgiaudio
=no
;;
1541 --enable-alsa) _alsa
=yes ;;
1542 --disable-alsa) _alsa
=no
;;
1543 --enable-tv) _tv
=yes ;;
1544 --disable-tv) _tv
=no
;;
1545 --enable-edl) _edl
=yes ;;
1546 --disable-edl) _edl
=no
;;
1547 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1548 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1549 --enable-tv-v4l) _tv_v4l
=yes ;;
1550 --disable-tv-v4l) _tv_v4l
=no
;;
1551 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1552 --disable-tv-v4l2) _tv_v4l2
=no
;;
1553 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1554 --disable-fastmemcpy) _fastmemcpy
=no
;;
1555 --enable-network) _network
=yes ;;
1556 --disable-network) _network
=no
;;
1557 --enable-winsock2) _winsock2
=yes ;;
1558 --disable-winsock2) _winsock2
=no
;;
1559 --enable-smb) _smbsupport
=yes ;;
1560 --disable-smb) _smbsupport
=no
;;
1561 --enable-vidix) _vidix
=yes ;;
1562 --disable-vidix) _vidix
=no
;;
1563 --enable-joystick) _joystick
=yes ;;
1564 --disable-joystick) _joystick
=no
;;
1565 --enable-xvid) _xvid
=yes ;;
1566 --disable-xvid) _xvid
=no
;;
1567 --enable-x264) _x264
=yes ;;
1568 --disable-x264) _x264
=no
;;
1569 --enable-divx4linux) _divx4linux
=yes ;;
1570 --disable-divx4linux) _divx4linux
=no
;;
1571 --enable-opendivx) _opendivx
=yes ;;
1572 --disable-opendivx) _opendivx
=no
;;
1573 --enable-libavcodec) _libavcodec
=yes ;;
1574 --disable-libavcodec) _libavcodec
=no
;;
1575 --enable-libavformat) _libavformat
=yes;;
1576 --disable-libavformat) _libavformat
=no
;;
1577 --enable-libfame) _fame
=yes ;;
1578 --disable-libfame) _fame
=no
;;
1579 --enable-lirc) _lirc
=yes ;;
1580 --disable-lirc) _lirc
=no
;;
1581 --enable-lircc) _lircc
=yes ;;
1582 --disable-lircc) _lircc
=no
;;
1583 --enable-gui) _gui
=yes ;;
1584 --disable-gui) _gui
=no
;;
1585 --enable-termcap) _termcap
=yes ;;
1586 --disable-termcap) _termcap
=no
;;
1587 --enable-termios) _termios
=yes ;;
1588 --disable-termios) _termios
=no
;;
1589 --enable-3dfx) _3dfx
=yes ;;
1590 --disable-3dfx) _3dfx
=no
;;
1591 --enable-tdfxfb) _tdfxfb
=yes ;;
1592 --disable-tdfxvid) _tdfxvid
=no
;;
1593 --enable-tdfxvid) _tdfxvid
=yes ;;
1594 --disable-tga) _tga
=no
;;
1595 --enable-tga) _tga
=yes ;;
1596 --disable-tdfxfb) _tdfxfb
=no
;;
1597 --enable-directfb) _directfb
=yes ;;
1598 --disable-directfb) _directfb
=no
;;
1599 --enable-zr) _zr
=yes ;;
1600 --disable-zr) _zr
=no
;;
1601 --enable-bl) _bl
=yes ;;
1602 --disable-bl) _bl
=no
;;
1603 --enable-mtrr) _mtrr
=yes ;;
1604 --disable-mtrr) _mtrr
=no
;;
1605 --enable-largefiles) _largefiles
=yes ;;
1606 --disable-largefiles) _largefiles
=no
;;
1607 --enable-shm) _shm
=yes ;;
1608 --disable-shm) _shm
=no
;;
1609 --enable-select) _select
=yes ;;
1610 --disable-select) _select
=no
;;
1611 --enable-linux-devfs) _linux_devfs
=yes ;;
1612 --disable-linux-devfs) _linux_devfs
=no
;;
1613 --enable-cdparanoia) _cdparanoia
=yes ;;
1614 --disable-cdparanoia) _cdparanoia
=no
;;
1615 --enable-big-endian) _big_endian
=yes ;;
1616 --disable-big-endian) _big_endian
=no
;;
1617 --enable-freetype) _freetype
=yes ;;
1618 --disable-freetype) _freetype
=no
;;
1619 --enable-fontconfig) _fontconfig
=yes ;;
1620 --disable-fontconfig) _fontconfig
=no
;;
1621 --enable-unrarlib) _unrarlib
=yes ;;
1622 --disable-unrarlib) _unrarlib
=no
;;
1623 --enable-ftp) _ftp
=yes ;;
1624 --disable-ftp) _ftp
=no
;;
1626 --enable-fribidi) _fribidi
=yes ;;
1627 --disable-fribidi) _fribidi
=no
;;
1629 --enable-enca) _enca
=yes ;;
1630 --disable-enca) _enca
=no
;;
1632 --enable-inet6) _inet6
=yes ;;
1633 --disable-inet6) _inet6
=no
;;
1635 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1636 --disable-gethostbyname2) _gethostbyname2
=no
;;
1638 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1639 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1640 --disable-dga) _dga
=no
;;
1642 --enable-shared-pp) _shared_pp
=yes ;;
1643 --disable-shared-pp) _shared_pp
=no
;;
1645 --enable-menu) _menu
=yes ;;
1646 --disable-menu) _menu
=no
;;
1648 --enable-qtx) _qtx
=yes ;;
1649 --disable-qtx) _qtx
=no
;;
1651 --enable-macosx) _macosx
=yes ;;
1652 --disable-macosx) _macosx
=no
;;
1653 --enable-macosx-finder-support) _macosx_finder_support
=yes ;;
1654 --disable-macosx-finder-support) _macosx_finder_support
=no
;;
1656 --enable-sortsub) _sortsub
=yes ;;
1657 --disable-sortsub) _sortsub
=no
;;
1660 _language
=`echo $ac_option | cut -d '=' -f 2`
1662 # dvdnav disabled, it does not work
1663 # --with-libdvdnav=*)
1664 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1669 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1670 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1671 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1673 --with-win32libdir=*)
1674 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1677 --with-xanimlibdir=*)
1678 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1681 --with-reallibdir=*)
1682 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1685 --with-livelibdir=*)
1686 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
1688 --with-toolamedir=*)
1689 _toolamedir
=`echo $ac_option | cut -d '=' -f 2`
1692 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1696 --with-xmmslibdir=*)
1697 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1700 --with-xmmsplugindir=*)
1701 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1705 _bio2jackdir
=`echo $ac_option | cut -d '=' -f 2`
1718 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1723 --enable-crash-debug)
1726 --disable-crash-debug)
1729 --enable-sighandler)
1732 --disable-sighandler)
1736 --enable-sse) _sse
=yes ;;
1737 --disable-sse) _sse
=no
;;
1738 --enable-sse2) _sse2
=yes ;;
1739 --disable-sse2) _sse2
=no
;;
1740 --enable-mmx2) _mmx2
=yes ;;
1741 --disable-mmx2) _mmx2
=no
;;
1742 --enable-3dnow) _3dnow
=yes ;;
1743 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
1744 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
1745 --disable-3dnowex) _3dnowex
=no
;;
1746 --enable-altivec) _altivec
=yes ;;
1747 --disable-altivec) _altivec
=no
;;
1748 --enable-mmx) _mmx
=yes ;;
1749 --disable-mmx) # 3Dnow! and MMX2 require MMX
1750 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
1752 --enable-win32) _win32
=yes ;;
1753 --disable-win32) _win32
=no _dshow
=no
;;
1754 --enable-dshow) _win32
=yes _dshow
=yes ;;
1755 --disable-dshow) _dshow
=no
;;
1758 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1761 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1763 --with-dxr2incdir=*)
1764 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1767 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
1770 _inc_dvb
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1772 --with-xvidlibdir=*)
1773 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1775 --with-xvidincdir=*)
1776 _inc_xvid
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1779 _ld_libdts
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1782 _inc_libdts
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1784 --with-x264libdir=*)
1785 _ld_x264
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1787 --with-x264incdir=*)
1788 _inc_x264
=-I`echo $ac_option | cut -d '=' -f 2 |sed 's,:, -I,g'`
1790 --with-sdl-config=*)
1791 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
1793 --with-freetype-config=*)
1794 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
1796 --with-fribidi-config=*)
1797 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
1799 --with-gtk-config=*)
1800 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
1802 --with-glib-config=*)
1803 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
1805 # dvdnav disabled, it does not work
1806 # --with-dvdnav-config=*)
1807 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1810 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1812 --with-cdparanoiaincdir=*)
1813 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1815 --with-cdparanoialibdir=*)
1816 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1818 --with-termcaplib=*)
1819 _ld_termcap
=-l`echo $ac_option | cut -d '=' -f 2`
1823 _prefix
=`echo $ac_option | cut -d '=' -f 2`
1826 _bindir
=`echo $ac_option | cut -d '=' -f 2`
1829 _datadir
=`echo $ac_option | cut -d '=' -f 2`
1832 _mandir
=`echo $ac_option | cut -d '=' -f 2`
1835 _confdir
=`echo $ac_option | cut -d '=' -f 2`
1838 _libdir
=`echo $ac_option | cut -d '=' -f 2`
1842 echo "Unknown parameter: $ac_option"
1849 # Atmos: moved this here, to be correct, if --prefix is specified
1850 test -z "$_bindir" && _bindir
="$_prefix/bin"
1851 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1852 test -z "$_mandir" && _mandir
="$_prefix/man"
1853 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1854 test -z "$_libdir" && _libdir
="$_prefix/lib"
1855 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
1858 # Checking assembler (_as) compatibility...
1859 # Added workaround for older as that reads from stdin by default - atmos
1860 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1861 echocheck
"assembler ($_as $as_version)"
1863 _pref_as_version
='2.9.1'
1865 if test "$_mmx" = yes ; then
1866 echo 'emms' >> $TMPS
1868 if test "$_3dnow" = yes ; then
1869 _pref_as_version
='2.10.1'
1870 echo 'femms' >> $TMPS
1872 if test "$_3dnowex" = yes ; then
1873 _pref_as_version
='2.10.1'
1874 echo 'pswapd %mm0, %mm0' >> $TMPS
1876 if test "$_mmx2" = yes ; then
1877 _pref_as_version
='2.10.1'
1878 echo 'movntq %mm0, (%eax)' >> $TMPS
1880 if test "$_sse" = yes ; then
1881 _pref_as_version
='2.10.1'
1882 echo 'xorps %xmm0, %xmm0' >> $TMPS
1884 #if test "$_sse2" = yes ; then
1885 # _pref_as_version='2.11'
1886 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1888 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
1890 if test "$as_verc_fail" != yes ; then
1894 echo "Upgrade binutils to ${_pref_as_version} ..."
1895 die
"obsolete binutils version"
1901 # check if altivec is supported by the compiler, and how to enable it
1903 _altivec_gcc_flags
=''
1905 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1906 echocheck
"GCC altivec support"
1914 FSF_flags
='-maltivec -mabi=altivec'
1915 Darwin_flags
='-faltivec'
1917 # check for Darwin-style flags first, since
1918 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1919 # accepts but ignores FSF-style flags...
1921 if test -z "$p"; then
1922 cc_check
$Darwin_flags && p
='Darwin'
1924 if test -z "$p"; then
1925 cc_check
$FSF_flags && p
='FSF'
1929 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
1930 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
1934 if test -z "$p"; then
1937 p
="$p-style ($_altivec_gcc_flags)"
1943 # check if <altivec.h> should be included
1945 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
1947 if test "$_altivec" = yes ; then
1948 echocheck
"altivec.h"
1950 #include <altivec.h>
1951 int main(void) { return 0; }
1954 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
1955 if test "$_have_altivec_h" = yes ; then
1956 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
1958 echores
"$_have_altivec_h"
1961 # disable runtime cpudetection if
1962 # - we cannot generate altivec code
1963 # - altivec is disabled by the user
1965 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
1966 _runtime_cpudetection
=no
1969 # show that we are optimizing for altivec (if enabled and supported)
1971 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
1972 _optimizing
="$_optimizing altivec"
1975 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1977 if test "$_altivec" = yes ; then
1978 _mcpu
="$_mcpu $_altivec_gcc_flags"
1981 # setup _def_altivec correctly
1983 if test "$_altivec" = yes ; then
1984 _def_altivec
='#define HAVE_ALTIVEC 1'
1986 _def_altivec
='#undef HAVE_ALTIVEC'
1990 _def_mmx
='#undef HAVE_MMX'
1991 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
1992 _def_mmx2
='#undef HAVE_MMX2'
1993 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
1994 _def_3dnow
='#undef HAVE_3DNOW'
1995 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
1996 _def_3dnowex
='#undef HAVE_3DNOWEX'
1997 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
1998 _def_sse
='#undef HAVE_SSE'
1999 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
2000 _def_sse2
='#undef HAVE_SSE2'
2001 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
2003 # Checking kernel version...
2004 if x86
&& linux
; then
2006 kernel_version
=`uname -r 2>&1`
2007 echocheck
"$system_name kernel version"
2008 case "$kernel_version" in
2009 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2010 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2011 _k_verc_problem
=yes;;
2013 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2016 if test "$_k_verc_fail" ; then
2017 echores
"$kernel_version, fail"
2018 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2019 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2020 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2021 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2022 echo "2.2.x you must upgrade it to get SSE support!"
2023 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2025 echores
"$kernel_version, ok"
2029 if test "$_vidix" = auto
; then
2031 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2033 ppc
&& linux
&& _vidix
=yes
2034 alpha
&& linux
&& _vidix
=yes
2040 echocheck
"mplayer binary name"
2043 _prg_mencoder
="mencoder.exe"
2046 _prg_mencoder
="mencoder"
2051 # On QNX we must link to libph - Gabucino
2053 _ld_arch
="$_ld_arch -lph"
2056 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2058 if test "$_vidix" = yes ; then
2061 for _awk
in mawk gawk nawk
awk; do
2062 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2067 test "$_awk_verc_fail" = yes && _awk
=no
2069 if test "$_awk_verc_fail" = yes; then
2070 echo "VIDIX needs awk, but no working implementation was found!"
2071 echo "Try the GNU version, which can be downloaded from:"
2072 echo "ftp://ftp.gnu.org/gnu/gawk/"
2073 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2078 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2085 ######################
2086 # MAIN TESTS GO HERE #
2087 ######################
2090 echocheck
"extra headers"
2091 if test "$_inc_extra" ; then
2092 echores
"$_inc_extra"
2098 echocheck
"extra libs"
2099 if test "$_ld_extra" ; then
2100 echores
"$_ld_extra"
2107 int main(void) { return 0; }
2109 if cc_check
-lposix ; then
2110 _ld_arch
="$_ld_arch -lposix"
2118 int main(void) { return 0; }
2120 if cc_check
-lm ; then
2128 # Checking for localization ...
2129 # CSAK EGY MARADHAT - A HEGYLAKO
2131 if test "$_i18n" != no
; then
2133 #include <libintl.h>
2134 int main(void) { gettext("test"); return 0; }
2138 if test "$_i18n" = auto
; then
2139 cc_check
&& _i18n
=yes
2141 for i18n_lib
in "" "-lintl"; do
2142 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
2146 if test "$_i18n" = yes ; then
2147 _def_i18n
='#define USE_I18N 1'
2149 _def_i18n
='#undef USE_I18N'
2151 if test -z "$_i18n_libs" ; then
2154 echores
"$_i18n (using $_i18n_libs)"
2158 # Checking for setlocale() ...
2159 # CSAK EGY MARADHAT - A HEGYLAKO
2160 # Nemnem. a TV Maci !
2161 echocheck
"setlocale()"
2162 if test "$_setlocale" = auto
; then
2165 int main(void) { setlocale( LC_ALL,"" ); return 0; }
2168 cc_check
&& _setlocale
=yes
2170 if test "$_setlocale" = yes ; then
2171 _def_setlocale
='#define USE_SETLOCALE 1'
2173 _def_setlocale
='#undef USE_SETLOCALE'
2175 echores
"$_setlocale"
2179 if test "$_iconv" = auto
; then
2180 _iconv_tmp
='#include <iconv.h>'
2186 #define INBUFSIZE 1024
2187 #define OUTBUFSIZE 4096
2189 char inbuffer[INBUFSIZE];
2190 char outbuffer[OUTBUFSIZE];
2195 char *tocode="UTF-8";
2196 char *fromcode="cp1250";
2197 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
2198 while ((numread = read (0, inbuffer, INBUFSIZE))) {
2199 char *iptr=inbuffer;
2200 char *optr=outbuffer;
2201 size_t inleft=numread;
2202 size_t outleft=OUTBUFSIZE;
2203 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
2205 write (1, outbuffer, OUTBUFSIZE - outleft);
2208 if (iconv_close(icdsc) == -1)
2214 if cc_check
$_ld_lm ; then
2216 elif cc_check
$_ld_lm -liconv ; then
2221 if test "$_iconv" = yes ; then
2222 _def_iconv
='#define USE_ICONV 1'
2224 _def_iconv
='#undef USE_ICONV'
2229 echocheck
"langinfo"
2230 if test "$_langinfo" = auto
; then
2232 #include <langinfo.h>
2233 int main(void) { nl_langinfo(CODESET); return 0; }
2236 cc_check
&& _langinfo
=yes
2238 if test "$_langinfo" = yes ; then
2239 _def_langinfo
='#define USE_LANGINFO 1'
2241 _def_langinfo
='#undef USE_LANGINFO'
2243 echores
"$_langinfo"
2246 echocheck
"language"
2247 test -z "$_language" && _language
=$LINGUAS
2248 _language
=`echo $_language | sed 's/,/ /g'`
2249 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
2250 for lang
in $_language ; do
2251 test "$lang" = all
&& lang
=en
2252 if test -f "help/help_mp-${lang}.h" ; then
2256 echo -n "$lang not found, "
2257 _language
=`echo $_language | sed "s/$lang *//"`
2260 test -z "$_language" && _language
=en
2261 _mp_help
="help/help_mp-${_language}.h"
2262 test -f $_mp_help || die
"$_mp_help not found"
2263 for lang
in $LANGUAGES ; do
2264 if test -f "DOCS/man/$lang/mplayer.1" ; then
2265 MAN_LANG
="$MAN_LANG $lang"
2268 _doc_lang
=$_language
2269 test -d DOCS
/xml
/$_doc_lang || _doc_lang
=en
2270 echores
"using $_language (man pages: $MAN_LANG)"
2273 echocheck
"enable sighandler"
2274 if test "$_sighandler" = yes ; then
2275 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
2277 _def_sighandler
='#undef ENABLE_SIGHANDLER'
2279 echores
"$_sighandler"
2281 echocheck
"runtime cpudetection"
2282 if test "$_runtime_cpudetection" = yes ; then
2283 _optimizing
="Runtime CPU-Detection enabled"
2284 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
2286 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
2288 echores
"$_runtime_cpudetection"
2291 echocheck
"restrict keyword"
2292 for restrict_keyword
in restrict __restrict __restrict__
; do
2293 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2295 _def_restrict_keyword
=$restrict_keyword
2299 if [ -n "$_def_restrict_keyword" ]; then
2300 echores
"$_def_restrict_keyword"
2304 # Avoid infinite recursion loop ("#define restrict restrict")
2305 if [ "$_def_restrict_keyword" != "restrict" ]; then
2306 _def_restrict_keyword
="#define restrict $_def_restrict_keyword"
2308 _def_restrict_keyword
=""
2312 echocheck
"__builtin_expect"
2313 # GCC branch prediction hint
2316 a = __builtin_expect (a, 10);
2317 return a == 10 ? 0 : 1;
2319 int main() { return foo(10) && foo(0); }
2322 cc_check
&& _builtin_expect
=yes
2323 if test "$_builtin_expect" = yes ; then
2324 _def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2326 _def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2328 echores
"$_builtin_expect"
2334 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2337 cc_check
-lkstat && _kstat
=yes
2338 if test "$_kstat" = yes ; then
2339 _ld_arch
="-lkstat $_ld_arch"
2341 if test "$_kstat" = yes ; then
2342 _def_kstat
="#define HAVE_LIBKSTAT 1"
2344 _def_kstat
="#undef HAVE_LIBKSTAT"
2350 # required for nanosleep on some systems
2353 int main(void) { (void) nanosleep(0, 0); return 0; }
2356 cc_check
-lposix4 && _posix4
=yes
2357 if test "$_posix4" = yes ; then
2358 _ld_arch
="-lposix4 $_ld_arch"
2366 int main(void) { (void) lrintf(0.0); return 0; }
2369 cc_check
$_ld_lm && _lrintf
=yes
2370 if test "$_lrintf" = yes ; then
2371 _def_lrintf
="#define HAVE_LRINTF 1"
2373 _def_lrintf
="#undef HAVE_LRINTF"
2378 echocheck
"nanosleep"
2379 # also check for nanosleep
2382 int main(void) { (void) nanosleep(0, 0); return 0; }
2385 cc_check
$_ld_arch && _nanosleep
=yes
2386 if test "$_nanosleep" = yes ; then
2387 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2389 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2391 echores
"$_nanosleep"
2395 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2396 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2399 int main(void) { (void) gethostbyname(0); return 0; }
2401 cc_check
-lsocket && _ld_sock
="-lsocket"
2402 cc_check
-lnsl && _ld_sock
="-lnsl"
2403 cc_check
-lsocket -lnsl && _ld_sock
="-lsocket -lnsl"
2404 cc_check
-lsocket -ldnet && _ld_sock
="-lsocket -ldnet"
2405 cc_check
-lsocket -lbind && _ld_sock
="-lsocket -lbind"
2406 if test $_winsock2 = auto
&& not cygwin
; then
2409 #include <winsock2.h>
2410 int main(void) { (void) gethostbyname(0); return 0; }
2412 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2414 if test "$_ld_sock" ; then
2415 echores
"yes (using $_ld_sock)"
2421 if test $_winsock2 = yes ; then
2423 _def_winsock2
='#define HAVE_WINSOCK2 1'
2425 _def_winsock2
='#undef HAVE_WINSOCK2'
2430 echocheck
"inet_pton()"
2432 #include <sys/types.h>
2433 #include <sys/socket.h>
2434 #include <arpa/inet.h>
2435 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2437 if test "$_winsock2" = yes ; then
2438 echores
"not needed (using winsock2 functions)"
2439 elif cc_check
$_ld_sock ; then
2440 # NOTE: Linux has libresolv but does not need it
2442 echores
"yes (using $_ld_sock)"
2443 elif cc_check
$_ld_sock -lresolv ; then
2444 # NOTE: needed for SunOS at least
2445 _ld_sock
="$_ld_sock -lresolv"
2446 echores
"yes (using $_ld_sock)"
2448 echores
"no (=> i'll try inet_aton next)"
2450 echocheck
"inet_aton()"
2452 #include <sys/types.h>
2453 #include <sys/socket.h>
2454 #include <arpa/inet.h>
2455 int main(void) { (void) inet_aton(0, 0); return 0; }
2458 if cc_check
$_ld_sock ; then
2459 # NOTE: Linux has libresolv but does not need it
2461 echores
"yes (using $_ld_sock)"
2462 elif cc_check
$_ld_sock -lresolv ; then
2463 # NOTE: needed for SunOS at least
2464 _ld_sock
="$_ld_sock -lresolv"
2465 echores
"yes (using $_ld_sock)"
2469 echores
"no (=> network support disabled)"
2473 _def_use_aton
='#undef USE_ATON'
2474 if test "$_use_aton" != no
; then
2475 _def_use_aton
='#define USE_ATON 1'
2479 echocheck
"inttypes.h (required)"
2481 #include <inttypes.h>
2482 int main(void) { return 0; }
2485 cc_check
&& _inttypes
=yes
2486 if test "$_inttypes" = yes ; then
2491 echocheck
"bitypes.h (inttypes.h predecessor)"
2493 #include <sys/bitypes.h>
2494 int main(void) { return 0; }
2497 cc_check
&& _inttypes
=yes
2498 if test "$_inttypes" = yes ; then
2499 die
"You don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h into the include path, and re-run configure."
2501 die
"Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2504 echores
"$_inttypes"
2507 echocheck
"int_fastXY_t in inttypes.h"
2509 #include <inttypes.h>
2511 volatile int_fast16_t v= 0;
2515 cc_check
&& _fast_inttypes
=yes
2516 if test "$_fast_inttypes" = yes ; then
2520 _def_fast_inttypes
='
2521 typedef signed char int_fast8_t;
2522 typedef signed int int_fast16_t;
2523 typedef signed int int_fast32_t;
2524 typedef unsigned char uint_fast8_t;
2525 typedef unsigned int uint_fast16_t;
2526 typedef unsigned int uint_fast32_t;'
2528 echores
"$_fast_inttypes"
2531 echocheck
"word size"
2532 _mp_wordsize
="#undef MP_WORDSIZE"
2535 #include <sys/types.h>
2536 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2538 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2539 echores
"$_wordsize"
2542 echocheck
"stddef.h"
2545 int main(void) { return 0; }
2548 cc_check
&& _stddef
=yes
2549 if test "$_stddef" = yes ; then
2550 _def_stddef
='#define HAVE_STDDEF_H 1'
2552 _def_stddef
='#undef HAVE_STDDEF_H'
2557 echocheck
"malloc.h"
2560 int main(void) { (void) malloc(0); return 0; }
2563 cc_check
&& _malloc
=yes
2564 if test "$_malloc" = yes ; then
2565 _def_malloc
='#define HAVE_MALLOC_H 1'
2567 _def_malloc
='#undef HAVE_MALLOC_H'
2569 # malloc.h emits a warning in FreeBSD and OpenBSD
2570 (freebsd || openbsd
) && _def_malloc
='#undef HAVE_MALLOC_H'
2574 echocheck
"memalign()"
2575 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2578 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2581 cc_check
&& _memalign
=yes
2582 if test "$_memalign" = yes ; then
2583 _def_memalign
='#define HAVE_MEMALIGN 1'
2585 _def_memalign
='#undef HAVE_MEMALIGN'
2587 echores
"$_memalign"
2590 echocheck
"alloca.h"
2593 int main(void) { (void) alloca(0); return 0; }
2596 cc_check
&& _alloca
=yes
2598 _def_alloca
='#define HAVE_ALLOCA_H 1'
2600 _def_alloca
='#undef HAVE_ALLOCA_H'
2607 #include <sys/types.h>
2608 #include <sys/mman.h>
2609 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2612 cc_check
&& _mman
=yes
2613 if test "$_mman" = yes ; then
2614 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2616 _def_mman
='#undef HAVE_SYS_MMAN_H'
2620 echocheck
"dynamic loader"
2623 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2628 elif cc_check
-ldl ; then
2632 if test "$_dl" = yes ; then
2633 _def_dl
='#define HAVE_LIBDL 1'
2635 _def_dl
='#undef HAVE_LIBDL'
2640 echocheck
"dynamic a/v plugins support"
2641 if test "$_dl" = no
; then
2644 if test "$_dynamic_plugins" = yes ; then
2645 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2647 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2649 echores
"$_dynamic_plugins"
2652 #echocheck "dynamic linking"
2653 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2654 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2656 #int main(void) { return 0; }
2658 #if cc_check -rdynamic ; then
2659 # _ld_dl_dynamic='-rdynamic'
2660 #elif cc_check -Bdynamic ; then
2661 # _ld_dl_dynamic='-Bdynamic'
2662 #elif cc_check ; then
2665 #echores "using $_ld_dl_dynamic"
2670 #include <pthread.h>
2671 void* func(void *arg) { return arg; }
2672 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2676 elif ( cc_check
&& $TMPO ) ; then # QNX
2678 elif ( cc_check
-lpthread && $TMPO ) ; then
2679 _ld_pthread
='-lpthread'
2680 elif ( cc_check
-pthread && $TMPO ) ; then
2681 _ld_pthread
='-pthread'
2683 if test "$_ld_static" ; then
2684 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2685 if ( cc_check
-lpthread ) ; then
2686 _ld_pthread
='-lpthread'
2687 elif ( cc_check
-pthread ) ; then
2688 _ld_pthread
='-pthread'
2690 echores
"no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2691 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2694 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2695 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2698 if test "$_ld_pthread" != '' ; then
2699 echores
"yes (using $_ld_pthread)"
2701 _def_pthreads
='#define HAVE_PTHREADS 1'
2705 _def_pthreads
='#undef HAVE_PTHREADS'
2709 echocheck
"sys/soundcard.h"
2711 #include <sys/soundcard.h>
2712 int main(void) { return 0; }
2715 cc_check
&& _sys_soundcard
=yes
2716 if test "$_sys_soundcard" = yes ; then
2717 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2718 _inc_soundcard
='#include <sys/soundcard.h>'
2720 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2722 echores
"$_sys_soundcard"
2724 if test "$_sys_soundcard" != yes ; then
2725 echocheck
"soundcard.h"
2727 #include <soundcard.h>
2728 int main(void) { return 0; }
2731 cc_check
&& _soundcard
=yes
2732 if linux ||
test "$_ossaudio" != no
; then
2733 # use soundcard.h on Linux, or when OSS support is enabled
2734 echores
"$_soundcard"
2736 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2737 echores
"$_soundcard, but ignored!"
2740 if test "$_soundcard" = yes ; then
2741 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2742 _inc_soundcard
='#include <soundcard.h>'
2744 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2747 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2751 echocheck
"sys/dvdio.h"
2754 #include <sys/dvdio.h>
2755 int main(void) { return 0; }
2758 cc_check
&& _dvdio
=yes
2759 if test "$_dvdio" = yes ; then
2760 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2762 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2767 echocheck
"sys/cdio.h"
2770 #include <sys/cdio.h>
2771 int main(void) { return 0; }
2774 cc_check
&& _cdio
=yes
2775 if test "$_cdio" = yes ; then
2776 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2778 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2783 echocheck
"linux/cdrom.h"
2785 #include <sys/types.h>
2786 #include <linux/cdrom.h>
2787 int main(void) { return 0; }
2790 cc_check
&& _cdrom
=yes
2791 if test "$_cdrom" = yes ; then
2792 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2794 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2802 int main(void) { return 0; }
2805 cc_check
&& _dvd
=yes
2806 if test "$_dvd" = yes ; then
2807 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2809 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2814 echocheck
"BSDI dvd.h"
2817 int main(void) { return 0; }
2820 cc_check
&& _bsdi_dvd
=yes
2821 if test "$_bsdi_dvd" = yes ; then
2822 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2824 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2826 echores
"$_bsdi_dvd"
2829 echocheck
"HPUX SCSI header"
2831 #include <sys/scsi.h>
2832 int main(void) { return 0; }
2835 cc_check
&& _hpux_scsi_h
=yes
2836 if test "$_hpux_scsi_h" = yes ; then
2837 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2839 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2841 echores
"$_hpux_scsi_h"
2844 echocheck
"userspace SCSI headers (Solaris)"
2846 # include <unistd.h>
2847 # include <stropts.h>
2848 # include <sys/scsi/scsi_types.h>
2849 # include <sys/scsi/impl/uscsi.h>
2850 int main(void) { return 0; }
2853 cc_check
&& _sol_scsi_h
=yes
2854 if test "$_sol_scsi_h" = yes ; then
2855 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2857 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2859 echores
"$_sol_scsi_h"
2863 if test "$_termcap" = auto
; then
2865 int main(void) { return 0; }
2868 cc_check
-ltermcap && _termcap
=yes && _ld_termcap
='-ltermcap'
2869 cc_check
-ltinfo && _termcap
=yes && _ld_termcap
='-ltinfo'
2871 if test "$_termcap" = yes ; then
2872 _def_termcap
='#define USE_TERMCAP 1'
2873 echores
"yes (using $_ld_termcap)"
2875 _def_termcap
='#undef USE_TERMCAP'
2881 if test "$_termios" = auto
; then
2883 #include <sys/termios.h>
2884 int main(void) { return 0; }
2887 cc_check
&& _termios
=yes
2888 _def_termios_h_name
='sys/termios.h'
2891 if test "$_termios" = auto
; then
2893 #include <termios.h>
2894 int main(void) { return 0; }
2897 cc_check
&& _termios
=yes
2898 _def_termios_h_name
='termios.h'
2901 if test "$_termios" = yes ; then
2902 _def_termios
='#define HAVE_TERMIOS 1'
2903 _def_termios_h
='#undef HAVE_TERMIOS_H'
2904 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
2906 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2907 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
2908 elif test "$_def_termios_h_name" = 'termios.h' ; then
2909 _def_termios_h
='#define HAVE_TERMIOS_H 1'
2911 echores
"yes (using $_def_termios_h_name)"
2913 _def_termios
='#undef HAVE_TERMIOS'
2914 _def_termios_h_name
=''
2920 if test "$_shm" = auto
; then
2922 #include <sys/types.h>
2923 #include <sys/shm.h>
2924 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2927 cc_check
&& _shm
=yes
2929 if test "$_shm" = yes ; then
2930 _def_shm
='#define HAVE_SHM 1'
2932 _def_shm
='#undef HAVE_SHM'
2937 # XXX: FIXME, add runtime checking
2938 echocheck
"linux devfs"
2939 echores
"$_linux_devfs"
2942 echocheck
"scandir()"
2944 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2947 cc_check
&& _scandir
=yes
2948 if test "$_scandir" = yes ; then
2949 _def_scandir
='#define HAVE_SCANDIR 1'
2951 _def_scandir
='#undef HAVE_SCANDIR'
2956 echocheck
"strsep()"
2959 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2962 cc_check
&& _strsep
=yes
2963 if test "$_strsep" = yes ; then
2964 _def_strsep
='#define HAVE_STRSEP 1'
2966 _def_strsep
='#undef HAVE_STRSEP'
2970 echocheck
"strlcpy()"
2973 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
2976 cc_check
&& _strlcpy
=yes
2977 if test "$_strlcpy" = yes ; then
2978 _def_strlcpy
='#define HAVE_STRLCPY 1'
2980 _def_strlcpy
='#undef HAVE_STRLCPY'
2984 echocheck
"strlcat()"
2987 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
2990 cc_check
&& _strlcat
=yes
2991 if test "$_strlcat" = yes ; then
2992 _def_strlcat
='#define HAVE_STRLCAT 1'
2994 _def_strlcat
='#undef HAVE_STRLCAT'
2998 echocheck
"fseeko()"
3001 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3004 cc_check
&& _fseeko
=yes
3005 if test "$_fseeko" = yes ; then
3006 _def_fseeko
='#define HAVE_FSEEKO 1'
3008 _def_fseeko
='#undef HAVE_FSEEKO'
3012 echocheck
"localtime_r()"
3015 int main( void ) { localtime_r(NULL, NULL); }
3018 cc_check
&& _localtime_r
=yes
3019 if test "$_localtime_r" = yes ; then
3020 _def_localtime_r
='#define HAVE_LOCALTIME_R 1'
3022 _def_localtime_r
='#undef HAVE_LOCALTIME_R'
3024 echores
"$_localtime_r"
3026 echocheck
"vsscanf()"
3029 int main(void) { vsscanf(0, 0, 0); return 0; }
3032 cc_check
&& _vsscanf
=yes
3033 if test "$_vsscanf" = yes ; then
3034 _def_vsscanf
='#define HAVE_VSSCANF 1'
3036 _def_vsscanf
='#undef HAVE_VSSCANF'
3044 int main(void) { swab(0, 0, 0); return 0; }
3047 cc_check
&& _swab
=yes
3048 if test "$_swab" = yes ; then
3049 _def_swab
='#define HAVE_SWAB 1'
3051 _def_swab
='#undef HAVE_SWAB'
3055 echocheck
"posix select()"
3059 #include <sys/types.h>
3061 #include <sys/time.h>
3063 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3066 cc_check
&& _posix_select
=yes
3067 if test "$_posix_select" = no
; then
3068 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
3070 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
3072 echores
"$_posix_select"
3075 echocheck
"gettimeofday()"
3078 #include <sys/time.h>
3079 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3082 cc_check
&& _gettimeofday
=yes
3083 if test "$_gettimeofday" = yes ; then
3084 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3086 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3088 echores
"$_gettimeofday"
3095 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3098 cc_check
&& _glob
=yes
3099 if test "$_glob" = yes ; then
3100 _def_glob
='#define HAVE_GLOB 1'
3102 _def_glob
='#undef HAVE_GLOB'
3107 echocheck
"sys/sysinfo.h"
3109 #include <sys/sysinfo.h>
3111 struct sysinfo s_info;
3117 cc_check
&& _sys_sysinfo
=yes
3118 if test "$_sys_sysinfo" = yes ; then
3119 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3120 _inc_sysinfo
='#include <sys/sysinfo.h>'
3122 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3124 echores
"$_sys_sysinfo"
3127 echocheck
"Mac OS X APIs"
3128 if test "$_macosx" = auto
; then
3129 if darwin
&& ppc
; then
3133 _def_macosx
='#undef MACOSX'
3134 _noaomodules
="macosx $_noaomodules"
3135 _novomodules
="quartz $_novomodules"
3138 if test "$_macosx" = yes ; then
3140 #include <Carbon/Carbon.h>
3141 #include <QuickTime/QuickTime.h>
3142 #include <CoreAudio/CoreAudio.h>
3146 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3149 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3151 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio"
3152 _def_macosx
='#define MACOSX 1'
3153 _aosrc
="$_aosrc ao_macosx.c"
3154 _aomodules
="macosx $_aomodules"
3155 _vosrc
="$_vosrc vo_quartz.c"
3156 _vomodules
="quartz $_vomodules"
3159 _def_macosx
='#undef MACOSX'
3160 _noaomodules
="macosx $_noaomodules"
3161 _novomodules
="quartz $_novomodules"
3166 echocheck
"Mac OS X Finder Support"
3167 if test "$_macosx_finder_support" = auto
; then
3168 _macosx_finder_support
=$_macosx
3170 if test "$_macosx_finder_support" = yes; then
3171 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3172 _macosx_finder_support
=yes
3174 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3175 _macosx_finder_support
=no
3177 echores
"$_macosx_finder_support"
3179 echocheck
"Samba support (libsmbclient)"
3180 if test "$_smbsupport" = yes; then
3181 _ld_smb
="-lsmbclient"
3183 if test "$_smbsupport" = auto
; then
3186 #include <libsmbclient.h>
3187 int main(void) { smbc_opendir("smb://"); return 0; }
3189 if cc_check
-lsmbclient ; then
3191 _ld_smb
="-lsmbclient"
3193 if cc_check
-lsmbclient $_ld_dl ; then
3195 _ld_smb
="-lsmbclient $_ld_dl"
3197 if cc_check
-lsmbclient $_ld_dl -lnsl ; then
3199 _ld_smb
="-lsmbclient $_ld_dl -lnsl"
3205 if test "$_smbsupport" = yes; then
3206 _def_smbsupport
="#define LIBSMBCLIENT"
3207 _inputmodules
="smb $_inputmodules"
3209 _def_smbsupport
="#undef LIBSMBCLIENT"
3210 _noinputmodules
="smb $_noinputmodules"
3212 echores
"$_smbsupport"
3221 if test "$_3dfx" = yes ; then
3222 _def_3dfx
='#define HAVE_3DFX 1'
3223 _vosrc
="$_vosrc vo_3dfx.c"
3224 _vomodules
="3dfx $_vomodules"
3226 _def_3dfx
='#undef HAVE_3DFX'
3227 _novomodules
="3dfx $_novomodules"
3233 if test "$_tdfxfb" = yes ; then
3234 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3235 _vosrc
="$_vosrc vo_tdfxfb.c"
3236 _vomodules
="tdfxfb $_vomodules"
3238 _def_tdfxfb
='#undef HAVE_TDFXFB'
3239 _novomodules
="tdfxfb $_novomodules"
3244 if test "$_tdfxvid" = yes ; then
3245 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3246 _vosrc
="$_vosrc vo_tdfx_vid.c"
3247 _vomodules
="tdfx_vid $_vomodules"
3249 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3250 _novomodules
="tdfx_vid $_novomodules"
3255 if test "$_tga" = yes ; then
3256 _def_tga
='#define HAVE_TGA 1'
3257 _vosrc
="$_vosrc vo_tga.c"
3258 _vomodules
="tga $_vomodules"
3260 _def_tga
='#undef HAVE_TGA'
3261 _novomodules
="tga $_novomodules"
3265 echocheck
"DirectFB headers presence"
3266 if test -z "$_inc_directfb" ; then
3267 for I
in /usr
/include
/usr
/local
/include
$_inc_extra; do
3268 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
3269 _inc_directfb
="-I$I/directfb"
3270 echores
"yes (using $_inc_directfb)"
3273 if test -d "$I" && test -f "$I/directfb.h" ; then
3274 _inc_directfb
="-I$I"
3275 echores
"yes (using $_inc_directfb)"
3279 if test -z "$_inc_directfb" ; then
3284 echores
"yes (using $_inc_directfb)"
3286 if test "$_inc_directfb" = "-I/usr/include" ; then
3290 echocheck
"DirectFB"
3291 if test "$_directfb" = auto
; then
3294 #include <directfb.h>
3295 int main(void) { IDirectFB *foo; return 0; }
3297 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
3300 if test "$_directfb" = yes; then
3302 #include <directfb.h>
3304 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
3308 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
3309 _directfb_version
=`"$TMPO"`
3310 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
3311 echores
"yes ($_directfb_version)"
3314 echores
"no (failed to get version)"
3317 echores
"$_directfb"
3320 if test "$_directfb" = yes ; then
3321 _def_directfb
='#define HAVE_DIRECTFB 1'
3322 if test "$_directfb_version" -ge 913; then
3323 _vosrc
="$_vosrc vo_directfb2.c"
3325 _vosrc
="$_vosrc vo_directfb.c"
3327 _vomodules
="directfb $_vomodules"
3328 _ld_directfb
='-ldirectfb'
3330 if test "$_directfb_version" -ge 915; then
3331 _vosrc
="$_vosrc vo_dfbmga.c"
3332 _vomodules
="dfbmga $_vomodules"
3335 _def_directfb
='#undef HAVE_DIRECTFB'
3336 _novomodules
="directfb $_novomodules"
3341 echocheck
"X11 headers presence"
3342 if test -z "$_inc_x11" ; then
3343 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
3344 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
3346 echores
"yes (using $I)"
3350 if test -z "$_inc_x11" ; then
3352 echores
"not found (check if the dev(el) packages are installed)"
3355 echores
"yes (using $_inc_x11)"
3357 if test "$_inc_x11" = "-I/usr/include" ; then
3362 echocheck
"X11 libs presence"
3363 if test -z "$_ld_x11" ; then
3364 for I
in /usr
/X11R
6/lib
/usr
/lib
/X11R6
/usr
/X11
/lib
/usr
/lib32
/usr
/openwin
/lib
/usr
/X11R
6/lib64
/usr
/lib
; do
3365 if test -d "$I" && ( test -f "$I/libX11.so" ||
test -f "$I/libX11.a" ||
test -f "$I/libX11.dll.a" ) ; then
3367 _ld_x11
="-L$I -Wl,-R$I"
3371 echores
"yes (using $I)"
3375 if test -z "$_ld_x11" ; then
3377 echores
"not found (check if the dev(el) packages are installed)"
3380 echores
"yes (using $_ld_x11)"
3382 _ld_x11
="$_ld_x11 -lXext -lX11 $_ld_sock"
3386 if test "$_x11" != no
; then
3388 #include <X11/Xlib.h>
3389 #include <X11/Xutil.h>
3390 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3393 cc_check
$_inc_x11 $_ld_x11 && _x11
=yes
3395 if test "$_x11" = yes ; then
3396 _def_x11
='#define HAVE_X11 1'
3397 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3398 _vomodules
="x11 xover $_vomodules"
3400 _def_x11
='#undef HAVE_X11'
3403 _novomodules
="x11 $_novomodules"
3410 if test "$_x11" = yes ; then
3412 #include <X11/Xmd.h>
3413 #include <X11/Xlib.h>
3414 #include <X11/Xutil.h>
3415 #include <X11/Xatom.h>
3416 #include <X11/extensions/dpms.h>
3418 (void) DPMSQueryExtension(0, 0, 0);
3421 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
3424 if test "$_x11" = yes ; then
3426 #include <X11/Xlib.h>
3427 #include <X11/extensions/dpms.h>
3429 (void) DPMSQueryExtension(0, 0, 0);
3432 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
3434 if test "$_xdpms4" = yes ; then
3435 _def_xdpms
='#define HAVE_XDPMS 1'
3436 echores
"yes (using Xdpms 4)"
3437 elif test "$_xdpms3" = yes ; then
3438 _def_xdpms
='#define HAVE_XDPMS 1'
3439 _ld_x11
="-lXdpms $_ld_x11"
3440 echores
"yes (using Xdpms 3)"
3442 _def_xdpms
='#undef HAVE_XDPMS'
3448 if test "$_x11" = yes && test "$_xv" != no
; then
3450 #include <X11/Xlib.h>
3451 #include <X11/extensions/Xvlib.h>
3453 (void) XvGetPortAttribute(0, 0, 0, 0);
3454 (void) XvQueryPortAttributes(0, 0, 0);
3458 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
3462 if test "$_xv" = yes ; then
3463 _def_xv
='#define HAVE_XV 1'
3465 _vosrc
="$_vosrc vo_xv.c"
3466 _vomodules
="xv $_vomodules"
3468 _def_xv
='#undef HAVE_XV'
3469 _novomodules
="xv $_novomodules"
3475 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
3478 #include <X11/Xlib.h>
3479 #include <X11/extensions/Xvlib.h>
3480 #include <X11/extensions/XvMClib.h>
3482 (void) XvMCQueryExtension(0,0,0);
3483 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3486 cc_check
$_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc
=yes
3488 if test "$_xvmc" = yes ; then
3489 _def_xvmc
='#define HAVE_XVMC 1'
3490 _ld_xvmc
="-lXvMC -l$_xvmclib"
3491 _vosrc
="$_vosrc vo_xvmc.c"
3492 _vomodules
="xvmc $_vomodules"
3494 _def_xvmc
='#undef HAVE_XVMC'
3495 _novomodules
="xvmc $_novomodules"
3500 echocheck
"Xinerama"
3501 if test "$_x11" = yes && test "$_xinerama" != no
; then
3503 #include <X11/Xlib.h>
3504 #include <X11/extensions/Xinerama.h>
3505 int main(void) { (void) XineramaIsActive(0); return 0; }
3508 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3512 if test "$_xinerama" = yes ; then
3513 _def_xinerama
='#define HAVE_XINERAMA 1'
3514 _ld_xinerama
='-lXinerama'
3516 _def_xinerama
='#undef HAVE_XINERAMA'
3518 echores
"$_xinerama"
3521 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3522 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3523 # named 'X extensions' or something similar.
3524 # This check may be useful for future mplayer versions (to change resolution)
3525 # If you run into problems, remove '-lXxf86vm'.
3527 if test "$_x11" = yes && test "$_vm" != no
; then
3529 #include <X11/Xlib.h>
3530 #include <X11/extensions/xf86vmode.h>
3531 #include <X11/XF86keysym.h>
3532 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3535 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3539 if test "$_vm" = yes ; then
3540 _def_vm
='#define HAVE_XF86VM 1'
3543 _def_vm
='#undef HAVE_XF86VM'
3549 # Version 2 is preferred to version 1 if available
3550 if test "$_dga" = auto
; then
3552 #include <X11/Xlib.h>
3553 #include <X11/extensions/xf86dga.h>
3554 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3557 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3560 #include <X11/Xlib.h>
3561 #include <X11/extensions/xf86dga.h>
3562 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3564 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3567 _def_dga
='#undef HAVE_DGA'
3568 _def_dga2
='#undef HAVE_DGA2'
3569 if test "$_dga" = 1 ; then
3570 _def_dga
='#define HAVE_DGA 1'
3571 _ld_dga
='-lXxf86dga'
3572 _vosrc
="$_vosrc vo_dga.c"
3573 _vomodules
="dga $_vomodules"
3574 echores
"yes (using DGA 1.0)"
3575 elif test "$_dga" = 2 ; then
3576 _def_dga
='#define HAVE_DGA 1'
3577 _def_dga2
='#define HAVE_DGA2 1'
3578 _ld_dga
='-lXxf86dga'
3579 _vosrc
="$_vosrc vo_dga.c"
3580 _vomodules
="dga $_vomodules"
3581 echores
"yes (using DGA 2.0)"
3582 elif test "$_dga" = no
; then
3584 _novomodules
="dga $_novomodules"
3586 die
"DGA version must be 1 or 2"
3591 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3592 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
3595 int main(void) { return 0; }
3598 if cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm ; then
3601 elif cc_check
$_inc_x11 $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
3603 _ld_gl
="-lGL $_ld_pthread"
3604 elif cc_check
-lopengl32 ; then
3607 _ld_gl
="-lopengl32 -lgdi32"
3612 if test "$_gl" = yes ; then
3613 _def_gl
='#define HAVE_GL 1'
3614 if test "$_gl_win32" = yes ; then
3615 _def_gl_win32
='#define GL_WIN32 1'
3616 _vosrc
="$_vosrc vo_gl2.c w32_common.c gl_common.c"
3618 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
3620 _vomodules
="opengl $_vomodules"
3622 _def_gl
='#undef HAVE_GL'
3623 _def_gl_win32
='#undef GL_WIN32'
3624 _novomodules
="opengl $_novomodules"
3629 echocheck
"/dev/mga_vid"
3630 if test "$_mga" = auto
; then
3632 test -c /dev
/mga_vid
&& _mga
=yes
3634 if test "$_mga" = yes ; then
3635 _def_mga
='#define HAVE_MGA 1'
3636 _vosrc
="$_vosrc vo_mga.c"
3637 _vomodules
="mga $_vomodules"
3639 _def_mga
='#undef HAVE_MGA'
3640 _novomodules
="mga $_novomodules"
3645 # echocheck "syncfb"
3647 # test "$_mga" = yes && _syncfb=yes
3648 # if test "$_syncfb" = yes ; then
3649 # _def_syncfb='#define HAVE_SYNCFB 1'
3650 # _vosrc="$_vosrc vo_syncfb.c"
3652 # _def_syncfb='#undef HAVE_SYNCFB'
3654 # echores "$_syncfb"
3658 if test "$_xmga" = auto
; then
3660 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3662 if test "$_xmga" = yes ; then
3663 _def_xmga
='#define HAVE_XMGA 1'
3664 _vosrc
="$_vosrc vo_xmga.c"
3665 _vomodules
="xmga $_vomodules"
3667 _def_xmga
='#undef HAVE_XMGA'
3668 _novomodules
="xmga $_novomodules"
3674 if test "$_ggi" = auto
; then
3676 #include <ggi/ggi.h>
3677 int main(void) { return 0; }
3680 cc_check
-lggi && _ggi
=yes
3682 if test "$_ggi" = yes ; then
3683 _def_ggi
='#define HAVE_GGI 1'
3685 _vosrc
="$_vosrc vo_ggi.c"
3686 _vomodules
="ggi $_vomodules"
3688 _def_ggi
='#undef HAVE_GGI'
3689 _novomodules
="ggi $_novomodules"
3695 if test "$_aa" = auto
; then
3698 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3701 cc_check
-laa && _aa
=yes
3703 if test "$_aa" = yes ; then
3704 _def_aa
='#define HAVE_AA 1'
3706 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
3710 _vosrc
="$_vosrc vo_aa.c"
3711 _vomodules
="aa $_vomodules"
3713 _def_aa
='#undef HAVE_AA'
3714 _novomodules
="aa $_novomodules"
3720 if test "$_caca" = auto
; then
3722 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
3725 int main(void) { (void) caca_init(); return 0; }
3727 cc_check
`caca-config --libs` && _caca
=yes
3730 if test "$_caca" = yes ; then
3731 _def_caca
='#define HAVE_CACA 1'
3732 _inc_caca
=`caca-config --cflags`
3733 _ld_caca
=`caca-config --libs`
3734 _vosrc
="$_vosrc vo_caca.c"
3735 _vomodules
="caca $_vomodules"
3737 _def_caca
='#undef HAVE_CACA'
3738 _novomodules
="caca $_novomodules"
3744 if test "$_svga" = auto
; then
3748 int main(void) { return 0; }
3751 cc_check
-lvgagl -lvga $_ld_lm && _svga
=yes
3753 if test "$_svga" = yes ; then
3754 _def_svga
='#define HAVE_SVGALIB 1'
3755 _ld_svga
="-lvgagl -lvga $_ld_lm"
3756 _vosrc
="$_vosrc vo_svga.c"
3757 _vomodules
="svga $_vomodules"
3759 _def_svga
='#undef HAVE_SVGALIB'
3760 _novomodules
="svga $_novomodules"
3766 if test "$_fbdev" = auto
; then
3768 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
3770 if test "$_fbdev" = yes ; then
3771 _def_fbdev
='#define HAVE_FBDEV 1'
3772 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
3773 _vomodules
="fbdev $_vomodules"
3775 _def_fbdev
='#undef HAVE_FBDEV'
3776 _novomodules
="fbdev $_novomodules"
3783 if test "$_dvb" != no
; then
3786 #include <sys/poll.h>
3787 #include <sys/ioctl.h>
3792 #include <ost/dmx.h>
3793 #include <ost/frontend.h>
3794 #include <ost/sec.h>
3795 #include <ost/video.h>
3796 #include <ost/audio.h>
3797 int main(void) {return 0;}
3803 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3804 if cc_check
"$I" ; then
3807 echores
"yes (using $_inc_dvb)"
3811 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3816 if test "$_dvb" = yes ; then
3817 _def_dvb
='#define HAVE_DVB 1'
3818 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3819 _aomodules
="mpegpes(dvb) $_aomodules"
3820 _vomodules
="mpegpes(dvb) $_vomodules"
3822 if test "$_dvbhead" != no
; then
3823 echocheck
"DVB HEAD"
3824 if test "$_dvbhead" != no
; then
3828 #include <sys/poll.h>
3829 #include <sys/ioctl.h>
3834 #include <linux/dvb/dmx.h>
3835 #include <linux/dvb/frontend.h>
3836 #include <linux/dvb/video.h>
3837 #include <linux/dvb/audio.h>
3838 int main(void) {return 0;}
3844 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3845 if cc_check
"$I" ; then
3848 echores
"yes (using $_inc_dvb)"
3852 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3857 if test "$_dvbhead" = yes ; then
3858 _def_dvb
='#define HAVE_DVB_HEAD 1'
3859 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3860 _aomodules
="mpegpes(dvb) $_aomodules"
3861 _vomodules
="mpegpes(dvb) $_vomodules"
3864 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
3865 _def_dvb
='#undef HAVE_DVB'
3866 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
3867 _aomodules
="mpegpes(file) $_aomodules"
3868 _vomodules
="mpegpes(file) $_vomodules"
3871 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
3873 _inputmodules
="dvb $_inputmodules"
3876 _noinputmodules
="dvb $_noinputmodules"
3879 echocheck
"PNG support"
3880 if test "$_png" = auto
; then
3883 # Don't check for -lpng on irix since it has its own libpng
3884 # incompatible with the GNU libpng
3885 echores
"disabled on irix (not GNU libpng)"
3891 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3892 printf("libpng: %s\n", png_libpng_ver);
3893 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3896 if cc_check
-lpng -lz $_ld_lm ; then
3897 if "$TMPO" >> "$TMPLOG" ; then
3901 echores
"no (mismatch of library and header versions)"
3910 if test "$_png" = yes ; then
3911 _def_png
='#define HAVE_PNG 1'
3913 _vosrc
="$_vosrc vo_png.c"
3914 _vomodules
="png $_vomodules"
3917 _def_png
='#undef HAVE_PNG'
3918 _novomodules
="png $_novomodules"
3922 echocheck
"JPEG support"
3923 if test "$_jpg" = auto
; then
3930 #include <jpeglib.h>
3935 if cc_check
-ljpeg $_ld_lm ; then
3936 if "$TMPO" >> "$TMPLOG" ; then
3943 if test "$_jpg" = yes ; then
3944 _def_jpg
='#define HAVE_JPEG 1'
3945 _vosrc
="$_vosrc vo_jpeg.c"
3946 _vomodules
="jpeg $_vomodules"
3950 _def_jpg
='#undef HAVE_JPEG'
3951 _novomodules
="jpeg $_novomodules"
3957 echocheck
"PNM support"
3958 if test "$_pnm" = yes; then
3959 _def_pnm
="#define HAVE_PNM"
3960 _vosrc
="$_vosrc vo_pnm.c"
3961 _vomodules
="pnm $_vomodules"
3963 _def_pnm
="#undef HAVE_PNM"
3964 _novomodules
="pnm $_novomodules"
3970 echocheck
"md5sum support"
3971 if test "$_md5sum" = yes; then
3972 _def_md5sum
="#define HAVE_MD5SUM"
3973 _vosrc
="$_vosrc vo_md5sum.c md5sum.c"
3974 _vomodules
="md5sum $_vomodules"
3976 _def_md5sum
="#undef HAVE_MD5SUM"
3977 _novomodules
="md5sum $_novomodules"
3983 echocheck
"GIF support"
3984 # This is to appease people who want to force gif support.
3985 # If it is forced to yes, then we still do checks to determine
3986 # which gif library to use.
3987 if test "$_gif" = yes ; then
3992 if test "$_gif" = auto
; then
3995 #include <gif_lib.h>
4000 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
4003 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4005 _ld_gif
="-lungif $_ld_x11"
4006 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
4009 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
4011 _ld_gif
="-lgif $_ld_x11"
4015 # If no library was found, and the user wants support forced,
4016 # then we force it on with libgif, as this is the safest
4017 # assumption IMHO. (libungif & libregif both create symbolic
4018 # links to libgif. We also assume that no x11 support is needed,
4019 # because if you are forcing this, then you _should_ know what
4020 # you are doing. [ Besides, package maintainers should never
4021 # have compiled x11 deps into libungif in the first place. ] )
4024 if test "$_force_gif" = yes && test "$_gif" = no
; then
4029 if test "$_gif" = yes ; then
4030 _def_gif
='#define HAVE_GIF 1'
4031 _vosrc
="$_vosrc vo_gif89a.c"
4032 _codecmodules
="gif $_codecmodules"
4033 _vomodules
="gif89a $_vomodules"
4035 _gif
="yes (old version, some encoding functions disabled)"
4036 _def_gif_4
='#undef HAVE_GIF_4'
4040 #include <gif_lib.h>
4041 void catch() { exit(1); }
4043 signal(SIGSEGV, catch); // catch segfault
4044 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4045 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4049 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4050 _def_gif_4
='#define HAVE_GIF_4 1'
4054 _def_gif
='#undef HAVE_GIF'
4055 _def_gif_4
='#undef HAVE_GIF_4'
4056 _novomodules
="gif89a $_novomodules"
4057 _nocodecmodules
="gif $_codecmodules"
4063 case "$_gif" in yes*)
4064 echocheck
"broken giflib workaround"
4065 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4068 #include <gif_lib.h>
4071 printf("UserData is at address %p\n", gif.UserData);
4075 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
4076 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4085 echocheck
"VESA support"
4086 if test "$_vesa" = auto
; then
4087 if x86
&& linux
; then
4091 int main(void) { return 0; }
4093 cc_check
&& _vesa
=yes
4096 if test "$_vesa" = yes ; then
4097 _def_vesa
='#define HAVE_VESA 1'
4098 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
4099 _vomodules
="vesa $_vomodules"
4102 _def_vesa
='#undef HAVE_VESA'
4103 echores
"no (not supported on this OS/architecture)"
4104 _novomodules
="vesa $_novomodules"
4113 if test -z "$_sdlconfig" ; then
4114 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4115 _sdlconfig
="sdl-config"
4116 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4117 _sdlconfig
="sdl11-config"
4122 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4125 int main(int argc, char *argv[]) { return 0; }
4128 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4129 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4130 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4131 if test "$_sdlversion" -gt 116 ; then
4132 if test "$_sdlversion" -lt 121 ; then
4133 _def_sdlbuggy
='#define BUGGY_SDL'
4135 _def_sdlbuggy
='#undef BUGGY_SDL'
4144 if test "$_sdl" = yes ; then
4145 _def_sdl
='#define HAVE_SDL 1'
4147 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4148 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
4150 _ld_sdl
=`$_sdlconfig --libs | sed s/-mwindows//`
4151 _inc_sdl
=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
4153 _ld_sdl
=`$_sdlconfig --libs`
4154 _inc_sdl
=`$_sdlconfig --cflags`
4156 _vosrc
="$_vosrc vo_sdl.c"
4157 _vomodules
="sdl $_vomodules"
4158 _aosrc
="$_aosrc ao_sdl.c"
4159 _aomodules
="sdl $_aomodules"
4160 echores
"yes (using $_sdlconfig)"
4162 _def_sdl
='#undef HAVE_SDL'
4163 _novomodules
="sdl $_novomodules"
4164 _noaomodules
="sdl $_noaomodules"
4168 echocheck
"Windows waveout"
4169 if test "$_win32waveout" = auto
; then
4171 #include <windows.h>
4172 #include <mmsystem.h>
4173 int main(void) { return 0; }
4176 cc_check
-lwinmm && _win32waveout
=yes
4178 if test "$_win32waveout" = yes ; then
4179 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4180 _ld_win32libs
="-lwinmm $_ld_win32libs"
4181 _aosrc
="$_aosrc ao_win32.c"
4182 _aomodules
="win32 $_aomodules"
4184 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4185 _noaomodules
="win32 $_noaomodules"
4187 echores
"$_win32waveout"
4190 if test "$_directx" = auto
; then
4192 #include <windows.h>
4195 int main(void) { return 0; }
4198 cc_check
-lgdi32 && _directx
=yes
4200 if test "$_directx" = yes ; then
4201 _def_directx
='#define HAVE_DIRECTX 1'
4202 _ld_win32libs
="-lgdi32 $_ld_win32libs"
4203 _vosrc
="$_vosrc vo_directx.c"
4204 _vomodules
="directx $_vomodules"
4205 _aosrc
="$_aosrc ao_dsound.c"
4206 _aomodules
="dsound $_aomodules"
4208 _def_directx
='#undef HAVE_DIRECTX'
4209 _novomodules
="directx $_novomodules"
4210 _noaomodules
="dsound $_noaomodules"
4215 if test "$_nas" = auto ||
test "$_nas" = yes ; then
4217 #include <audio/audiolib.h>
4218 int main(void) { return 0; }
4221 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 $_ld_lm && _nas
=yes
4223 if test "$_nas" = yes ; then
4224 _def_nas
='#define HAVE_NAS 1'
4225 _ld_nas
="-laudio -lXt $_ld_x11"
4226 _aosrc
="$_aosrc ao_nas.c"
4227 _aomodules
="nas $_aomodules"
4229 _noaomodules
="nas $_noaomodules"
4230 _def_nas
='#undef HAVE_NAS'
4235 if test "$_dxr2" = auto
; then
4237 for _inc_dxr2
in "$_inc_dxr2" \
4238 "-I/usr/local/include/dxr2" \
4239 "-I/usr/include/dxr2"; do
4241 #include <dxr2ioctl.h>
4242 int main(void) { return 0; }
4244 cc_check
$_inc_dxr2 && _dxr2
=yes && break
4247 if test "$_dxr2" = yes; then
4248 _def_dxr2
='#define HAVE_DXR2 1'
4249 _vosrc
="$_vosrc vo_dxr2.c"
4250 _aosrc
="$_aosrc ao_dxr2.c"
4251 _aomodules
="dxr2 $_aomodules"
4252 _vomodules
="dxr2 $_vomodules"
4253 echores
"yes (using $_inc_dxr2)"
4255 _def_dxr2
='#undef HAVE_DXR2'
4256 _noaomodules
="dxr2 $_noaomodules"
4257 _novomodules
="dxr2 $_novomodules"
4263 if test "$_dxr3" = auto
; then
4265 #include <linux/em8300.h>
4266 int main(void) { return 0; }
4269 cc_check
&& _dxr3
=yes
4271 if test "$_dxr3" = yes ; then
4272 _def_dxr3
='#define HAVE_DXR3 1'
4273 _vosrc
="$_vosrc vo_dxr3.c"
4274 _vomodules
="dxr3 $_vomodules"
4276 _def_dxr3
='#undef HAVE_DXR3'
4277 _novomodules
="dxr3 $_novomodules"
4278 if test "$_mp1e" = auto
; then
4279 # we don't need mp1e
4286 if test "$_mmx" = no
; then
4287 # mp1e REQUIRES mmx!
4290 if test "$_mp1e" != no
; then
4292 _def_mp1e
='#define USE_MP1E'
4293 _ld_mp1e
='libmp1e/libmp1e.a'
4294 _dep_mp1e
='libmp1e/libmp1e.a'
4297 _def_mp1e
='#undef USE_MP1E'
4305 if test "$_fame" = auto
; then
4307 test "$_dxr2" = yes && _fame
=auto
4308 test "$_dxr3" = yes && _fame
=auto
4309 test "$_dvb" = yes && _fame
=auto
4311 if test "$_fame" = auto
; then
4313 if test -d libfame
&& test -f libfame
/fame.h
; then
4314 # disable fame on cygwin as no sense to port - atmos
4318 echores
"no (no fame dir)"
4324 _def_fame
='#undef USE_LIBFAME'
4325 if test "$_fame" = yes ; then
4326 _def_fame
='#define USE_LIBFAME 1'
4327 _ld_fame
='libfame/libfame.a'
4336 echocheck
"OSS Audio"
4337 if test "$_ossaudio" = auto
; then
4339 #include <sys/ioctl.h>
4341 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4344 cc_check
&& _ossaudio
=yes
4346 if test "$_ossaudio" = yes ; then
4347 _def_ossaudio
='#define USE_OSS_AUDIO 1'
4348 _aosrc
="$_aosrc ao_oss.c"
4349 _aomodules
="oss $_aomodules"
4350 if test "$_linux_devfs" = yes; then
4351 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
4352 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4355 #include <sys/ioctl.h>
4357 #ifdef OPEN_SOUND_SYSTEM
4358 int main(void) { return 0; }
4360 #error Not the real thing
4364 cc_check
&& _real_ossaudio
=yes
4365 if test "$_real_ossaudio" = yes; then
4366 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4367 elif netbsd || openbsd
; then
4368 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4369 _ld_arch
="$_ld_arch -lossaudio"
4371 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4373 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4376 _def_ossaudio
='#undef USE_OSS_AUDIO'
4377 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4378 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4379 _noaomodules
="oss $_noaomodules"
4381 echores
"$_ossaudio"
4385 if test "$_arts" = auto
; then
4387 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4391 int main(void) { return 0; }
4393 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
4398 if test "$_arts" = yes ; then
4399 _def_arts
='#define USE_ARTS 1'
4400 _aosrc
="$_aosrc ao_arts.c"
4401 _aomodules
="arts $_aomodules"
4402 _ld_arts
=`artsc-config --libs`
4403 _inc_arts
=`artsc-config --cflags`
4405 _noaomodules
="arts $_noaomodules"
4411 if test "$_esd" = auto
; then
4413 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4417 int main(void) { return 0; }
4419 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
4425 if test "$_esd" = yes ; then
4426 _def_esd
='#define USE_ESD 1'
4427 _aosrc
="$_aosrc ao_esd.c"
4428 _aomodules
="esd $_aomodules"
4429 _ld_esd
=`esd-config --libs`
4430 _inc_esd
=`esd-config --cflags`
4432 echocheck
"esd_get_latency()"
4435 int main(void) { return esd_get_latency(0); }
4437 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
4438 echores
"$_esd_latency"
4440 _def_esd
='#undef USE_ESD'
4441 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
4442 _noaomodules
="esd $_noaomodules"
4446 if test "$_polyp" = auto
; then
4448 if ( pkg-config
--exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ) >> "$TMPLOG" 2>&1 ; then
4451 #include <polyp/polyplib.h>
4452 #include <polyp/mainloop.h>
4453 #include <polyp/polyplib-error.h>
4454 int main(void) { return 0; }
4456 cc_check
`pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _polyp
=yes
4462 if test "$_polyp" = yes ; then
4463 _def_polyp
='#define USE_POLYP 1'
4464 _aosrc
="$_aosrc ao_polyp.c"
4465 _aomodules
="polyp $_aomodules"
4466 _ld_polyp
=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4467 _inc_polyp
=`pkg-config --cflags polyplib polyplib-error polyplib-mainloop`
4469 _def_polyp
='#undef USE_POLYP'
4470 _noaomodules
="polyp $_noaomodules"
4475 if test "$_jack" = auto
; then
4477 if ( ( pkg-config
--modversion jack
) > /dev
/null
2>&1 ) &&
4478 ( jackd
--version |
grep version |
awk '{ print $3 }' ) >> "$TMPLOG" 2>&1 ; then
4481 #include <jack/jack.h>
4482 int main(void) { JACK_Init(); return 0; }
4484 # This test only checks the minor version number.
4485 if ( ( test `bio2jack-config --version | cut -d '.' -f 2` -ge 3 ) ) >/dev
/null
2>&1 ; then
4486 if test -z "$_bio2jackdir" ; then
4487 cc_check
-lbio2jack `pkg-config --libs --cflags jack` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _jack
=yes
4489 cc_check
-L "$_bio2jackdir" -lbio2jack `pkg-config --libs --cflags jack` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _jack
=yes
4495 if test "$_jack" = yes ; then
4496 _def_jack
='#define USE_JACK 1'
4497 _aosrc
="$_aosrc ao_jack.c"
4498 _aomodules
="jack $_aomodules"
4499 if test -z "$_bio2jackdir" ; then
4500 _ld_jack
="-lbio2jack `pkg-config --libs jack`"
4502 _ld_jack
="-L \"$_bio2jackdir\" -lbio2jack `pkg-config --libs jack`"
4504 _inc_jack
=`pkg-config --cflags jack`
4506 _noaomodules
="jack $_noaomodules"
4511 echocheck
"ALSA audio"
4512 if test "$_alsa" != no
; then
4515 #include <sys/asoundlib.h>
4516 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
4518 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
4521 #include <sys/asoundlib.h>
4522 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4524 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-sys'
4526 #include <alsa/asoundlib.h>
4527 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
4529 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
4532 #include <sys/asoundlib.h>
4533 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4535 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-sys'
4537 #include <alsa/asoundlib.h>
4538 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
4540 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-alsa'
4542 _def_alsa5
='#undef HAVE_ALSA5'
4543 _def_alsa9
='#undef HAVE_ALSA9'
4544 _def_alsa1x
='#undef HAVE_ALSA1X'
4545 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
4546 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
4547 if test "$_alsaver" ; then
4548 if test "$_alsaver" = '0.5.x' ; then
4549 _aosrc
="$_aosrc ao_alsa5.c"
4550 _aomodules
="alsa5 $_aomodules"
4551 _def_alsa5
='#define HAVE_ALSA5 1'
4552 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4553 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
4554 elif test "$_alsaver" = '0.9.x-sys' ; then
4555 _aosrc
="$_aosrc ao_alsa.c"
4556 _aomodules
="alsa $_aomodules"
4557 _def_alsa9
='#define HAVE_ALSA9 1'
4558 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4559 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
4560 elif test "$_alsaver" = '0.9.x-alsa' ; then
4561 _aosrc
="$_aosrc ao_alsa.c"
4562 _aomodules
="alsa $_aomodules"
4563 _def_alsa9
='#define HAVE_ALSA9 1'
4564 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4565 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
4566 elif test "$_alsaver" = '1.0.x-sys' ; then
4567 _aosrc
="$_aosrc ao_alsa.c"
4568 _aomodules
="alsa $_aomodules"
4569 _def_alsa1x
="#define HAVE_ALSA1X 1"
4570 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4571 echores
"yes (using alsa 1.0.x and sys/asoundlib.h)"
4572 elif test "$_alsaver" = '1.0.x-alsa' ; then
4573 _aosrc
="$_aosrc ao_alsa.c"
4574 _aomodules
="alsa $_aomodules"
4575 _def_alsa1x
="#define HAVE_ALSA1X 1"
4576 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4577 echores
"yes (using alsa 1.0.x and alsa/asoundlib.h)"
4579 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
4581 _noaomodules
="alsa $_noaomodules"
4586 echocheck
"Sun audio"
4587 if test "$_sunaudio" = auto
; then
4589 #include <sys/types.h>
4590 #include <sys/audioio.h>
4591 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4594 cc_check
&& _sunaudio
=yes
4596 if test "$_sunaudio" = yes ; then
4597 _def_sunaudio
='#define USE_SUN_AUDIO 1'
4598 _aosrc
="$_aosrc ao_sun.c"
4599 _aomodules
="sun $_aomodules"
4601 _def_sunaudio
='#undef USE_SUN_AUDIO'
4602 _noaomodules
="sun $_noaomodules"
4604 echores
"$_sunaudio"
4607 echocheck
"Sun mediaLib"
4608 if test "$_mlib" = auto
; then
4610 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
4613 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4615 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
4617 if test "$_mlib" = yes ; then
4618 _def_mlib
='#define HAVE_MLIB 1'
4619 _inc_mlib
=" -I${_mlibdir}/include "
4620 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4622 _def_mlib
='#undef HAVE_MLIB'
4627 echocheck
"SGI audio"
4628 if test "$_sgiaudio" = auto
; then
4629 # check for SGI audio
4631 #include <dmedia/audio.h>
4632 int main(void) { return 0; }
4635 cc_check
&& _sgiaudio
=yes
4637 if test "$_sgiaudio" = "yes" ; then
4638 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
4639 _ld_sgiaudio
='-laudio'
4640 _aosrc
="$_aosrc ao_sgi.c"
4641 _aomodules
="sgi $_aomodules"
4643 _def_sgiaudio
='#undef USE_SGI_AUDIO'
4644 _noaomodules
="sgi $_noaomodules"
4646 echores
"$_sgiaudio"
4649 echocheck
"VCD support"
4650 if linux || bsdos || freebsd || netbsd || sunos || darwin
; then
4651 _inputmodules
="vcd $_inputmodules"
4652 _def_vcd
='#define HAVE_VCD 1'
4655 _def_vcd
='#undef HAVE_VCD'
4656 _noinputmodules
="vcd $_noinputmodules"
4657 echores
"not supported on this OS"
4660 echocheck
"DVD support (libmpdvdkit)"
4661 if test "$_dvdkit" = auto
; then
4663 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux
; then
4664 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
4665 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
4668 if test "$_dvdkit" = yes ; then
4669 if test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes ||
test "$_hpux_scsi_h" = yes || darwin || win32
; then
4670 if test -f "./libmpdvdkit2/Makefile" ; then
4671 _inputmodules
="mpdvdkit2 $_inputmodules"
4672 _dvdread
=libmpdvdkit2
4676 _inputmodules
="mpdvdkit $_inputmodules"
4677 _dvdread
=libmpdvdkit
4680 _noinputmodules
="mpdvdkit $_noinputmodules"
4682 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
4683 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
4684 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
4685 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
4686 if linux || netbsd || openbsd || bsdos
; then
4687 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
4689 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
4693 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
4696 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
4701 _noinputmodules
="mpdvdkit $_noinputmodules"
4703 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
4709 echocheck
"DVD support (libdvdread)"
4710 if test "$_dvdread" = auto
; then
4712 #include <inttypes.h>
4713 #include <dvdread/dvd_reader.h>
4714 #include <dvdread/ifo_types.h>
4715 #include <dvdread/ifo_read.h>
4716 #include <dvdread/nav_read.h>
4717 int main(void) { return 0; }
4720 if test "$_dl" = yes; then
4722 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4726 _def_mpdvdkit
="#undef USE_MPDVDKIT"
4730 _def_dvdread
='#define USE_DVDREAD 1'
4731 _ld_dvdread
='-ldvdread'
4732 _inputmodules
="dvdread $_inputmodules"
4736 _def_dvdread
='#undef USE_DVDREAD'
4737 _noinputmodules
="dvdread $_noinputmodules"
4742 _def_dvdread
='#define USE_DVDREAD 1'
4743 _ld_dvdread
='-Llibmpdvdkit -lmpdvdkit'
4744 _noinputmodules
="dvdread $_noinputmodules"
4745 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
4746 echores
"disabled by libmpdvdkit"
4750 _def_dvdread
='#define USE_DVDREAD 1'
4751 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
4752 _noinputmodules
="dvdread $_noinputmodules"
4753 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
4754 echores
"disabled by libmpdvdkit2"
4758 # dvdnav disabled, it does not work
4759 # echocheck "DVD support (libdvdnav)"
4760 # if test "$_dvdnav" = yes ; then
4762 # #include <dvdnav.h>
4763 # int main(void) { dvdnav_t *dvd=0; return 0; }
4766 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4767 # if test -z "$_dvdnavconfig" ; then
4768 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4769 # _dvdnavconfig="dvdnav-config"
4772 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4774 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4775 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4777 # if test "$_dvdnav" = yes ; then
4779 # _def_dvdnav='#define USE_DVDNAV 1'
4780 # if test -n "$_legal_dvdnavdir" ; then
4781 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4782 # elif test -n "$_dvdnavconfig" ; then
4783 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4785 # _ld_css="$_ld_css -ldvdnav"
4787 # if test -n "$_dvdnavconfig" ; then
4788 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4789 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4791 # if test -n "$_dvdnavdir" ; then
4792 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4794 # _inputmodules="dvdnav $_inputmodules"
4797 # _def_dvdnav='#undef USE_DVDNAV'
4798 # _noinputmodules="dvdnav $_noinputmodules"
4802 echocheck
"cdparanoia"
4803 if test "$_cdparanoia" = auto
; then
4805 #include <cdda_interface.h>
4806 #include <cdda_paranoia.h>
4807 // This need a better test. How ?
4808 int main(void) { return 1; }
4811 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
4814 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
4815 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm ; then
4816 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
4821 if test "$_cdparanoia" = yes ; then
4822 _def_cdparanoia
='#define HAVE_CDDA'
4823 _inputmodules
="cdda $_inputmodules"
4824 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4825 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
4827 _def_cdparanoia
='#undef HAVE_CDDA'
4828 _noinputmodules
="cdda $_noinputmodules"
4830 echores
"$_cdparanoia"
4833 echocheck
"freetype >= 2.0.9"
4835 # freetype depends on iconv
4836 if test "$_iconv" = no
; then
4837 _freetype
="no (iconv support needed)"
4840 if test "$_freetype" = auto
; then
4841 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
4844 #include <ft2build.h>
4845 #include FT_FREETYPE_H
4846 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4847 #error "Need FreeType 2.0.9 or newer"
4852 FT_Int major=-1,minor=-1,patch=-1;
4853 int err=FT_Init_FreeType(&library);
4855 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4858 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4859 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4860 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4861 (int)major,(int)minor,(int)patch );
4862 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4863 printf("Library and header version mismatch! Fix it in your distribution!\n");
4870 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
4875 if test "$_freetype" = yes ; then
4876 _def_freetype
='#define HAVE_FREETYPE'
4877 _inc_freetype
=`$_freetypeconfig --cflags`
4878 _ld_freetype
=`$_freetypeconfig --libs`
4880 _def_freetype
='#undef HAVE_FREETYPE'
4882 echores
"$_freetype"
4884 if test "$_freetype" = no
; then
4887 echocheck
"fontconfig"
4888 if test "$_fontconfig" = auto
; then
4889 if ( pkg-config
--modversion fontconfig
) > /dev
/null
2>&1 ; then
4892 #include <fontconfig/fontconfig.h>
4897 printf("Couldn't initialize fontconfig lib\n");
4905 cc_check
`pkg-config --cflags --libs fontconfig` && ( $TMPO >> "$TMPLOG" ) && _fontconfig
=yes
4910 if test "$_fontconfig" = yes ; then
4911 _def_fontconfig
='#define HAVE_FONTCONFIG'
4912 _inc_fontconfig
=`pkg-config --cflags fontconfig`
4913 _ld_fontconfig
=`pkg-config --libs fontconfig`
4915 _def_fontconfig
='#undef HAVE_FONTCONFIG'
4917 echores
"$_fontconfig"
4919 echocheck
"fribidi with charsets"
4920 if test "$_fribidi" = yes ; then
4921 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
4924 #include <fribidi/fribidi.h>
4927 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4928 printf("Fribidi headers are not consistents with the library!\n");
4935 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
4940 if test "$_fribidi" = yes ; then
4941 _def_fribidi
='#define USE_FRIBIDI'
4942 _inc_fribidi
=`$_fribidiconfig --cflags`
4943 _ld_fribidi
=`$_fribidiconfig --libs`
4945 _def_fribidi
='#undef USE_FRIBIDI'
4951 if test "$_enca" = auto
; then
4958 langs = enca_get_languages(&langcnt);
4963 cc_check
-lenca && _enca
=yes
4965 if test "$_enca" = yes ; then
4966 _def_enca
='#define HAVE_ENCA 1'
4969 _def_enca
='#undef HAVE_ENCA'
4977 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4980 cc_check
-lz && _zlib
=yes
4981 if test "$_zlib" = yes ; then
4982 _def_zlib
='#define HAVE_ZLIB 1'
4985 _def_zlib
='#undef HAVE_ZLIB'
4992 if test "$_rtc" = auto
; then
4994 #include <sys/ioctl.h>
4995 #include <linux/rtc.h>
4996 int main(void) { return RTC_IRQP_READ; }
4999 cc_check
&& _rtc
=yes
5004 echores
"no (Linux specific feature)"
5006 if test "$_rtc" = yes ; then
5007 _def_rtc
='#define HAVE_RTC 1'
5009 _def_rtc
='#undef HAVE_RTC'
5013 echocheck
"external liblzo support"
5014 if test "$_liblzo" = auto
; then
5018 int main(void) { lzo_init();return 0; }
5020 cc_check
-llzo && _liblzo
=yes
5022 if test "$_liblzo" = yes ; then
5023 _def_liblzo
='#define USE_LIBLZO 1'
5025 _codecmodules
="liblzo $_codecmodules"
5027 _def_liblzo
='#undef USE_LIBLZO'
5028 _nocodecmodules
="liblzo $_nocodecmodules"
5033 echocheck
"mad support"
5034 if test "$_mad" = auto
; then
5038 int main(void) { return 0; }
5040 cc_check
$_madlibdir -lmad && _mad
=yes
5042 if test "$_mad" = yes ; then
5043 _def_mad
='#define USE_LIBMAD 1'
5045 _codecmodules
="libmad $_codecmodules"
5047 _def_mad
='#undef USE_LIBMAD'
5048 _nocodecmodules
="libmad $_nocodecmodules"
5053 if test "$_toolame" = auto
; then
5055 #include <toolame.h>
5056 int main(void) { toolame_init(); return 0; }
5059 _toolame_extraflags
=""
5060 _toolame_lib
="-ltoolame"
5061 if test -n "$_toolamedir"; then
5062 _toolame_extraflags
="-I$_toolamedir -L$_toolamedir"
5064 cc_check
$_toolame_extraflags $_toolame_lib $_ld_lm && _toolame
=yes
5066 if test "$_toolame" = yes ; then
5067 _def_toolame
='#define HAVE_TOOLAME 1'
5068 _codecmodules
="$_codecmodules toolame"
5070 _def_toolame
='#undef HAVE_TOOLAME'
5072 _nocodecmodules
="toolame $_nocodecmodules"
5074 if test -z "$_toolamedir" ; then
5077 echores
"$_toolame (using $_toolamedir)"
5080 echocheck
"OggVorbis support"
5081 if test "$_vorbis" = auto
; then
5084 #include <vorbis/codec.h>
5085 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5087 cc_check
-lvorbis -logg $_ld_lm && _vorbis
=yes
5089 if test "$_vorbis" = yes ; then
5090 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5091 if test "$_tremor" = yes ; then
5092 _def_tremor
='#define TREMOR 1'
5093 _ld_vorbis
='-lvorbisidec'
5095 _def_tremor
='#undef TREMOR'
5096 _ld_vorbis
='-lvorbis -logg'
5098 _codecmodules
="libvorbis $_codecmodules"
5100 _def_vorbis
='#undef HAVE_OGGVORBIS'
5101 _def_tremor
='#undef TREMOR'
5102 _nocodecmodules
="libvorbis $_nocodecmodules"
5104 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
5105 echores
"$_vorbis (Tremor)"
5110 echocheck
"OggTheora support (only the CVS version!)"
5111 if test "$_theora" = auto
; then
5114 #include <theora/theora.h>
5118 /* theora is in flux, make sure that all interface routines and
5119 * datatypes exist and work the way we expect it, so we don't break
5129 theora_info_init (&inf);
5130 theora_comment_init (&tc);
5134 /* we don't want to execute this kind of nonsense; just for making sure
5135 * that compilation works... */
5136 memset(&op, 0, sizeof(op));
5137 r = theora_decode_header (&inf, &tc, &op);
5138 r = theora_decode_init (&st, &inf);
5139 t = theora_granule_time (&st, op.granulepos);
5140 r = theora_decode_packetin (&st, &op);
5141 r = theora_decode_YUVout (&st, &yuv);
5147 cc_check
-ltheora -logg $_ld_lm && _theora
=yes
5149 if test "$_theora" = yes ; then
5150 _def_theora
='#define HAVE_OGGTHEORA 1'
5151 _codecmodules
="libtheora $_codecmodules"
5152 _ld_theora
="-ltheora -logg"
5154 _def_theora
='#undef HAVE_OGGTHEORA'
5155 _nocodecmodules
="libtheora $_nocodecmodules"
5159 echocheck
"mp3lib support"
5160 if test "$_mp3lib" = yes ; then
5161 _def_mp3lib
='#define USE_MP3LIB 1'
5162 _codecmodules
="mp3lib $_codecmodules"
5164 _def_mp3lib
='#undef USE_MP3LIB'
5165 _nocodecmodules
="mp3lib $_nocodecmodules"
5169 echocheck
"liba52 support"
5170 if test "$_liba52" = yes ; then
5171 _def_liba52
='#define USE_LIBA52 1'
5172 _codecmodules
="liba52 $_codecmodules"
5174 _def_liba52
='#undef USE_LIBA52'
5175 _nocodecmodules
="liba52 $_nocodecmodules"
5179 echocheck
"libdts support"
5180 if test "$_libdts" = auto
; then
5185 int main(void) { dts_init (0); return 0; }
5187 cc_check
$_inc_libdts $_ld_libdts -ldts $_ld_lm && _libdts
=yes
5189 if test "$_libdts" = yes ; then
5190 _def_libdts
='#define CONFIG_DTS 1'
5191 _ld_libdts
="$_ld_libdts -ldts $_ld_lm"
5192 _codecmodules
="libdts $_codecmodules"
5194 _def_libdts
='#undef CONFIG_DTS'
5195 _nocodecmodules
="libdts $_nocodecmodules"
5199 echocheck
"libmpeg2 support"
5200 if test "$_libmpeg2" = yes ; then
5201 _def_libmpeg2
='#define USE_LIBMPEG2 1'
5202 _codecmodules
="libmpeg2 $_codecmodules"
5204 _def_libmpeg2
='#undef USE_LIBMPEG2'
5205 _nocodecmodules
="libmpeg2 $_nocodecmodules"
5207 echores
"$_libmpeg2"
5210 echocheck
"Matroska support"
5211 if test "$_matroska_internal" = yes ; then
5212 _inputmodules
="matroska $_inputmodules"
5213 _def_matroska
='#define HAVE_MATROSKA 1'
5215 _noinputmodules
="matroska $_noinputmodules"
5216 _def_matroska
='#undef HAVE_MATROSKA'
5218 echores
"$_matroska_internal"
5221 echocheck
"internal FAAD2 (AAC) support"
5222 _inc_faad
="-I`pwd`/libfaad2"
5223 if test "$_faad_internal" = auto
; then
5224 # the faad check needs a config.h file
5225 if not
test -f "config.h" ; then
5228 # internal faad: check if our dear gcc is able to compile it...
5229 cp "`pwd`/libfaad2/cfft.c" $TMPC
5230 if ( cc_check
-c -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
5233 _faad_internal
="no (broken gcc)"
5236 if test "$_faad_internal" = yes ; then
5237 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
5240 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
5243 echores
"$_faad_internal"
5246 echocheck
"external FAAD2 (AAC) support"
5247 if test "$_faad_external" != no
; then
5249 _inc_faad
="$_inc_extra"
5250 # external faad: check if it's really faad2 :)
5251 if test "$_faad_external" = auto
; then
5255 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
5257 cc_check
$_inc_faad $_ld_faad $_ld_lm && _faad_external
=yes
5259 echores
"$_faad_external"
5264 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
5265 echocheck
"FAAD2 version"
5268 #ifndef FAAD_MIN_STREAMSIZE
5269 #error Too old version
5272 #ifdef FAAD2_VERSION
5273 printf("%s\n",FAAD2_VERSION);
5280 if cc_check
-I- $_inc_faad $_ld_faad $_ld_lm && "$TMPO" >> "$TMPLOG" ; then
5281 _faad_version
=`"$TMPO"`
5282 _faad_tempversion
=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
5283 _def_faad_version
="#define FAADVERSION $_faad_tempversion"
5284 echores
"$_faad_version"
5288 echores
"failed to get version"
5292 if test "$_faad_external" = yes; then
5293 _def_faad
='#define HAVE_FAAD 1'
5294 _codecmodules
="faad2(external) $_codecmodules"
5295 elif test "$_faad_internal" = yes; then
5296 _def_faad
='#define HAVE_FAAD 1'
5297 _codecmodules
="faad2(internal) $_codecmodules"
5299 _def_faad
='#undef HAVE_FAAD'
5300 _nocodecmodules
="faad2 $_nocodecmodules"
5304 if test "$_win32" = auto
; then
5308 _win32
=no
# x86 arch only
5312 if test "$_win32" != no
; then
5313 if test -z "$_win32libdir" ; then
5314 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5315 if test -d "$I" ; then
5323 echocheck
"Win32 codec DLL support"
5324 if test "$_win32" = auto
; then
5326 test -n "$_win32libdir" && _win32
=yes
5328 if test "$_win32" = yes ; then
5329 _def_win32
='#define USE_WIN32DLL 1'
5330 echores
"yes (using $_win32libdir)"
5332 _def_win32
='#undef USE_WIN32DLL'
5333 _nocodecmodules
="win32 $_nocodecmodules"
5338 if test "$_win32" != no
; then
5339 _def_win32_loader
='#undef WIN32_LOADER'
5340 echocheck
"Win32 loader support"
5341 _ld_win32
='loader/libloader.a'
5342 _dep_win32
='loader/libloader.a'
5343 _codecmodules
="win32 $_codecmodules"
5345 x86
&& _ld_win32
="$_ld_win32 -li386"
5348 _def_win32_loader
='#define WIN32_LOADER 1'
5351 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
5352 echores
"no (using native windows)"
5356 echocheck
"DirectShow"
5359 if test "$_dshow" != no
; then
5361 # check if compiler supports C++ and C++-libs are installed correctly
5362 cat > "$TMPCPP" << EOF
5366 public: int myreturn(void);
5368 int myclass::myreturn(void) { ret = 0; return ret ; }
5369 int main(void) { myclass myobject; return myobject.myreturn(); }
5371 echo "------------------------------------------------" >> "$TMPLOG"
5372 cat "$TMPCPP" >> "$TMPLOG"
5373 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
5375 echores
"yes (C++ is ok)"
5380 Your C++ runtime environment is broken.
5382 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
5383 Are the C++ libraries correctly installed?
5384 Check for libstdc++ and in (/etc/)ld.so.conf.
5386 If you do not need DirectShow support, you can also use:
5387 ./configure --disable-dshow <your-normal-configure-options>
5388 to disable building the C++ based DirectShow code.
5391 die
"$_cc's C++ is broken"
5399 if test "$_dshow" = yes ; then
5400 _def_dshow
='#define USE_DIRECTSHOW 1'
5401 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5402 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5403 _codecmodules
="dshow/dmo $_codecmodules"
5405 _def_dshow
='#undef USE_DIRECTSHOW'
5406 _nocodecmodules
="dshow/dmo $_nocodecmodules"
5410 echocheck
"XAnim DLL"
5411 if test "$_xanim" = auto
; then
5413 if test "$_dl" = yes ; then
5414 if test -z "$_xanimlibdir" ; then
5415 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
5416 if test -d "$I" ; then
5422 test "$_xanimlibdir" && _xanim
=yes
5423 if test "$_xanim" = yes ; then
5424 echores
"yes (using $_xanimlibdir)"
5426 echores
"no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5429 echores
"no (dynamic loader support needed)"
5432 echores
"$_xanim (using $_xanimlibdir)"
5434 if test "$_xanim" = yes ; then
5435 _def_xanim
='#define USE_XANIM 1'
5436 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
5437 _codecmodules
="xanim $_codecmodules"
5439 _def_xanim
='#undef USE_XANIM'
5440 _def_xanim_path
='#undef XACODEC_PATH'
5441 _nocodecmodules
="xanim $_nocodecmodules"
5444 echocheck
"RealPlayer DLL"
5445 if test "$_real" = auto
; then
5447 if test "$_dl" = yes ||
test "$_win32" = yes ; then
5448 # if test "$_dl" = yes ; then
5449 if linux || freebsd || netbsd || win32 || darwin
; then
5452 echores
"no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin)"
5454 if test "$_real" = yes ; then
5455 if test -z "$_reallibdir" ; then
5456 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
5457 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
5458 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
5459 {~
,}/Applications
/RealOne\ Player.app
/Contents
/MacOS
/Library
/Codecs \
5461 if test -d "$I" ; then
5467 test "$_reallibdir" || _real
=no
5468 if test "$_real" = yes ; then
5469 echores
"yes (using $_reallibdir)"
5471 echores
"no (no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html)"
5475 echores
"no (dynamic loader support needed)"
5478 echores
"$_real (using $_reallibdir)"
5480 if test "$_real" = yes ; then
5481 _def_real
='#define USE_REALCODECS 1'
5482 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
5483 _codecmodules
="real $_codecmodules"
5485 _def_real
='#undef USE_REALCODECS'
5486 _def_real_path
="#undef REALCODEC_PATH"
5487 _nocodecmodules
="real $_nocodecmodules"
5491 echocheck
"LIVE.COM Streaming Media libraries"
5492 if test "$_live" = auto
&& test "$_network" = yes ; then
5496 #include <liveMedia.hh>
5497 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
5498 #error Please upgrade to version 2004.07.19 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/>
5504 if test -z "$_livelibdir" ; then
5505 if cc_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
5508 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
5509 if test -d "$I" ; then
5517 if test "$_live_dist" = no
&& test "$_livelibdir" && cc_check
-I$_livelibdir/liveMedia
/include
/ \
5518 -I$_livelibdir/UsageEnvironment
/include
-I$_livelibdir/groupsock
/include
; then
5525 if test "$_live" = yes && test "$_network" = yes ; then
5526 echores
"yes (using $_livelibdir)"
5527 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
5528 _live_libs_def
="# LIVE.COM Streaming Media libraries:
5529 LIVE_LIB_DIR = $_livelibdir
5530 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
5531 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
5532 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
5533 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
5534 LIVE_LIBS += -lstdc++
5535 LIVE_INCLUDES = -I\$(LIVE_LIB_DIR)/liveMedia/include
5536 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/UsageEnvironment/include
5537 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/BasicUsageEnvironment/include
5538 LIVE_INCLUDES += -I\$(LIVE_LIB_DIR)/groupsock/include"
5539 _ld_live
='$(LIVE_LIBS)'
5540 _inputmodules
="live.com $_inputmodules"
5541 elif test "$_live_dist" = yes && test "$_network" = yes ; then
5542 echores
"yes (using distribution version)"
5544 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
5545 _live_libs_def
="# LIVE.COM Streaming Media libraries:
5546 LIVE_LIB_DIR = $_livelibdir
5547 LIVE_LIBS = -lliveMedia
5548 LIVE_LIBS += -lgroupsock
5549 LIVE_LIBS += -lUsageEnvironment
5550 LIVE_LIBS += -lBasicUsageEnvironment
5551 LIVE_LIBS += -lstdc++
5552 LIVE_INCLUDES = -I/usr/include/liveMedia
5553 LIVE_INCLUDES += -I/usr/include/UsageEnvironment
5554 LIVE_INCLUDES += -I/usr/include/BasicUsageEnvironment
5555 LIVE_INCLUDES += -I/usr/include/groupsock"
5556 _ld_live
='$(LIVE_LIBS)'
5557 _inputmodules
="live.com $_inputmodules"
5560 _def_live
='#undef STREAMING_LIVE_DOT_COM'
5561 _noinputmodules
="live.com $_noinputmodules"
5565 echocheck
"FFmpeg libavcodec (static)"
5566 if test "$_libavcodec" = auto
; then
5567 # Note: static linking is preferred to dynamic linking
5569 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
5570 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
5574 echores
"no (old ffmpeg version, use CVS !)"
5577 echores
"no (see DOCS/HTML/$_doc_lang/codecs.html)"
5580 echores
"$_libavcodec"
5583 echocheck
"FFmpeg libavformat (static)"
5584 if test "$_libavformat" = auto
; then
5585 # Note: static linking is preferred to dynamic linking
5587 if test -d libavformat
&& test -f libavformat
/utils.c
; then
5594 echores
"$_libavformat"
5597 _def_haveffpostprocess
='no'
5598 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
5599 _def_haveffpostprocess
='yes'
5602 if test "$_libavcodec" != yes ; then
5603 echocheck
"FFmpeg libavcodec (dynamic)"
5604 if test "$_libavcodecso" = auto
; then
5606 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
5608 #define FF_POSTPROCESS 1
5609 #include <ffmpeg/avcodec.h>
5611 avcodec_find_encoder_by_name("");
5615 if cc_check
-lavcodec $_ld_lm ; then
5617 echores
"yes (using libavcodec.so)"
5619 echores
"no (libavcodec.so is broken/obsolete)"
5622 echores
"$_libavcodecso"
5626 _def_libavcodec
='#undef USE_LIBAVCODEC'
5627 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
5628 _def_ffpostprocess
='#undef FF_POSTPROCESS'
5629 if test "$_libavcodec" = yes ; then
5630 _def_libavcodec
='#define USE_LIBAVCODEC 1'
5631 _ld_libavcodec
='libavcodec/libavcodec.a'
5632 _dep_libavcodec
='libavcodec/libavcodec.a'
5633 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
5634 _codecmodules
="libavcodec $_codecmodules"
5635 elif test "$_libavcodecso" = yes ; then
5636 _def_libavcodec
='#define USE_LIBAVCODEC 1'
5637 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
5638 _ld_libavcodec
='-lavcodec'
5639 _codecmodules
="libavcodec.so $_codecmodules"
5641 _nocodecmodules
="libavcodec $_nocodecmodules"
5644 _def_libavformat
='#undef USE_LIBAVFORMAT'
5645 _def_libavformat_win32
='#undef CONFIG_WIN32'
5646 if test "$_libavformat" = yes ; then
5647 _def_libavformat
='#define USE_LIBAVFORMAT 1'
5648 _ld_libavformat
='libavformat/libavformat.a'
5649 _dep_libavformat
='libavformat/libavformat.a'
5651 _def_libavformat_win32
='#define CONFIG_WIN32 1'
5655 echocheck
"libdv-0.9.5+"
5656 if test "$_libdv" = auto
; then
5659 #include <libdv/dv.h>
5660 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
5662 cc_check
-ldv $_ld_lm && _libdv
=yes
5664 if test "$_libdv" = yes ; then
5665 _def_libdv
='#define HAVE_LIBDV095 1'
5667 _codecmodules
="libdv $_codecmodules"
5669 _def_libdv
='#undef HAVE_LIBDV095'
5670 _nocodecmodules
="libdv $_nocodecmodules"
5675 if test "$_zr" = auto
; then
5676 #36067's seem to identify themselves as 36057PQC's, so the line
5677 #below should work for 36067's and 36057's.
5678 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
5684 if test "$_zr" = yes ; then
5685 if test "$_libavcodec" = yes ; then
5686 _def_zr
='#define HAVE_ZR 1'
5687 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
5688 _vomodules
="zr zr2 $_vomodules"
5691 echores
"libavcodec (static) is required by zr, sorry"
5692 _novomodules
="zr $_novomodules"
5693 _def_zr
='#undef HAVE_ZR'
5696 _def_zr
='#undef HAVE_ZR'
5697 _novomodules
="zr zr2 $_novomodules"
5702 if test "$_bl" = yes ; then
5703 _def_bl
='#define HAVE_BL 1'
5704 _vosrc
="$_vosrc vo_bl.c"
5705 _vomodules
="bl $_vomodules"
5707 _def_bl
='#undef HAVE_BL'
5708 _novomodules
="bl $_novomodules"
5715 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
5717 _ld_xvid
="$_ld_xvid -lxvidcore $_ld_lm"
5718 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5720 _def_xvid3
='#define HAVE_XVID3 1'
5721 _def_xvid4
='#undef HAVE_XVID4'
5722 _codecmodules
="xvid $_codecmodules"
5726 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
5728 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5730 _def_xvid3
='#undef HAVE_XVID3'
5731 _def_xvid4
='#define HAVE_XVID4 1'
5732 _codecmodules
="xvid $_codecmodules"
5736 _def_xvid3
='#undef HAVE_XVID3'
5737 _def_xvid4
='#undef HAVE_XVID4'
5738 _nocodecmodules
="xvid $_nocodecmodules"
5744 _def_decore_xvid
='#undef DECORE_XVID'
5745 _def_encore_xvid
='#undef ENCORE_XVID'
5746 if test "$_xvid" = yes ; then
5747 echocheck
"DivX4 compatibility in XviD"
5750 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5752 cc_check
$_ld_lm "$_ld_xvid" && _xvidcompat
=yes
5753 echores
"$_xvidcompat"
5761 int main(void) { x264_encoder_open((void*)0); return 0; }
5763 _ld_x264
="$_ld_x264 -lx264 $_ld_lm"
5764 if test "$_x264" != no
&& cc_check
$_inc_x264 $_ld_x264 ; then
5766 _def_x264
='#define HAVE_X264 1'
5767 _codecmodules
="x264 $_codecmodules"
5771 _def_x264
='#undef HAVE_X264'
5772 _nocodecmodules
="x264 $_nocodecmodules"
5776 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
5777 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5780 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5782 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
5784 _ld_decore
='-ldivxdecore'
5785 _def_decore
='#define NEW_DECORE 1'
5786 _def_divx
='#define USE_DIVX'
5787 _def_divx5
='#undef DECORE_DIVX5'
5788 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5789 _codecmodules
="divx4linux $_codecmodules"
5790 echores
"DivX4linux (with libdivxdecore.so)"
5792 # if test "$_divx4linux" != no ; then
5794 # OdivxPP disabled because of:
5795 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5798 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5800 if test "$_divx4linux" != no
&& cc_check
$_ld_lm -ldivxdecore ; then
5802 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5803 _ld_decore
='-ldivxdecore'
5804 _def_decore
='#define NEW_DECORE 1'
5805 _def_divx
='#define USE_DIVX'
5806 _def_divx5
='#define DECORE_DIVX5 1'
5807 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5808 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5809 _codecmodules
="divx5linux $_codecmodules"
5810 _nocodecmodules
="divx4linux $_nocodecmodules"
5811 echores
"DivX5linux (with libdivxdecore.so)"
5812 elif test "$_opendivx" != no
; then
5814 _ld_decore
='opendivx/libdecore.a'
5815 _def_decore
='#undef NEW_DECORE'
5816 _def_divx
='#define USE_DIVX'
5817 _def_divx5
='#undef DECORE_DIVX5'
5818 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
5819 _codecmodules
="opendivx $_codecmodules"
5820 _nocodecmodules
="divx5linux $_nocodecmodules"
5822 elif test "$_xvidcompat" = yes ; then
5825 _def_decore
='#define NEW_DECORE 1'
5826 _def_divx
='#define USE_DIVX 1'
5827 _def_divx5
='#undef DECORE_DIVX5'
5828 _def_decore_xvid
='#define DECORE_XVID 1'
5829 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5830 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
5831 echores
"XviD compat."
5835 _def_decore
='#undef NEW_DECORE'
5836 _def_divx
='#undef USE_DIVX'
5837 _def_divx5
='#undef DECORE_DIVX5'
5838 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5839 _nocodecmodules
="opendivx $_nocodecmodules"
5845 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5846 if test "$_mencoder" != no
; then
5848 echocheck
"libmp3lame (for mencoder)"
5851 #include <lame/lame.h>
5852 int main(void) { lame_version_t lv; (void) lame_init(); get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor); return 0; }
5854 # Note: libmp3lame usually depends on vorbis
5855 cc_check
-lmp3lame $_ld_vorbis $_ld_lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
5856 if test "$_mp3lame" = yes ; then
5857 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
5858 _def_cfg_mp3lame
="#define CONFIG_MP3LAME `$TMPO`"
5859 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
5861 _def_mp3lame
='#undef HAVE_MP3LAME'
5862 _def_cfg_mp3lame
='#undef CONFIG_MP3LAME'
5867 echocheck
"DivX4linux encore (for mencoder)"
5869 #include <encore2.h>
5870 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5872 if test "$_divx4linux" != no
&& cc_check
-ldivxencore $_ld_lm ; then
5873 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5874 _ld_encore
='-ldivxencore'
5875 echores
"DivX4linux (with libdivxencore.so)"
5876 elif test "$_xvidcompat" = yes ; then
5877 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5879 _def_encore_xvid
='#define ENCORE_XVID 1'
5880 echores
"XviD compat."
5882 _def_encore
='#undef HAVE_DIVX4ENCORE'
5888 echocheck
"mencoder"
5889 _mencoder_flag
='#undef HAVE_MENCODER'
5890 if test "$_mencoder" = yes ; then
5891 _mencoder_flag
='#define HAVE_MENCODER'
5893 echores
"$_mencoder"
5895 echocheck
"fastmemcpy"
5896 # fastmemcpy check is done earlier with tests of CPU & binutils features
5897 if test "$_fastmemcpy" = yes ; then
5898 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
5900 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
5902 echores
"$_fastmemcpy"
5904 echocheck
"UniquE RAR File Library"
5905 if test "$_unrarlib" = yes ; then
5906 _def_unrarlib
='#define USE_UNRARLIB 1'
5908 _def_unrarlib
='#undef USE_UNRARLIB'
5910 echores
"$_unrarlib"
5912 echocheck
"TV interface"
5913 if test "$_tv" = yes ; then
5914 _def_tv
='#define USE_TV 1'
5915 _inputmodules
="tv $_inputmodules"
5917 _noinputmodules
="tv $_noinputmodules"
5918 _def_tv
='#undef USE_TV'
5922 echocheck
"EDL support"
5923 if test "$_edl" = yes ; then
5924 _def_edl
='#define USE_EDL'
5925 _inputmodules
="edl $_inputmodules"
5927 _noinputmodules
="edl $_noinputmodules"
5928 _def_edl
='#undef USE_EDL'
5932 echocheck
"*BSD BrookTree 848 TV interface"
5933 if test "$_tv_bsdbt848" = auto
; then
5935 if test "$_tv" = yes ; then
5937 #include <sys/types.h>
5938 #if defined(__NetBSD__)
5939 #include <dev/ic/bt8xx.h>
5941 #include <machine/ioctl_bt848.h>
5943 int main(void) { return 0; }
5945 cc_check
&& _tv_bsdbt848
=yes
5948 if test "$_tv_bsdbt848" = yes ; then
5949 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
5950 _inputmodules
="tv-bsdbt848 $_inputmodules"
5952 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
5953 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
5955 echores
"$_tv_bsdbt848"
5957 echocheck
"Video 4 Linux TV interface"
5958 if test "$_tv_v4l" = auto
; then
5960 if test "$_tv" = yes && linux
; then
5961 for I
in /dev
/video
/dev
/video?
; do
5962 if test -c $I ; then
5965 #include <linux/videodev.h>
5966 int main(void) { return 0; }
5968 cc_check
&& _tv_v4l
=yes
5974 if test "$_tv_v4l" = yes ; then
5975 _def_tv_v4l
='#define HAVE_TV_V4L 1'
5976 _inputmodules
="tv-v4l $_inputmodules"
5978 _noinputmodules
="tv-v4l $_noinputmodules"
5979 _def_tv_v4l
='#undef HAVE_TV_V4L'
5984 echocheck
"Video 4 Linux 2 TV interface"
5985 if test "$_tv_v4l2" = auto
; then
5987 if test "$_tv" = yes && linux
; then
5988 for I
in /dev
/video
/dev
/video?
; do
5989 if test -c $I ; then
5996 if test "$_tv_v4l2" = yes ; then
5997 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
5998 _inputmodules
="tv-v4l2 $_inputmodules"
6000 _noinputmodules
="tv-v4l2 $_noinputmodules"
6001 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
6006 echocheck
"audio select()"
6007 if test "$_select" = no
; then
6008 _def_select
='#undef HAVE_AUDIO_SELECT'
6009 elif test "$_select" = yes ; then
6010 _def_select
='#define HAVE_AUDIO_SELECT 1'
6016 # FIXME network check
6017 if test "$_network" != no
; then
6018 _def_network
='#define MPLAYER_NETWORK 1'
6019 _ld_network
="$_ld_sock"
6020 _inputmodules
="network $_inputmodules"
6022 _noinputmodules
="network $_noinputmodules"
6023 _def_network
='#undef MPLAYER_NETWORK'
6029 if (not beos
) && (test "$_ftp" != no
) ; then
6030 _def_ftp
='#define HAVE_FTP 1'
6031 _inputmodules
="ftp $_inputmodules"
6033 _noinputmodules
="ftp $_noinputmodules"
6034 _def_ftp
='#undef HAVE_FTP'
6039 echocheck
"byte order"
6040 if test "$_big_endian" = auto
; then
6042 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6043 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6045 char* s = (char*)ascii_name;
6050 if test `grep -l MPlayerBigEndian $TMPO` ; then
6056 echo -n "failed to autodetect byte order, defaulting to "
6059 if test "$_big_endian" = yes ; then
6060 _byte_order
='big-endian'
6061 _def_words_endian
='#define WORDS_BIGENDIAN 1'
6063 _byte_order
='little-endian'
6064 _def_words_endian
='#undef WORDS_BIGENDIAN'
6066 echores
"$_byte_order"
6068 echocheck
"shared postprocess lib"
6069 echores
"$_shared_pp"
6071 echocheck
"OSD menu"
6072 if test "$_menu" = yes ; then
6073 _def_menu
='#define HAVE_MENU 1'
6075 _def_menu
='#undef HAVE_MENU'
6079 # Check to see if they want QTX codecs enabled
6080 echocheck
"QTX codecs"
6081 if test "$_qtx" = auto
; then
6084 if test "$_qtx" = yes ; then
6085 _def_qtx
='#define USE_QTX_CODECS 1'
6086 _codecmodules
="qtx $_codecmodules"
6088 _def_qtx
='#undef USE_QTX_CODECS'
6089 _nocodecmodules
="qtx $_nocodecmodules"
6094 echocheck
"Subtitles sorting"
6095 if test "$_sortsub" = yes ; then
6096 _def_sortsub
='#define USE_SORTSUB 1'
6098 _def_sortsub
='#undef USE_SORTSUB'
6103 echocheck
"XMMS inputplugin support"
6104 if test "$_xmms" = yes ; then
6106 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6107 if test -z "$_xmmsplugindir" ; then
6108 _xmmsplugindir
=`xmms-config --input-plugin-dir`
6110 if test -z "$_xmmslibdir" ; then
6111 _xmmslibdir
=`xmms-config --exec-prefix`/lib
6114 if test -z "$_xmmsplugindir" ; then
6115 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6117 if test -z "$_xmmslibdir" ; then
6118 _xmmslibdir
=/usr
/lib
6122 _def_xmms
='#define HAVE_XMMS 1'
6124 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
6126 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6129 _def_xmms
='#undef HAVE_XMMS'
6134 if test "$_inet6" = auto
; then
6136 #include <sys/types.h>
6137 #include <sys/socket.h>
6138 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6145 if test "$_inet6" = yes ; then
6146 _def_inet6
='#define HAVE_AF_INET6 1'
6148 _def_inet6
='#undef HAVE_AF_INET6'
6153 echocheck
"gethostbyname2"
6154 if test "$_gethostbyname2" = auto
; then
6156 #include <sys/types.h>
6157 #include <sys/socket.h>
6159 int main(void) { gethostbyname2("", AF_INET); }
6167 if test "$_gethostbyname2" = yes ; then
6168 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
6170 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
6172 echores
"$_gethostbyname2"
6174 # --------------- GUI specific tests begin -------------------
6177 if test "$_gui" = yes ; then
6179 # Required libraries
6180 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
6181 test "$_x11" != yes && die
"X11 support required for GUI compilation"
6183 echocheck
"XShape extension"
6185 if test "$_x11" = yes ; then
6187 #include <X11/Xlib.h>
6188 #include <X11/Xproto.h>
6189 #include <X11/Xutil.h>
6190 #include <X11/extensions/shape.h>
6193 char *name = ":0.0";
6196 int eventbase, errorbase;
6197 if (getenv("DISPLAY"))
6198 name=getenv("DISPLAY");
6199 wsDisplay=XOpenDisplay(name);
6200 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
6202 XCloseDisplay(wsDisplay);
6206 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
6208 if test "$_xshape" = yes ; then
6209 _def_xshape
='#define HAVE_XSHAPE 1'
6211 die
"The GUI requires the X11 extension XShape (which was not found)."
6217 echocheck
"GTK version"
6218 if test -z "$_gtkconfig" ; then
6219 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
6220 _gtkconfig
="gtk-config"
6221 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
6222 _gtkconfig
="gtk12-config"
6224 die
"The GUI requires GTK devel packages (which were not found)."
6227 _gtk
=`$_gtkconfig --version 2>&1`
6228 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
6229 _ld_gtk
=`$_gtkconfig --libs 2>&1`
6230 echores
"$_gtk (using $_gtkconfig)"
6233 echocheck
"glib version"
6234 if test -z "$_glibconfig" ; then
6235 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
6236 _glibconfig
="glib-config"
6237 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
6238 _glibconfig
="glib12-config"
6240 die
"The GUI requires GLib devel packages (which were not found)"
6243 _glib
=`$_glibconfig --version 2>&1`
6244 _inc_glib
=`$_glibconfig --cflags 2>&1`
6245 _ld_glib
=`$_glibconfig --libs 2>&1`
6246 echores
"$_glib (using $_glibconfig)"
6248 _def_gui
='#define HAVE_NEW_GUI 1'
6249 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
6251 echo "Creating Gui/config.mak"
6252 cat > Gui
/config.mak
<< EOF
6253 # -------- Generated by configure -----------
6257 GLIBINC = $_inc_glib
6258 GLIBLIBS = $_ld_glib
6263 _def_gui
='#undef HAVE_NEW_GUI'
6265 # --------------- GUI specific tests end -------------------
6269 #############################################################################
6271 # Checking for CFLAGS
6273 if test "$_profile" != "" ||
test "$_debug" != "" ; then
6274 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
6275 if test "$_cc_major" -ge "3" ; then
6276 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
6279 elif test -z "$CFLAGS" ; then
6280 CFLAGS
="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
6281 # always compile with '-g' if .developer:
6282 if test -f ".developer" ; then
6284 if (test "$_crash_debug" = auto
) && (not mingw32
) ; then
6292 MPlayer compilation will use the CFLAGS set by you, but:
6294 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
6296 It is strongly recommended to let MPlayer choose the correct CFLAGS!
6297 To do so, execute 'CFLAGS= ./configure <options>'
6302 echocheck
"automatic gdb attach"
6303 if test "$_crash_debug" = yes ; then
6304 _def_crash_debug
='#define CRASH_DEBUG 1'
6306 _def_crash_debug
='#undef CRASH_DEBUG'
6309 echores
"$_crash_debug"
6312 CFLAGS
="$CFLAGS -DSYS_DARWIN"
6313 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
6314 CFLAGS
="$CFLAGS -no-cpp-precomp"
6317 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
6318 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
6321 # use flag for HPUX missing setenv()
6322 CFLAGS
="$CFLAGS -DHPUX"
6326 CFLAGS
="$CFLAGS -D_REENTRANT"
6328 # FIXME bsd needs this so maybe other OS'es
6329 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
6331 # 64 bit file offsets?
6332 if test "$_largefiles" = yes || freebsd
; then
6333 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6334 if test "$_dvdread" = yes ; then
6335 # dvdread support requires this (for off64_t)
6336 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
6340 echocheck
"compiler support for -fno-PIC"
6343 int main(void) { return 0; }
6345 if cc_check
-fno-PIC ; then
6346 CFLAGS
="-fno-PIC $CFLAGS"
6352 echores
"only used for x86"
6355 echocheck
"ftello()"
6356 # if we don't have ftello use the osdep/ compatibility module
6359 #include <sys/types.h>
6360 int main (void) { ftello(stdin); return 0; }
6363 cc_check
&& _ftello
=yes
6364 if test "$_ftello" = yes ; then
6365 _def_ftello
='#define HAVE_FTELLO 1'
6367 _def_ftello
='#undef HAVE_FTELLO'
6371 # Determine OS dependent libs
6373 _def_confwin32
='#define WIN32'
6374 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
6375 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
6376 CFLAGS
="$CFLAGS -D__CYGWIN__"
6380 _confwin32
='TARGET_WIN32 = yes'
6382 _confwin32
='TARGET_WIN32 = no'
6385 # Dynamic linking flags
6386 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6388 bsd
&& _ld_dl_dynamic
='-rdynamic'
6389 if test "$_real" = yes ||
test "$_xanim" = yes && not win32
&& not qnx
; then
6390 _ld_dl_dynamic
='-rdynamic'
6393 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6394 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
6396 x86
&& _ld_arch
="$_ld_arch -li386"
6399 _def_debug
='#undef MP_DEBUG'
6400 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
6402 _def_linux
='#undef TARGET_LINUX'
6403 linux
&& _def_linux
='#define TARGET_LINUX 1'
6405 # TODO cleanup the VIDIX stuff here
6406 _def_vidix
='#define CONFIG_VIDIX 1'
6407 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
6408 if test "$_vidix" = yes; then
6409 _vosrc
="$_vosrc vo_cvidix.c"
6410 _vomodules
="cvidix $_vomodules"
6412 _novomodules
="cvidix $_novomodules"
6414 if test "$_vidix" = yes && (win32
); then
6415 _vosrc
="$_vosrc vo_winvidix.c"
6416 _vomodules
="winvidix $_vomodules"
6417 _ld_win32libs
="-lgdi32 $_ld_win32libs"
6419 _novomodules
="winvidix $_novomodules"
6421 if test "$_vidix" = yes && test "$_x11" = yes; then
6422 _vosrc
="$_vosrc vo_xvidix.c"
6423 _vomodules
="xvidix $_vomodules"
6425 _novomodules
="xvidix $_novomodules"
6427 echo Checking
for VIDIX ...
"$_vidix"
6429 _def_joystick
='#undef HAVE_JOYSTICK'
6430 if test "$_joystick" = yes ; then
6432 # TODO add some check
6433 _def_joystick
='#define HAVE_JOYSTICK 1'
6435 _joystick
="no (unsupported under $system_name)"
6438 echo Checking
for joystick ...
"$_joystick"
6441 if test "$_lirc" = auto
; then
6443 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
6445 #include <lirc/lirc_client.h>
6446 int main(void) { return 0; }
6448 cc_check
-llirc_client && _lirc
=yes
6451 if test "$_lirc" = yes ; then
6452 _def_lirc
='#define HAVE_LIRC 1'
6453 _ld_lirc
='-llirc_client'
6455 _def_lirc
='#undef HAVE_LIRC'
6460 if test "$_lircc" = auto
; then
6463 #include <lirc/lircc.h>
6464 int main(void) { return 0; }
6466 cc_check
-llircc && _lircc
=yes
6468 if test "$_lircc" = yes ; then
6469 _def_lircc
='#define HAVE_LIRCC 1'
6472 _def_lircc
='#undef HAVE_LIRCC'
6476 #############################################################################
6477 echo "Creating config.mak"
6478 cat > config.mak
<< EOF
6479 # -------- Generated by configure -----------
6482 MAN_LANG = $MAN_LANG
6483 TARGET_OS = $system_name
6485 prefix = \$(DESTDIR)$_prefix
6486 BINDIR = \$(DESTDIR)$_bindir
6487 DATADIR = \$(DESTDIR)$_datadir
6488 MANDIR = \$(DESTDIR)$_mandir
6489 CONFDIR = \$(DESTDIR)$_confdir
6490 LIBDIR = \$(DESTDIR)$_libdir
6497 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu $_pipe -fomit-frame-pointer -ffast-math
6498 EXTRA_INC = $_inc_extra $_inc_gtk
6499 OPTFLAGS = -I../libvo -I../../libvo $_inc_x11 $CFLAGS \$(EXTRA_INC)
6500 STRIPBINARIES = $_stripbinaries
6501 HELP_FILE = $_mp_help
6504 PRG_MENCODER = $_prg_mencoder
6508 MPLAYER_NETWORK = $_network
6509 STREAMING_LIVE_DOT_COM = $_live
6510 MPLAYER_NETWORK_LIB = $_ld_live $_ld_network
6513 SHARED_PP = $_shared_pp
6516 CONFIG_MP3LAME = $_mp3lame
6518 I18NLIBS = $_i18n_libs
6519 MATROSKA = $_matroska_internal
6521 OPENDIVX = $_opendivx
6525 LIBMPEG2 = $_libmpeg2
6527 UNRARLIB = $_unrarlib
6528 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
6533 EXTRA_LIB = $_ld_extra
6534 Z_LIB = $_ld_static $_ld_zlib
6536 WIN32_LIB = $_ld_win32libs
6537 STATIC_LIB = $_ld_static
6538 ENCA_LIB = $_ld_enca
6539 HAVE_PTHREADS = $_pthreads
6545 HAVE_XVMC_ACCEL = $_xvmc
6555 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
6557 MLIB_LIB = $_ld_mlib
6558 MLIB_INC = $_inc_mlib
6559 DXR2_INC = $_inc_dxr2
6565 SVGA_LIB = $_ld_svga
6567 CACA_INC = $_inc_caca
6568 CACA_LIB = $_ld_caca
6571 ALSA_LIB = $_ld_alsa
6573 ARTS_LIB = $_ld_arts
6574 ARTS_INC = $_inc_arts
6577 POLYP_LIB = $_ld_polyp
6578 POLYP_INC = $_inc_polyp
6579 JACK_LIB = $_ld_jack
6580 JACK_INC = $_inc_jack
6581 SGIAUDIO_LIB = $_ld_sgiaudio
6583 # input/demuxer/codecs
6584 TERMCAP_LIB = $_ld_termcap
6585 LIRC_LIB = $_ld_lirc
6586 LIRCC_LIB = $_ld_lircc
6587 DVDREAD_LIB = $_ld_dvdread
6592 W32_DEP = $_dep_win32
6593 W32_LIB = $_ld_win32
6594 DS_DEP = $_dep_dshow
6596 AV_DEP = $_dep_libavcodec $_dep_libavformat
6597 AV_LIB = $_ld_libavcodec $_ld_libavformat
6598 CONFIG_LIBAVFORMAT = $_libavformat
6601 FAME_LIB = $_ld_fame
6602 MP1E_DEP = $_dep_mp1e
6603 MP1E_LIB = $_ld_mp1e
6604 ARCH_LIB = $_ld_arch $_ld_iconv
6606 XVID_INC = $_inc_xvid
6607 XVID_LIB = $_ld_xvid
6609 X264_INC = $_inc_x264
6610 X264_LIB = $_ld_x264
6611 CONFIG_DTS = $_libdts
6612 DTS_INC = $_inc_libdts
6613 DTS_LIB = $_ld_libdts
6614 DECORE_LIB = $_ld_decore $_ld_mp3lame
6615 MENCODER = $_mencoder
6616 ENCORE_LIB = $_ld_encore $_ld_mp3lame
6617 DIRECTFB_INC = $_inc_directfb
6618 DIRECTFB_LIB = $_ld_directfb
6619 CDPARANOIA_INC = $_inc_cdparanoia
6620 CDPARANOIA_LIB = $_ld_cdparanoia
6621 FREETYPE_INC = $_inc_freetype
6622 FREETYPE_LIB = $_ld_freetype
6623 FONTCONFIG_INC = $_inc_fontconfig
6624 FONTCONFIG_LIB = $_ld_fontconfig
6625 FRIBIDI_INC = $_inc_fribidi
6626 FRIBIDI_LIB = $_ld_fribidi
6627 LIBLZO_LIB= $_ld_liblzo
6629 VORBIS_LIB = $_ld_vorbis $_ld_libdv
6630 THEORA_LIB = $_ld_theora
6631 FAAD_LIB = $_ld_faad
6632 INTERNAL_FAAD = $_faad_internal
6633 SMBSUPPORT_LIB = $_ld_smb
6634 XMMS_PLUGINS = $_xmms
6635 XMMS_LIB = $_xmms_lib
6637 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
6638 MACOSX_FRAMEWORKS = $_macosx_frameworks
6640 TOOLAME_EXTRAFLAGS=$_toolame_extraflags
6641 TOOLAME_LIB=$_toolame_lib
6643 # --- Some stuff for autoconfigure ----
6648 TARGET_MMX2 = $_mmx2
6649 TARGET_3DNOW = $_3dnow
6650 TARGET_3DNOWEX = $_3dnowex
6652 TARGET_ALTIVEC = $_altivec
6656 GTKLIB = $_ld_static $_ld_gtk
6657 GLIBLIB = $_ld_static $_ld_glib
6658 GTK_LIBS = $_ld_static $_ld_gui
6664 #############################################################################
6665 echo "Creating config.h"
6666 cat > config.h
<< EOF
6667 /* -------- This file has been automatically generated by configure ---------
6668 Note: Any changes in it will be lost when you run configure again. */
6670 /* Protect against multiple inclusion */
6671 #ifndef MPLAYER_CONFIG_H
6672 #define MPLAYER_CONFIG_H 1
6674 /* use GNU internationalization */
6677 /* missing mmap function on libc5 systems */
6679 # define MAP_FAILED ((void *) -1)
6682 /* use setlocale() function */
6685 /* Runtime CPU detection */
6686 $_def_runtime_cpudetection
6688 /* Dynamic a/v plugins */
6689 $_def_dynamic_plugins
6691 /* "restrict" keyword */
6692 $_def_restrict_keyword
6694 /* __builtin_expect branch prediction hint */
6695 $_def_builtin_expect
6697 /* attribute(used) as needed by some compilers */
6698 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
6699 # define attribute_used __attribute__((used))
6701 # define attribute_used
6704 #define PREFIX "$_prefix"
6709 /* enable/disable SIGHANDLER */
6712 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
6715 /* Toggles debugging informations */
6718 /* Indicates that Ogle's libdvdread is available for DVD playback */
6721 /* Indicates that dvdread is from libmpdvdkit */
6724 /* Additional options for libmpdvdkit*/
6738 /* Common data directory (for fonts, etc) */
6739 #define MPLAYER_DATADIR "$_datadir"
6740 #define MPLAYER_CONFDIR "$_confdir"
6741 #define MPLAYER_LIBDIR "$_libdir"
6743 /* Define this to compile stream-caching support, it can be enabled via
6744 -cache <kilobytes> */
6745 #define USE_STREAM_CACHE 1
6747 /* Define to include support for XviD/Divx4Linux/OpenDivx */
6750 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
6751 /* You have to change DECORE_LIBS in config.mak, too! */
6754 /* Define if you are using DivX5Linux Decore library */
6757 /* Define if you are using XviD library */
6763 /* Define if you are using the X.264 library */
6766 /* Define to include support for libdv-0.9.5 */
6769 /* If build mencoder */
6772 /* Indicates if XviD/Divx4linux encore is available
6773 Note: for mencoder */
6776 /* Indicates if libmp3lame is available
6777 Note: for mencoder */
6781 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6784 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6785 (use -bps or -nobps commandline option for run-time method selection)
6786 -bps gives better sync for vbr mp3 audio, it is now default */
6787 #define AVI_SYNC_BPS 1
6789 /* Undefine this if you do not want to select mono audio (left or right)
6790 with a stereo MPEG layer 2/3 audio stream. The command line option
6791 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6792 right-only), with 0 being the default.
6794 #define USE_FAKE_MONO 1
6796 /* Undefine this if your sound card driver has no working select().
6797 If you have kernel Oops, player hangups, or just no audio, you should
6798 try to recompile MPlayer with this option disabled! */
6801 /* define this to use iconv(3) function to codepage conversions */
6804 /* define this to use nl_langinfo function */
6807 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6810 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6811 #define MAX_OUTBURST 65536
6813 /* set up audio OUTBURST. Do not change this! */
6814 #define OUTBURST 512
6816 /* Define this if your system has the header file for the OSS sound interface */
6819 /* Define this if your system has the header file for the OSS sound interface
6820 * in /usr/include */
6823 /* Define this if your system has the sysinfo header */
6826 /* Define this if your system has ftello() */
6830 /* Need these for FILE and off_t an config.h is usually before other includes*/
6832 #include <sys/types.h>
6833 off_t ftello(FILE *);
6836 /* Define this if your system has the "malloc.h" header file */
6839 /* memalign is mapped to malloc if unsupported */
6841 #ifndef HAVE_MEMALIGN
6842 # define memalign(a,b) malloc(b)
6845 /* Define this if your system has the "alloca.h" header file */
6848 /* Define this if your system has the "sys/mman.h" header file */
6851 /* Define this if you have the elf dynamic linker -ldl library */
6854 /* Define this if you have the kstat kernel statistics library */
6857 /* Define this if you have zlib */
6860 #define CONFIG_ZLIB 1
6863 /* Define this if you have shm support */
6866 /* Define this if your system has scandir & alphasort */
6869 /* Define this if your system has strsep */
6872 /* Define this if your system has strlcpy */
6874 #ifndef HAVE_STRLCPY
6875 unsigned int strlcpy (char *dest, char *src, unsigned int size);
6878 /* Define this if your system has strlcat */
6880 #ifndef HAVE_STRLCAT
6881 unsigned int strlcat (char *dest, char *src, unsigned int size);
6884 /* Define this if your system has fseeko */
6887 /* Need these for FILE and off_t an config.h is usually before other includes*/
6889 #include <sys/types.h>
6890 int fseeko(FILE *, off_t, int);
6895 /* Define this if your system has vsscanf */
6898 /* Define this if your system has swab */
6901 /* Define this if your system has no posix select */
6902 $_def_no_posix_select
6904 /* Define this if your system has gettimeofday */
6907 /* Define this if your system has glob */
6910 /* Define this if your system has pthreads */
6913 /* LIRC (remote control, see www.lirc.org) support: */
6917 * LIRCCD (LIRC client daemon)
6918 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6922 /* DVD navigation support using libdvdnav */
6924 $_def_dvdnav_version
6926 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6927 #define MPEG12_POSTPROC 1
6929 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6932 /* Define to include support for OpenDivx postprocessing */
6933 $_def_odivx_postprocess
6935 /* Win32 DLL support */
6937 #define WIN32_PATH "$_win32libdir"
6939 /* DirectShow support */
6942 /* Mac OS X specific features */
6944 $_def_macosx_finder_support
6946 /* Build our Win32-loader */
6949 /* ffmpeg's libavcodec support (requires libavcodec source) */
6953 /* ffmpeg's libavformat support (requires libavformat source) */
6955 $_def_libavformat_win32
6958 #define CONFIG_RISKY 1
6960 /* Use libavcodec's decoders */
6961 #define CONFIG_DECODERS 1
6962 /* Use libavcodec's encoders */
6963 #define CONFIG_ENCODERS 1
6965 #define CONFIG_MPEGAUDIO_HP 1
6967 /* Use codec libs included in mplayer CVS / source dist: */
6973 /* Use libfame encoder filter */
6976 /* XAnim DLL support */
6978 /* Default search path */
6981 /* RealPlayer DLL support */
6983 /* Default search path */
6986 /* LIVE.COM Streaming Media library support */
6989 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6992 /* Use unrarlib for Vobsubs */
6995 /* gui support, please do not edit this option */
6998 /* Audio output drivers */
7000 $_def_ossaudio_devdsp
7001 $_def_ossaudio_devmixer
7010 $_def_sys_asoundlib_h
7011 $_def_alsa_asoundlib_h
7017 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7019 #undef FAST_OSD_TABLE
7021 /* Enable TV Interface support */
7024 /* Enable EDL support */
7027 /* Enable Video 4 Linux TV interface support */
7030 /* Enable Video 4 Linux 2 TV interface support */
7033 /* Enable *BSD BrookTree TV interface support */
7036 /* Define if your processor stores words with the most significant
7037 byte first (like Motorola and SPARC, unlike Intel and VAX). */
7042 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
7043 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
7049 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
7054 /* only gcc3 can compile mvi instructions */
7055 $_def_gcc_mvi_support
7057 /* Define this for Cygwin build for win32 */
7060 /* Define this to any prefered value from 386 up to infinity with step 100 */
7061 #define __CPU__ $iproc
7070 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
7071 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7073 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7074 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7075 #elif defined(WIN32)
7076 #define DEFAULT_CDROM_DEVICE "D:"
7077 #define DEFAULT_DVD_DEVICE "D:"
7078 #elif defined(SYS_DARWIN)
7079 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
7080 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
7081 #elif defined(__OpenBSD__)
7082 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
7083 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
7085 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
7086 #define DEFAULT_DVD_DEVICE "/dev/dvd"
7090 /*----------------------------------------------------------------------------
7092 ** NOTE: Instead of modifying these definitions here, use the
7093 ** --enable/--disable options of the ./configure script!
7094 ** See ./configure --help for details.
7096 *---------------------------------------------------------------------------*/
7098 /* C99 lrintf function available */
7101 /* yes, we have inttypes.h */
7102 #define HAVE_INTTYPES_H 1
7104 /* int_fastXY_t emulation */
7107 /* nanosleep support */
7113 /* termcap flag for getch2.c */
7116 /* termios flag for getch2.c */
7121 /* enable PNG support */
7124 /* enable JPEG support */
7127 /* enable PNM support */
7130 /* enable md5sum support */
7133 /* enable GIF support */
7138 /* enable FreeType support */
7141 /* enable Fontconfig support */
7144 /* enable FriBiDi usage */
7147 /* enable ENCA usage */
7150 /* liblzo support */
7153 /* libmad support */
7156 /* enable OggVorbis support */
7159 /* enable Tremor as vorbis decoder */
7162 /* enable OggTheora support */
7165 /* enable Matroska support */
7168 /* enable FAAD (AAC) support */
7173 /* enable network */
7176 /* enable ftp support */
7179 /* enable winsock2 instead of Unix functions*/
7182 /* define this to use inet_aton() instead of inet_pton() */
7185 /* enables / disables cdparanoia support */
7188 /* enables / disables VIDIX usage */
7191 /* enables / disables new input joystick support */
7194 /* enables / disables QTX codecs */
7197 /* enables / disables osd menu */
7200 /* enables / disables subtitles sorting */
7203 /* XMMS input plugin support */
7205 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7207 /* enables inet6 support */
7210 /* do we have gethostbyname2? */
7211 $_def_gethostbyname2
7213 /* Extension defines */
7214 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
7215 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
7216 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
7217 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
7218 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
7219 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
7220 $_def_altivec // only define if you have Altivec (G4)
7222 $_def_altivec_h // enables usage of altivec.h
7225 $_def_mlib // Sun mediaLib, available only on solaris
7226 $_def_vis // only define if you have VIS ( ultrasparc )
7228 /* libmpeg2 uses a different feature test macro for mediaLib */
7230 #define LIBMPEG2_MLIB 1
7234 #define SCREEN_SIZE_X 1
7235 #define SCREEN_SIZE_Y 1
7246 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
7254 $_def_directfb_version
7276 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
7277 #define X11_FULLSCREEN 1
7280 #endif /* MPLAYER_CONFIG_H */
7283 #############################################################################
7285 echo "Creating libvo/config.mak"
7286 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
7287 cat > libvo
/config.mak
<< EOF
7288 include ../config.mak
7289 OPTIONAL_SRCS = $_vosrc
7290 OPTIONAL_OBJS = $_voobj
7293 #############################################################################
7295 echo "Creating libao2/config.mak"
7296 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
7297 cat > libao
2/config.mak
<< EOF
7298 include ../config.mak
7299 OPTIONAL_SRCS = $_aosrc
7300 OPTIONAL_OBJS = $_aoobj
7303 #############################################################################
7307 Config files successfully generated by ./configure !
7309 Install prefix: $_prefix
7310 Data directory: $_datadir
7311 Config direct.: $_confdir
7313 Byte order: $_byte_order
7314 Optimizing for: $_optimizing
7317 Messages/GUI: $_language
7320 echo -n " Manual pages: $MAN_LANG"
7321 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
7326 Enabled optional drivers:
7327 Input: $_inputmodules
7328 Codecs: $_codecmodules
7329 Audio output: $_aomodules
7330 Video output: $_vomodules
7331 Disabled optional drivers:
7332 Input: $_noinputmodules
7333 Codecs: $_nocodecmodules
7334 Audio output: $_noaomodules
7335 Video output: $_novomodules
7337 'config.h' and 'config.mak' contain your configuration options.
7338 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7339 compile *** DO NOT REPORT BUGS if you tweak these files ***
7341 'make' will now compile MPlayer and 'make install' will install it.
7342 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7347 if test "$_mtrr" = yes ; then
7348 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
7352 if test "$_sdl" = "outdated" ; then
7354 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
7355 support has therefore been disabled.
7357 Please upgrade to a more recent version (version 1.1.8 and above are known to
7358 work). You may get this library from: http://www.libsdl.org
7360 You need to rerun ./configure and recompile after updating SDL. If you are
7361 only interested in the libSDL audio drivers, then an older version might work.
7363 Use --enable-sdl to force usage of libSDL.
7369 if test "$_win32" = no
; then
7370 if test "$_win32libdir" ; then
7371 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
7373 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
7376 Create it and copy the DLL files there! You can download the codecs from our
7377 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
7383 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
7384 operating system ($system_name). You may encounter a few files that cannot
7385 be played due to missing open source video/audio codec support.
7393 Check $TMPLOG if you wonder why an autodetection failed (check whether
7394 the development headers/packages are installed).
7396 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
7400 if test "$_vidix" = no
; then
7402 You've disabled VIDIX. Although it would be better to PORT it instead.
7403 Have a look at the documentation for supported cards!
7409 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"