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 "$?" ; }
73 # arch test boolean functions
74 # x86/x86pc is used by QNX
77 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
96 # not boolean test: implement the posix shell "!" operator for a
98 # usage: not {command}
99 # returns exit status "success" when the execution of "command"
106 # Use this before starting a check
108 echo "============ Checking for $@ ============" >> "$TMPLOG"
109 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
112 # Use this to echo the results of a check
114 echo "Result is: $@" >> "$TMPLOG"
115 echo "##########################################" >> "$TMPLOG"
119 #############################################################################
121 # Check how echo works in this /bin/sh
123 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
124 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
127 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"`
129 for parm
in "$@" ; do
130 if test "$parm" = "--help" ||
test "$parm" = "-help" ||
test "$parm" = "-h" ; then
133 Usage: $0 [OPTIONS]...
136 -h, --help display this help and exit
138 Installation directories:
139 --prefix=DIR use this prefix for installing mplayer [/usr/local]
140 --bindir=DIR use this prefix for installing mplayer binary
142 --datadir=DIR use this prefix for installing machine independent
143 data files (fonts, skins) [PREFIX/share/mplayer]
144 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
145 --confdir=DIR use this prefix for installing configuration files
147 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
150 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
151 --enable-gui enable gmplayer compilation (gtk-1.2 GUI) [disable]
152 --enable-largefiles enable support for files > 2 GBytes [disable]
153 --enable-linux-devfs set default devices to devfs ones [disable]
154 --enable-termcap use termcap database for key codes [autodetect]
155 --with-termcaplib=NAME name of library with termcap functionality
156 name shuld be given without leading "lib"
157 checks for "termcap" and "tinfo"
158 --disable-iconv do not use iconv(3) function [autodetect]
159 --disable-setlocale disable setlocale using in mplayer [autodetect]
160 --enable-lirc enable LIRC (remote control) support [autodetect]
161 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
162 --enable-joystick enable joystick support [disable]
163 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
164 --disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
165 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
166 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
167 --disable-edl disable EDL (edit decision list) support [enable]
168 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
169 --disable-network disable network support (for: http/mms/rtp) [enable]
170 --enable-winsock2 enable winsock2 usage [autodetect]
171 --enable-smb enable Samba (SMB) input support [autodetect]
172 --enable-live enable LIVE.COM Streaming Media support [disable]
173 --disable-dvdread Disable libdvdread support [autodetect]
174 --disable-mpdvdkit Disable mpdvdkit/mpdvdkit2 support [autodetect]
175 --disable-cdparanoia Disable cdparanoia support [autodetect]
176 --disable-freetype Disable freetype2 font rendering support [autodetect]
177 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
178 --disable-unrarlib Disable Unique RAR File Library [enabled]
179 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
180 --disable-sortsub Disable subtitles sorting [enabled]
181 --enable-fribidi Enable using the FriBiDi libs [disabled]
182 --disable-macosx Disable Mac OS X specific features [autodetect]
183 --disable-inet6 Disable IPv6 support [autodetect]
184 --disable-gethostbyname2 gethostbyname() function is not provided by the C
186 --disable-ftp Disable ftp support [enabled]
189 --enable-gif enable gif support [autodetect]
190 --enable-png enable png input/output support [autodetect]
191 --enable-jpeg enable jpeg input/output support [autodetect]
192 --enable-liblzo enable external liblzo support [autodetect]
193 --disable-win32 disable Win32 DLL support [autodetect]
194 --disable-dshow disable Win32/DirectShow support [autodetect]
195 --disable-qtx disable Quicktime codecs [autodetect]
196 --disable-xanim disable XAnim DLL support [autodetect]
197 --disable-real disable RealPlayer DLL support [autodetect]
198 --disable-xvid disable XviD codec [autodetect]
199 --disable-divx4linux disable DivX4linux/Divx5linux codec [autodetect]
200 --enable-opendivx enable _old_ OpenDivx codec [disable]
201 --disable-libavcodec disable libavcodec [autodetect]
202 --enable-libfame enable libfame realtime encoder [autodetect]
203 --enable-vorbis build with OggVorbis support [autodetect]
204 --enable-tremor build with integer-only OggVorbis support [disabled]
205 --enable-theora build with OggTheora support [autodetect]
206 --enable-external-matroska build with external Matroska support [autodetect]
207 --disable-internal-matroska disable internal Matroska support [enabled]
208 --enable-external-faad build with external FAAD2 (AAC) support [autodetect]
209 --disable-internal-faad disable internal FAAD2 (AAC) support [autodetect]
210 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
211 --disable-mad disable libmad (MPEG audio) support [autodetect]
212 --enable-xmms build with XMMS inputplugin support [disabled]
213 --enable-flac build with FLAC support [autodetect]
214 --enable-external-flac build with external libFLAC [disable]
217 --disable-vidix disable VIDIX [enable on x86 *nix]
218 --enable-gl build with OpenGL render support [autodetect]
219 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
220 --enable-vesa build with VESA support [autodetect]
221 --enable-svga build with SVGAlib support [autodetect]
222 --enable-sdl build with SDL render support [autodetect]
223 --enable-aa build with AAlib render support [autodetect]
224 --enable-ggi build with GGI render support [autodetect]
225 --enable-directx build with DirectX support [autodetect]
226 --enable-dxr2 build with DXR2 render support [autodetect]
227 --enable-dxr3 build with DXR3/H+ render support [autodetect]
228 --enable-dvb build with support for output via DVB-Card [autodetect]
229 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
230 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
231 (check for /dev/mga_vid) [autodetect]
232 --enable-xmga build with mga_vid X Window support
233 (check for X & /dev/mga_vid) [autodetect]
234 --enable-xv build with Xv render support for X 4.x [autodetect]
235 --enable-xvmc build with XvMC acceleration for X 4.x [autodetect]
236 --enable-vm build with XF86VidMode support for X11 [autodetect]
237 --enable-xinerama build with Xinerama support for X11 [autodetect]
238 --enable-x11 build with X11 render support [autodetect]
239 --enable-fbdev build with FBDev render support [autodetect]
240 --enable-mlib build with MLIB support (Solaris only) [autodetect]
241 --enable-3dfx build with obsolete /dev/3dfx support [disable]
242 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
243 --enable-directfb build with DirectFB support [autodetect]
244 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
245 --enable-bl build with Blinkenlights support [disable]
246 --enable-tdfxvid build with tdfx vid support [disable]
247 --disable-tga disable targa output support [enable]
250 --disable-ossaudio disable OSS sound support [autodetect]
251 --disable-arts disable aRts sound support [autodetect]
252 --disable-esd disable esd sound support [autodetect]
253 --disable-alsa disable alsa sound support [autodetect]
254 --disable-sunaudio disable Sun sound support [autodetect]
255 --disable-nas disable NAS sound support [autodetect]
256 --disable-win32waveout disable Windows waveout sound support [autodetect]
257 --disable-select disable using select() on audio device [enable]
259 Miscellaneous options:
260 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
261 --cc=COMPILER use this C compiler to build MPlayer [gcc]
262 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
263 --enable-static build a statically linked binary. Set further linking
264 options with --enable-static="-lslang -lncurses"
265 --language=list a white space or comma separated list of languages
266 for translated man pages, the first language is the
267 primary and therefore used for translated messages
268 and GUI (also the environment variable \$LINGUAS is
270 (Available: $LANGUAGES all)
271 --enable-shared-pp install & use shared postprocessing lib
272 --with-install=PATH use a custom install program (useful if your OS uses
273 a GNU-incompatible install utility by default and
274 you want to use GNU version)
275 --install-path=PATH the path to a custom install program
276 this option is obsolete and will be removed soon,
277 use --with-install instead.
280 --enable-mmx build with MMX support [autodetect]
281 --enable-mmx2 build with MMX2 support (PIII, Athlon) [autodetect]
282 --enable-3dnow build with 3DNow! support [autodetect]
283 --enable-3dnowex build with extended 3DNow! support [autodetect]
284 --enable-sse build with SSE support [autodetect]
285 --enable-sse2 build with SSE2 support [autodetect]
286 --enable-altivec build with Altivec support (PowerPC) [autodetect]
287 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
288 --enable-big-endian Force byte order to big endian [autodetect]
289 --enable-debug[=1-3] compile debugging information into mplayer [disable]
290 --enable-profile compile profiling information into mplayer [disable]
291 --disable-sighandler disable sighandler for crashes [enable]
292 --enable-i18n _experimental_ gnu gettext() support [autodetect]
293 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
295 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
296 --disable-gcc-checking disable gcc version checking [enable]
298 Use these options if autodetection fails:
299 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR
300 --with-extralibdir=DIR extra library files (png, mad, sdl, ...) in DIR
301 --with-x11incdir=DIR X headers in DIR
302 --with-x11libdir=DIR X library files in DIR
303 --with-dxr2incdir=DIR DXR2 headers in DIR
304 --with-dvbincdir=DIR DVB headers in DIR
305 --with-madlibdir=DIR libmad (libmad shared library) in DIR
306 --with-mlibdir=DIR libmlib (MLIB support) in DIR (Solaris only)
307 --with-codecsdir=DIR Binary codec files in DIR
308 --with-win32libdir=DIR W*ndows DLL files in DIR
309 --with-xanimlibdir=DIR XAnim DLL files in DIR
310 --with-reallibdir=DIR RealPlayer DLL files in DIR
311 --with-xvmclib=PATH path to adapter specific XvMCxxxxx.so (e.g. NVIDIA)
312 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR
313 --with-xvidincdir=DIR XviD header in DIR
315 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
316 --with-freetype-config=PATH path to freetype-config
317 (e.g. /opt/bin/freetype-config)
318 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
319 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
320 --with-livelibdir=DIR path to LIVE.COM Streaming Media libraries
321 --with-xmmsplugindir=DIR path to XMMS plugins
322 --with-xmmslibdir=DIR path to libxmms.so.1
323 --with-cdparanoiaincdir=DIR cdparanoia headers in DIR
324 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR
325 --with-fribidi-config=PATH path to fribidi-config
326 (e.g. /opt/bin/fribidi-config)
331 done # for parm in ...
334 # 1st pass checking for vital options
338 test "$CC" && _cc
="$CC"
340 _runtime_cpudetection
=no
344 _target
=`echo $ac_option | cut -d '=' -f 2`
347 _cc
=`echo $ac_option | cut -d '=' -f 2`
350 _as
=`echo $ac_option | cut -d '=' -f 2`
352 --enable-gcc-checking)
355 --disable-gcc-checking)
365 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
367 --with-extraincdir=*)
368 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
370 --with-extralibdir=*)
371 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
372 # _ld_extra="${_ld_extra} -Wl,-R"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -Wl\,-R,g'`" -L"`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
374 --enable-runtime-cpudetection)
375 _runtime_cpudetection
=yes
377 --disable-runtime-cpudetection)
378 _runtime_cpudetection
=no
381 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
384 _install
=`echo $ac_option | cut -d '=' -f 2 `
389 # Determine our OS name and CPU architecture
390 if test -z "$_target" ; then
392 system_name
=`( uname -s ) 2>&1`
393 case "$system_name" in
394 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU
)
402 [cC
][yY
][gG
][wW
][iI
][nN
]*)
412 system_name
="$system_name-UNKNOWN"
417 # host's CPU/instruction set
418 host_arch
=`( uname -p ) 2>&1`
420 i386|sparc|ppc|alpha|arm|mips|vax
)
422 powerpc
) # Darwin returns 'powerpc'
425 *) # uname -p on Linux returns 'unknown' for the processor type,
426 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
428 # Maybe uname -m (machine hardware name) returns something we
431 # x86/x86pc is used by QNX
432 case "`( uname -m ) 2>&1`" in
433 i
[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium
*|athlon
*|i586_i686|i586-i686
) host_arch
=i386
;;
434 ia64
) host_arch
=ia64
;;
435 x86_64|amd64
) host_arch
=x86_64
;;
436 ppc
) host_arch
=ppc
;;
437 alpha
) host_arch
=alpha
;;
438 sparc
*) host_arch
=sparc
;;
439 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
440 arm
*) host_arch
=arm
;;
441 s390
) host_arch
=s390
;;
442 s390x
) host_arch
=s390x
;;
443 mips
) host_arch
=mips
;;
444 *) host_arch
=UNKNOWN
;;
449 system_name
=`echo $_target | cut -d '-' -f 2`
450 case "`echo $system_name | tr A-Z a-z`" in
451 linux
) system_name
=Linux
;;
452 freebsd
) system_name
=FreeBSD
;;
453 netbsd
) system_name
=NetBSD
;;
454 bsd
/os
) system_name
=BSD
/OS
;;
455 openbsd
) system_name
=OpenBSD
;;
456 sunos
) system_name
=SunOS
;;
457 qnx
) system_name
=QNX
;;
458 morphos
) system_name
=MorphOS
;;
460 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
461 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
464 echo "Detected operating system: $system_name"
465 echo "Detected host architecture: $host_arch"
467 # LGB: temporary files
468 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
472 TMPLOG
="configure.log"
474 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
475 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
476 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
477 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
481 # FIXME: A lot of stuff is installed under /usr/local
482 # NK: But we should never use this stuff implicitly since we call compiler
483 # from /usr we should be sure that there no effects from other compilers
484 # (libraries) which might be installed into /usr/local. Let users use this
485 # stuff explicitly as command line argument. In other words: It would be
486 # resonable to have only /usr/include or only /usr/local/include.
489 _ld_extra
="$_ld_extra -L/usr/local/lib"
490 _inc_extra
="$_inc_extra -I/usr/local/include"
498 # Checking CC version...
499 if test "$_skip_cc_check" != yes ; then
500 for _cc
in "$_cc" gcc gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
501 echocheck
"$_cc version"
502 cc_name
=`( $_cc -v ) 2>&1 | tail -1 | cut -d ' ' -f 1`
503 cc_version
=`( $_cc -dumpversion ) 2>&1`
504 if test "$?" -gt 0; then
505 cc_version
="not found"
509 cc_version
="v. ?.??, bad"
512 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
3.
[0-9]|
3.
[0-9].
[0-9])
513 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
514 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
515 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
516 cc_version
="$cc_version, ok"
523 cc_version
="$cc_version, bad"
527 echores
"$cc_version"
528 (test "$cc_verc_fail" = "no") && break
530 if test "$cc_verc_fail" = yes ; then
533 *** Please downgrade/upgrade C compiler to version gcc-2.95.x or gcc-3.x! ***
535 You are not using a supported compiler. We do not have the time to make sure
536 everything works with compilers other than the ones we use. Use either the
537 same compiler as we do, or use --disable-gcc-checking but DO *NOT* REPORT BUGS
538 unless you can reproduce them after recompiling with a 2.95.x or 3.x version!
540 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
541 mplayer and lame (which is used for mencoder). If you get compile errors,
542 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
543 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
546 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
548 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
551 die
"Bad gcc version"
556 ******************************************************************************
558 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
559 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
561 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
562 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
563 Lame which is used by mencoder produces weird errors, too.
565 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
566 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
568 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
570 ******************************************************************************
579 # now that we know what compiler should be used for compilation, try to find
580 # out which assembler is used by the $_cc compiler
581 if test "$_as" = auto
; then
582 _as
=`$_cc -print-prog-name=as`
583 test -z "$_as" && _as
=as
586 # XXX: this should be ok..
588 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
589 # FIXME: Remove the cygwin check once AMD CPUs are supported
590 if test -r /proc
/cpuinfo
&& not cygwin
; then
591 # Linux with /proc mounted, extract CPU information from it
592 _cpuinfo
="cat /proc/cpuinfo"
593 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
594 # FreeBSD with Linux emulation /proc mounted,
595 # extract CPU information from it
596 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
598 # use hostinfo on Darwin
601 # all other OSes try to extract CPU information from a small helper
602 # program TOOLS/cpuinfo instead
603 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
604 _cpuinfo
="TOOLS/cpuinfo"
608 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
609 _def_arch
="#define ARCH_X86 1"
610 _target_arch
="TARGET_ARCH_X86 = yes"
612 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -1`
613 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
614 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
615 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
616 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
618 pparam
=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -1`
619 if test -z "$pparam" ; then
620 pparam
=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -1`
631 for i
in $pparam ; do
634 3dnowext
) _3dnow
=yes _3dnowex
=yes ;;
637 mtrr|k6_mtrr|cyrix_arr
) _mtrr
=yes ;;
638 xmm|sse|kni
) _sse
=yes _mmx2
=yes ;;
643 echocheck
"CPU vendor"
644 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
652 3) proc
=i386 iproc
=386 ;;
653 4) proc
=i486 iproc
=486 ;;
654 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
655 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
656 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
658 elif test "$pmodel" -ge 8; then
660 elif test "$pmodel" -ge 6; then
668 if test "$pmodel" -ge 7; then
670 elif test "$pmodel" -ge 6; then
671 # only Athlon XP supports ssem MP, Duron etc not
672 # but most of them are CPUID 666, so check if sse detected
673 # btw. there is also athlon-mp opt, but we need extended
674 # CPUID to detect if CPU is SMP capable -> athlon-mp ::atmos
675 if test "$_sse" = yes && test "$pstepping" -ge 2; then
680 elif test "$pmodel" -ge 4; then
683 proc
=athlon
# TODO: should the Duron Spitfire be considered a Thunderbird instead?
687 *) proc
=athlon-xp iproc
=686 ;;
692 3) proc
=i386 iproc
=386 ;;
693 4) proc
=i486 iproc
=486 ;;
695 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
696 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
702 if test "$pmodel" -ge 7; then
704 elif test "$pmodel" -ge 3; then
710 15) proc
=pentium4 iproc
=686 ;;
711 *) proc
=pentium4 iproc
=686 ;;
716 3) proc
=i386 iproc
=386 ;;
717 4) proc
=i486 iproc
=486 ;;
718 *) proc
=i586 iproc
=586 ;;
722 proc
=i586 iproc
=586 ;;
725 # check that gcc supports our CPU, if not, fall back to earlier ones
726 # LGB: check -mcpu and -march swithing step by step with enabling
727 # to fall back till 386.
729 echocheck
"GCC & CPU optimization abilities"
731 int main(void) { return 0; }
733 if test "$_runtime_cpudetection" = no
; then
734 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ||
test "$proc" = "athlon-tbird"; then
735 cc_check
-march=$proc -mcpu=$proc || proc
=athlon
737 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
738 cc_check
-march=$proc -mcpu=$proc || proc
=k6
740 if test "$proc" = "k6"; then
741 if not cc_check
-march=$proc -mcpu=$proc; then
742 if cc_check
-march=i586
-mcpu=i686
; then
749 if test "$proc" = "pentium4" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon"; then
750 cc_check
-march=$proc -mcpu=$proc || proc
=i686
752 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx"; then
753 cc_check
-march=$proc -mcpu=$proc || proc
=i586
755 if test "$proc" = "i586" ; then
756 cc_check
-march=$proc -mcpu=$proc || proc
=i486
758 if test "$proc" = "i486" ; then
759 cc_check
-march=$proc -mcpu=$proc || proc
=i386
761 if test "$proc" = "i386" ; then
762 cc_check
-march=$proc -mcpu=$proc || proc
=error
764 if test "$proc" = "error" ; then
765 echores
"Your $_cc does not even support \"i386\" for '-march' and '-mcpu'."
769 elif test "$proc" = "i586-i686"; then
774 _march
="-march=$proc"
779 # i686 is probably the most common CPU - optimize for it
781 # at least i486 required, for bswap instruction
783 cc_check
$_mcpu || _mcpu
=""
784 cc_check
$_march $_mcpu || _march
=""
787 ## Gabucino : --target takes effect here (hopefully...) by overwriting
788 ## autodetected mcpu/march parameters
789 if test "$_target" ; then
790 # TODO: it may be a good idea to check GCC and fall back in all cases
791 if test "$host_arch" = "i586-i686"; then
795 _march
="-march=$host_arch"
796 _mcpu
="-mcpu=$host_arch"
804 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
805 i686|athlon
*|pentium
*) iproc
=686 ;;
814 _def_arch
='#define ARCH_IA64 1'
815 _target_arch
='TARGET_ARCH_IA64 = yes'
824 _def_arch
='#define ARCH_X86_64 1'
825 _target_arch
='TARGET_ARCH_X86_64 = yes'
834 _def_arch
='#define ARCH_SPARC 1'
835 _target_arch
='TARGET_ARCH_SPARC = yes'
844 _def_arch
='#define ARCH_ARMV4L 1'
845 _target_arch
='TARGET_ARCH_ARMV4L = yes'
854 _def_arch
='#define ARCH_POWERPC 1'
855 _target_arch
='TARGET_ARCH_POWERPC = yes'
864 if linux
&& test -n "$_cpuinfo"; then
865 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -1`
866 if test -n "`$_cpuinfo | grep altivec`"; then
871 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
872 if [ `sysctl -n hw.vectorunit` -eq 1 ]; then
875 if [ `sysctl -n hw.optional.altivec` -eq 1 ]; then
879 if test "$_altivec" = yes; then
880 echores
"$proc altivec"
885 echocheck
"GCC & CPU optimization abilities"
887 if test -n "$proc"; then
889 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
890 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
891 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
892 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
893 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
894 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
897 # gcc 3.1(.1) and up supports 7400 and 7450
898 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1"; then
900 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
901 7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
905 # gcc 3.2 and up supports 970
906 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3"; then
908 970*) _march
='-mcpu=970' _mcpu
='-mtune=970' ;;
914 if test -n "$_mcpu"; then
915 _optimizing
=`echo $_mcpu | cut -c 8-`
916 echores
"$_optimizing"
924 _def_arch
='#define ARCH_ALPHA 1'
925 _target_arch
='TARGET_ARCH_ALPHA = yes'
932 unsigned long ver, mask;
933 asm ("implver %0" : "=r" (ver));
934 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
935 printf("%ld-%x\n", ver, ~mask);
939 $_cc -o "$TMPO" "$TMPC"
942 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
943 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
944 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
945 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
946 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
947 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
948 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
952 echocheck
"GCC & CPU optimization abilities"
953 if test "$proc" = "ev68" ; then
954 cc_check
-mcpu=$proc || proc
=ev67
956 if test "$proc" = "ev67" ; then
957 cc_check
-mcpu=$proc || proc
=ev6
964 echocheck
"MVI instruction support in GCC"
965 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
966 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
969 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
970 echores
"no, GCC = `( $_cc -dumpversion ) 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
975 _def_arch
='#define ARCH_SGI_MIPS 1'
976 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
985 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
986 case "`echo $proc`" in
987 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
988 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
989 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
990 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
991 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
992 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
1000 _def_arch
='#define ARCH_PA_RISC 1'
1001 _target_arch
='TARGET_ARCH_PA_RISC = yes'
1010 _def_arch
='#define ARCH_S390 1'
1011 _target_arch
='TARGET_ARCH_S390 = yes'
1020 _def_arch
='#define ARCH_S390X 1'
1021 _target_arch
='TARGET_ARCH_S390X = yes'
1030 _def_arch
='#define ARCH_VAX 1'
1031 _target_arch
='TARGET_ARCH_VAX = yes'
1040 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1041 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1042 die
"unsupported architecture $host_arch"
1046 if test "$_runtime_cpudetection" = yes ; then
1061 if x86
&& test "$_runtime_cpudetection" = no
; then
1063 if test "$1" = yes ; then
1064 echocheck
"kernel support of $2"
1067 void catch() { exit(1); }
1069 signal(SIGILL, catch);
1070 __asm__ __volatile__ ("$3":::"memory");return(0);
1074 if ( cc_check
&& $TMPO ) > /dev
/null
2>&1 ; then
1076 _optimizing
="$_optimizing $2"
1080 echo "It seems that your kernel does not correctly support $2."
1081 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1088 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1089 extcheck
$_mmx2 "mmx2" "sfence" || _mmx2
=no
1090 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1091 extcheck
$_3dnowex "3dnowex" "pswapd %%mm0, %%mm0" || _3dnowex
=no
1092 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1093 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1094 echocheck
"mtrr support"
1097 if test "$_mtrr" = yes ; then
1098 _optimizing
="$_optimizing mtrr"
1101 if test "$_gcc3_ext" != ""; then
1102 # if we had to disable sse/sse2 because the active kernel does not
1103 # support this instruction set extension, we also have to tell
1104 # gcc3 to not generate sse/sse2 instructions for normal C code
1106 int main(void) { return 0; }
1108 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1114 _prefix
="/usr/local"
1115 _xvmclib
="XvMCNVIDIA"
1117 # GOTCHA: the variables below defines the default behavior for autodetection
1118 # and have - unless stated otherwise - at least 2 states : yes no
1119 # If autodetection is available then the third state is: auto
1126 _dga
=auto
# 1 2 no auto
1128 _xvmc
=no
#auto when complete
1155 _matroska_internal
=yes
1156 _matroska_external
=auto
1163 # dvdnav disabled, it does not work
1226 _freetypeconfig
='freetype-config'
1228 _fribidiconfig
='fribidi-config'
1230 _gethostbyname2
=auto
1233 case "$ac_option" in
1238 --enable-gcc-checking) ;;
1239 --disable-gcc-checking) ;;
1240 --enable-static*) ;;
1241 --disable-static*) ;;
1242 --with-extraincdir=*) ;;
1243 --with-extralibdir=*) ;;
1244 --enable-runtime-cpudetection) ;;
1245 --disable-runtime-cpudetection) ;;
1246 --install-path=*) ;;
1247 --with-install=*) ;;
1250 --enable-mencoder) _mencoder
=yes ;;
1251 --disable-mencoder) _mencoder
=no
;;
1252 --enable-i18n) _i18n
=yes ;;
1253 --disable-i18n) _i18n
=no
;;
1254 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1255 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1256 --enable-setlocale) _setlocale
=yes ;;
1257 --disable-setlocale) _setlocale
=no
;;
1258 --enable-x11) _x11
=yes ;;
1259 --disable-x11) _x11
=no
;;
1260 --enable-xv) _xv
=yes ;;
1261 --disable-xv) _xv
=no
;;
1262 --enable-xvmc) _xvmc
=yes ;;
1263 --disable-xvmc) _xvmc
=no
;;
1264 --enable-sdl) _sdl
=yes ;;
1265 --disable-sdl) _sdl
=no
;;
1266 --enable-directx) _directx
=yes ;;
1267 --disable-directx) _directx
=no
;;
1268 --enable-win32waveout) _win32waveout
=yes ;;
1269 --disable-win32waveout) _win32waveout
=no
;;
1270 --enable-nas) _nas
=yes ;;
1271 --disable-nas) _nas
=no
;;
1272 --enable-png) _png
=yes ;;
1273 --disable-png) _png
=no
;;
1274 --enable-jpeg) _jpg
=yes ;;
1275 --disable-jpeg) _jpg
=no
;;
1276 --enable-gif) _gif
=yes ;;
1277 --disable-gif) _gif
=no
;;
1278 --enable-gl) _gl
=yes ;;
1279 --disable-gl) _gl
=no
;;
1280 --enable-ggi) _ggi
=yes ;;
1281 --disable-ggi) _ggi
=no
;;
1282 --enable-aa) _aa
=yes ;;
1283 --disable-aa) _aa
=no
;;
1284 --enable-svga) _svga
=yes ;;
1285 --disable-svga) _svga
=no
;;
1286 --enable-vesa) _vesa
=yes ;;
1287 --disable-vesa) _vesa
=no
;;
1288 --enable-fbdev) _fbdev
=yes ;;
1289 --disable-fbdev) _fbdev
=no
;;
1290 --enable-dvb) _dvb
=yes ;;
1291 --disable-dvb) _dvb
=no
;;
1292 --enable-dvbhead) _dvbhead
=yes ;;
1293 --disable-dvbhead) _dvbhead
=no
;;
1294 --enable-dxr2) _dxr2
=yes ;;
1295 --disable-dxr2) _dxr2
=no
;;
1296 --enable-dxr3) _dxr3
=yes ;;
1297 --disable-dxr3) _dxr3
=no
;;
1298 --enable-iconv) _iconv
=yes ;;
1299 --disable-iconv) _iconv
=no
;;
1300 --enable-rtc) _rtc
=yes ;;
1301 --disable-rtc) _rtc
=no
;;
1302 --enable-mp1e) _mp1e
=yes ;;
1303 --disable-mp1e) _mp1e
=no
;;
1304 --enable-libdv) _libdv
=yes ;;
1305 --disable-libdv) _libdv
=no
;;
1306 --enable-ossaudio) _ossaudio
=yes ;;
1307 --disable-ossaudio) _ossaudio
=no
;;
1308 --enable-arts) _arts
=yes ;;
1309 --disable-arts) _arts
=no
;;
1310 --enable-esd) _esd
=yes ;;
1311 --disable-esd) _esd
=no
;;
1312 --enable-mad) _mad
=yes ;;
1313 --disable-mad) _mad
=no
;;
1314 --enable-liblzo) _liblzo
=yes ;;
1315 --disable-liblzo) _liblzo
=no
;;
1316 --enable-vorbis) _vorbis
=yes ;;
1317 --disable-vorbis) _vorbis
=no
;;
1318 --enable-tremor) _tremor
=yes ;;
1319 --disable-tremor) _tremor
=no
;;
1320 --enable-theora) _theora
=yes ;;
1321 --disable-theora) _theora
=no
;;
1322 --enable-internal-matroska) _matroska_internal
=yes _matroska_external
=no
;;
1323 --disable-internal-matroska) _matroska_internal
=no
;;
1324 --enable-external-matroska) _matroska_internal
=no _matroska_external
=yes ;;
1325 --disable-external-matroska) _matroska_external
=no
;;
1326 --enable-internal-faad) _faad_internal
=yes _faad_external
=no
;;
1327 --disable-internal-faad) _faad_internal
=no
;;
1328 --enable-external-faad) _faad_external
=yes _faad_internal
=no
;;
1329 --disable-external-faad) _faad_external
=no
;;
1330 --enable-xmms) _xmms
=yes ;;
1331 --disable-xmms) _xmms
=no
;;
1332 --enable-flac) _flac
=yes ;;
1333 --disable-flac) _flac
=no
;;
1334 --enable-external-flac) _external_flac
=yes ;;
1335 --disable-external-flac) _external_flac
=no
;;
1336 --enable-dvdread) _dvdread
=yes ;;
1337 --disable-dvdread) _dvdread
=no
;;
1338 --enable-mpdvdkit) _dvdkit
=yes ;;
1339 --disable-mpdvdkit) _dvdkit
=no
;;
1340 # dvdnav disabled, it does not work
1341 # --enable-dvdnav) _dvdnav=yes ;;
1342 # --disable-dvdnav) _dvdnav=no ;;
1343 --enable-xanim) _xanim
=yes ;;
1344 --disable-xanim) _xanim
=no
;;
1345 --enable-real) _real
=yes ;;
1346 --disable-real) _real
=no
;;
1347 --enable-live) _live
=yes ;;
1348 --disable-live) _live
=no
;;
1349 --enable-xinerama) _xinerama
=yes ;;
1350 --disable-xinerama) _xinerama
=no
;;
1351 --enable-mga) _mga
=yes ;;
1352 --disable-mga) _mga
=no
;;
1353 --enable-xmga) _xmga
=yes ;;
1354 --disable-xmga) _xmga
=no
;;
1355 --enable-vm) _vm
=yes ;;
1356 --disable-vm) _vm
=no
;;
1357 --enable-mlib) _mlib
=yes ;;
1358 --disable-mlib) _mlib
=no
;;
1359 --enable-sunaudio) _sunaudio
=yes ;;
1360 --disable-sunaudio) _sunaudio
=no
;;
1361 --enable-sgiaudio) _sgiaudio
=yes ;;
1362 --disable-sgiaudio) _sgiaudio
=no
;;
1363 --enable-alsa) _alsa
=yes ;;
1364 --disable-alsa) _alsa
=no
;;
1365 --enable-tv) _tv
=yes ;;
1366 --disable-tv) _tv
=no
;;
1367 --enable-edl) _edl
=yes ;;
1368 --disable-edl) _edl
=no
;;
1369 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1370 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1371 --enable-tv-v4l) _tv_v4l
=yes ;;
1372 --disable-tv-v4l) _tv_v4l
=no
;;
1373 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1374 --disable-tv-v4l2) _tv_v4l2
=no
;;
1375 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1376 --disable-fastmemcpy) _fastmemcpy
=no
;;
1377 --enable-network) _network
=yes ;;
1378 --disable-network) _network
=no
;;
1379 --enable-winsock2) _winsock2
=yes ;;
1380 --disable-winsock2) _winsock2
=no
;;
1381 --enable-smb) _smbsupport
=yes ;;
1382 --disable-smb) _smbsupport
=no
;;
1383 --enable-vidix) _vidix
=yes ;;
1384 --disable-vidix) _vidix
=no
;;
1385 --enable-joystick) _joystick
=yes ;;
1386 --disable-joystick) _joystick
=no
;;
1387 --enable-xvid) _xvid
=yes ;;
1388 --disable-xvid) _xvid
=no
;;
1389 --enable-divx4linux) _divx4linux
=yes ;;
1390 --disable-divx4linux) _divx4linux
=no
;;
1391 --enable-opendivx) _opendivx
=yes ;;
1392 --disable-opendivx) _opendivx
=no
;;
1393 --enable-libavcodec) _libavcodec
=yes ;;
1394 --disable-libavcodec) _libavcodec
=no
;;
1395 --enable-libfame) _fame
=yes ;;
1396 --disable-libfame) _fame
=no
;;
1397 --enable-lirc) _lirc
=yes ;;
1398 --disable-lirc) _lirc
=no
;;
1399 --enable-lircc) _lircc
=yes ;;
1400 --disable-lircc) _lircc
=no
;;
1401 --enable-gui) _gui
=yes ;;
1402 --disable-gui) _gui
=no
;;
1403 --enable-termcap) _termcap
=yes ;;
1404 --disable-termcap) _termcap
=no
;;
1405 --enable-termios) _termios
=yes ;;
1406 --disable-termios) _termios
=no
;;
1407 --enable-3dfx) _3dfx
=yes ;;
1408 --disable-3dfx) _3dfx
=no
;;
1409 --enable-tdfxfb) _tdfxfb
=yes ;;
1410 --disable-tdfxvid) _tdfxvid
=no
;;
1411 --enable-tdfxvid) _tdfxvid
=yes ;;
1412 --disable-tga) _tga
=no
;;
1413 --enable-tga) _tga
=yes ;;
1414 --disable-tdfxfb) _tdfxfb
=no
;;
1415 --enable-directfb) _directfb
=yes ;;
1416 --disable-directfb) _directfb
=no
;;
1417 --enable-zr) _zr
=yes ;;
1418 --disable-zr) _zr
=no
;;
1419 --enable-bl) _bl
=yes ;;
1420 --disable-bl) _bl
=no
;;
1421 --enable-mtrr) _mtrr
=yes ;;
1422 --disable-mtrr) _mtrr
=no
;;
1423 --enable-largefiles) _largefiles
=yes ;;
1424 --disable-largefiles) _largefiles
=no
;;
1425 --enable-shm) _shm
=yes ;;
1426 --disable-shm) _shm
=no
;;
1427 --enable-select) _select
=yes ;;
1428 --disable-select) _select
=no
;;
1429 --enable-linux-devfs) _linux_devfs
=yes ;;
1430 --disable-linux-devfs) _linux_devfs
=no
;;
1431 --enable-cdparanoia) _cdparanoia
=yes ;;
1432 --disable-cdparanoia) _cdparanoia
=no
;;
1433 --enable-big-endian) _big_endian
=yes ;;
1434 --disable-big-endian) _big_endian
=no
;;
1435 --enable-freetype) _freetype
=yes ;;
1436 --disable-freetype) _freetype
=no
;;
1437 --enable-fontconfig) _fontconfig
=yes ;;
1438 --disable-fontconfig) _fontconfig
=no
;;
1439 --enable-unrarlib) _unrarlib
=yes ;;
1440 --disable-unrarlib) _unrarlib
=no
;;
1441 --enable-ftp) _ftp
=yes ;;
1442 --disable-ftp) _ftp
=no
;;
1444 --enable-fribidi) _fribidi
=yes ;;
1445 --disable-fribidi) _fribidi
=no
;;
1447 --enable-inet6) _inet6
=yes ;;
1448 --disable-inet6) _inet6
=no
;;
1450 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1451 --disable-gethostbyname2) _gethostbyname2
=no
;;
1453 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
1454 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
1455 --disable-dga) _dga
=no
;;
1457 --enable-shared-pp) _shared_pp
=yes ;;
1458 --disable-shared-pp) _shared_pp
=no
;;
1460 --enable-menu) _menu
=yes ;;
1461 --disable-menu) _menu
=no
;;
1463 --enable-qtx) _qtx
=yes ;;
1464 --disable-qtx) _qtx
=no
;;
1466 --enable-macosx) _macosx
=yes ;;
1467 --disable-macosx) _macosx
=no
;;
1469 --enable-sortsub) _sortsub
=yes ;;
1470 --disable-sortsub) _sortsub
=no
;;
1473 _language
=`echo $ac_option | cut -d '=' -f 2`
1475 # dvdnav disabled, it does not work
1476 # --with-libdvdnav=*)
1477 # _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
1482 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1483 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1484 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1486 --with-win32libdir=*)
1487 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
1490 --with-xanimlibdir=*)
1491 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
1494 --with-reallibdir=*)
1495 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
1498 --with-livelibdir=*)
1499 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
1503 _mlibdir
=`echo $ac_option | cut -d '=' -f 2`
1507 --with-xmmslibdir=*)
1508 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
1511 --with-xmmsplugindir=*)
1512 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
1525 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
1527 --disable-sighandler)
1531 --enable-sse) _sse
=yes ;;
1532 --disable-sse) _sse
=no
;;
1533 --enable-sse2) _sse2
=yes ;;
1534 --disable-sse2) _sse2
=no
;;
1535 --enable-mmx2) _mmx2
=yes ;;
1536 --disable-mmx2) _mmx2
=no
;;
1537 --enable-3dnow) _3dnow
=yes ;;
1538 --disable-3dnow) _3dnow
=no _3dnowex
=no
;;
1539 --enable-3dnowex) _3dnow
=yes _3dnowex
=yes ;;
1540 --disable-3dnowex) _3dnowex
=no
;;
1541 --enable-altivec) _altivec
=yes ;;
1542 --disable-altivec) _altivec
=no
;;
1543 --enable-mmx) _mmx
=yes ;;
1544 --disable-mmx) # 3Dnow! and MMX2 require MMX
1545 _3dnow
=no _3dnowex
=no _mmx
=no _mmx2
=no
;;
1547 --enable-win32) _win32
=yes ;;
1548 --disable-win32) _win32
=no _dshow
=no
;;
1549 --enable-dshow) _win32
=yes _dshow
=yes ;;
1550 --disable-dshow) _dshow
=no
;;
1553 _inc_x11
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1556 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1558 --with-dxr2incdir=*)
1559 _inc_dxr2
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1562 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
1565 _inc_dvb
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1567 --with-xvidlibdir=*)
1568 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1570 --with-xvidincdir=*)
1571 _inc_xvid
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1573 --with-sdl-config=*)
1574 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
1576 --with-freetype-config=*)
1577 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
1579 --with-fribidi-config=*)
1580 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
1582 --with-gtk-config=*)
1583 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
1585 --with-glib-config=*)
1586 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
1588 # dvdnav disabled, it does not work
1589 # --with-dvdnav-config=*)
1590 # _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
1593 _ld_mad
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1595 --with-cdparanoiaincdir=*)
1596 _inc_cdparanoia
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
1598 --with-cdparanoialibdir=*)
1599 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
1601 --with-termcaplib=*)
1602 _ld_termcap
=-l`echo $ac_option | cut -d '=' -f 2`
1606 _prefix
=`echo $ac_option | cut -d '=' -f 2`
1609 _bindir
=`echo $ac_option | cut -d '=' -f 2`
1612 _datadir
=`echo $ac_option | cut -d '=' -f 2`
1615 _mandir
=`echo $ac_option | cut -d '=' -f 2`
1618 _confdir
=`echo $ac_option | cut -d '=' -f 2`
1621 _libdir
=`echo $ac_option | cut -d '=' -f 2`
1625 echo "Unknown parameter: $ac_option"
1632 # Atmos: moved this here, to be correct, if --prefix is specified
1633 test -z "$_bindir" && _bindir
="$_prefix/bin"
1634 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1635 test -z "$_mandir" && _mandir
="$_prefix/man"
1636 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1637 test -z "$_libdir" && _libdir
="$_prefix/lib"
1638 test -z "$_mlibdir" && _mlibdir
="$MLIBHOME"
1641 # Checking assembler (_as) compatibility...
1642 # Added workaround for older as that reads from stdin by default - atmos
1643 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
1644 echocheck
"assembler ($_as $as_version)"
1646 _pref_as_version
='2.9.1'
1648 if test "$_mmx" = yes ; then
1649 echo 'emms' >> $TMPS
1651 if test "$_3dnow" = yes ; then
1652 _pref_as_version
='2.10.1'
1653 echo 'femms' >> $TMPS
1655 if test "$_3dnowex" = yes ; then
1656 _pref_as_version
='2.10.1'
1657 echo 'pswapd %mm0, %mm0' >> $TMPS
1659 if test "$_mmx2" = yes ; then
1660 _pref_as_version
='2.10.1'
1661 echo 'movntq %mm0, (%eax)' >> $TMPS
1663 if test "$_sse" = yes ; then
1664 _pref_as_version
='2.10.1'
1665 echo 'xorps %xmm0, %xmm0' >> $TMPS
1667 #if test "$_sse2" = yes ; then
1668 # _pref_as_version='2.11'
1669 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
1671 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
1673 if test "$as_verc_fail" != yes ; then
1677 echo "Upgrade binutils to ${_pref_as_version} ..."
1678 die
"obsolete binutils version"
1684 # check if altivec is supported by the compiler, and how to enable it
1686 _altivec_gcc_flags
=''
1688 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
1689 echocheck
"GCC altivec support"
1697 FSF_flags
='-maltivec -mabi=altivec'
1698 Darwin_flags
='-faltivec'
1700 # check for Darwin-style flags first, since
1701 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
1702 # accepts but ignores FSF-style flags...
1704 if test -z "$p"; then
1705 cc_check
$Darwin_flags && p
='Darwin'
1707 if test -z "$p"; then
1708 cc_check
$FSF_flags && p
='FSF'
1712 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
1713 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
1717 if test -z "$p"; then
1720 p
="$p-style ($_altivec_gcc_flags)"
1726 # check if <altivec.h> should be included
1728 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
1730 if test "$_altivec" = yes ; then
1731 echocheck
"altivec.h"
1733 #include <altivec.h>
1734 int main(void) { return 0; }
1737 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
1738 if test "$_have_altivec_h" = yes ; then
1739 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
1741 echores
"$_have_altivec_h"
1744 # disable runtime cpudetection if
1745 # - we cannot generate altivec code
1746 # - altivec is disabled by the user
1748 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
1749 _runtime_cpudetection
=no
1752 # show that we are optimizing for altivec (if enabled and supported)
1754 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
1755 _optimizing
="$_optimizing altivec"
1758 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
1760 if test "$_altivec" = yes ; then
1761 _mcpu
="$_mcpu $_altivec_gcc_flags"
1764 # setup _def_altivec correctly
1766 if test "$_altivec" = yes ; then
1767 _def_altivec
='#define HAVE_ALTIVEC 1'
1769 _def_altivec
='#undef HAVE_ALTIVEC'
1773 _def_mmx
='#undef HAVE_MMX'
1774 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
1775 _def_mmx2
='#undef HAVE_MMX2'
1776 test "$_mmx2" = yes && _def_mmx2
='#define HAVE_MMX2 1'
1777 _def_3dnow
='#undef HAVE_3DNOW'
1778 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
1779 _def_3dnowex
='#undef HAVE_3DNOWEX'
1780 test "$_3dnowex" = yes && _def_3dnowex
='#define HAVE_3DNOWEX 1'
1781 _def_sse
='#undef HAVE_SSE'
1782 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
1783 _def_sse2
='#undef HAVE_SSE2'
1784 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
1786 # Checking kernel version...
1787 if x86
&& linux
; then
1789 kernel_version
=`uname -r 2>&1`
1790 echocheck
"$system_name kernel version"
1791 case "$kernel_version" in
1792 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
1793 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
1794 _k_verc_problem
=yes;;
1796 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
1799 if test "$_k_verc_fail" ; then
1800 echores
"$kernel_version, fail"
1801 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
1802 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
1803 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
1804 echo "supports SSE, but you have been warned! If you are using a kernel older than"
1805 echo "2.2.x you must upgrade it to get SSE support!"
1806 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
1808 echores
"$kernel_version, ok"
1812 if test "$_vidix" = auto
; then
1814 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
1816 ppc
&& linux
&& _vidix
=yes
1817 alpha
&& linux
&& _vidix
=yes
1819 mingw32
&& _vidix
=no
1824 # On QNX we must link to libph - Gabucino
1826 _ld_arch
="$_ld_arch -lph"
1829 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
1831 if test "$_vidix" = yes ; then
1834 for _awk
in mawk gawk nawk
awk; do
1835 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
1840 test "$_awk_verc_fail" = yes && _awk
=no
1842 if test "$_awk_verc_fail" = yes; then
1843 echo "VIDIX needs awk, but no working implementation was found!"
1844 echo "Try the GNU version, which can be downloaded from:"
1845 echo "ftp://ftp.gnu.org/gnu/gawk/"
1846 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
1851 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1856 ######################
1857 # MAIN TESTS GO HERE #
1858 ######################
1861 echocheck
"extra headers"
1862 if test "$_inc_extra" ; then
1863 echores
"$_inc_extra"
1869 echocheck
"extra libs"
1870 if test "$_ld_extra" ; then
1871 echores
"$_ld_extra"
1877 # Checking for localization ...
1878 # CSAK EGY MARADHAT - A HEGYLAKO
1880 if test "$_i18n" != no
; then
1882 #include <libintl.h>
1883 int main(void) { gettext("test"); return 0; }
1887 if test "$_i18n" = auto
; then
1888 cc_check
&& _i18n
=yes
1890 for i18n_lib
in "" "-lintl"; do
1891 cc_check
$i18n_lib && _i18n
=yes && _i18n_libs
=$i18n_lib && break
1895 if test "$_i18n" = yes ; then
1896 _def_i18n
='#define USE_I18N 1'
1898 _def_i18n
='#undef USE_I18N'
1900 if test -z "$_i18n_libs" ; then
1903 echores
"$_i18n (using $_i18n_libs)"
1907 # Checking for setlocale() ...
1908 # CSAK EGY MARADHAT - A HEGYLAKO
1909 # Nemnem. a TV Maci !
1910 echocheck
"setlocale()"
1911 if test "$_setlocale" = auto
; then
1914 int main(void) { setlocale( LC_ALL,"" ); return 0; }
1917 cc_check
&& _setlocale
=yes
1919 if test "$_setlocale" = yes ; then
1920 _def_setlocale
='#define USE_SETLOCALE 1'
1922 _def_setlocale
='#undef USE_SETLOCALE'
1924 echores
"$_setlocale"
1927 echocheck
"language"
1928 test -z "$_language" && _language
=$LINGUAS
1929 _language
=`echo $_language | sed 's/,/ /g'`
1930 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
1931 for i
in $_language ; do
1932 test "$i" = all
&& i
=en
1933 if test -f "help/help_mp-${i}.h" ; then
1937 echo -n "$i not found, "
1938 _language
=`echo $_language | sed "s/$i *//g"`
1941 test -z "$_language" && _language
=en
1942 for i
in $LANGUAGES ; do
1943 if test -f "DOCS/man/$i/mplayer.1" ; then
1944 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
1946 LANGUAGES
=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
1949 echores
"using $_language (man pages: $LANGUAGES)"
1950 _mp_help
="help/help_mp-${_language}.h"
1951 test -f $_mp_help || die
"$_mp_help not found"
1953 echocheck
"enable sighandler"
1954 if test "$_sighandler" = yes ; then
1955 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
1957 _def_sighandler
='#undef ENABLE_SIGHANDLER'
1959 echores
"$_sighandler"
1961 echocheck
"runtime cpudetection"
1962 if test "$_runtime_cpudetection" = yes ; then
1963 _optimizing
="Runtime CPU-Detection enabled"
1964 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
1966 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
1968 echores
"$_runtime_cpudetection"
1971 echocheck
"restrict keyword"
1972 for restrict_keyword
in restrict __restrict __restrict__
; do
1973 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
1975 _def_restrict_keyword
=$restrict_keyword
1979 if [ -n "$_def_restrict_keyword" ]; then
1980 echores
"$_def_restrict_keyword"
1989 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
1992 cc_check
-lkstat && _kstat
=yes
1993 if test "$_kstat" = yes ; then
1994 _ld_arch
="-lkstat $_ld_arch"
1996 if test "$_kstat" = yes ; then
1997 _def_kstat
="#define HAVE_LIBKSTAT 1"
1999 _def_kstat
="#undef HAVE_LIBKSTAT"
2005 # required for nanosleep on some systems
2008 int main(void) { (void) nanosleep(0, 0); return 0; }
2011 cc_check
-lposix4 && _posix4
=yes
2012 if test "$_posix4" = yes ; then
2013 _ld_arch
="-lposix4 $_ld_arch"
2021 int main(void) { (void) lrintf(0.0); return 0; }
2024 cc_check
-lm && _lrintf
=yes
2025 if test "$_lrintf" = yes ; then
2026 _def_lrintf
="#define HAVE_LRINTF 1"
2028 _def_lrintf
="#undef HAVE_LRINTF"
2033 echocheck
"nanosleep"
2034 # also check for nanosleep
2037 int main(void) { (void) nanosleep(0, 0); return 0; }
2040 cc_check
$_ld_arch && _nanosleep
=yes
2041 if test "$_nanosleep" = yes ; then
2042 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2044 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2046 echores
"$_nanosleep"
2050 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2053 int main(void) { (void) gethostbyname(0); return 0; }
2055 cc_check
-lsocket && _ld_sock
="-lsocket"
2056 cc_check
-lnsl && _ld_sock
="-lnsl"
2057 cc_check
-lsocket -lnsl && _ld_sock
="-lsocket -lnsl"
2058 cc_check
-lsocket -ldnet && _ld_sock
="-lsocket -ldnet"
2059 if test $_winsock2 = auto
&& not cygwin
; then
2062 #include <winsock2.h>
2063 int main(void) { (void) gethostbyname(0); return 0; }
2065 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2067 if test "$_ld_sock" ; then
2068 echores
"yes (using $_ld_sock)"
2074 if test $_winsock2 = yes ; then
2076 _def_winsock2
='#define HAVE_WINSOCK2 1'
2078 _def_winsock2
='#undef HAVE_WINSOCK2'
2083 echocheck
"inet_pton()"
2085 #include <sys/types.h>
2086 #include <sys/socket.h>
2087 #include <arpa/inet.h>
2088 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2090 if test "$_winsock2" = yes ; then
2091 echores
"not needed (using winsock2 functions)"
2092 elif cc_check
$_ld_sock ; then
2093 # NOTE: Linux has libresolv but does not need it
2095 echores
"yes (using $_ld_sock)"
2096 elif cc_check
$_ld_sock -lresolv ; then
2097 # NOTE: needed for SunOS at least
2098 _ld_sock
="$_ld_sock -lresolv"
2099 echores
"yes (using $_ld_sock)"
2101 echores
"no (=> i'll try inet_aton next)"
2103 echocheck
"inet_aton()"
2105 #include <sys/types.h>
2106 #include <sys/socket.h>
2107 #include <arpa/inet.h>
2108 int main(void) { (void) inet_aton(0, 0); return 0; }
2111 if cc_check
$_ld_sock ; then
2112 # NOTE: Linux has libresolv but does not need it
2114 echores
"yes (using $_ld_sock)"
2115 elif cc_check
$_ld_sock -lresolv ; then
2116 # NOTE: needed for SunOS at least
2117 _ld_sock
="$_ld_sock -lresolv"
2118 echores
"yes (using $_ld_sock)"
2122 echores
"no (=> network support disabled)"
2126 _def_use_aton
='#undef USE_ATON'
2127 if test "$_use_aton" != no
; then
2128 _def_use_aton
='#define USE_ATON 1'
2132 echocheck
"inttypes.h (required)"
2134 #include <inttypes.h>
2135 int main(void) { return 0; }
2138 cc_check
&& _inttypes
=yes
2139 if test "$_inttypes" = yes ; then
2144 echocheck
"bitypes.h (inttypes.h predecessor)"
2146 #include <sys/bitypes.h>
2147 int main(void) { return 0; }
2150 cc_check
&& _inttypes
=yes
2151 if test "$_inttypes" = yes ; then
2152 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."
2154 die
"Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/en/faq.html)."
2157 echores
"$_inttypes"
2160 echocheck
"int_fastXY_t in inttypes.h"
2162 #include <inttypes.h>
2164 volatile int_fast16_t v= 0;
2168 cc_check
&& _fast_inttypes
=yes
2169 if test "$_fast_inttypes" = yes ; then
2173 _def_fast_inttypes
='
2174 typedef signed char int_fast8_t;
2175 typedef signed int int_fast16_t;
2176 typedef signed int int_fast32_t;
2177 typedef unsigned char uint_fast8_t;
2178 typedef unsigned int uint_fast16_t;
2179 typedef unsigned int uint_fast32_t;'
2181 echores
"$_fast_inttypes"
2184 echocheck
"word size"
2185 _mp_wordsize
="#undef MP_WORDSIZE"
2188 #include <sys/types.h>
2189 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2191 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2192 echores
"$_wordsize"
2195 echocheck
"stddef.h"
2198 int main(void) { return 0; }
2201 cc_check
&& _stddef
=yes
2202 if test "$_stddef" = yes ; then
2203 _def_stddef
='#define HAVE_STDDEF_H 1'
2205 _def_stddef
='#undef HAVE_STDDEF_H'
2210 echocheck
"malloc.h"
2213 int main(void) { (void) malloc(0); return 0; }
2216 cc_check
&& _malloc
=yes
2217 if test "$_malloc" = yes ; then
2218 _def_malloc
='#define HAVE_MALLOC_H 1'
2220 _def_malloc
='#undef HAVE_MALLOC_H'
2222 # malloc.h emits a warning in FreeBSD and OpenBSD
2223 (freebsd || openbsd
) && _def_malloc
='#undef HAVE_MALLOC_H'
2227 echocheck
"memalign()"
2228 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2231 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2234 cc_check
&& _memalign
=yes
2235 if test "$_memalign" = yes ; then
2236 _def_memalign
='#define HAVE_MEMALIGN 1'
2238 _def_memalign
='#undef HAVE_MEMALIGN'
2240 echores
"$_memalign"
2243 echocheck
"alloca.h"
2246 int main(void) { (void) alloca(0); return 0; }
2249 cc_check
&& _alloca
=yes
2251 _def_alloca
='#define HAVE_ALLOCA_H 1'
2253 _def_alloca
='#undef HAVE_ALLOCA_H'
2260 #include <sys/types.h>
2261 #include <sys/mman.h>
2262 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2265 cc_check
&& _mman
=yes
2266 if test "$_mman" = yes ; then
2267 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2269 _def_mman
='#undef HAVE_SYS_MMAN_H'
2273 echocheck
"dynamic loader"
2276 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2281 elif cc_check
-ldl ; then
2285 if test "$_dl" = yes ; then
2286 _def_dl
='#define HAVE_LIBDL 1'
2288 _def_dl
='#undef HAVE_LIBDL'
2293 echocheck
"dynamic a/v plugins support"
2294 if test "$_dl" = no
; then
2297 if test "$_dynamic_plugins" = yes ; then
2298 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2300 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2302 echores
"$_dynamic_plugins"
2305 #echocheck "dynamic linking"
2306 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2307 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2309 #int main(void) { return 0; }
2311 #if cc_check -rdynamic ; then
2312 # _ld_dl_dynamic='-rdynamic'
2313 #elif cc_check -Bdynamic ; then
2314 # _ld_dl_dynamic='-Bdynamic'
2315 #elif cc_check ; then
2318 #echores "using $_ld_dl_dynamic"
2323 #include <pthread.h>
2324 void* func(void *arg) { return arg; }
2325 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
2329 elif ( cc_check
&& $TMPO ) ; then # QNX
2331 elif ( cc_check
-lpthread && $TMPO ) ; then
2332 _ld_pthread
='-lpthread'
2333 elif ( cc_check
-pthread && $TMPO ) ; then
2334 _ld_pthread
='-pthread'
2336 if test "$_ld_static" ; then
2337 # for crosscompilation, we cannot execute the program, be happy if we can link statically
2338 if ( cc_check
-lpthread ) ; then
2339 _ld_pthread
='-lpthread'
2340 elif ( cc_check
-pthread ) ; then
2341 _ld_pthread
='-pthread'
2343 echores
"no static pthread found (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, Win32 loader disabled)"
2344 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2347 echores
"no (v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled)"
2348 _ld_pthread
='' ; _nas
=no
; _tv_v4l
=no
; _macosx
=no
; _win32
=no
2351 if test "$_ld_pthread" != '' ; then
2352 echores
"yes (using $_ld_pthread)"
2358 echocheck
"sys/soundcard.h"
2360 #include <sys/soundcard.h>
2361 int main(void) { return 0; }
2364 cc_check
&& _sys_soundcard
=yes
2365 if test "$_sys_soundcard" = yes ; then
2366 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
2367 _inc_soundcard
='#include <sys/soundcard.h>'
2369 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
2371 echores
"$_sys_soundcard"
2373 if test "$_sys_soundcard" != yes ; then
2374 echocheck
"soundcard.h"
2376 #include <soundcard.h>
2377 int main(void) { return 0; }
2380 cc_check
&& _soundcard
=yes
2381 if linux ||
test "$_ossaudio" != no
; then
2382 # use soundcard.h on Linux, or when OSS support is enabled
2383 echores
"$_soundcard"
2385 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
2386 echores
"$_soundcard, but ignored!"
2389 if test "$_soundcard" = yes ; then
2390 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
2391 _inc_soundcard
='#include <soundcard.h>'
2393 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2396 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
2400 echocheck
"sys/dvdio.h"
2403 #include <sys/dvdio.h>
2404 int main(void) { return 0; }
2407 cc_check
&& _dvdio
=yes
2408 if test "$_dvdio" = yes ; then
2409 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
2411 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
2416 echocheck
"sys/cdio.h"
2419 #include <sys/cdio.h>
2420 int main(void) { return 0; }
2423 cc_check
&& _cdio
=yes
2424 if test "$_cdio" = yes ; then
2425 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
2427 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
2432 echocheck
"linux/cdrom.h"
2434 #include <sys/types.h>
2435 #include <linux/cdrom.h>
2436 int main(void) { return 0; }
2439 cc_check
&& _cdrom
=yes
2440 if test "$_cdrom" = yes ; then
2441 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
2443 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
2451 int main(void) { return 0; }
2454 cc_check
&& _dvd
=yes
2455 if test "$_dvd" = yes ; then
2456 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
2458 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
2463 echocheck
"BSDI dvd.h"
2466 int main(void) { return 0; }
2469 cc_check
&& _bsdi_dvd
=yes
2470 if test "$_bsdi_dvd" = yes ; then
2471 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
2473 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
2475 echores
"$_bsdi_dvd"
2478 echocheck
"HPUX SCSI header"
2480 #include <sys/scsi.h>
2481 int main(void) { return 0; }
2484 cc_check
&& _hpux_scsi_h
=yes
2485 if test "$_hpux_scsi_h" = yes ; then
2486 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
2488 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
2490 echores
"$_hpux_scsi_h"
2493 echocheck
"userspace SCSI headers (Solaris)"
2495 # include <unistd.h>
2496 # include <stropts.h>
2497 # include <sys/scsi/scsi_types.h>
2498 # include <sys/scsi/impl/uscsi.h>
2499 int main(void) { return 0; }
2502 cc_check
&& _sol_scsi_h
=yes
2503 if test "$_sol_scsi_h" = yes ; then
2504 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
2506 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
2508 echores
"$_sol_scsi_h"
2512 if test "$_termcap" = auto
; then
2514 int main(void) { return 0; }
2517 cc_check
-ltermcap && _termcap
=yes && _ld_termcap
='-ltermcap'
2518 cc_check
-ltinfo && _termcap
=yes && _ld_termcap
='-ltinfo'
2520 if test "$_termcap" = yes ; then
2521 _def_termcap
='#define USE_TERMCAP 1'
2522 echores
"yes (using $_ld_termcap)"
2524 _def_termcap
='#undef USE_TERMCAP'
2530 if test "$_termios" = auto
; then
2532 #include <sys/termios.h>
2533 int main(void) { return 0; }
2536 cc_check
&& _termios
=yes
2537 _def_termios_h_name
='sys/termios.h'
2540 if test "$_termios" = no
; then
2542 #include <termios.h>
2543 int main(void) { return 0; }
2546 cc_check
&& _termios
=yes
2547 _def_termios_h_name
='termios.h'
2550 if test "$_termios" = yes ; then
2551 _def_termios
='#define HAVE_TERMIOS 1'
2552 _def_termios_h
='#undef HAVE_TERMIOS_H'
2553 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
2555 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
2556 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
2557 elif test "$_def_termios_h_name" = 'termios.h' ; then
2558 _def_termios_h
='#define HAVE_TERMIOS_H 1'
2560 echores
"yes (using $_def_termios_h_name)"
2562 _def_termios
='#undef HAVE_TERMIOS'
2563 _def_termios_h_name
=''
2569 if test "$_shm" = auto
; then
2571 #include <sys/types.h>
2572 #include <sys/shm.h>
2573 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
2576 cc_check
&& _shm
=yes
2578 if test "$_shm" = yes ; then
2579 _def_shm
='#define HAVE_SHM 1'
2581 _def_shm
='#undef HAVE_SHM'
2586 # XXX: FIXME, add runtime checking
2587 echocheck
"linux devfs"
2588 echores
"$_linux_devfs"
2591 echocheck
"scandir()"
2593 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
2596 cc_check
&& _scandir
=yes
2597 if test "$_scandir" = yes ; then
2598 _def_scandir
='#define HAVE_SCANDIR 1'
2600 _def_scandir
='#undef HAVE_SCANDIR'
2605 echocheck
"strsep()"
2608 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
2611 cc_check
&& _strsep
=yes
2612 if test "$_strsep" = yes ; then
2613 _def_strsep
='#define HAVE_STRSEP 1'
2615 _def_strsep
='#undef HAVE_STRSEP'
2619 echocheck
"fseeko()"
2622 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
2625 cc_check
&& _fseeko
=yes
2626 if test "$_fseeko" = yes ; then
2627 _def_fseeko
='#define HAVE_FSEEKO 1'
2629 _def_fseeko
='#undef HAVE_FSEEKO'
2633 echocheck
"vsscanf()"
2636 int main(void) { vsscanf(0, 0, 0); return 0; }
2639 cc_check
&& _vsscanf
=yes
2640 if test "$_vsscanf" = yes ; then
2641 _def_vsscanf
='#define HAVE_VSSCANF 1'
2643 _def_vsscanf
='#undef HAVE_VSSCANF'
2648 echocheck
"posix select()"
2652 #include <sys/types.h>
2654 #include <sys/time.h>
2656 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
2659 cc_check
&& _posix_select
=yes
2660 if test "$_posix_select" = no
; then
2661 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
2663 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
2665 echores
"$_posix_select"
2668 echocheck
"gettimeofday()"
2671 #include <sys/time.h>
2672 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
2675 cc_check
&& _gettimeofday
=yes
2676 if test "$_gettimeofday" = yes ; then
2677 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
2679 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
2681 echores
"$_gettimeofday"
2688 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
2691 cc_check
&& _glob
=yes
2692 if test "$_glob" = yes ; then
2693 _def_glob
='#define HAVE_GLOB 1'
2695 _def_glob
='#undef HAVE_GLOB'
2700 echocheck
"sys/sysinfo.h"
2702 #include <sys/sysinfo.h>
2704 struct sysinfo s_info;
2710 cc_check
&& _sys_sysinfo
=yes
2711 if test "$_sys_sysinfo" = yes ; then
2712 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
2713 _inc_sysinfo
='#include <sys/sysinfo.h>'
2715 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
2717 echores
"$_sys_sysinfo"
2720 echocheck
"Mac OS X APIs"
2721 if test "$_macosx" = auto
; then
2722 if darwin
&& ppc
; then
2726 _def_macosx
='#undef MACOSX'
2727 _noaomodules
="macosx $_noaomodules"
2728 _novomodules
="quartz $_novomodules"
2731 if test "$_macosx" = yes ; then
2733 #include <Carbon/Carbon.h>
2734 #include <QuickTime/QuickTime.h>
2735 #include <CoreAudio/CoreAudio.h>
2739 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
2742 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
2744 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio"
2745 _def_macosx
='#define MACOSX 1'
2746 _aosrc
="$_aosrc ao_macosx.c"
2747 _aomodules
="macosx $_aomodules"
2748 _vosrc
="$_vosrc vo_quartz.c"
2749 _vomodules
="quartz $_vomodules"
2752 _def_macosx
='#undef MACOSX'
2753 _noaomodules
="macosx $_noaomodules"
2754 _novomodules
="quartz $_novomodules"
2760 echocheck
"Samba support (libsmbclient)"
2761 if test "$_smbsupport" = yes; then
2762 _ld_smb
="-lsmbclient"
2764 if test "$_smbsupport" = auto
; then
2767 #include <libsmbclient.h>
2768 int main(void) { smbc_opendir("smb://"); return 0; }
2770 if cc_check
-lsmbclient ; then
2772 _ld_smb
="-lsmbclient"
2774 if cc_check
-lsmbclient $_ld_dl ; then
2776 _ld_smb
="-lsmbclient $_ld_dl"
2778 if cc_check
-lsmbclient $_ld_dl -lnsl ; then
2780 _ld_smb
="-lsmbclient $_ld_dl -lnsl"
2786 if test "$_smbsupport" = yes; then
2787 _def_smbsupport
="#define LIBSMBCLIENT"
2788 _inputmodules
="smb $_inputmodules"
2790 _def_smbsupport
="#undef LIBSMBCLIENT"
2791 _noinputmodules
="smb $_noinputmodules"
2793 echores
"$_smbsupport"
2802 if test "$_3dfx" = yes ; then
2803 _def_3dfx
='#define HAVE_3DFX 1'
2804 _vosrc
="$_vosrc vo_3dfx.c"
2805 _vomodules
="3dfx $_vomodules"
2807 _def_3dfx
='#undef HAVE_3DFX'
2808 _novomodules
="3dfx $_novomodules"
2814 if test "$_tdfxfb" = yes ; then
2815 _def_tdfxfb
='#define HAVE_TDFXFB 1'
2816 _vosrc
="$_vosrc vo_tdfxfb.c"
2817 _vomodules
="tdfxfb $_vomodules"
2819 _def_tdfxfb
='#undef HAVE_TDFXFB'
2820 _novomodules
="tdfxfb $_novomodules"
2825 if test "$_tdfxvid" = yes ; then
2826 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
2827 _vosrc
="$_vosrc vo_tdfx_vid.c"
2828 _vomodules
="tdfx_vid $_vomodules"
2830 _def_tdfxvid
='#undef HAVE_TDFX_VID'
2831 _novomodules
="tdfx_vid $_novomodules"
2836 if test "$_tga" = yes ; then
2837 _def_tga
='#define HAVE_TGA 1'
2838 _vosrc
="$_vosrc vo_tga.c"
2839 _vomodules
="tga $_vomodules"
2841 _def_tga
='#undef HAVE_TGA'
2842 _novomodules
="tga $_novomodules"
2846 echocheck
"DirectFB headers presence"
2847 if test -z "$_inc_directfb" ; then
2848 for I
in /usr
/include
/usr
/local
/include
; do
2849 if test -d "$I/directfb" && test -f "$I/directfb/directfb.h" ; then
2850 _inc_directfb
="-I$I/directfb"
2851 echores
"yes (using $_inc_directfb)"
2854 if test -d "$I" && test -f "$I/directfb.h" ; then
2855 _inc_directfb
="-I$I"
2856 echores
"yes (using $_inc_directfb)"
2860 if test -z "$_inc_directfb" ; then
2865 echores
"yes (using $_inc_directfb)"
2867 if test "$_inc_directfb" = "-I/usr/include" ; then
2871 echocheck
"DirectFB"
2872 if test "$_directfb" = auto
; then
2875 #include <directfb.h>
2876 int main(void) { IDirectFB *foo; return 0; }
2878 linux
&& test -c /dev
/fb0
&& cc_check
$_inc_directfb -ldirectfb && _directfb
=yes
2881 if test "$_directfb" = yes; then
2883 #include <directfb.h>
2885 printf ("%i",(directfb_major_version*100+directfb_minor_version)*100+directfb_micro_version);
2889 if cc_check
$_inc_directfb -ldirectfb && "$TMPO" >> "$TMPLOG" ; then
2890 _directfb_version
=`"$TMPO"`
2891 _def_directfb_version
="#define DIRECTFBVERSION $_directfb_version"
2892 echores
"yes ($_directfb_version)"
2895 echores
"no (failed to get version)"
2898 echores
"$_directfb"
2901 if test "$_directfb" = yes ; then
2902 _def_directfb
='#define HAVE_DIRECTFB 1'
2903 if test "$_directfb_version" -ge 913; then
2904 _vosrc
="$_vosrc vo_directfb2.c"
2906 _vosrc
="$_vosrc vo_directfb.c"
2908 _vomodules
="directfb $_vomodules"
2909 _ld_directfb
='-ldirectfb'
2911 if test "$_directfb_version" -ge 915; then
2912 _vosrc
="$_vosrc vo_dfbmga.c"
2913 _vomodules
="dfbmga $_vomodules"
2916 _def_directfb
='#undef HAVE_DIRECTFB'
2917 _novomodules
="directfb $_novomodules"
2922 echocheck
"X11 headers presence"
2923 if test -z "$_inc_x11" ; then
2924 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
2925 if test -d "$I/X11" && test -f "$I/X11/Xlib.h" ; then
2927 echores
"yes (using $I)"
2931 if test -z "$_inc_x11" ; then
2933 echores
"not found (check if the dev(el) packages are installed)"
2936 echores
"yes (using $_inc_x11)"
2938 if test "$_inc_x11" = "-I/usr/include" ; then
2943 echocheck
"X11 libs presence"
2944 if test -z "$_ld_x11" ; then
2945 for I
in /usr
/X11R
6/lib
/usr
/lib
/X11R6
/usr
/X11
/lib
/usr
/lib32
/usr
/openwin
/lib
/usr
/X11R
6/lib64
; do
2946 if test -d "$I" && ( test -f "$I/libX11.so" ||
test -f "$I/libX11.a" ) ; then
2948 echores
"yes (using $I)"
2952 if test -z "$_ld_x11" ; then
2954 echores
"not found (check if the dev(el) packages are installed)"
2957 echores
"yes (using $_ld_x11)"
2959 _ld_x11
="$_ld_x11 -lXext -lX11 $_ld_sock"
2963 if test "$_x11" != no
; then
2965 #include <X11/Xlib.h>
2966 #include <X11/Xutil.h>
2967 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
2970 cc_check
$_inc_x11 $_ld_x11 && _x11
=yes
2972 if test "$_x11" = yes ; then
2973 _def_x11
='#define HAVE_X11 1'
2974 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
2975 _vomodules
="x11 xover $_vomodules"
2977 _def_x11
='#undef HAVE_X11'
2980 _novomodules
="x11 $_novomodules"
2987 if test "$_x11" = yes ; then
2989 #include <X11/Xmd.h>
2990 #include <X11/Xlib.h>
2991 #include <X11/Xutil.h>
2992 #include <X11/Xatom.h>
2993 #include <X11/extensions/dpms.h>
2995 (void) DPMSQueryExtension(0, 0, 0);
2998 cc_check
$_inc_x11 -lXdpms $_ld_x11 && _xdpms3
=yes
3001 if test "$_x11" = yes ; then
3003 #include <X11/Xlib.h>
3004 #include <X11/extensions/dpms.h>
3006 (void) DPMSQueryExtension(0, 0, 0);
3009 cc_check
$_inc_x11 $_ld_x11 && _xdpms4
=yes
3011 if test "$_xdpms4" = yes ; then
3012 _def_xdpms
='#define HAVE_XDPMS 1'
3013 echores
"yes (using Xdpms 4)"
3014 elif test "$_xdpms3" = yes ; then
3015 _def_xdpms
='#define HAVE_XDPMS 1'
3016 _ld_x11
="-lXdpms $_ld_x11"
3017 echores
"yes (using Xdpms 3)"
3019 _def_xdpms
='#undef HAVE_XDPMS'
3025 if test "$_x11" = yes && test "$_xv" != no
; then
3027 #include <X11/Xlib.h>
3028 #include <X11/extensions/Xvlib.h>
3029 int main(void) { (void) XvGetPortAttribute(0, 0, 0, 0); return 0; }
3032 cc_check
$_inc_x11 -lXv $_ld_x11 && _xv
=yes
3036 if test "$_xv" = yes ; then
3037 _def_xv
='#define HAVE_XV 1'
3039 _vosrc
="$_vosrc vo_xv.c"
3040 _vomodules
="xv $_vomodules"
3042 _def_xv
='#undef HAVE_XV'
3043 _novomodules
="xv $_novomodules"
3049 if test "$_x11" = yes && test "$_xv" = yes && test "$_xvmc" != no
; then
3052 #include <X11/Xlib.h>
3053 #include <X11/extensions/Xvlib.h>
3054 #include <X11/extensions/XvMClib.h>
3056 (void) XvMCQueryExtension(0,0,0);
3057 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3060 cc_check
$_inc_x11 -lXvMC -l$_xvmclib $_ld_xv $_ld_x11 && _xvmc
=yes
3062 if test "$_xvmc" = yes ; then
3063 _def_xvmc
='#define HAVE_XVMC 1'
3064 _ld_xvmc
="-lXvMC -l$_xvmclib"
3065 _vosrc
="$_vosrc vo_xvmc.c"
3066 _vomodules
="xvmc $_vomodules"
3068 _def_xvmc
='#undef HAVE_XVMC'
3069 _novomodules
="xvmc $_novomodules"
3074 echocheck
"Xinerama"
3075 if test "$_x11" = yes && test "$_xinerama" != no
; then
3077 #include <X11/Xlib.h>
3078 #include <X11/extensions/Xinerama.h>
3079 int main(void) { (void) XineramaIsActive(0); return 0; }
3082 cc_check
$_inc_x11 -lXinerama $_ld_x11 && _xinerama
=yes
3086 if test "$_xinerama" = yes ; then
3087 _def_xinerama
='#define HAVE_XINERAMA 1'
3088 _ld_xinerama
='-lXinerama'
3090 _def_xinerama
='#undef HAVE_XINERAMA'
3092 echores
"$_xinerama"
3095 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3096 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3097 # named 'X extensions' or something similar.
3098 # This check may be useful for future mplayer versions (to change resolution)
3099 # If you run into problems, remove '-lXxf86vm'.
3101 if test "$_x11" = yes && test "$_vm" != no
; then
3103 #include <X11/Xlib.h>
3104 #include <X11/extensions/xf86vmode.h>
3105 #include <X11/XF86keysym.h>
3106 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3109 cc_check
$_inc_x11 -lXxf86vm $_ld_x11 && _vm
=yes
3113 if test "$_vm" = yes ; then
3114 _def_vm
='#define HAVE_XF86VM 1'
3117 _def_vm
='#undef HAVE_XF86VM'
3123 # Version 2 is preferred to version 1 if available
3124 if test "$_dga" = auto
; then
3126 #include <X11/Xlib.h>
3127 #include <X11/extensions/xf86dga.h>
3128 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
3131 cc_check
$_inc_x11 -lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
3134 #include <X11/Xlib.h>
3135 #include <X11/extensions/xf86dga.h>
3136 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
3138 cc_check
$_inc_x11 -lXxf86dga $_ld_x11 && _dga
=2
3141 _def_dga
='#undef HAVE_DGA'
3142 _def_dga2
='#undef HAVE_DGA2'
3143 if test "$_dga" = 1 ; then
3144 _def_dga
='#define HAVE_DGA 1'
3145 _ld_dga
='-lXxf86dga'
3146 _vosrc
="$_vosrc vo_dga.c"
3147 _vomodules
="dga $_vomodules"
3148 echores
"yes (using DGA 1.0)"
3149 elif test "$_dga" = 2 ; then
3150 _def_dga
='#define HAVE_DGA 1'
3151 _def_dga2
='#define HAVE_DGA2 1'
3152 _ld_dga
='-lXxf86dga'
3153 _vosrc
="$_vosrc vo_dga.c"
3154 _vomodules
="dga $_vomodules"
3155 echores
"yes (using DGA 2.0)"
3156 elif test "$_dga" = no
; then
3158 _novomodules
="dga $_novomodules"
3160 die
"DGA version must be 1 or 2"
3165 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
3166 if (test "$_x11" = yes || mingw32 || cygwin
) && test "$_gl" != no
; then
3169 int main(void) { return 0; }
3172 if cc_check
$_inc_x11 $_ld_x11 -lGL -lm ; then
3175 elif cc_check
$_inc_x11 $_ld_x11 -lGL -lm $_ld_pthread ; then
3177 _ld_gl
="-lGL $_ld_pthread"
3178 elif cc_check
-lopengl32 ; then
3181 _ld_gl
="-lopengl32 -lgdi32"
3186 if test "$_gl" = yes ; then
3187 _def_gl
='#define HAVE_GL 1'
3188 if test "$_gl_win32" = yes ; then
3189 _def_gl_win32
='#define GL_WIN32 1'
3190 _vosrc
="$_vosrc vo_gl2.c w32_common.c"
3192 _vosrc
="$_vosrc vo_gl.c vo_gl2.c"
3194 _vomodules
="opengl $_vomodules"
3196 _def_gl
='#undef HAVE_GL'
3197 _def_gl_win32
='#undef GL_WIN32'
3198 _novomodules
="opengl $_novomodules"
3203 echocheck
"/dev/mga_vid"
3204 if test "$_mga" = auto
; then
3206 test -c /dev
/mga_vid
&& _mga
=yes
3208 if test "$_mga" = yes ; then
3209 _def_mga
='#define HAVE_MGA 1'
3210 _vosrc
="$_vosrc vo_mga.c"
3211 _vomodules
="mga $_vomodules"
3213 _def_mga
='#undef HAVE_MGA'
3214 _novomodules
="mga $_novomodules"
3219 # echocheck "syncfb"
3221 # test "$_mga" = yes && _syncfb=yes
3222 # if test "$_syncfb" = yes ; then
3223 # _def_syncfb='#define HAVE_SYNCFB 1'
3224 # _vosrc="$_vosrc vo_syncfb.c"
3226 # _def_syncfb='#undef HAVE_SYNCFB'
3228 # echores "$_syncfb"
3232 if test "$_xmga" = auto
; then
3234 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
3236 if test "$_xmga" = yes ; then
3237 _def_xmga
='#define HAVE_XMGA 1'
3238 _vosrc
="$_vosrc vo_xmga.c"
3239 _vomodules
="xmga $_vomodules"
3241 _def_xmga
='#undef HAVE_XMGA'
3242 _novomodules
="xmga $_novomodules"
3248 if test "$_ggi" = auto
; then
3250 #include <ggi/ggi.h>
3251 int main(void) { return 0; }
3254 cc_check
-lggi && _ggi
=yes
3256 if test "$_ggi" = yes ; then
3257 _def_ggi
='#define HAVE_GGI 1'
3259 _vosrc
="$_vosrc vo_ggi.c"
3260 _vomodules
="ggi $_vomodules"
3262 _def_ggi
='#undef HAVE_GGI'
3263 _novomodules
="ggi $_novomodules"
3269 if test "$_aa" = auto
; then
3272 int main(void) { (void) aa_init(0, 0, 0); return 0; }
3275 cc_check
-laa && _aa
=yes
3277 if test "$_aa" = yes ; then
3278 _def_aa
='#define HAVE_AA 1'
3280 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
3284 _vosrc
="$_vosrc vo_aa.c"
3285 _vomodules
="aa $_vomodules"
3287 _def_aa
='#undef HAVE_AA'
3288 _novomodules
="aa $_novomodules"
3294 if test "$_svga" = auto
; then
3298 int main(void) { return 0; }
3301 cc_check
-lvgagl -lvga -lm && _svga
=yes
3303 if test "$_svga" = yes ; then
3304 _def_svga
='#define HAVE_SVGALIB 1'
3305 _ld_svga
='-lvgagl -lvga -lm'
3306 _vosrc
="$_vosrc vo_svga.c"
3307 _vomodules
="svga $_vomodules"
3309 _def_svga
='#undef HAVE_SVGALIB'
3310 _novomodules
="svga $_novomodules"
3316 if test "$_fbdev" = auto
; then
3318 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
3320 if test "$_fbdev" = yes ; then
3321 _def_fbdev
='#define HAVE_FBDEV 1'
3322 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
3323 _vomodules
="fbdev $_vomodules"
3325 _def_fbdev
='#undef HAVE_FBDEV'
3326 _novomodules
="fbdev $_novomodules"
3333 if test "$_dvb" != no
; then
3336 #include <sys/poll.h>
3337 #include <sys/ioctl.h>
3342 #include <ost/dmx.h>
3343 #include <ost/frontend.h>
3344 #include <ost/sec.h>
3345 #include <ost/video.h>
3346 #include <ost/audio.h>
3347 int main(void) {return 0;}
3353 for I
in "$_inc_dvb" "-I/usr/src/DVB/ost/include" ; do
3354 if cc_check
"$I" ; then
3357 echores
"yes (using $_inc_dvb)"
3361 test "$_dvb" = no
&& echores
"no (specify path to DVB/ost/include with --with-dvbincdir=DIR)"
3366 if test "$_dvb" = yes ; then
3367 _def_dvb
='#define HAVE_DVB 1'
3368 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3369 _aomodules
="mpegpes(dvb) $_aomodules"
3370 _vomodules
="mpegpes(dvb) $_vomodules"
3372 if test "$_dvbhead" != no
; then
3373 echocheck
"DVB HEAD"
3374 if test "$_dvbhead" != no
; then
3378 #include <sys/poll.h>
3379 #include <sys/ioctl.h>
3384 #include <linux/dvb/dmx.h>
3385 #include <linux/dvb/frontend.h>
3386 #include <linux/dvb/video.h>
3387 #include <linux/dvb/audio.h>
3388 int main(void) {return 0;}
3394 for I
in "$_inc_dvb" "-I/usr/src/DVB/include" ; do
3395 if cc_check
"$I" ; then
3398 echores
"yes (using $_inc_dvb)"
3402 test "$_dvbhead" = no
&& echores
"no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)"
3407 if test "$_dvbhead" = yes ; then
3408 _def_dvb
='#define HAVE_DVB_HEAD 1'
3409 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
3410 _aomodules
="mpegpes(dvb) $_aomodules"
3411 _vomodules
="mpegpes(dvb) $_vomodules"
3414 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
3415 _def_dvb
='#undef HAVE_DVB'
3416 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
3417 _aomodules
="mpegpes(file) $_aomodules"
3418 _vomodules
="mpegpes(file) $_vomodules"
3421 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
3423 _inputmodules
="dvb $_inputmodules"
3426 _noinputmodules
="dvb $_noinputmodules"
3429 echocheck
"PNG support"
3430 if test "$_png" = auto
; then
3433 # Don't check for -lpng on irix since it has its own libpng
3434 # incompatible with the GNU libpng
3435 echores
"disabled on irix (not GNU libpng)"
3441 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
3442 printf("libpng: %s\n", png_libpng_ver);
3443 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
3446 if cc_check
-lpng -lz -lm ; then
3447 if "$TMPO" >> "$TMPLOG" ; then
3451 echores
"no (mismatch of library and header versions)"
3460 if test "$_png" = yes ; then
3461 _def_png
='#define HAVE_PNG 1'
3463 _vosrc
="$_vosrc vo_png.c"
3464 _vomodules
="png $_vomodules"
3467 _def_png
='#undef HAVE_PNG'
3468 _novomodules
="png $_novomodules"
3472 echocheck
"JPEG support"
3473 if test "$_jpg" = auto
; then
3480 #include <jpeglib.h>
3485 if cc_check
-ljpeg -lm ; then
3486 if "$TMPO" >> "$TMPLOG" ; then
3493 if test "$_jpg" = yes ; then
3494 _def_jpg
='#define HAVE_JPEG 1'
3495 _vosrc
="$_vosrc vo_jpeg.c"
3496 _vomodules
="jpeg $_vomodules"
3500 _def_jpg
='#undef HAVE_JPEG'
3501 _novomodules
="jpeg $_novomodules"
3506 echocheck
"GIF support"
3507 if test "$_gif" = auto
; then
3510 #include <gif_lib.h>
3515 if cc_check
-lungif && "$TMPO" >> "$TMPLOG" ; then
3518 elif cc_check
-lungif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3520 _ld_gif
="-lungif $_ld_x11"
3521 elif cc_check
-lgif && "$TMPO" >> "$TMPLOG" ; then
3524 elif cc_check
-lgif $_ld_x11 && "$TMPO" >> "$TMPLOG" ; then
3526 _ld_gif
="-lgif $_ld_x11"
3530 if test "$_gif" = yes ; then
3531 _def_gif
='#define HAVE_GIF 1'
3532 _vosrc
="$_vosrc vo_gif89a.c"
3533 _codecmodules
="gif $_codecmodules"
3534 _vomodules
="gif89a $_vomodules"
3536 _gif
="yes (old version, some encoding functions disabled)"
3537 _def_gif_4
='#undef HAVE_GIF_4'
3541 #include <gif_lib.h>
3542 void catch() { exit(1); }
3544 signal(SIGSEGV, catch); // catch segfault
3545 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
3546 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
3550 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3551 _def_gif_4
='#define HAVE_GIF_4 1'
3555 _def_gif
='#undef HAVE_GIF'
3556 _def_gif_4
='#undef HAVE_GIF_4'
3557 _novomodules
="gif89a $_novomodules"
3558 _nocodecmodules
="gif $_codecmodules"
3564 case "$_gif" in yes*)
3565 echocheck
"broken giflib workaround"
3566 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
3569 #include <gif_lib.h>
3572 printf("UserData is at address %p\n", gif.UserData);
3576 if cc_check
"$_ld_gif" && ( "$TMPO" ) >>"$TMPLOG" 2>&1 ; then
3577 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
3586 echocheck
"VESA support"
3587 if test "$_vesa" = auto
; then
3588 if x86
&& linux
; then
3592 int main(void) { return 0; }
3594 cc_check
&& _vesa
=yes
3597 if test "$_vesa" = yes ; then
3598 _def_vesa
='#define HAVE_VESA 1'
3599 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c"
3600 _vomodules
="vesa $_vomodules"
3603 _def_vesa
='#undef HAVE_VESA'
3604 echores
"no (not supported on this OS/architecture)"
3605 _novomodules
="vesa $_novomodules"
3614 if test -z "$_sdlconfig" ; then
3615 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
3616 _sdlconfig
="sdl-config"
3617 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
3618 _sdlconfig
="sdl11-config"
3623 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
3626 int main(int argc, char *argv[]) { return 0; }
3629 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
3630 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
3631 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
3632 if test "$_sdlversion" -gt 116 ; then
3633 if test "$_sdlversion" -lt 121 ; then
3634 _def_sdlbuggy
='#define BUGGY_SDL'
3636 _def_sdlbuggy
='#undef BUGGY_SDL'
3645 if test "$_sdl" = yes ; then
3646 _def_sdl
='#define HAVE_SDL 1'
3648 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
3649 _inc_sdl
=`$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`
3651 _ld_sdl
=`$_sdlconfig --libs | sed s/-mwindows//`
3652 _inc_sdl
=`$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`
3654 _ld_sdl
=`$_sdlconfig --libs`
3655 _inc_sdl
=`$_sdlconfig --cflags`
3657 _vosrc
="$_vosrc vo_sdl.c"
3658 _vomodules
="sdl $_vomodules"
3659 _aosrc
="$_aosrc ao_sdl.c"
3660 _aomodules
="sdl $_aomodules"
3661 echores
"yes (using $_sdlconfig)"
3663 _def_sdl
='#undef HAVE_SDL'
3664 _novomodules
="sdl $_novomodules"
3665 _noaomodules
="sdl $_noaomodules"
3669 echocheck
"Windows waveout"
3670 if test "$_win32waveout" = auto
; then
3672 #include <windows.h>
3673 #include <mmsystem.h>
3674 int main(void) { return 0; }
3677 cc_check
-lwinmm && _win32waveout
=yes
3679 if test "$_win32waveout" = yes ; then
3680 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
3681 _ld_win32libs
="-lwinmm $_ld_win32libs"
3682 _aosrc
="$_aosrc ao_win32.c"
3683 _aomodules
="win32 $_aomodules"
3685 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
3686 _noaomodules
="win32 $_noaomodules"
3688 echores
"$_win32waveout"
3691 if test "$_directx" = auto
; then
3693 #include <windows.h>
3695 int main(void) { return 0; }
3698 cc_check
-lgdi32 && _directx
=yes
3700 if test "$_directx" = yes ; then
3701 _def_directx
='#define HAVE_DIRECTX 1'
3702 _ld_win32libs
="-lgdi32 $_ld_win32libs"
3703 _vosrc
="$_vosrc vo_directx.c"
3704 _vomodules
="directx $_vomodules"
3706 _def_directx
='#undef HAVE_DIRECTX'
3707 _novomodules
="directx $_novomodules"
3712 if test "$_nas" = auto ||
test "$_nas" = yes ; then
3714 #include <audio/audiolib.h>
3715 int main(void) { return 0; }
3718 cc_check
-laudio $_inc_x11 -lXt $_ld_x11 -lm && _nas
=yes
3720 if test "$_nas" = yes ; then
3721 _def_nas
='#define HAVE_NAS 1'
3722 _ld_nas
="-laudio -lXt $_ld_x11"
3723 _aosrc
="$_aosrc ao_nas.c"
3724 _aomodules
="nas $_aomodules"
3726 _noaomodules
="nas $_noaomodules"
3727 _def_nas
='#undef HAVE_NAS'
3732 if test "$_dxr2" = auto
; then
3734 for _inc_dxr2
in "$_inc_dxr2" \
3735 "-I/usr/local/include/dxr2" \
3736 "-I/usr/include/dxr2"; do
3738 #include <dxr2ioctl.h>
3739 int main(void) { return 0; }
3741 cc_check
$_inc_dxr2 && _dxr2
=yes && break
3744 if test "$_dxr2" = yes; then
3745 _def_dxr2
='#define HAVE_DXR2 1'
3746 _vosrc
="$_vosrc vo_dxr2.c"
3747 _aosrc
="$_aosrc ao_dxr2.c"
3748 _aomodules
="dxr2 $_aomodules"
3749 _vomodules
="dxr2 $_vomodules"
3750 echores
"yes (using $_inc_dxr2)"
3752 _def_dxr2
='#undef HAVE_DXR2'
3753 _noaomodules
="dxr2 $_noaomodules"
3754 _novomodules
="dxr2 $_novomodules"
3760 if test "$_dxr3" = auto
; then
3762 #include <linux/em8300.h>
3763 int main(void) { return 0; }
3766 cc_check
&& _dxr3
=yes
3768 if test "$_dxr3" = yes ; then
3769 _def_dxr3
='#define HAVE_DXR3 1'
3770 _vosrc
="$_vosrc vo_dxr3.c"
3771 _vomodules
="dxr3 $_vomodules"
3773 _def_dxr3
='#undef HAVE_DXR3'
3774 _novomodules
="dxr3 $_novomodules"
3775 if test "$_mp1e" = auto
; then
3776 # we don't need mp1e
3783 if test "$_mmx" = no
; then
3784 # mp1e REQUIRES mmx!
3787 if test "$_mp1e" != no
; then
3789 _def_mp1e
='#define USE_MP1E'
3790 _ld_mp1e
='libmp1e/libmp1e.a'
3791 _dep_mp1e
='libmp1e/libmp1e.a'
3794 _def_mp1e
='#undef USE_MP1E'
3802 if test "$_fame" = auto
; then
3804 test "$_dxr2" = yes && _fame
=auto
3805 test "$_dxr3" = yes && _fame
=auto
3806 test "$_dvb" = yes && _fame
=auto
3808 if test "$_fame" = auto
; then
3810 if test -d libfame
&& test -f libfame
/fame.h
; then
3811 # disable fame on cygwin as no sense to port - atmos
3815 echores
"no (no fame dir)"
3821 _def_fame
='#undef USE_LIBFAME'
3822 if test "$_fame" = yes ; then
3823 _def_fame
='#define USE_LIBFAME 1'
3824 _ld_fame
='libfame/libfame.a'
3833 echocheck
"OSS Audio"
3834 if test "$_ossaudio" = auto
; then
3836 #include <sys/ioctl.h>
3838 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
3841 cc_check
&& _ossaudio
=yes
3843 if test "$_ossaudio" = yes ; then
3844 _def_ossaudio
='#define USE_OSS_AUDIO 1'
3845 _aosrc
="$_aosrc ao_oss.c"
3846 _aomodules
="oss $_aomodules"
3847 if test "$_linux_devfs" = yes; then
3848 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
3849 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
3852 #include <sys/ioctl.h>
3854 #ifdef OPEN_SOUND_SYSTEM
3855 int main(void) { return 0; }
3857 #error Not the real thing
3861 cc_check
&& _real_ossaudio
=yes
3862 if test "$_real_ossaudio" = yes; then
3863 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3864 elif netbsd || openbsd
; then
3865 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
3866 _ld_arch
="$_ld_arch -lossaudio"
3868 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
3870 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
3873 _def_ossaudio
='#undef USE_OSS_AUDIO'
3874 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
3875 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
3876 _noaomodules
="oss $_noaomodules"
3878 echores
"$_ossaudio"
3882 if test "$_arts" = auto
; then
3884 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
3888 int main(void) { return 0; }
3890 cc_check
`artsc-config --libs` `artsc-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _arts
=yes
3895 if test "$_arts" = yes ; then
3896 _def_arts
='#define USE_ARTS 1'
3897 _aosrc
="$_aosrc ao_arts.c"
3898 _aomodules
="arts $_aomodules"
3899 _ld_arts
=`artsc-config --libs`
3900 _inc_arts
=`artsc-config --cflags`
3902 _noaomodules
="arts $_noaomodules"
3908 if test "$_esd" = auto
; then
3910 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
3914 int main(void) { return 0; }
3916 cc_check
`esd-config --libs` `esd-config --cflags` && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _esd
=yes
3922 if test "$_esd" = yes ; then
3923 _def_esd
='#define USE_ESD 1'
3924 _aosrc
="$_aosrc ao_esd.c"
3925 _aomodules
="esd $_aomodules"
3926 _ld_esd
=`esd-config --libs`
3927 _inc_esd
=`esd-config --cflags`
3929 echocheck
"esd_get_latency()"
3932 int main(void) { return esd_get_latency(0); }
3934 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
3935 echores
"$_esd_latency"
3937 _def_esd
='#undef USE_ESD'
3938 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
3939 _noaomodules
="esd $_noaomodules"
3942 echocheck
"ALSA audio"
3943 if test "$_alsa" != no
; then
3946 #include <sys/asoundlib.h>
3947 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
3949 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.5.x'
3952 #include <sys/asoundlib.h>
3953 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3955 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-sys'
3957 #include <alsa/asoundlib.h>
3958 int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
3960 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='0.9.x-alsa'
3963 #include <sys/asoundlib.h>
3964 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3966 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-sys'
3968 #include <alsa/asoundlib.h>
3969 int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
3971 cc_check
-lasound $_ld_dl $_ld_pthread && $TMPO && _alsaver
='1.0.x-alsa'
3973 _def_alsa5
='#undef HAVE_ALSA5'
3974 _def_alsa9
='#undef HAVE_ALSA9'
3975 _def_alsa1x
='#undef HAVE_ALSA1X'
3976 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
3977 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
3978 if test "$_alsaver" ; then
3979 if test "$_alsaver" = '0.5.x' ; then
3980 _aosrc
="$_aosrc ao_alsa5.c"
3981 _aomodules
="alsa5 $_aomodules"
3982 _def_alsa5
='#define HAVE_ALSA5 1'
3983 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3984 echores
"yes (using alsa 0.5.x and sys/asoundlib.h)"
3985 elif test "$_alsaver" = '0.9.x-sys' ; then
3986 _aosrc
="$_aosrc ao_alsa9.c"
3987 _aomodules
="alsa9 $_aomodules"
3988 _def_alsa9
='#define HAVE_ALSA9 1'
3989 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
3990 echores
"yes (using alsa 0.9.x and sys/asoundlib.h)"
3991 elif test "$_alsaver" = '0.9.x-alsa' ; then
3992 _aosrc
="$_aosrc ao_alsa9.c"
3993 _aomodules
="alsa9 $_aomodules"
3994 _def_alsa9
='#define HAVE_ALSA9 1'
3995 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
3996 echores
"yes (using alsa 0.9.x and alsa/asoundlib.h)"
3997 elif test "$_alsaver" = '1.0.x-sys' ; then
3998 _aosrc
="$_aosrc ao_alsa1x.c"
3999 _aomodules
="alsa1x $_aomodules"
4000 _def_alsa1x
="#define HAVE_ALSA1X 1"
4001 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
4002 echores
"yes (using alsa 1.0.x and sys/asoundlib.h)"
4003 elif test "$_alsaver" = '1.0.x-alsa' ; then
4004 _aosrc
="$_aosrc ao_alsa1x.c"
4005 _aomodules
="alsa1x $_aomodules"
4006 _def_alsa1x
="#define HAVE_ALSA1X 1"
4007 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
4008 echores
"yes (using alsa 1.0.x and alsa/asoundlib.h)"
4010 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
4012 _noaomodules
="alsa $_noaomodules"
4017 echocheck
"Sun audio"
4018 if test "$_sunaudio" = auto
; then
4020 #include <sys/types.h>
4021 #include <sys/audioio.h>
4022 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4025 cc_check
&& _sunaudio
=yes
4027 if test "$_sunaudio" = yes ; then
4028 _def_sunaudio
='#define USE_SUN_AUDIO 1'
4029 _aosrc
="$_aosrc ao_sun.c"
4030 _aomodules
="sun $_aomodules"
4032 _def_sunaudio
='#undef USE_SUN_AUDIO'
4033 _noaomodules
="sun $_noaomodules"
4035 echores
"$_sunaudio"
4038 echocheck
"Sun mediaLib"
4039 if test "$_mlib" = auto
; then
4041 test -z "$_mlibdir" && _mlibdir
=/opt
/SUNWmlib
4044 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
4046 cc_check
-I${_mlibdir}/include
-L${_mlibdir}/lib
-lmlib && _mlib
=yes
4048 if test "$_mlib" = yes ; then
4049 _def_mlib
='#define HAVE_MLIB 1'
4050 _inc_mlib
=" -I${_mlibdir}/include "
4051 _ld_mlib
=" -L${_mlibdir}/lib -R${_mlibdir}/lib -lmlib "
4053 _def_mlib
='#undef HAVE_MLIB'
4058 echocheck
"SGI audio"
4059 if test "$_sgiaudio" = auto
; then
4060 # check for SGI audio
4062 #include <dmedia/audio.h>
4063 int main(void) { return 0; }
4066 cc_check
&& _sgiaudio
=yes
4068 if test "$_sgiaudio" = "yes" ; then
4069 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
4070 _ld_sgiaudio
='-laudio'
4071 _aosrc
="$_aosrc ao_sgi.c"
4072 _aomodules
="sgi $_aomodules"
4074 _def_sgiaudio
='#undef USE_SGI_AUDIO'
4075 _noaomodules
="sgi $_noaomodules"
4077 echores
"$_sgiaudio"
4080 echocheck
"VCD support"
4081 if linux || bsdos || freebsd || netbsd || sunos
; then
4082 _inputmodules
="vcd $_inputmodules"
4083 _def_vcd
='#define HAVE_VCD 1'
4086 _def_vcd
='#undef HAVE_VCD'
4087 _noinputmodules
="vcd $_noinputmodules"
4088 echores
"not supported on this OS"
4091 echocheck
"DVD support (libmpdvdkit)"
4092 if test "$_dvdkit" = auto
; then
4094 if linux || freebsd || netbsd || darwin || cygwin || mingw32 || openbsd || sunos || hpux
; then
4095 test -f "./libmpdvdkit2/Makefile" && _dvdkit
=yes
4096 test -f "./libmpdvdkit/Makefile" && _dvdkit
=yes
4099 if test "$_dvdkit" = yes ; then
4100 if test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes ||
test "$_hpux_scsi_h" = yes || darwin || cygwin || mingw32
; then
4101 if test -f "./libmpdvdkit2/Makefile" ; then
4102 _inputmodules
="mpdvdkit2 $_inputmodules"
4103 _dvdread
=libmpdvdkit2
4107 _inputmodules
="mpdvdkit $_inputmodules"
4108 _dvdread
=libmpdvdkit
4111 _noinputmodules
="mpdvdkit $_noinputmodules"
4113 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
4114 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
4115 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
4116 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
4117 if linux || netbsd || openbsd || bsdos
; then
4118 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
4120 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
4124 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
4127 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
4132 _noinputmodules
="mpdvdkit $_noinputmodules"
4134 if test "$_dvdkit" = yes ||
test "$_dvdkit2" = yes; then
4140 echocheck
"DVD support (libdvdread)"
4141 if test "$_dvdread" = auto
; then
4143 #include <inttypes.h>
4144 #include <dvdread/dvd_reader.h>
4145 #include <dvdread/ifo_types.h>
4146 #include <dvdread/ifo_read.h>
4147 #include <dvdread/nav_read.h>
4148 int main(void) { return 0; }
4151 if test "$_dl" = yes; then
4153 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
4157 _def_mpdvdkit
="#undef USE_MPDVDKIT"
4161 _def_dvdread
='#define USE_DVDREAD 1'
4162 _ld_dvdread
='-ldvdread'
4163 _inputmodules
="dvdread $_inputmodules"
4167 _def_dvdread
='#undef USE_DVDREAD'
4168 _noinputmodules
="dvdread $_noinputmodules"
4173 _def_dvdread
='#define USE_DVDREAD 1'
4174 _ld_dvdread
='-Llibmpdvdkit -lmpdvdkit'
4175 _noinputmodules
="dvdread $_noinputmodules"
4176 _def_mpdvdkit
="#define USE_MPDVDKIT 1"
4177 echores
"disabled by libmpdvdkit"
4181 _def_dvdread
='#define USE_DVDREAD 1'
4182 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
4183 _noinputmodules
="dvdread $_noinputmodules"
4184 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
4185 echores
"disabled by libmpdvdkit2"
4189 # dvdnav disabled, it does not work
4190 # echocheck "DVD support (libdvdnav)"
4191 # if test "$_dvdnav" = yes ; then
4193 # #include <dvdnav.h>
4194 # int main(void) { dvdnav_t *dvd=0; return 0; }
4197 # test -n "$_dvdnavdir" && _legal_dvdnavdir=-L$_dvdnavdir/.libs
4198 # if test -z "$_dvdnavconfig" ; then
4199 # if ( dvdnav-config --version ) >/dev/null 2>&1 ; then
4200 # _dvdnavconfig="dvdnav-config"
4203 # test -z "$_dvdnavdir" && test -n "$_dvdnavconfig" && _dvdnavdir=`$_dvdnavconfig --cflags`
4205 # test "$_dvdkit" = no && test "$_dvdkit2" = no && _used_css=$_ld_css
4206 # cc_check $_inc_extra -I$_dvdnavdir $_legal_dvdnavdir -ldvdnav $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
4208 # if test "$_dvdnav" = yes ; then
4210 # _def_dvdnav='#define USE_DVDNAV 1'
4211 # if test -n "$_legal_dvdnavdir" ; then
4212 # _ld_css="$_ld_css $_legal_dvdnavdir -ldvdnav"
4213 # elif test -n "$_dvdnavconfig" ; then
4214 # _ld_css="$_ld_css `$_dvdnavconfig --libs`"
4216 # _ld_css="$_ld_css -ldvdnav"
4218 # if test -n "$_dvdnavconfig" ; then
4219 # _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
4220 # _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
4222 # if test -n "$_dvdnavdir" ; then
4223 # _inc_extra="$_inc_extra -I$_dvdnavdir"
4225 # _inputmodules="dvdnav $_inputmodules"
4228 # _def_dvdnav='#undef USE_DVDNAV'
4229 # _noinputmodules="dvdnav $_noinputmodules"
4233 echocheck
"cdparanoia"
4234 if test "$_cdparanoia" = auto
; then
4236 #include <cdda_interface.h>
4237 #include <cdda_paranoia.h>
4238 // This need a better test. How ?
4239 int main(void) { return 1; }
4242 if cc_check
$_inc_cdparanoia $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4245 for I
in /usr
/include
/cdda
/usr
/local
/include
/cdda
; do
4246 if cc_check
-I$I $_ld_cdparanoia -lcdda_interface -lcdda_paranoia -lm ; then
4247 _cdparanoia
=yes; _inc_cdparanoia
="-I$I"; break
4252 if test "$_cdparanoia" = yes ; then
4253 _def_cdparanoia
='#define HAVE_CDDA'
4254 _inputmodules
="cdda $_inputmodules"
4255 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
4256 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
4258 _def_cdparanoia
='#undef HAVE_CDDA'
4259 _noinputmodules
="cdda $_noinputmodules"
4261 echores
"$_cdparanoia"
4263 echocheck
"freetype >= 2.0.9"
4264 if test "$_freetype" = auto
; then
4265 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
4268 #include <ft2build.h>
4269 #include FT_FREETYPE_H
4270 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
4271 #error "Need FreeType 2.0.9 or newer"
4276 FT_Int major=-1,minor=-1,patch=-1;
4277 int err=FT_Init_FreeType(&library);
4279 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
4282 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
4283 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
4284 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
4285 (int)major,(int)minor,(int)patch );
4286 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
4287 printf("Library and header version mismatch! Fix it in your distribution!\n");
4294 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _freetype
=yes
4299 if test "$_freetype" = yes ; then
4300 _def_freetype
='#define HAVE_FREETYPE'
4301 _inc_freetype
=`$_freetypeconfig --cflags`
4302 _ld_freetype
=`$_freetypeconfig --libs`
4304 _def_freetype
='#undef HAVE_FREETYPE'
4306 echores
"$_freetype"
4308 if test "$_freetype" = no
; then
4311 echocheck
"fontconfig"
4312 if test "$_fontconfig" = auto
; then
4313 if ( pkg-config
--modversion fontconfig
) > /dev
/null
2>&1 ; then
4316 #include <fontconfig/fontconfig.h>
4321 printf("Couldn't initialize fontconfig lib\n");
4329 cc_check
`pkg-config --cflags --libs fontconfig` && ( $TMPO >> "$TMPLOG" ) && _fontconfig
=yes
4334 if test "$_fontconfig" = yes ; then
4335 _def_fontconfig
='#define HAVE_FONTCONFIG'
4336 _inc_fontconfig
=`pkg-config --cflags fontconfig`
4337 _ld_fontconfig
=`pkg-config --libs fontconfig`
4339 _def_fontconfig
='#undef HAVE_FONTCONFIG'
4341 echores
"$_fontconfig"
4343 echocheck
"fribidi with charsets"
4344 if test "$_fribidi" = yes ; then
4345 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
4348 #include <fribidi/fribidi.h>
4351 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHARSET_UTF8) {
4352 printf("Fribidi headers are not consistents with the library!\n");
4359 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && ( $TMPO >> "$TMPLOG" ) && _fribidi
=yes
4364 if test "$_fribidi" = yes ; then
4365 _def_fribidi
='#define USE_FRIBIDI'
4366 _inc_fribidi
=`$_fribidiconfig --cflags`
4367 _ld_fribidi
=`$_fribidiconfig --libs`
4369 _def_fribidi
='#undef USE_FRIBIDI'
4377 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
4380 cc_check
-lz && _zlib
=yes
4381 if test "$_zlib" = yes ; then
4382 _def_zlib
='#define HAVE_ZLIB 1'
4385 _def_zlib
='#undef HAVE_ZLIB'
4392 if test "$_rtc" = auto
; then
4394 #include <sys/ioctl.h>
4395 #include <linux/rtc.h>
4396 int main(void) { return RTC_IRQP_READ; }
4399 cc_check
&& _rtc
=yes
4404 echores
"no (Linux specific feature)"
4406 if test "$_rtc" = yes ; then
4407 _def_rtc
='#define HAVE_RTC 1'
4409 _def_rtc
='#undef HAVE_RTC'
4413 echocheck
"external liblzo support"
4414 if test "$_liblzo" = auto
; then
4418 int main(void) { lzo_init();return 0; }
4420 cc_check
-llzo && _liblzo
=yes
4422 if test "$_liblzo" = yes ; then
4423 _def_liblzo
='#define USE_LIBLZO 1'
4425 _codecmodules
="liblzo $_codecmodules"
4427 _def_liblzo
='#undef USE_LIBLZO'
4428 _nocodecmodules
="liblzo $_nocodecmodules"
4433 echocheck
"mad support"
4434 if test "$_mad" = auto
; then
4438 int main(void) { return 0; }
4440 cc_check
$_madlibdir -lmad && _mad
=yes
4442 if test "$_mad" = yes ; then
4443 _def_mad
='#define USE_LIBMAD 1'
4445 _codecmodules
="libmad $_codecmodules"
4447 _def_mad
='#undef USE_LIBMAD'
4448 _nocodecmodules
="libmad $_nocodecmodules"
4453 echocheck
"OggVorbis support"
4454 if test "$_vorbis" = auto
; then
4457 #include <vorbis/codec.h>
4458 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
4460 cc_check
-lvorbis -logg -lm && _vorbis
=yes
4462 if test "$_vorbis" = yes ; then
4463 _def_vorbis
='#define HAVE_OGGVORBIS 1'
4464 if test "$_tremor" = yes ; then
4465 _def_tremor
='#define TREMOR 1'
4466 _ld_vorbis
='-lvorbisidec'
4468 _def_tremor
='#undef TREMOR'
4469 _ld_vorbis
='-lvorbis -logg'
4471 _codecmodules
="libvorbis $_codecmodules"
4473 _def_vorbis
='#undef HAVE_OGGVORBIS'
4474 _def_tremor
='#undef TREMOR'
4475 _nocodecmodules
="libvorbis $_nocodecmodules"
4477 if test "$_vorbis" = yes -a "$_tremor" = yes ; then
4478 echores
"$_vorbis (Tremor)"
4483 echocheck
"OggTheora support (only the CVS version!)"
4484 if test "$_theora" = auto
; then
4487 #include <theora/theora.h>
4491 /* theora is in flux, make sure that all interface routines and
4492 * datatypes exist and work the way we expect it, so we don't break
4502 theora_info_init (&inf);
4503 theora_comment_init (&tc);
4507 /* we don't want to execute this kind of nonsense; just for making sure
4508 * that compilation works... */
4509 memset(&op, 0, sizeof(op));
4510 r = theora_decode_header (&inf, &tc, &op);
4511 r = theora_decode_init (&st, &inf);
4512 t = theora_granule_time (&st, op.granulepos);
4513 r = theora_decode_packetin (&st, &op);
4514 r = theora_decode_YUVout (&st, &yuv);
4520 cc_check
-ltheora -logg -lm && _theora
=yes
4522 if test "$_theora" = yes ; then
4523 _def_theora
='#define HAVE_OGGTHEORA 1'
4524 _codecmodules
="libtheora $_codecmodules"
4525 _ld_theora
="-ltheora -logg"
4527 _def_theora
='#undef HAVE_OGGTHEORA'
4528 _nocodecmodules
="libtheora $_nocodecmodules"
4533 echocheck
"Matroska support (external 0.6.0 or later OR internal)"
4534 _matroska_result
="no"
4535 if test "$_matroska_internal" = yes ; then
4536 _matroska_external
=no
4537 _inputmodules
="matroska(internal) $_inputmodules"
4538 _matroska_result
="yes, internal"
4540 if test "$_matroska_external" != no
; then
4541 _matroska_external
=no
4545 #include <ebml/EbmlVersion.h>
4546 #include <matroska/KaxVersion.h>
4548 #if LIBEBML_VERSION < 000600
4549 #error libebml is too old
4552 #if LIBMATROSKA_VERSION < 000600
4553 #error libmatroska is too old
4556 int main(void) { return 0; }
4558 cc_check
-lmatroska -lebml -lstdc++ && _matroska_external
=yes
4559 if test "$_matroska_external" = no
; then
4560 _saved_inc_extra
=$_inc_extra
4561 _inc_extra
="$_inc_extra -I/usr/local/include"
4562 cc_check
-lmatroska -lebml -lstdc++ && _matroska_external
=yes
4563 if test "$_matroska_external" = no
; then
4564 _inc_extra
=$_saved_inc_extra
4567 rm ${TMPC} > /dev
/null
2> /dev
/null
4569 if test "$_matroska_external" = yes ; then
4570 _ld_matroska
="-lmatroska -lebml -lstdc++"
4571 _inputmodules
="matroska(external) $_inputmodules"
4572 _matroska_result
="yes, external"
4575 echores
"$_matroska_result"
4576 if test "$_matroska_internal" != no
-o "$_matroska_external" != no
; then
4577 _def_matroska
='#define HAVE_MATROSKA 1'
4579 _def_matroska
='#undef HAVE_MATROSKA'
4580 _noinputmodules
="matroska $_noinputmodules"
4585 echocheck
"internal FAAD2 (AAC) support"
4586 _inc_faad
="-I`pwd`/libfaad2"
4587 if test "$_faad_internal" = auto
; then
4588 # the faad check needs a config.h file
4589 if not
test -f "config.h" ; then
4592 # internal faad: check if our dear gcc is able to compile it...
4593 cp "`pwd`/libfaad2/cfft.c" $TMPC
4594 if ( cc_check
-c -O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer $_inc_faad ); then
4597 _faad_internal
="no (broken gcc)"
4600 if test "$_faad_internal" = yes ; then
4601 _def_faad_internal
="#define USE_INTERNAL_FAAD 1"
4604 _def_faad_internal
="#undef USE_INTERNAL_FAAD"
4607 echores
"$_faad_internal"
4610 echocheck
"external FAAD2 (AAC) support"
4611 if test "$_faad_external" != no
; then
4613 _inc_faad
="$_inc_extra"
4614 # external faad: check if it's really faad2 :)
4615 if test "$_faad_external" = auto
; then
4619 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); return 0; }
4621 cc_check
$_inc_faad $_ld_faad -lm && _faad_external
=yes
4623 echores
"$_faad_external"
4628 if test "$_faad_internal" = yes -o "$_faad_external" = yes; then
4629 echocheck
"FAAD2 version"
4632 #ifndef FAAD_MIN_STREAMSIZE
4633 #error Too old version
4636 #ifdef FAAD2_VERSION
4637 printf("%s\n",FAAD2_VERSION);
4644 if cc_check
-I- $_inc_faad $_ld_faad -lm && "$TMPO" >> "$TMPLOG" ; then
4645 _faad_version
=`"$TMPO"`
4646 _faad_tempversion
=`"$TMPO" | sed -e 's/^\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1\2/'`
4647 _def_faad_version
="#define FAADVERSION $_faad_tempversion"
4648 echores
"$_faad_version"
4652 echores
"failed to get version"
4656 if test "$_faad_external" = yes; then
4657 _def_faad
='#define HAVE_FAAD 1'
4658 _codecmodules
="faad2(external) $_codecmodules"
4659 elif test "$_faad_internal" = yes; then
4660 _def_faad
='#define HAVE_FAAD 1'
4661 _codecmodules
="faad2(internal) $_codecmodules"
4663 _def_faad
='#undef HAVE_FAAD'
4664 _nocodecmodules
="faad2 $_nocodecmodules"
4670 if test "$_win32" = auto
; then
4674 _win32
=no
# x86 arch only
4678 if test "$_win32" != no
; then
4679 if test -z "$_win32libdir" ; then
4680 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/win32
/usr
/lib
/win32
; do
4681 if test -d "$I" ; then
4689 echocheck
"Win32 codec DLL support"
4690 if test "$_win32" = auto
; then
4692 test -n "$_win32libdir" && _win32
=yes
4694 if test "$_win32" = yes ; then
4695 _def_win32
='#define USE_WIN32DLL 1'
4696 echores
"yes (using $_win32libdir)"
4698 _def_win32
='#undef USE_WIN32DLL'
4699 _nocodecmodules
="win32 $_nocodecmodules"
4704 if test "$_win32" != no
; then
4705 _def_win32_loader
='#undef WIN32_LOADER'
4706 echocheck
"Win32 loader support"
4707 if not cygwin
&& not mingw32
; then
4708 _ld_win32
='loader/libloader.a'
4709 _dep_win32
='loader/libloader.a'
4710 _codecmodules
="win32 $_codecmodules"
4712 x86
&& _ld_win32
="$_ld_win32 -li386"
4714 _def_win32_loader
='#define WIN32_LOADER 1'
4717 _ld_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4718 _dep_win32
='loader/driver.o loader/vfl.o loader/afl.o'
4719 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
4720 _codecmodules
="win32 $_codecmodules"
4721 echores
"no (using native windows)"
4725 echocheck
"DirectShow"
4728 if test "$_dshow" != no
; then
4730 # check if compiler supports C++ and C++-libs are installed correctly
4731 cat > "$TMPCPP" << EOF
4735 public: int myreturn(void);
4737 int myclass::myreturn(void) { ret = 0; return ret ; }
4738 int main(void) { myclass myobject; return myobject.myreturn(); }
4740 echo "------------------------------------------------" >> "$TMPLOG"
4741 cat "$TMPCPP" >> "$TMPLOG"
4742 if ( $_cc "$TMPCPP" -o "$TMPO" && "$TMPO" ) >> "$TMPLOG" 2>&1 ; then
4744 echores
"yes (C++ is ok)"
4749 Your C++ runtime environment is broken.
4751 Hints: Does $_cc support C++? Do you have you a C++ compiler installed?
4752 Are the C++ libraries correctly installed?
4753 Check for libstdc++ and in (/etc/)ld.so.conf.
4755 If you do not need DirectShow support, you can also use:
4756 ./configure --disable-dshow <your-normal-configure-options>
4757 to disable building the C++ based DirectShow code.
4760 die
"$_cc's C++ is broken"
4768 if test "$_dshow" = yes ; then
4769 _def_dshow
='#define USE_DIRECTSHOW 1'
4770 _ld_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4771 _dep_dshow
='loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
4772 _codecmodules
="dshow/dmo $_codecmodules"
4774 _def_dshow
='#undef USE_DIRECTSHOW'
4775 _nocodecmodules
="dshow/dmo $_nocodecmodules"
4779 echocheck
"XAnim DLL"
4780 if test "$_xanim" = auto
; then
4782 if test "$_dl" = yes ; then
4783 if test -z "$_xanimlibdir" ; then
4784 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
4785 if test -d "$I" ; then
4791 test "$_xanimlibdir" && _xanim
=yes
4792 if test "$_xanim" = yes ; then
4793 echores
"yes (using $_xanimlibdir)"
4795 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4798 echores
"no (dynamic loader support needed)"
4801 echores
"$_xanim (using $_xanimlibdir)"
4803 if test "$_xanim" = yes ; then
4804 _def_xanim
='#define USE_XANIM 1'
4805 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
4806 _codecmodules
="xanim $_codecmodules"
4808 _def_xanim
='#undef USE_XANIM'
4809 _def_xanim_path
='#undef XACODEC_PATH'
4810 _nocodecmodules
="xanim $_nocodecmodules"
4813 echocheck
"RealPlayer DLL"
4814 if test "$_real" = auto
; then
4816 if test "$_dl" = yes ||
test "$_win32" = yes ; then
4817 # if test "$_dl" = yes ; then
4818 if linux || freebsd || netbsd || cygwin || mingw32
; then
4821 echores
"no (tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW)"
4823 if test "$_real" = yes ; then
4824 if test -z "$_reallibdir" ; then
4825 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
4826 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
4827 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
4829 if test -d "$I" ; then
4835 test "$_reallibdir" || _real
=no
4836 if test "$_real" = yes ; then
4837 echores
"yes (using $_reallibdir)"
4839 echores
"no (no suitable directory found - see DOCS/HTML/en/codecs.html)"
4843 echores
"no (dynamic loader support needed)"
4846 echores
"$_real (using $_reallibdir)"
4848 if test "$_real" = yes ; then
4849 _def_real
='#define USE_REALCODECS 1'
4850 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
4851 _codecmodules
="real $_codecmodules"
4853 _def_real
='#undef USE_REALCODECS'
4854 _def_real_path
="#undef REALCODEC_PATH"
4855 _nocodecmodules
="real $_nocodecmodules"
4859 if test -z "$_livelibdir" ; then
4860 for I
in $_libdir/live
/usr
/lib
/live
/usr
/local
/live
/usr
/local
/lib
/live
; do
4861 if test -d "$I" ; then
4868 echocheck
"LIVE.COM Streaming Media libraries"
4869 if test "$_live" = auto
&& test "$_network" = yes ; then
4871 test "$_livelibdir" || _live
=no
4872 # TODO: deeper, more reliable test of libs, and version!
4873 # (users may have empty live/ dir or something different there, for
4874 # example 'live config files', or they may have old, incompatibel version)
4876 if test "$_live" = yes && test "$_network" = yes ; then
4877 echores
"yes (using $_livelibdir)"
4878 _def_live
='#define STREAMING_LIVE_DOT_COM 1'
4879 _live_libs_def
="# LIVE.COM Streaming Media libraries:
4880 LIVE_LIB_DIR = $_livelibdir
4881 LIVE_LIBS = \$(LIVE_LIB_DIR)/liveMedia/libliveMedia.a
4882 LIVE_LIBS += \$(LIVE_LIB_DIR)/groupsock/libgroupsock.a
4883 LIVE_LIBS += \$(LIVE_LIB_DIR)/UsageEnvironment/libUsageEnvironment.a
4884 LIVE_LIBS += \$(LIVE_LIB_DIR)/BasicUsageEnvironment/libBasicUsageEnvironment.a
4885 LIVE_LIBS += -lstdc++"
4886 _ld_live
='$(LIVE_LIBS)'
4887 _inputmodules
="live.com $_inputmodules"
4890 _def_live
='#undef STREAMING_LIVE_DOT_COM'
4891 _noinputmodules
="live.com $_noinputmodules"
4896 if test "$_iconv" = auto
; then
4897 _iconv_tmp
='#include <iconv.h>'
4903 #define INBUFSIZE 1024
4904 #define OUTBUFSIZE 4096
4906 char inbuffer[INBUFSIZE];
4907 char outbuffer[OUTBUFSIZE];
4912 char *tocode="UTF-8";
4913 char *fromcode="cp1250";
4914 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
4915 while ((numread = read (0, inbuffer, INBUFSIZE))) {
4916 char *iptr=inbuffer;
4917 char *optr=outbuffer;
4918 size_t inleft=numread;
4919 size_t outleft=OUTBUFSIZE;
4920 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
4922 write (1, outbuffer, OUTBUFSIZE - outleft);
4925 if (iconv_close(icdsc) == -1)
4931 if cc_check
-lm -liconv ; then
4935 cc_check
-lm && _iconv
=yes
4938 if test "$_iconv" = yes ; then
4939 _def_iconv
='#define USE_ICONV 1'
4941 _def_iconv
='#undef USE_ICONV'
4946 echocheck
"FFmpeg libavcodec (static)"
4947 if test "$_libavcodec" = auto
; then
4948 # Note: static linking is preferred to dynamic linking
4950 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
4951 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
4955 echores
"no (old ffmpeg version, use CVS !)"
4958 echores
"no (see DOCS/HTML/en/codecs.html)"
4961 echores
"$_libavcodec"
4964 _def_haveffpostprocess
='no'
4965 if test -d libavcodec
&& test -f libavcodec
/libpostproc
/postprocess.h
; then
4966 _def_haveffpostprocess
='yes'
4969 if test "$_libavcodec" != yes ; then
4970 echocheck
"FFmpeg libavcodec (dynamic)"
4971 if test "$_libavcodecso" = auto
; then
4973 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
4975 #define FF_POSTPROCESS 1
4976 #include <ffmpeg/avcodec.h>
4978 avcodec_find_encoder_by_name("");
4982 if cc_check
-lavcodec -lm ; then
4984 echores
"yes (using libavcodec.so)"
4986 echores
"no (libavcodec.so is broken/obsolete)"
4989 echores
"$_libavcodecso"
4993 _def_libavcodec
='#undef USE_LIBAVCODEC'
4994 _def_libavcodecso
='#undef USE_LIBAVCODEC_SO'
4995 _def_ffpostprocess
='#undef FF_POSTPROCESS'
4996 if test "$_libavcodec" = yes ; then
4997 _def_libavcodec
='#define USE_LIBAVCODEC 1'
4998 _ld_libavcodec
='libavcodec/libavcodec.a'
4999 _dep_libavcodec
='libavcodec/libavcodec.a'
5000 _def_ffpostprocess
='#define FF_POSTPROCESS 1'
5001 _codecmodules
="libavcodec $_codecmodules"
5002 elif test "$_libavcodecso" = yes ; then
5003 _def_libavcodec
='#define USE_LIBAVCODEC 1'
5004 _def_libavcodecso
='#define USE_LIBAVCODEC_SO 1'
5005 _ld_libavcodec
='-lavcodec'
5006 _codecmodules
="libavcodec.so $_codecmodules"
5008 _nocodecmodules
="libavcodec $_nocodecmodules"
5011 echocheck
"libdv-0.9.5+"
5012 if test "$_libdv" = auto
; then
5015 #include <libdv/dv.h>
5016 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
5018 cc_check
-ldv -lm && _libdv
=yes
5020 if test "$_libdv" = yes ; then
5021 _def_libdv
='#define HAVE_LIBDV095 1'
5023 _codecmodules
="libdv $_codecmodules"
5025 _def_libdv
='#undef HAVE_LIBDV095'
5026 _nocodecmodules
="libdv $_nocodecmodules"
5031 if test "$_zr" = auto
; then
5032 #36067's seem to identify themselves as 36057PQC's, so the line
5033 #below should work for 36067's and 36057's.
5034 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
5040 if test "$_zr" = yes ; then
5041 if test "$_libavcodec" = yes ; then
5042 _def_zr
='#define HAVE_ZR 1'
5043 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
5044 _vomodules
="zr zr2 $_vomodules"
5047 echores
"libavcodec (static) is required by zr, sorry"
5048 _novomodules
="zr $_novomodules"
5049 _def_zr
='#undef HAVE_ZR'
5052 _def_zr
='#undef HAVE_ZR'
5053 _novomodules
="zr zr2 $_novomodules"
5058 if test "$_bl" = yes ; then
5059 _def_bl
='#define HAVE_BL 1'
5060 _vosrc
="$_vosrc vo_bl.c"
5061 _vomodules
="bl $_vomodules"
5063 _def_bl
='#undef HAVE_BL'
5064 _novomodules
="bl $_novomodules"
5071 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
5073 _ld_xvid
="$_ld_xvid -lxvidcore -lm"
5074 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5076 _def_xvid3
='#define HAVE_XVID3 1'
5077 _def_xvid4
='#undef HAVE_XVID4'
5078 _codecmodules
="xvid $_codecmodules"
5082 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
5084 if test "$_xvid" != no
&& cc_check
$_inc_xvid $_ld_xvid ; then
5086 _def_xvid3
='#undef HAVE_XVID3'
5087 _def_xvid4
='#define HAVE_XVID4 1'
5088 _codecmodules
="xvid $_codecmodules"
5092 _def_xvid3
='#undef HAVE_XVID3'
5093 _def_xvid4
='#undef HAVE_XVID4'
5094 _nocodecmodules
="xvid $_nocodecmodules"
5100 _def_decore_xvid
='#undef DECORE_XVID'
5101 _def_encore_xvid
='#undef ENCORE_XVID'
5102 if test "$_xvid" = yes ; then
5103 echocheck
"DivX4 compatibility in XviD"
5106 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
5108 cc_check
-lm "$_ld_xvid" && _xvidcompat
=yes
5109 echores
"$_xvidcompat"
5113 echocheck
"DivX4linux/DivX5linux/OpenDivX decore"
5114 # DivX5: DEC_OPT_MEMORY_REQS - DivX4: DEC_OPT_FRAME_311
5117 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
5119 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5121 _ld_decore
='-ldivxdecore'
5122 _def_decore
='#define NEW_DECORE 1'
5123 _def_divx
='#define USE_DIVX'
5124 _def_divx5
='#undef DECORE_DIVX5'
5125 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5126 _codecmodules
="divx4linux $_codecmodules"
5127 echores
"DivX4linux (with libdivxdecore.so)"
5129 # if test "$_divx4linux" != no ; then
5131 # OdivxPP disabled because of:
5132 # ld: Warning: type of symbol `dering' changed from 1 to 2 in opendivx/postprocess.o
5135 int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
5137 if test "$_divx4linux" != no
&& cc_check
-lm -ldivxdecore -lm ; then
5139 # _ld_decore='-ldivxdecore opendivx/postprocess.o'
5140 _ld_decore
='-ldivxdecore'
5141 _def_decore
='#define NEW_DECORE 1'
5142 _def_divx
='#define USE_DIVX'
5143 _def_divx5
='#define DECORE_DIVX5 1'
5144 # _def_odivx_postprocess='#define HAVE_ODIVX_POSTPROCESS 1'
5145 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5146 _codecmodules
="divx5linux $_codecmodules"
5147 _nocodecmodules
="divx4linux $_nocodecmodules"
5148 echores
"DivX5linux (with libdivxdecore.so)"
5149 elif test "$_opendivx" != no
; then
5151 _ld_decore
='opendivx/libdecore.a'
5152 _def_decore
='#undef NEW_DECORE'
5153 _def_divx
='#define USE_DIVX'
5154 _def_divx5
='#undef DECORE_DIVX5'
5155 _def_odivx_postprocess
='#define HAVE_ODIVX_POSTPROCESS 1'
5156 _codecmodules
="opendivx $_codecmodules"
5157 _nocodecmodules
="divx5linux $_nocodecmodules"
5159 elif test "$_xvidcompat" = yes ; then
5162 _def_decore
='#define NEW_DECORE 1'
5163 _def_divx
='#define USE_DIVX 1'
5164 _def_divx5
='#undef DECORE_DIVX5'
5165 _def_decore_xvid
='#define DECORE_XVID 1'
5166 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5167 _nocodecmodules
="opendivx divx5linux divx4linux $_nocodecmodules"
5168 echores
"XviD compat."
5172 _def_decore
='#undef NEW_DECORE'
5173 _def_divx
='#undef USE_DIVX'
5174 _def_divx5
='#undef DECORE_DIVX5'
5175 _def_odivx_postprocess
='#undef HAVE_ODIVX_POSTPROCESS'
5176 _nocodecmodules
="opendivx $_nocodecmodules"
5182 # mencoder requires (optional) those libs: libmp3lame and divx4linux encore
5183 if test "$_mencoder" != no
; then
5185 echocheck
"libmp3lame (for mencoder)"
5188 #include <lame/lame.h>
5189 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; }
5191 # Note: libmp3lame usually depends on vorbis
5192 cc_check
-lmp3lame $_ld_vorbis -lm && ( "$TMPO" >> "$TMPLOG" 2>&1 ) && _mp3lame
=yes
5193 if test "$_mp3lame" = yes ; then
5194 _def_mp3lame
="#define HAVE_MP3LAME `$TMPO`"
5195 _def_cfg_mp3lame
="#define CONFIG_MP3LAME `$TMPO`"
5196 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
5198 _def_mp3lame
='#undef HAVE_MP3LAME'
5199 _def_cfg_mp3lame
='#undef CONFIG_MP3LAME'
5204 echocheck
"DivX4linux encore (for mencoder)"
5206 #include <encore2.h>
5207 int main(void) { (void) encore(0, 0, 0, 0); return 0; }
5209 if test "$_divx4linux" != no
&& cc_check
-ldivxencore -lm ; then
5210 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5211 _ld_encore
='-ldivxencore'
5212 echores
"DivX4linux (with libdivxencore.so)"
5213 elif test "$_xvidcompat" = yes ; then
5214 _def_encore
='#define HAVE_DIVX4ENCORE 1'
5216 _def_encore_xvid
='#define ENCORE_XVID 1'
5217 echores
"XviD compat."
5219 _def_encore
='#undef HAVE_DIVX4ENCORE'
5225 echocheck
"mencoder"
5226 _mencoder_flag
='#undef HAVE_MENCODER'
5227 if test "$_mencoder" = yes ; then
5228 _mencoder_flag
='#define HAVE_MENCODER'
5230 echores
"$_mencoder"
5232 echocheck
"fastmemcpy"
5233 # fastmemcpy check is done earlier with tests of CPU & binutils features
5234 if test "$_fastmemcpy" = yes ; then
5235 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
5237 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
5239 echores
"$_fastmemcpy"
5241 echocheck
"UniquE RAR File Library"
5242 if test "$_unrarlib" = yes ; then
5243 _def_unrarlib
='#define USE_UNRARLIB 1'
5245 _def_unrarlib
='#undef USE_UNRARLIB'
5247 echores
"$_unrarlib"
5249 echocheck
"TV interface"
5250 if test "$_tv" = yes ; then
5251 _def_tv
='#define USE_TV 1'
5252 _inputmodules
="tv $_inputmodules"
5254 _noinputmodules
="tv $_noinputmodules"
5255 _def_tv
='#undef USE_TV'
5259 echocheck
"EDL support"
5260 if test "$_edl" = yes ; then
5261 _def_edl
='#define USE_EDL'
5262 _inputmodules
="edl $_inputmodules"
5264 _noinputmodules
="edl $_noinputmodules"
5265 _def_edl
='#undef USE_EDL'
5269 echocheck
"*BSD BrookTree 848 TV interface"
5270 if test "$_tv_bsdbt848" = auto
; then
5272 if test "$_tv" = yes ; then
5274 #include <sys/types.h>
5275 #if defined(__NetBSD__)
5276 #include <dev/ic/bt8xx.h>
5278 #include <machine/ioctl_bt848.h>
5280 int main(void) { return 0; }
5282 cc_check
&& _tv_bsdbt848
=yes
5285 if test "$_tv_bsdbt848" = yes ; then
5286 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
5287 _inputmodules
="tv-bsdbt848 $_inputmodules"
5289 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
5290 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
5292 echores
"$_tv_bsdbt848"
5294 echocheck
"Video 4 Linux TV interface"
5295 if test "$_tv_v4l" = auto
; then
5297 if test "$_tv" = yes && linux
; then
5298 for I
in /dev
/video
/dev
/video?
; do
5299 if test -c $I ; then
5302 #include <linux/videodev.h>
5303 int main(void) { return 0; }
5305 cc_check
&& _tv_v4l
=yes
5311 if test "$_tv_v4l" = yes ; then
5312 _def_tv_v4l
='#define HAVE_TV_V4L 1'
5313 _inputmodules
="tv-v4l $_inputmodules"
5315 _noinputmodules
="tv-v4l $_noinputmodules"
5316 _def_tv_v4l
='#undef HAVE_TV_V4L'
5321 echocheck
"Video 4 Linux 2 TV interface"
5322 if test "$_tv_v4l2" = auto
; then
5324 if test "$_tv" = yes && linux
; then
5325 for I
in /dev
/video
/dev
/video?
; do
5326 if test -c $I ; then
5333 if test "$_tv_v4l2" = yes ; then
5334 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
5335 _inputmodules
="tv-v4l2 $_inputmodules"
5337 _noinputmodules
="tv-v4l2 $_noinputmodules"
5338 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
5343 echocheck
"audio select()"
5344 if test "$_select" = no
; then
5345 _def_select
='#undef HAVE_AUDIO_SELECT'
5346 elif test "$_select" = yes ; then
5347 _def_select
='#define HAVE_AUDIO_SELECT 1'
5353 # FIXME network check
5354 if test "$_network" != no
; then
5355 _def_network
='#define MPLAYER_NETWORK 1'
5356 _ld_network
="$_ld_sock"
5357 _inputmodules
="network $_inputmodules"
5359 _noinputmodules
="network $_noinputmodules"
5360 _def_network
='#undef MPLAYER_NETWORK'
5365 if test "$_ftp" != no
; then
5366 _def_ftp
='#define HAVE_FTP 1'
5367 _inputmodules
="ftp $_inputmodules"
5369 _noinputmodules
="ftp $_noinputmodules"
5370 _def_ftp
='#undef HAVE_FTP'
5375 echocheck
"byte order"
5376 if test "$_big_endian" = auto
; then
5378 #include <inttypes.h>
5380 volatile uint32_t i=0x01234567;
5381 return (*((uint8_t*)(&i))) == 0x67;
5391 echo -n "failed to autodetect byte order, defaulting to "
5394 if test "$_big_endian" = yes ; then
5395 _byte_order
='Big Endian'
5396 _def_words_endian
='#define WORDS_BIGENDIAN 1'
5398 _byte_order
='Little Endian'
5399 _def_words_endian
='#undef WORDS_BIGENDIAN'
5401 echores
"$_byte_order"
5403 echocheck
"shared postprocess lib"
5404 echores
"$_shared_pp"
5406 echocheck
"OSD menu"
5407 if test "$_menu" = yes ; then
5408 _def_menu
='#define HAVE_MENU 1'
5410 _def_menu
='#undef HAVE_MENU'
5414 # Check to see if they want QTX codecs enabled
5415 echocheck
"QTX codecs"
5416 if test "$_qtx" = auto
; then
5419 if test "$_qtx" = yes ; then
5420 _def_qtx
='#define USE_QTX_CODECS 1'
5421 _codecmodules
="qtx $_codecmodules"
5423 _def_qtx
='#undef USE_QTX_CODECS'
5424 _nocodecmodules
="qtx $_nocodecmodules"
5429 echocheck
"Subtitles sorting"
5430 if test "$_sortsub" = yes ; then
5431 _def_sortsub
='#define USE_SORTSUB 1'
5433 _def_sortsub
='#undef USE_SORTSUB'
5438 echocheck
"XMMS inputplugin support"
5439 if test "$_xmms" = yes ; then
5441 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
5442 if test -z "$_xmmsplugindir" ; then
5443 _xmmsplugindir
=`xmms-config --input-plugin-dir`
5445 if test -z "$_xmmslibdir" ; then
5446 _xmmslibdir
=`xmms-config --exec-prefix`/lib
5449 if test -z "$_xmmsplugindir" ; then
5450 _xmmsplugindir
=/usr
/lib
/xmms
/Input
5452 if test -z "$_xmmslibdir" ; then
5453 _xmmslibdir
=/usr
/lib
5457 _def_xmms
='#define HAVE_XMMS 1'
5459 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
5461 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
5464 _def_xmms
='#undef HAVE_XMMS'
5468 echocheck
"FLAC support"
5469 if ! test "$_flac" = "no" ; then
5470 if ! test -f libmpflac
/dither.c
; then
5472 echores
"no (necessary files missing)"
5475 if ! test -f libmpflac
/stream_decoder.c
; then
5478 if test "$_external_flac" = "yes" ; then
5480 #include <FLAC/stream_decoder.h>
5485 FLAC__StreamDecoder *fdec = FLAC__stream_decoder_new();
5486 return fdec != NULL;
5490 if cc_check
-lFLAC -lm ; then
5498 if test "$_flac" = external
; then
5499 _def_flac
='#define HAVE_FLAC 1'
5500 #Still use dither.c & replay_gain from libmpflac
5501 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5503 _ld_flac
='-lFLAC -lm -Llibmpflac -lmpflac'
5504 _codecmodules
="flac(external) $_codecmodules"
5505 echores
"yes (using external libFLAC)"
5507 if test "$_flac" = yes ; then
5508 _def_flac
='#define HAVE_FLAC 1'
5509 #use decoder, dither.c & replay_gain from libmpflac
5510 _def_mpflac
='#define USE_MPFLAC_DECODER 1'
5512 _ld_flac
='-Llibmpflac -lmpflac'
5513 _codecmodules
="flac(internal) $_codecmodules"
5514 echores
"yes (using internal libmpflac)"
5516 _def_flac
='#undef HAVE_FLAC'
5517 _def_mpflac
='#undef USE_MPFLAC_DECODER'
5520 _nocodecmodules
="flac $_nocodecmodules"
5526 if test "$_inet6" = auto
; then
5528 #include <sys/types.h>
5529 #include <sys/socket.h>
5530 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
5537 if test "$_inet6" = yes ; then
5538 _def_inet6
='#define HAVE_AF_INET6 1'
5540 _def_inet6
='#undef HAVE_AF_INET6'
5545 echocheck
"gethostbyname2"
5546 if test "$_gethostbyname2" = auto
; then
5548 #include <sys/types.h>
5549 #include <sys/socket.h>
5551 int main(void) { gethostbyname2("", AF_INET); }
5559 if test "$_gethostbyname2" = yes ; then
5560 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
5562 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
5564 echores
"$_gethostbyname2"
5566 # --------------- GUI specific tests begin -------------------
5569 if test "$_gui" = yes ; then
5571 # Required libraries
5572 test "$_png" != yes && die
"PNG support required for GUI compilation, please install libpng and libpng-dev packages."
5573 test "$_x11" != yes && die
"X11 support required for GUI compilation"
5575 echocheck
"XShape extension"
5577 if test "$_x11" = yes ; then
5579 #include <X11/Xlib.h>
5580 #include <X11/Xproto.h>
5581 #include <X11/Xutil.h>
5582 #include <X11/extensions/shape.h>
5585 char *name = ":0.0";
5588 int eventbase, errorbase;
5589 if (getenv("DISPLAY"))
5590 name=getenv("DISPLAY");
5591 wsDisplay=XOpenDisplay(name);
5592 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
5594 XCloseDisplay(wsDisplay);
5598 cc_check
$_inc_x11 $_ld_x11 && _xshape
=yes
5600 if test "$_xshape" = yes ; then
5601 _def_xshape
='#define HAVE_XSHAPE 1'
5603 die
"The GUI requires the X11 extension XShape (which was not found)."
5609 echocheck
"gtk version"
5610 if test -z "$_gtkconfig" ; then
5611 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
5612 _gtkconfig
="gtk-config"
5613 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
5614 _gtkconfig
="gtk12-config"
5616 die
"The GUI requires GTK devel packages (which were not found)."
5619 _gtk
=`$_gtkconfig --version 2>&1`
5620 _inc_gtk
=`$_gtkconfig --cflags 2>&1`
5621 _ld_gtk
=`$_gtkconfig --libs 2>&1`
5622 echores
"$_gtk (using $_gtkconfig)"
5625 echocheck
"glib version"
5626 if test -z "$_glibconfig" ; then
5627 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
5628 _glibconfig
="glib-config"
5629 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
5630 _glibconfig
="glib12-config"
5632 die
"The GUI requires GLib devel packages (which were not found)"
5635 _glib
=`$_glibconfig --version 2>&1`
5636 _inc_glib
=`$_glibconfig --cflags 2>&1`
5637 _ld_glib
=`$_glibconfig --libs 2>&1`
5638 echores
"$_glib (using $_glibconfig)"
5640 _def_gui
='#define HAVE_NEW_GUI 1'
5641 _ld_gui
='$(GTKLIB) $(GLIBLIB)'
5643 echo "Creating Gui/config.mak"
5644 cat > Gui
/config.mak
<< EOF
5645 # -------- Generated by configure -----------
5649 GLIBINC = $_inc_glib
5650 GLIBLIBS = $_ld_glib
5655 _def_gui
='#undef HAVE_NEW_GUI'
5657 # --------------- GUI specific tests end -------------------
5661 #############################################################################
5663 # Checking for CFLAGS
5665 if test "$_profile" != "" ||
test "$_debug" != "" ; then
5666 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
5667 if test "$_cc_major" -ge "3" ; then
5668 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
5671 elif test -z "$CFLAGS" ; then
5672 if test "$host_arch" != "mips" ; then
5673 CFLAGS
="-O4 $_march $_mcpu -pipe -ffast-math -fomit-frame-pointer"
5675 CFLAGS
="-O4 $_march $_mcpu -ffast-math -fomit-frame-pointer"
5677 # always compile with '-g' if .developer:
5678 if test -f ".developer" ; then
5685 MPlayer compilation will use the CFLAGS set by you, but:
5687 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
5689 It is strongly recommended to let MPlayer choose the correct CFLAGS!
5690 To do so, execute 'CFLAGS= ./configure <options>'
5695 # use gnu style cpp on Darwin
5696 CFLAGS
="$CFLAGS -no-cpp-precomp -DSYS_DARWIN -Wl,-bind_at_load"
5697 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
5698 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
5701 # use flag for HPUX missing setenv()
5702 CFLAGS
="$CFLAGS -DHPUX"
5706 CFLAGS
="$CFLAGS -D_REENTRANT"
5708 # FIXME bsd needs this so maybe other OS'es
5709 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
5711 # 64 bit file offsets?
5712 if test "$_largefiles" = yes || freebsd
; then
5713 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
5714 if test "$_dvdread" = yes ; then
5715 # dvdread support requires this (for off64_t)
5716 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
5720 echocheck
"ftello()"
5721 # if we don't have ftello use the osdep/ compatibility module
5724 #include <sys/types.h>
5725 int main (void) { ftello(stdin); return 0; }
5728 cc_check
&& _ftello
=yes
5729 if test "$_ftello" = yes ; then
5730 _def_ftello
='#define HAVE_FTELLO 1'
5732 _def_ftello
='#undef HAVE_FTELLO'
5736 # Determine OS dependent libs
5738 _confcygwin
='TARGET_CYGWIN = yes'
5739 _def_confwin32
='#define WIN32'
5740 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
5741 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
5742 CFLAGS
="$CFLAGS -D__CYGWIN__"
5744 _confcygwin
="TARGET_CYGWIN = no"
5748 _confmingw32
='TARGET_MINGW32 = yes'
5750 _confmingw32
='TARGET_MINGW32 = no'
5753 if mingw32 || cygwin
; then
5754 _confwin32
='TARGET_WIN32 = yes'
5756 _confwin32
='TARGET_WIN32 = no'
5759 # Dynamic linking flags
5760 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
5762 bsd
&& _ld_dl_dynamic
='-rdynamic'
5763 test "$_xanim" = yes && _ld_dl_dynamic
='-rdynamic'
5764 test "$_real" = yes && _ld_dl_dynamic
='-rdynamic'
5766 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
5767 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
5769 x86
&& _ld_arch
="$_ld_arch -li386"
5772 _def_debug
='#undef MP_DEBUG'
5773 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
5775 _def_linux
='#undef TARGET_LINUX'
5776 linux
&& _def_linux
='#define TARGET_LINUX 1'
5778 # TODO cleanup the VIDIX stuff here
5779 _def_vidix
='#define CONFIG_VIDIX 1'
5780 test "$_vidix" = no
&& _def_vidix
='#undef CONFIG_VIDIX'
5781 if test "$_vidix" = yes; then
5782 _vosrc
="$_vosrc vo_cvidix.c"
5783 _vomodules
="cvidix $_vomodules"
5785 _novomodules
="cvidix $_novomodules"
5787 if test "$_vidix" = yes && (cygwin || mingw32
); then
5788 _vosrc
="$_vosrc vo_winvidix.c"
5789 _vomodules
="winvidix $_vomodules"
5791 _novomodules
="winvidix $_novomodules"
5793 if test "$_vidix" = yes && test "$_x11" = yes; then
5794 _vosrc
="$_vosrc vo_xvidix.c"
5795 _vomodules
="xvidix $_vomodules"
5797 _novomodules
="xvidix $_novomodules"
5799 echo Checking
for VIDIX ...
"$_vidix"
5801 _def_joystick
='#undef HAVE_JOYSTICK'
5802 if test "$_joystick" = yes ; then
5804 # TODO add some check
5805 _def_joystick
='#define HAVE_JOYSTICK 1'
5807 _joystick
="no (unsupported under $system_name)"
5810 echo Checking
for joystick ...
"$_joystick"
5813 if test "$_lirc" = auto
; then
5815 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
5817 #include <lirc/lirc_client.h>
5818 int main(void) { return 0; }
5820 cc_check
-llirc_client && _lirc
=yes
5823 if test "$_lirc" = yes ; then
5824 _def_lirc
='#define HAVE_LIRC 1'
5825 _ld_lirc
='-llirc_client'
5827 _def_lirc
='#undef HAVE_LIRC'
5832 if test "$_lircc" = auto
; then
5835 #include <lirc/lircc.h>
5836 int main(void) { return 0; }
5838 cc_check
-llircc && _lircc
=yes
5840 if test "$_lircc" = yes ; then
5841 _def_lircc
='#define HAVE_LIRCC 1'
5844 _def_lircc
='#undef HAVE_LIRCC'
5848 #############################################################################
5849 echo "Creating config.mak"
5850 cat > config.mak
<< EOF
5851 # -------- Generated by configure -----------
5854 LANGUAGES = $LANGUAGES
5855 TARGET_OS = $system_name
5857 prefix = \$(DESTDIR)$_prefix
5858 BINDIR = \$(DESTDIR)$_bindir
5859 DATADIR = \$(DESTDIR)$_datadir
5860 MANDIR = \$(DESTDIR)$_mandir
5861 CONFDIR = \$(DESTDIR)$_confdir
5862 LIBDIR = \$(DESTDIR)$_libdir
5868 # OPTFLAGS = -O4 $_profile $_debug $_march $_mcpu -pipe -fomit-frame-pointer -ffast-math
5869 EXTRA_INC = $_inc_extra $_inc_gtk
5870 OPTFLAGS = -I../libvo/ -I../../libvo $CFLAGS \$(EXTRA_INC)
5871 STRIPBINARIES = $_stripbinaries
5875 MPLAYER_NETWORK = $_network
5876 STREAMING_LIVE_DOT_COM = $_live
5877 MPLAYER_NETWORK_LIB = $_ld_network $_ld_live
5880 SHARED_PP = $_shared_pp
5883 CONFIG_MP3LAME = $_mp3lame
5885 I18NLIBS = $_i18n_libs
5886 MATROSKA_INTERNAL = $_matroska_internal
5887 MATROSKA_EXTERNAL = $_matroska_external
5888 MATROSKA_LIB = $_ld_matroska
5890 OPENDIVX = $_opendivx
5892 UNRARLIB = $_unrarlib
5893 HAVE_FFPOSTPROCESS = $_def_haveffpostprocess
5898 EXTRA_LIB = $_ld_extra
5899 Z_LIB = $_ld_static $_ld_zlib
5901 WIN32_LIB = $_ld_win32libs
5902 STATIC_LIB = $_ld_static
5907 HAVE_XVMC_ACCEL = $_xvmc
5917 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_mad $_ld_sock
5919 MLIB_LIB = $_ld_mlib
5920 MLIB_INC = $_inc_mlib
5921 DXR2_INC = $_inc_dxr2
5927 SVGA_LIB = $_ld_svga
5931 ALSA_LIB = $_ld_alsa
5933 ARTS_LIB = $_ld_arts
5934 ARTS_INC = $_inc_arts
5937 SGIAUDIO_LIB = $_ld_sgiaudio
5939 # input/demuxer/codecs
5940 TERMCAP_LIB = $_ld_termcap
5941 LIRC_LIB = $_ld_lirc
5942 LIRCC_LIB = $_ld_lircc
5943 DVDREAD_LIB = $_ld_dvdread
5948 W32_DEP = $_dep_win32
5949 W32_LIB = $_ld_win32
5950 DS_DEP = $_dep_dshow
5952 AV_DEP = $_dep_libavcodec
5953 AV_LIB = $_ld_libavcodec
5956 FAME_LIB = $_ld_fame
5957 MP1E_DEP = $_dep_mp1e
5958 MP1E_LIB = $_ld_mp1e
5959 ARCH_LIB = $_ld_arch $_ld_iconv
5961 XVID_INC = $_inc_xvid
5962 XVID_LIB = $_ld_xvid
5963 DECORE_LIB = $_ld_decore $_ld_mp3lame
5964 MENCODER = $_mencoder
5965 ENCORE_LIB = $_ld_encore $_ld_mp3lame
5966 DIRECTFB_INC = $_inc_directfb
5967 DIRECTFB_LIB = $_ld_directfb
5968 CDPARANOIA_INC = $_inc_cdparanoia
5969 CDPARANOIA_LIB = $_ld_cdparanoia
5970 FREETYPE_INC = $_inc_freetype
5971 FREETYPE_LIB = $_ld_freetype
5972 FONTCONFIG_INC = $_inc_fontconfig
5973 FONTCONFIG_LIB = $_ld_fontconfig
5974 FRIBIDI_INC = $_inc_fribidi
5975 FRIBIDI_LIB = $_ld_fribidi
5976 LIBLZO_LIB= $_ld_liblzo
5978 VORBIS_LIB = $_ld_vorbis $_ld_libdv
5979 THEORA_LIB = $_ld_theora
5980 FAAD_LIB = $_ld_faad
5981 INTERNAL_FAAD = $_faad_internal
5982 SMBSUPPORT_LIB = $_ld_smb
5983 XMMS_PLUGINS = $_xmms
5984 XMMS_LIB = $_xmms_lib
5986 MACOSX_FRAMEWORKS = $_macosx_frameworks
5987 FLAC_LIB = $_ld_flac
5990 # --- Some stuff for autoconfigure ----
5997 TARGET_MMX2 = $_mmx2
5998 TARGET_3DNOW = $_3dnow
5999 TARGET_3DNOWEX = $_3dnowex
6001 TARGET_ALTIVEC = $_altivec
6004 GTKLIB = $_ld_static $_ld_gtk
6005 GLIBLIB = $_ld_static $_ld_glib
6006 GTK_LIBS = $_ld_static $_ld_gui
6012 #############################################################################
6013 echo "Creating config.h"
6014 cat > config.h
<< EOF
6015 /* -------- This file has been automatically generated by configure ---------
6016 Note: Any changes in it will be lost when you run configure again. */
6018 /* Protect against multiple inclusion */
6019 #ifndef MPLAYER_CONFIG_H
6020 #define MPLAYER_CONFIG_H 1
6022 /* use GNU internationalization */
6025 /* missing mmap function on libc5 systems */
6027 # define MAP_FAILED ((void *) -1)
6030 /* use setlocale() function */
6033 /* Runtime CPU detection */
6034 $_def_runtime_cpudetection
6036 /* Dynamic a/v plugins */
6037 $_def_dynamic_plugins
6039 /* "restrict" keyword */
6040 #define restrict $_def_restrict_keyword
6042 #define PREFIX "$_prefix"
6044 /* define this to use simple idct with patched libavcodec */
6045 #define SIMPLE_IDCT 1
6050 /* enable/disable SIGHANDLER */
6053 /* Toggles debugging informations */
6056 /* Indicates that Ogle's libdvdread is available for DVD playback */
6059 /* Indicates that dvdread is from libmpdvdkit */
6062 /* Additional options for libmpdvdkit*/
6076 /* Common data directory (for fonts, etc) */
6077 #define MPLAYER_DATADIR "$_datadir"
6078 #define MPLAYER_CONFDIR "$_confdir"
6079 #define MPLAYER_LIBDIR "$_libdir"
6081 /* Define this to compile stream-caching support, it can be enabled via
6082 -cache <kilobytes> */
6083 #define USE_STREAM_CACHE 1
6085 /* Define to include support for XviD/Divx4Linux/OpenDivx */
6088 /* Define to use the new XviD/DivX4Linux library instead of open source OpenDivX */
6089 /* You have to change DECORE_LIBS in config.mak, too! */
6092 /* Define if you are using DivX5Linux Decore library */
6095 /* Define if you are using XviD library */
6101 /* Define to include support for libdv-0.9.5 */
6104 /* If build mencoder */
6107 /* Indicates if XviD/Divx4linux encore is available
6108 Note: for mencoder */
6111 /* Indicates if libmp3lame is available
6112 Note: for mencoder */
6116 /* Define libmp1e for realtime mpeg encoding (for DXR3 and DVB cards) */
6119 /* Define this to enable avg. byte/sec-based AVI sync method by default:
6120 (use -bps or -nobps commandline option for run-time method selection)
6121 -bps gives better sync for vbr mp3 audio, it is now default */
6122 #define AVI_SYNC_BPS 1
6124 /* Undefine this if you do not want to select mono audio (left or right)
6125 with a stereo MPEG layer 2/3 audio stream. The command line option
6126 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6127 right-only), with 0 being the default.
6129 #define USE_FAKE_MONO 1
6131 /* Undefine this if your sound card driver has no working select().
6132 If you have kernel Oops, player hangups, or just no audio, you should
6133 try to recompile MPlayer with this option disabled! */
6136 /* define this to use iconv(3) function to codepage conversions */
6139 /* define this to use RTC (/dev/rtc) for video timers (LINUX only) */
6142 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
6143 #define MAX_OUTBURST 65536
6145 /* set up audio OUTBURST. Do not change this! */
6146 #define OUTBURST 512
6148 /* Define this if your system has the header file for the OSS sound interface */
6151 /* Define this if your system has the header file for the OSS sound interface
6152 * in /usr/include */
6155 /* Define this if your system has the sysinfo header */
6158 /* Define this if your system has ftello() */
6162 /* Need these for FILE and off_t an config.h is usually before other includes*/
6164 #include <sys/types.h>
6165 off_t ftello(FILE *);
6168 /* Define this if your system has the "malloc.h" header file */
6171 /* memalign is mapped to malloc if unsupported */
6173 #ifndef HAVE_MEMALIGN
6174 # define memalign(a,b) malloc(b)
6177 /* Define this if your system has the "alloca.h" header file */
6180 /* Define this if your system has the "sys/mman.h" header file */
6183 /* Define this if you have the elf dynamic linker -ldl library */
6186 /* Define this if you have the kstat kernel statistics library */
6189 /* Define this if you have zlib */
6195 /* Define this if you have shm support */
6198 /* Define this if your system has scandir & alphasort */
6201 /* Define this if your system has strsep */
6204 /* Define this if your system has fseeko */
6207 /* Need these for FILE and off_t an config.h is usually before other includes*/
6209 #include <sys/types.h>
6210 int fseeko(FILE *, off_t, int);
6213 /* Define this if your system has vsscanf */
6216 /* Define this if your system has no posix select */
6217 $_def_no_posix_select
6219 /* Define this if your system has gettimeofday */
6222 /* Define this if your system has glob */
6225 /* LIRC (remote control, see www.lirc.org) support: */
6229 * LIRCCD (LIRC client daemon)
6230 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
6240 /* DVD navigation support using libdvdnav */
6242 $_def_dvdnav_version
6244 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
6245 #define MPEG12_POSTPROC 1
6247 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
6250 /* Define to include support for OpenDivx postprocessing */
6251 $_def_odivx_postprocess
6253 /* Win32 DLL support */
6255 #define WIN32_PATH "$_win32libdir"
6257 /* DirectShow support */
6260 /* Mac OS X specific features */
6263 /* Build our Win32-loader */
6266 /* ffmpeg's libavcodec support (requires libavcodec source) */
6271 #define CONFIG_RISKY 1
6273 /* Use libavcodec's decoders */
6274 #define CONFIG_DECODERS 1
6275 /* Use libavcodec's encoders */
6276 #define CONFIG_ENCODERS 1
6278 #define CONFIG_MPEGAUDIO_HP 1
6280 /* Use codec libs included in mplayer CVS / source dist: */
6283 #define USE_LIBMPEG2
6285 /* Use the SVQ1 decoder in libmpcodecs - we don't want/need it with libavcodec */
6286 #ifndef USE_LIBAVCODEC
6290 /* Use libfame encoder filter */
6293 /* XAnim DLL support */
6295 /* Default search path */
6298 /* RealPlayer DLL support */
6300 /* Default search path */
6303 /* LIVE.COM Streaming Media library support */
6306 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
6309 /* Use unrarlib for Vobsubs */
6312 /* gui support, please do not edit this option */
6315 /* Audio output drivers */
6317 $_def_ossaudio_devdsp
6318 $_def_ossaudio_devmixer
6325 $_def_sys_asoundlib_h
6326 $_def_alsa_asoundlib_h
6332 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6334 #undef FAST_OSD_TABLE
6336 /* Enable TV Interface support */
6339 /* Enable EDL support */
6342 /* Enable Video 4 Linux TV interface support */
6345 /* Enable Video 4 Linux 2 TV interface support */
6348 /* Enable *BSD BrookTree TV interface support */
6351 /* Define if your processor stores words with the most significant
6352 byte first (like Motorola and SPARC, unlike Intel and VAX). */
6357 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
6358 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
6364 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
6369 /* only gcc3 can compile mvi instructions */
6370 $_def_gcc_mvi_support
6372 /* Define this for Cygwin build for win32 */
6375 /* Define this to any prefered value from 386 up to infinity with step 100 */
6376 #define __CPU__ $iproc
6385 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
6386 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6388 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6389 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6390 #elif defined(WIN32)
6391 #define DEFAULT_CDROM_DEVICE "D:"
6392 #define DEFAULT_DVD_DEVICE "D:"
6393 #elif defined(SYS_DARWIN)
6394 #define DEFAULT_CDROM_DEVICE "/dev/rdiskN"
6395 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
6397 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
6398 #define DEFAULT_DVD_DEVICE "/dev/dvd"
6402 /*----------------------------------------------------------------------------
6404 ** NOTE: Instead of modifying these definitions here, use the
6405 ** --enable/--disable options of the ./configure script!
6406 ** See ./configure --help for details.
6408 *---------------------------------------------------------------------------*/
6410 /* C99 lrintf function available */
6413 /* yes, we have inttypes.h */
6414 #define HAVE_INTTYPES_H 1
6416 /* int_fastXY_t emulation */
6419 /* nanosleep support */
6425 /* termcap flag for getch2.c */
6428 /* termios flag for getch2.c */
6433 /* enable PNG support */
6436 /* enable JPEG support */
6439 /* enable GIF support */
6444 /* enable FreeType support */
6447 /* enable Fontconfig support */
6450 /* enable FriBiDi usage */
6453 /* liblzo support */
6456 /* libmad support */
6459 /* enable OggVorbis support */
6462 /* enable Tremor as vorbis decoder */
6465 /* enable OggTheora support */
6468 /* enable Matroska support */
6471 /* enable FAAD (AAC) support */
6476 /* enable network */
6479 /* enable ftp support */
6482 /* enable winsock2 instead of Unix functions*/
6485 /* define this to use inet_aton() instead of inet_pton() */
6488 /* enables / disables cdparanoia support */
6491 /* enables / disables VIDIX usage */
6494 /* enables / disables new input joystick support */
6497 /* enables / disables QTX codecs */
6500 /* enables / disables osd menu */
6503 /* enables / disables subtitles sorting */
6506 /* XMMS input plugin support */
6508 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
6510 /* enables inet6 support */
6513 /* do we have gethostbyname2? */
6514 $_def_gethostbyname2
6516 /* Extension defines */
6517 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
6518 $_def_3dnowex // only define if you have 3DNOWEX (AMD Athlon, etc.)
6519 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
6520 $_def_mmx2 // only define if you have MMX2 (Athlon/PIII/4/CelII)
6521 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
6522 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
6523 $_def_altivec // only define if you have Altivec (G4)
6526 #define USE_MMX_IDCT 1
6529 $_def_altivec_h // enables usage of altivec.h
6532 $_def_mlib // Sun mediaLib, available only on solaris
6534 /* libmpeg2 uses a different feature test macro for mediaLib */
6536 #define LIBMPEG2_MLIB 1
6540 #define SCREEN_SIZE_X 1
6541 #define SCREEN_SIZE_Y 1
6552 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
6560 $_def_directfb_version
6580 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
6581 #define X11_FULLSCREEN 1
6584 #endif /* MPLAYER_CONFIG_H */
6587 #############################################################################
6589 echo "Creating libvo/config.mak"
6590 _voobj
=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
6591 cat > libvo
/config.mak
<< EOF
6592 include ../config.mak
6593 OPTIONAL_SRCS = $_vosrc
6594 OPTIONAL_OBJS = $_voobj
6597 #############################################################################
6599 echo "Creating libao2/config.mak"
6600 _aoobj
=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
6601 cat > libao
2/config.mak
<< EOF
6602 include ../config.mak
6603 OPTIONAL_SRCS = $_aosrc
6604 OPTIONAL_OBJS = $_aoobj
6607 #############################################################################
6609 echo "Creating help_mp.h"
6610 cat > help_mp.h
<< EOF
6612 // WARNING! This is a generated file. Do NOT edit.
6613 // See the help/ subdir for the editable files.
6615 #include "$_mp_help"
6618 if test $_mp_help != "help/help_mp-en.h"; then
6619 echo "Adding untranslated messages to help_mp.h"
6620 echo '// untranslated messages from the english master-file:' >> help_mp.h
6621 help
/help_diff.sh
$_mp_help <help
/help_mp-en.h
>> help_mp.h
6624 #############################################################################
6628 Config files successfully generated by ./configure !
6630 Install prefix: $_prefix
6631 Data directory: $_datadir
6632 Config direct.: $_confdir
6634 Byte order: $_byte_order
6635 Optimizing for: $_optimizing
6638 Messages/GUI: $_language
6641 echo -n " Manual pages: $LANGUAGES"
6642 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
6647 Enabled optional drivers:
6648 Input: $_inputmodules
6649 Codecs: $_codecmodules
6650 Audio output: $_aomodules
6651 Video output: $_vomodules
6652 Disabled optional drivers:
6653 Input: $_noinputmodules
6654 Codecs: $_nocodecmodules
6655 Audio output: $_noaomodules
6656 Video output: $_novomodules
6658 'config.h' and 'config.mak' contain your configuration options.
6659 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
6660 compile *** DO NOT REPORT BUGS if you tweak these files ***
6662 'make' will now compile MPlayer and 'make install' will install it.
6663 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
6668 if test "$_mtrr" = yes ; then
6669 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/en/devices.html#mtrr)"
6673 if test "$_sdl" = "outdated" ; then
6675 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
6676 support has therefore been disabled.
6678 Please upgrade to a more recent version (version 1.1.8 and above are known to
6679 work). You may get this library from: http://www.libsdl.org
6681 You need to rerun ./configure and recompile after updating SDL. If you are
6682 only interested in the libSDL audio drivers, then an older version might work.
6684 Use --enable-sdl to force usage of libSDL.
6690 if test "$_win32" = no
; then
6691 if test "$_win32libdir" ; then
6692 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
6694 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
6697 Create it and copy the DLL files there! You can download the codecs from our
6698 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
6704 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
6705 operating system ($system_name). You may encounter a few AVI files that
6706 cannot be played due to missing Open Source video/audio codec support.
6714 Check $TMPLOG if you wonder why an autodetection failed (check whether
6715 the development headers/packages are installed).
6717 If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
6721 if test "$_vidix" = no
; then
6723 You've disabled VIDIX. Although it would be better to PORT it instead.
6724 Have a look at the documentation for supported cards!
6730 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"