mirror of
https://github.com/mpv-player/mpv
synced 2024-12-19 21:31:52 +00:00
08ec85ba4b
XviD is the correct spelling of the codec. You can see it written in the codec own documentation and header files. Prefered name capitalization confirmed in conversation with XviD developer (prunedtree). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26915 b3059339-0415-0410-9bf9-f77b7e298cf2
8645 lines
232 KiB
Bash
Executable File
8645 lines
232 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# Original version (C) 2000 Pontscho/fresh!mindworkz
|
|
# pontscho@makacs.poliod.hu
|
|
#
|
|
# History / Contributors: check the cvs log !
|
|
#
|
|
# Cleanups all over the place (c) 2001 pl
|
|
#
|
|
#
|
|
# This configure script is *not* autoconf-based and has different semantics.
|
|
# It attempts to autodetect all settings and options where possible. It is
|
|
# possible to override autodetection with the --enable-option/--disable-option
|
|
# command line parameters. --enable-option forces the option on skipping
|
|
# autodetection. Yes, this means that compilation may fail and yes, this is not
|
|
# how autoconf-based configure scripts behave.
|
|
#
|
|
# configure generates a series of configuration files:
|
|
# - config.h contains #defines that are used in the C code.
|
|
# - config.mak is included from the Makefiles.
|
|
#
|
|
# If you want to add a new check for $feature, here is a simple skeleton:
|
|
#
|
|
# echocheck "$feature"
|
|
# if "$_feature" = auto; then
|
|
# cat > $TMPC << EOF
|
|
# #include <feature.h>
|
|
# int main(void) { return 0; }
|
|
# EOF
|
|
# _feature=no
|
|
# cc_check && _feature=yes
|
|
# if test "$_feature" = yes ; then
|
|
# _def_feature='#define HAVE_FEATURE 1'
|
|
# else
|
|
# _def_feature='#undef HAVE_FEATURE'
|
|
# fi
|
|
# echores "$_feature"
|
|
#
|
|
# Furthermore you need to add the variable _feature to the list of default
|
|
# settings and set it to one of yes/no/auto. Also add appropriate
|
|
# --enable-feature/--disable-feature command line options.
|
|
# The results of the check should be written to config.h and config.mak
|
|
# at the end of this script. The variable names used for this should be
|
|
# uniform, i.e. if the option is named 'feature':
|
|
#
|
|
# _feature : should have a value of yes/no/auto
|
|
# _def_feature : '#define ... 1' or '#undef ...' for conditional compilation
|
|
# _ld_feature : '-L/path/dir -lfeature' GCC options
|
|
#
|
|
#############################################################################
|
|
|
|
# Prevent locale nonsense from breaking basic text processing utils
|
|
LC_ALL=C
|
|
export LC_ALL
|
|
|
|
# Store the configure line that was used
|
|
_configuration="$*"
|
|
|
|
# Prefer these macros to full length text !
|
|
# These macros only return an error code - NO display is done
|
|
compile_check() {
|
|
echo >> "$TMPLOG"
|
|
cat "$1" >> "$TMPLOG"
|
|
echo >> "$TMPLOG"
|
|
echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
|
|
rm -f "$TMPEXE"
|
|
$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
|
|
TMP="$?"
|
|
echo >> "$TMPLOG"
|
|
echo >> "$TMPLOG"
|
|
return "$TMP"
|
|
}
|
|
|
|
cc_check() {
|
|
compile_check $TMPC $@
|
|
}
|
|
|
|
cxx_check() {
|
|
compile_check $TMPCPP $@ -lstdc++
|
|
}
|
|
|
|
tmp_run() {
|
|
"$TMPEXE" >> "$TMPLOG" 2>&1
|
|
}
|
|
|
|
# Display error message, flushes tempfile, exit
|
|
die () {
|
|
echo
|
|
echo "Error: $@" >&2
|
|
echo >&2
|
|
rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
|
|
echo "Check \"$TMPLOG\" if you do not understand why it failed."
|
|
exit 1
|
|
}
|
|
|
|
# OS test booleans functions
|
|
issystem() {
|
|
test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
|
|
}
|
|
linux() { issystem "Linux" || issystem "uClinux" ; return "$?" ; }
|
|
sunos() { issystem "SunOS" ; return "$?" ; }
|
|
hpux() { issystem "HP-UX" ; return "$?" ; }
|
|
irix() { issystem "IRIX" ; return "$?" ; }
|
|
aix() { issystem "AIX" ; return "$?" ; }
|
|
cygwin() { issystem "CYGWIN" ; return "$?" ; }
|
|
freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
|
|
netbsd() { issystem "NetBSD" ; return "$?" ; }
|
|
bsdos() { issystem "BSD/OS" ; return "$?" ; }
|
|
openbsd() { issystem "OpenBSD" ; return "$?" ; }
|
|
dragonfly() { issystem "DragonFly" ; return "$?" ; }
|
|
qnx() { issystem "QNX" ; return "$?" ; }
|
|
darwin() { issystem "Darwin" ; return "$?" ; }
|
|
gnu() { issystem "GNU" ; return "$?" ; }
|
|
mingw32() { issystem "MINGW32" ; return "$?" ; }
|
|
morphos() { issystem "MorphOS" ; return "$?" ; }
|
|
amigaos() { issystem "AmigaOS" ; return "$?" ; }
|
|
win32() { cygwin || mingw32 ; return "$?" ; }
|
|
beos() { issystem "BEOS" ; return "$?" ; }
|
|
os2() { issystem "OS/2" ; return "$?" ; }
|
|
|
|
# arch test boolean functions
|
|
# x86/x86pc is used by QNX
|
|
x86_32() {
|
|
case "$host_arch" in
|
|
i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
|
|
*) return 1 ;;
|
|
esac
|
|
}
|
|
|
|
x86_64() {
|
|
case "$host_arch" in
|
|
x86_64|amd64) return 0 ;;
|
|
*) return 1 ;;
|
|
esac
|
|
}
|
|
|
|
x86() {
|
|
x86_32 || x86_64
|
|
}
|
|
|
|
ppc() {
|
|
case "$host_arch" in
|
|
ppc|powerpc) return 0;;
|
|
*) return 1;;
|
|
esac
|
|
}
|
|
|
|
alpha() {
|
|
case "$host_arch" in
|
|
alpha) return 0;;
|
|
*) return 1;;
|
|
esac
|
|
}
|
|
|
|
arm() {
|
|
case "$host_arch" in
|
|
arm) return 0;;
|
|
*) return 1;;
|
|
esac
|
|
}
|
|
|
|
sh3() {
|
|
case "$host_arch" in
|
|
sh3) return 0;;
|
|
*) return 1;;
|
|
esac
|
|
}
|
|
|
|
# Use this before starting a check
|
|
echocheck() {
|
|
echo "============ Checking for $@ ============" >> "$TMPLOG"
|
|
echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
|
|
}
|
|
|
|
# Use this to echo the results of a check
|
|
echores() {
|
|
if test "$_res_comment" ; then
|
|
_res_comment="($_res_comment)"
|
|
fi
|
|
echo "Result is: $@ $_res_comment" >> "$TMPLOG"
|
|
echo "##########################################" >> "$TMPLOG"
|
|
echo "" >> "$TMPLOG"
|
|
echo "$@ $_res_comment"
|
|
_res_comment=""
|
|
}
|
|
#############################################################################
|
|
|
|
# Check how echo works in this /bin/sh
|
|
case `echo -n` in
|
|
-n) _echo_n= _echo_c='\c' ;; # SysV echo
|
|
*) _echo_n='-n ' _echo_c= ;; # BSD echo
|
|
esac
|
|
|
|
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"`
|
|
|
|
show_help(){
|
|
cat << EOF
|
|
Usage: $0 [OPTIONS]...
|
|
|
|
Configuration:
|
|
-h, --help display this help and exit
|
|
|
|
Installation directories:
|
|
--prefix=DIR prefix directory for installation [/usr/local]
|
|
--bindir=DIR directory for installing binaries [PREFIX/bin]
|
|
--datadir=DIR directory for installing machine independent
|
|
data files (skins, etc) [PREFIX/share/mplayer]
|
|
--mandir=DIR directory for installing man pages [PREFIX/share/man]
|
|
--confdir=DIR directory for installing configuration files
|
|
[PREFIX/etc/mplayer]
|
|
--libdir=DIR directory for object code libraries [PREFIX/lib]
|
|
--codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
|
|
--win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
|
|
--xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
|
|
--realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
|
|
|
|
Optional features:
|
|
--disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
|
|
--disable-mplayer disable MPlayer compilation [enable]
|
|
--enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
|
|
--enable-gtk1 force using GTK 1.2 for the GUI [disable]
|
|
--disable-largefiles disable support for files > 2GB [enable]
|
|
--enable-linux-devfs set default devices to devfs [disable]
|
|
--enable-termcap use termcap database for key codes [autodetect]
|
|
--enable-termios use termios database for key codes [autodetect]
|
|
--disable-iconv disable iconv for encoding conversion [autodetect]
|
|
--disable-langinfo do not use langinfo [autodetect]
|
|
--enable-lirc enable LIRC (remote control) support [autodetect]
|
|
--enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
|
|
--enable-joystick enable joystick support [disable]
|
|
--enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
|
|
--enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
|
|
--disable-vm disable X video mode extensions [autodetect]
|
|
--disable-xf86keysym disable support for multimedia keys [autodetect]
|
|
--enable-radio enable radio interface [disable]
|
|
--enable-radio-capture enable radio capture (through PCI/line-in) [disable]
|
|
--disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
|
|
--disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
|
|
--disable-tv disable TV interface (TV/DVB grabbers) [enable]
|
|
--disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
|
|
--disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
|
|
--disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
|
|
--disable-tv-teletext disable TV teletext interface [autodetect]
|
|
--disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
|
|
--disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
|
|
--disable-network disable networking [enable]
|
|
--enable-winsock2 enable winsock2 [autodetect]
|
|
--enable-smb enable Samba (SMB) input [autodetect]
|
|
--enable-live enable LIVE555 Streaming Media [autodetect]
|
|
--enable-nemesi enable Nemesi Streaming Media [autodetect]
|
|
--disable-dvdnav disable libdvdnav [autodetect]
|
|
--disable-dvdread disable libdvdread [autodetect]
|
|
--disable-dvdread-internal disable internal libdvdread [autodetect]
|
|
--disable-libdvdcss-internal disable internal libdvdcss [autodetect]
|
|
--disable-cdparanoia disable cdparanoia [autodetect]
|
|
--disable-cddb disable cddb [autodetect]
|
|
--disable-bitmap-font disable bitmap font support [enable]
|
|
--disable-freetype disable FreeType 2 font rendering [autodetect]
|
|
--disable-fontconfig disable fontconfig font lookup [autodetect]
|
|
--disable-unrarexec disable using of UnRAR executable [enabled]
|
|
--enable-menu enable OSD menu (not DVD menu) [disabled]
|
|
--disable-sortsub disable subtitle sorting [enabled]
|
|
--enable-fribidi enable the FriBiDi libs [autodetect]
|
|
--disable-enca disable ENCA charset oracle library [autodetect]
|
|
--disable-macosx disable Mac OS X specific features [autodetect]
|
|
--disable-maemo disable maemo specific features [autodetect]
|
|
--enable-macosx-finder-support enable Mac OS X Finder invocation
|
|
parameter parsing [disabled]
|
|
--enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
|
|
--disable-inet6 disable IPv6 support [autodetect]
|
|
--disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
|
|
--disable-ftp disable FTP support [enabled]
|
|
--disable-vstream disable TiVo vstream client support [autodetect]
|
|
--disable-pthreads disable Posix threads support [autodetect]
|
|
--disable-w32threads disable Win32 threads support [autodetect]
|
|
--disable-ass disable internal SSA/ASS subtitle support [autodetect]
|
|
--enable-rpath enable runtime linker path for extra libs [disabled]
|
|
|
|
Codecs:
|
|
--enable-gif enable GIF support [autodetect]
|
|
--enable-png enable PNG input/output support [autodetect]
|
|
--enable-jpeg enable JPEG input/output support [autodetect]
|
|
--enable-libcdio enable external libcdio [autodetect]
|
|
--enable-liblzo enable external liblzo [autodetect]
|
|
--disable-win32dll disable Win32 DLL support [enabled]
|
|
--disable-qtx disable QuickTime codecs support [enabled]
|
|
--disable-xanim disable XAnim codecs support [enabled]
|
|
--disable-real disable RealPlayer codecs support [enabled]
|
|
--disable-xvid disable XviD [autodetect]
|
|
--disable-xvid-lavc disable XviD in libavcodec [autodetect]
|
|
--disable-x264 disable x264 [autodetect]
|
|
--disable-x264-lavc disable x264 in libavcodec [autodetect]
|
|
--disable-libnut disable libnut [autodetect]
|
|
--disable-libavutil_a disable static libavutil [autodetect]
|
|
--disable-libavcodec_a disable static libavcodec [autodetect]
|
|
--disable-libavformat_a disable static libavformat [autodetect]
|
|
--disable-libpostproc_a disable static libpostproc [autodetect]
|
|
--disable-libavutil_so disable shared libavutil [autodetect]
|
|
--disable-libavcodec_so disable shared libavcodec [autodetect]
|
|
--disable-libavformat_so disable shared libavformat [autodetect]
|
|
--disable-libpostproc_so disable shared libpostproc [autodetect]
|
|
--disable-libavcodec_mpegaudio_hp disable high precision audio decoding
|
|
in libavcodec [enabled]
|
|
--disable-tremor-internal disable internal Tremor [enabled]
|
|
--enable-tremor-low enable lower accuracy internal Tremor [disabled]
|
|
--enable-tremor-external enable external Tremor [autodetect]
|
|
--disable-libvorbis disable libvorbis support [autodetect]
|
|
--disable-speex disable Speex support [autodetect]
|
|
--enable-theora enable OggTheora libraries [autodetect]
|
|
--enable-faad-external enable external FAAD2 (AAC) [autodetect]
|
|
--disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
|
|
--enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
|
|
--disable-faac disable support for FAAC (AAC encoder) [autodetect]
|
|
--disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
|
|
--disable-ladspa disable LADSPA plugin support [autodetect]
|
|
--disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
|
|
--disable-mad disable libmad (MPEG audio) support [autodetect]
|
|
--disable-mp3lame disable LAME MP3 encoding support [autodetect]
|
|
--disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
|
|
--disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
|
|
--disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
|
|
--enable-xmms enable XMMS input plugin support [disabled]
|
|
--enable-libdca enable libdca support [autodetect]
|
|
--disable-mp3lib disable builtin mp3lib [enabled]
|
|
--disable-liba52 disable builtin liba52 [enabled]
|
|
--disable-libmpeg2 disable builtin libmpeg2 [autodetect]
|
|
--disable-musepack disable musepack support [autodetect]
|
|
--disable-libamr_nb disable libamr narrowband [autodetect]
|
|
--disable-libamr_wb disable libamr wideband [autodetect]
|
|
--disable-decoder=DECODER disable specified FFmpeg decoder
|
|
--enable-decoder=DECODER enable specified FFmpeg decoder
|
|
--disable-encoder=ENCODER disable specified FFmpeg encoder
|
|
--enable-encoder=ENCODER enable specified FFmpeg encoder
|
|
--disable-parser=PARSER disable specified FFmpeg parser
|
|
--enable-parser=PARSER enable specified FFmpeg parser
|
|
--disable-demuxer=DEMUXER disable specified FFmpeg demuxer
|
|
--enable-demuxer=DEMUXER enable specified FFmpeg demuxer
|
|
--disable-muxer=MUXER disable specified FFmpeg muxer
|
|
--enable-muxer=MUXER enable specified FFmpeg muxer
|
|
|
|
Video output:
|
|
--disable-vidix-internal disable internal VIDIX [for x86 *nix]
|
|
--disable-vidix-external disable external VIDIX [for x86 *nix]
|
|
--with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
|
|
Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
|
|
nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
|
|
--disable-vidix-pcidb disable VIDIX PCI device name database
|
|
--enable-gl enable OpenGL video output [autodetect]
|
|
--enable-dga2 enable DGA 2 support [autodetect]
|
|
--enable-dga1 enable DGA 1 support [autodetect]
|
|
--enable-vesa enable VESA video output [autodetect]
|
|
--enable-svga enable SVGAlib video output [autodetect]
|
|
--enable-sdl enable SDL video output [autodetect]
|
|
--enable-aa enable AAlib video output [autodetect]
|
|
--enable-caca enable CACA video output [autodetect]
|
|
--enable-ggi enable GGI video output [autodetect]
|
|
--enable-ggiwmh enable GGI libggiwmh extension [autodetect]
|
|
--enable-directx enable DirectX video output [autodetect]
|
|
--enable-dxr2 enable DXR2 video output [autodetect]
|
|
--enable-dxr3 enable DXR3/H+ video output [autodetect]
|
|
--enable-ivtv enable IVTV TV-Out video output [autodetect]
|
|
--enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
|
|
--enable-dvb enable DVB video output [autodetect]
|
|
--enable-dvbhead enable DVB video output (HEAD version) [autodetect]
|
|
--enable-mga enable mga_vid video output [autodetect]
|
|
--enable-xmga enable mga_vid X11 video output [autodetect]
|
|
--enable-xv enable Xv video output [autodetect]
|
|
--enable-xvmc enable XvMC acceleration [disable]
|
|
--enable-vm enable XF86VidMode support [autodetect]
|
|
--enable-xinerama enable Xinerama support [autodetect]
|
|
--enable-x11 enable X11 video output [autodetect]
|
|
--enable-xshape enable XShape support [autodetect]
|
|
--disable-xss disable screensaver support via xss [autodetect]
|
|
--enable-fbdev enable FBDev video output [autodetect]
|
|
--enable-mlib enable mediaLib video output (Solaris) [disable]
|
|
--enable-3dfx enable obsolete /dev/3dfx video output [disable]
|
|
--enable-tdfxfb enable tdfxfb video output [disable]
|
|
--enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
|
|
--enable-directfb enable DirectFB video output [autodetect]
|
|
--enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
|
|
--enable-bl enable Blinkenlights video output [disable]
|
|
--enable-tdfxvid enable tdfx_vid video output [disable]
|
|
--enable-xvr100 enable SUN XVR-100 video output [autodetect]
|
|
--disable-tga disable Targa video output [enable]
|
|
--disable-pnm disable PNM video output [enable]
|
|
--disable-md5sum disable md5sum video output [enable]
|
|
|
|
Audio output:
|
|
--disable-alsa disable ALSA audio output [autodetect]
|
|
--disable-ossaudio disable OSS audio output [autodetect]
|
|
--disable-arts disable aRts audio output [autodetect]
|
|
--disable-esd disable esd audio output [autodetect]
|
|
--disable-pulse disable Pulseaudio audio output [autodetect]
|
|
--disable-jack disable JACK audio output [autodetect]
|
|
--disable-openal disable OpenAL audio output [autodetect]
|
|
--disable-nas disable NAS audio output [autodetect]
|
|
--disable-sgiaudio disable SGI audio output [autodetect]
|
|
--disable-sunaudio disable Sun audio output [autodetect]
|
|
--disable-win32waveout disable Windows waveout audio output [autodetect]
|
|
--disable-select disable using select() on the audio device [enable]
|
|
|
|
Miscellaneous options:
|
|
--enable-runtime-cpudetection enable runtime CPU detection [disable]
|
|
--enable-cross-compile enable cross-compilation [autodetect]
|
|
--cc=COMPILER C compiler to build MPlayer [gcc]
|
|
--host-cc=COMPILER C compiler for tools needed while building [gcc]
|
|
--as=ASSEMBLER assembler to build MPlayer [as]
|
|
--ar=AR librarian to build MPlayer [ar]
|
|
--ranlib=RANLIB ranlib to build MPlayer [ranlib]
|
|
--windres=WINDRES windres to build MPlayer [windres]
|
|
--target=PLATFORM target platform (i386-linux, arm-linux, etc)
|
|
--enable-static build a statically linked binary
|
|
--charset=charset convert the console messages to this character set
|
|
--language=list a white space or comma separated list of languages for
|
|
translated man pages, the first language is used for
|
|
messages and the GUI (the environment variable
|
|
\$LINGUAS is also honored) [en]
|
|
(Available: $LANGUAGES all)
|
|
--with-install=PATH path to a custom install program
|
|
|
|
Advanced options:
|
|
--enable-mmx enable MMX [autodetect]
|
|
--enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
|
|
--enable-3dnow enable 3DNow! [autodetect]
|
|
--enable-3dnowext enable extended 3DNow! [autodetect]
|
|
--enable-sse enable SSE [autodetect]
|
|
--enable-sse2 enable SSE2 [autodetect]
|
|
--enable-ssse3 enable SSSE3 [autodetect]
|
|
--enable-shm enable shm [autodetect]
|
|
--enable-altivec enable AltiVec (PowerPC) [autodetect]
|
|
--enable-armv5te enable DSP extensions (ARM) [autodetect]
|
|
--enable-armv6 enable ARMv6 (ARM) [autodetect]
|
|
--enable-iwmmxt enable iWMMXt (ARM) [autodetect]
|
|
--disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
|
|
--enable-big-endian force byte order to big-endian [autodetect]
|
|
--enable-debug[=1-3] compile-in debugging information [disable]
|
|
--enable-profile compile-in profiling information [disable]
|
|
--disable-sighandler disable sighandler for crashes [enable]
|
|
--enable-crash-debug enable automatic gdb attach on crash [disable]
|
|
--enable-dynamic-plugins enable dynamic A/V plugins [disable]
|
|
|
|
Use these options if autodetection fails (Options marked with (*) accept
|
|
multiple paths separated by ':'):
|
|
--extra-libs=FLAGS extra linker flags
|
|
--extra-libs-mplayer=FLAGS extra linker flags for MPlayer
|
|
--extra-libs-mencoder=FLAGS extra linker flags for MEncoder
|
|
--with-extraincdir=DIR extra header search paths in DIR (*)
|
|
--with-extralibdir=DIR extra linker search paths in DIR (*)
|
|
--with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
|
|
|
|
--with-freetype-config=PATH path to freetype-config
|
|
--with-fribidi-config=PATH path to fribidi-config
|
|
--with-glib-config=PATH path to glib*-config
|
|
--with-gtk-config=PATH path to gtk*-config
|
|
--with-sdl-config=PATH path to sdl*-config
|
|
--with-dvdnav-config=PATH path to dvdnav-config
|
|
--with-dvdread-config=PATH path to dvdread-config
|
|
|
|
This configure script is NOT autoconf-based, even though its output is similar.
|
|
It will try to autodetect all configuration options. If you --enable an option
|
|
it will be forcefully turned on, skipping autodetection. This can break
|
|
compilation, so you need to know what you are doing.
|
|
EOF
|
|
exit 0
|
|
} #show_help()
|
|
|
|
# GOTCHA: the variables below defines the default behavior for autodetection
|
|
# and have - unless stated otherwise - at least 2 states : yes no
|
|
# If autodetection is available then the third state is: auto
|
|
_mmx=auto
|
|
_3dnow=auto
|
|
_3dnowext=auto
|
|
_mmxext=auto
|
|
_sse=auto
|
|
_sse2=auto
|
|
_ssse3=auto
|
|
_cmov=auto
|
|
_fast_cmov=auto
|
|
_armv5te=auto
|
|
_armv6=auto
|
|
_iwmmxt=auto
|
|
_mtrr=auto
|
|
_altivec=auto
|
|
_install=install
|
|
_ranlib=ranlib
|
|
_windres=windres
|
|
_cc=cc
|
|
_ar=ar
|
|
test "$CC" && _cc="$CC"
|
|
_as=auto
|
|
_runtime_cpudetection=no
|
|
_cross_compile=auto
|
|
_prefix="/usr/local"
|
|
_libavutil_a=auto
|
|
_libavutil_so=auto
|
|
_libavcodec_a=auto
|
|
_libamr_nb=auto
|
|
_libamr_wb=auto
|
|
_libavdecoders_all=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
|
|
_libavdecoders=` echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER// `
|
|
_libavencoders_all=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
|
|
_libavencoders=` echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g'`
|
|
_libavparsers_all=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
|
|
_libavparsers=$_libavparsers_all
|
|
_libavbsfs_all=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
|
|
_libavbsfs=$_libavbsfs_all
|
|
_libavdemuxers_all=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
|
|
_libavdemuxers=`echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER// `
|
|
_libavmuxers_all=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
|
|
_libavmuxers=`echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER// `
|
|
_libavprotocols_all=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
|
|
_libavcodec_so=auto
|
|
_libavformat_a=auto
|
|
_libavformat_so=auto
|
|
_libpostproc_a=auto
|
|
_libpostproc_so=auto
|
|
_libavcodec_mpegaudio_hp=yes
|
|
_mencoder=yes
|
|
_mplayer=yes
|
|
_x11=auto
|
|
_xshape=auto
|
|
_xss=auto
|
|
_dga1=auto
|
|
_dga2=auto
|
|
_xv=auto
|
|
_xvmc=no #auto when complete
|
|
_sdl=auto
|
|
_directx=auto
|
|
_win32waveout=auto
|
|
_nas=auto
|
|
_png=auto
|
|
_jpeg=auto
|
|
_pnm=yes
|
|
_md5sum=yes
|
|
_gif=auto
|
|
_gl=auto
|
|
_ggi=auto
|
|
_ggiwmh=auto
|
|
_aa=auto
|
|
_caca=auto
|
|
_svga=auto
|
|
_vesa=auto
|
|
_fbdev=auto
|
|
_dvb=auto
|
|
_dvbhead=auto
|
|
_dxr2=auto
|
|
_dxr3=auto
|
|
_ivtv=auto
|
|
_v4l2=auto
|
|
_iconv=auto
|
|
_langinfo=auto
|
|
_rtc=auto
|
|
_ossaudio=auto
|
|
_arts=auto
|
|
_esd=auto
|
|
_pulse=auto
|
|
_jack=auto
|
|
_openal=auto
|
|
_libcdio=auto
|
|
_liblzo=auto
|
|
_mad=auto
|
|
_mp3lame=auto
|
|
_mp3lame_lavc=auto
|
|
_toolame=auto
|
|
_twolame=auto
|
|
_tremor_internal=yes
|
|
_tremor_low=no
|
|
_tremor_external=auto
|
|
_libvorbis=auto
|
|
_speex=auto
|
|
_theora=auto
|
|
_mp3lib=yes
|
|
_liba52=yes
|
|
_libdca=auto
|
|
_libmpeg2=auto
|
|
_faad_internal=auto
|
|
_faad_external=auto
|
|
_faad_fixed=no
|
|
_faac=auto
|
|
_faac_lavc=auto
|
|
_ladspa=auto
|
|
_xmms=no
|
|
_dvdnav=auto
|
|
_dvdnavconfig=dvdnav-config
|
|
_dvdreadconfig=dvdread-config
|
|
_dvdread=auto
|
|
_dvdread_internal=auto
|
|
_libdvdcss_internal=auto
|
|
_xanim=auto
|
|
_real=auto
|
|
_live=auto
|
|
_nemesi=auto
|
|
_native_rtsp=yes
|
|
_xinerama=auto
|
|
_mga=auto
|
|
_xmga=auto
|
|
_vm=auto
|
|
_xf86keysym=auto
|
|
_mlib=no #broken, thus disabled
|
|
_sgiaudio=auto
|
|
_sunaudio=auto
|
|
_alsa=auto
|
|
_fastmemcpy=yes
|
|
_unrar_exec=auto
|
|
_win32dll=auto
|
|
_select=yes
|
|
_radio=no
|
|
_radio_capture=no
|
|
_radio_v4l=auto
|
|
_radio_v4l2=auto
|
|
_radio_bsdbt848=auto
|
|
_tv=yes
|
|
_tv_v4l1=auto
|
|
_tv_v4l2=auto
|
|
_tv_bsdbt848=auto
|
|
_tv_dshow=auto
|
|
_tv_teletext=auto
|
|
_pvr=auto
|
|
_network=yes
|
|
_winsock2=auto
|
|
_smbsupport=auto
|
|
_vidix_internal=auto
|
|
_vidix_external=auto
|
|
_vidix_pcidb=yes
|
|
_joystick=no
|
|
_xvid=auto
|
|
_xvid_lavc=auto
|
|
_x264=auto
|
|
_x264_lavc=auto
|
|
_libnut=auto
|
|
_lirc=auto
|
|
_lircc=auto
|
|
_apple_remote=auto
|
|
_apple_ir=auto
|
|
_gui=no
|
|
_gtk1=no
|
|
_termcap=auto
|
|
_termios=auto
|
|
_3dfx=no
|
|
_s3fb=no
|
|
_tdfxfb=no
|
|
_tdfxvid=no
|
|
_xvr100=auto
|
|
_tga=yes
|
|
_directfb=auto
|
|
_zr=auto
|
|
_bl=no
|
|
_largefiles=yes
|
|
#_language=en
|
|
_shm=auto
|
|
_linux_devfs=no
|
|
_charset="UTF-8"
|
|
_dynamic_plugins=no
|
|
_crash_debug=no
|
|
_sighandler=yes
|
|
_libdv=auto
|
|
_cdparanoia=auto
|
|
_cddb=auto
|
|
_big_endian=auto
|
|
_bitmap_font=yes
|
|
_freetype=auto
|
|
_fontconfig=auto
|
|
_menu=no
|
|
_qtx=auto
|
|
_macosx=auto
|
|
_maemo=auto
|
|
_macosx_finder_support=no
|
|
_macosx_bundle=auto
|
|
_sortsub=yes
|
|
_freetypeconfig='freetype-config'
|
|
_fribidi=auto
|
|
_fribidiconfig='fribidi-config'
|
|
_enca=auto
|
|
_inet6=auto
|
|
_gethostbyname2=auto
|
|
_ftp=yes
|
|
_musepack=auto
|
|
_vstream=auto
|
|
_pthreads=auto
|
|
_w32threads=auto
|
|
_ass=auto
|
|
_rpath=no
|
|
_asmalign_pot=auto
|
|
_stream_cache=yes
|
|
_def_stream_cache="#define USE_STREAM_CACHE 1"
|
|
_need_shmem=yes
|
|
for ac_option do
|
|
case "$ac_option" in
|
|
--help|-help|-h)
|
|
show_help
|
|
;;
|
|
--prefix=*)
|
|
_prefix=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--bindir=*)
|
|
_bindir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--datadir=*)
|
|
_datadir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--mandir=*)
|
|
_mandir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--confdir=*)
|
|
_confdir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--libdir=*)
|
|
_libdir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--codecsdir=*)
|
|
_codecsdir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--win32codecsdir=*)
|
|
_win32codecsdir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--xanimcodecsdir=*)
|
|
_xanimcodecsdir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--realcodecsdir=*)
|
|
_realcodecsdir=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-extraincdir=*)
|
|
_inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
|
|
;;
|
|
--with-extralibdir=*)
|
|
_ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
|
|
;;
|
|
|
|
--with-install=*)
|
|
_install=`echo $ac_option | cut -d '=' -f 2 `
|
|
;;
|
|
--with-xvmclib=*)
|
|
_xvmclib=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
|
|
--with-sdl-config=*)
|
|
_sdlconfig=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-freetype-config=*)
|
|
_freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-fribidi-config=*)
|
|
_fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-gtk-config=*)
|
|
_gtkconfig=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-glib-config=*)
|
|
_glibconfig=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-dvdnav-config=*)
|
|
_dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-dvdread-config=*)
|
|
_dvdreadconfig=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
|
|
--extra-libs=*)
|
|
_extra_libs=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--extra-libs-mplayer=*)
|
|
_libs_mplayer=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--extra-libs-mencoder=*)
|
|
_libs_mencoder=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
|
|
--target=*)
|
|
_target=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--cc=*)
|
|
_cc=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--host-cc=*)
|
|
_host_cc=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--as=*)
|
|
_as=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--ar=*)
|
|
_ar=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--ranlib=*)
|
|
_ranlib=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--windres=*)
|
|
_windres=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--charset=*)
|
|
_charset=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--language=*)
|
|
_language=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
|
|
--enable-static)
|
|
_ld_static='-static'
|
|
;;
|
|
--disable-static)
|
|
_ld_static=''
|
|
;;
|
|
--enable-profile)
|
|
_profile='-p'
|
|
;;
|
|
--disable-profile)
|
|
_profile=
|
|
;;
|
|
--enable-debug)
|
|
_debug='-g'
|
|
;;
|
|
--enable-debug=*)
|
|
_debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--disable-debug)
|
|
_debug=
|
|
;;
|
|
--enable-runtime-cpudetection) _runtime_cpudetection=yes ;;
|
|
--disable-runtime-cpudetection) _runtime_cpudetection=no ;;
|
|
--enable-cross-compile) _cross_compile=yes ;;
|
|
--disable-cross-compile) _cross_compile=no ;;
|
|
--enable-mencoder) _mencoder=yes ;;
|
|
--disable-mencoder) _mencoder=no ;;
|
|
--enable-mplayer) _mplayer=yes ;;
|
|
--disable-mplayer) _mplayer=no ;;
|
|
--enable-dynamic-plugins) _dynamic_plugins=yes ;;
|
|
--disable-dynamic-plugins) _dynamic_plugins=no ;;
|
|
--enable-x11) _x11=yes ;;
|
|
--disable-x11) _x11=no ;;
|
|
--enable-xshape) _xshape=yes ;;
|
|
--disable-xshape) _xshape=no ;;
|
|
--enable-xss) _xss=yes ;;
|
|
--disable-xss) _xss=no ;;
|
|
--enable-xv) _xv=yes ;;
|
|
--disable-xv) _xv=no ;;
|
|
--enable-xvmc) _xvmc=yes ;;
|
|
--disable-xvmc) _xvmc=no ;;
|
|
--enable-sdl) _sdl=yes ;;
|
|
--disable-sdl) _sdl=no ;;
|
|
--enable-directx) _directx=yes ;;
|
|
--disable-directx) _directx=no ;;
|
|
--enable-win32waveout) _win32waveout=yes ;;
|
|
--disable-win32waveout) _win32waveout=no ;;
|
|
--enable-nas) _nas=yes ;;
|
|
--disable-nas) _nas=no ;;
|
|
--enable-png) _png=yes ;;
|
|
--disable-png) _png=no ;;
|
|
--enable-jpeg) _jpeg=yes ;;
|
|
--disable-jpeg) _jpeg=no ;;
|
|
--enable-pnm) _pnm=yes ;;
|
|
--disable-pnm) _pnm=no ;;
|
|
--enable-md5sum) _md5sum=yes ;;
|
|
--disable-md5sum) _md5sum=no ;;
|
|
--enable-gif) _gif=yes ;;
|
|
--disable-gif) _gif=no ;;
|
|
--enable-gl) _gl=yes ;;
|
|
--disable-gl) _gl=no ;;
|
|
--enable-ggi) _ggi=yes ;;
|
|
--disable-ggi) _ggi=no ;;
|
|
--enable-ggiwmh) _ggiwmh=yes ;;
|
|
--disable-ggiwmh) _ggiwmh=no ;;
|
|
--enable-aa) _aa=yes ;;
|
|
--disable-aa) _aa=no ;;
|
|
--enable-caca) _caca=yes ;;
|
|
--disable-caca) _caca=no ;;
|
|
--enable-svga) _svga=yes ;;
|
|
--disable-svga) _svga=no ;;
|
|
--enable-vesa) _vesa=yes ;;
|
|
--disable-vesa) _vesa=no ;;
|
|
--enable-fbdev) _fbdev=yes ;;
|
|
--disable-fbdev) _fbdev=no ;;
|
|
--enable-dvb) _dvb=yes ;;
|
|
--disable-dvb) _dvb=no ;;
|
|
--enable-dvbhead) _dvbhead=yes ;;
|
|
--disable-dvbhead) _dvbhead=no ;;
|
|
--enable-dxr2) _dxr2=yes ;;
|
|
--disable-dxr2) _dxr2=no ;;
|
|
--enable-dxr3) _dxr3=yes ;;
|
|
--disable-dxr3) _dxr3=no ;;
|
|
--enable-ivtv) _ivtv=yes ;;
|
|
--disable-ivtv) _ivtv=no ;;
|
|
--enable-v4l2) _v4l2=yes ;;
|
|
--disable-v4l2) _v4l2=no ;;
|
|
--enable-iconv) _iconv=yes ;;
|
|
--disable-iconv) _iconv=no ;;
|
|
--enable-langinfo) _langinfo=yes ;;
|
|
--disable-langinfo) _langinfo=no ;;
|
|
--enable-rtc) _rtc=yes ;;
|
|
--disable-rtc) _rtc=no ;;
|
|
--enable-libdv) _libdv=yes ;;
|
|
--disable-libdv) _libdv=no ;;
|
|
--enable-ossaudio) _ossaudio=yes ;;
|
|
--disable-ossaudio) _ossaudio=no ;;
|
|
--enable-arts) _arts=yes ;;
|
|
--disable-arts) _arts=no ;;
|
|
--enable-esd) _esd=yes ;;
|
|
--disable-esd) _esd=no ;;
|
|
--enable-pulse) _pulse=yes ;;
|
|
--disable-pulse) _pulse=no ;;
|
|
--enable-jack) _jack=yes ;;
|
|
--disable-jack) _jack=no ;;
|
|
--enable-openal) _openal=yes ;;
|
|
--disable-openal) _openal=no ;;
|
|
--enable-mad) _mad=yes ;;
|
|
--disable-mad) _mad=no ;;
|
|
--enable-mp3lame) _mp3lame=yes ;;
|
|
--disable-mp3lame) _mp3lame=no ;;
|
|
--enable-mp3lame-lavc) _mp3lame_lavc=yes ;;
|
|
--disable-mp3lame-lavc) _mp3lame_lavc=no ;;
|
|
--enable-toolame) _toolame=yes ;;
|
|
--disable-toolame) _toolame=no ;;
|
|
--enable-twolame) _twolame=yes ;;
|
|
--disable-twolame) _twolame=no ;;
|
|
--enable-libcdio) _libcdio=yes ;;
|
|
--disable-libcdio) _libcdio=no ;;
|
|
--enable-liblzo) _liblzo=yes ;;
|
|
--disable-liblzo) _liblzo=no ;;
|
|
--enable-libvorbis) _libvorbis=yes ;;
|
|
--disable-libvorbis) _libvorbis=no ;;
|
|
--enable-speex) _speex=yes ;;
|
|
--disable-speex) _speex=no ;;
|
|
--enable-tremor-internal) _tremor_internal=yes ;;
|
|
--disable-tremor-internal) _tremor_internal=no ;;
|
|
--enable-tremor-low) _tremor_low=yes ;;
|
|
--disable-tremor-low) _tremor_low=no ;;
|
|
--enable-tremor-external) _tremor_external=yes ;;
|
|
--disable-tremor-external) _tremor_external=no ;;
|
|
--enable-theora) _theora=yes ;;
|
|
--disable-theora) _theora=no ;;
|
|
--enable-mp3lib) _mp3lib=yes ;;
|
|
--disable-mp3lib) _mp3lib=no ;;
|
|
--enable-liba52) _liba52=yes ;;
|
|
--disable-liba52) _liba52=no ;;
|
|
--enable-libdca) _libdca=yes ;;
|
|
--disable-libdca) _libdca=no ;;
|
|
--enable-libmpeg2) _libmpeg2=yes ;;
|
|
--disable-libmpeg2) _libmpeg2=no ;;
|
|
--enable-musepack) _musepack=yes ;;
|
|
--disable-musepack) _musepack=no ;;
|
|
--enable-faad-internal) _faad_internal=yes ;;
|
|
--disable-faad-internal) _faad_internal=no ;;
|
|
--enable-faad-external) _faad_external=yes ;;
|
|
--disable-faad-external) _faad_external=no ;;
|
|
--enable-faad-fixed) _faad_fixed=yes ;;
|
|
--disable-faad-fixed) _faad_fixed=no ;;
|
|
--enable-faac) _faac=yes ;;
|
|
--disable-faac) _faac=no ;;
|
|
--enable-faac-lavc) _faac_lavc=yes ;;
|
|
--disable-faac-lavc) _faac_lavc=no ;;
|
|
--enable-ladspa) _ladspa=yes ;;
|
|
--disable-ladspa) _ladspa=no ;;
|
|
--enable-xmms) _xmms=yes ;;
|
|
--disable-xmms) _xmms=no ;;
|
|
--enable-dvdread) _dvdread=yes ;;
|
|
--disable-dvdread) _dvdread=no ;;
|
|
--enable-dvdread-internal) _dvdread_internal=yes ;;
|
|
--disable-dvdread-internal) _dvdread_internal=no ;;
|
|
--enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
|
|
--disable-libdvdcss-internal) _libdvdcss_internal=no ;;
|
|
--enable-dvdnav) _dvdnav=yes ;;
|
|
--disable-dvdnav) _dvdnav=no ;;
|
|
--enable-xanim) _xanim=yes ;;
|
|
--disable-xanim) _xanim=no ;;
|
|
--enable-real) _real=yes ;;
|
|
--disable-real) _real=no ;;
|
|
--enable-live) _live=yes ;;
|
|
--disable-live) _live=no ;;
|
|
--enable-nemesi) _nemesi=yes ;;
|
|
--disable-nemesi) _nemesi=no ;;
|
|
--enable-xinerama) _xinerama=yes ;;
|
|
--disable-xinerama) _xinerama=no ;;
|
|
--enable-mga) _mga=yes ;;
|
|
--disable-mga) _mga=no ;;
|
|
--enable-xmga) _xmga=yes ;;
|
|
--disable-xmga) _xmga=no ;;
|
|
--enable-vm) _vm=yes ;;
|
|
--disable-vm) _vm=no ;;
|
|
--enable-xf86keysym) _xf86keysym=yes ;;
|
|
--disable-xf86keysym) _xf86keysym=no ;;
|
|
--enable-mlib) _mlib=yes ;;
|
|
--disable-mlib) _mlib=no ;;
|
|
--enable-sunaudio) _sunaudio=yes ;;
|
|
--disable-sunaudio) _sunaudio=no ;;
|
|
--enable-sgiaudio) _sgiaudio=yes ;;
|
|
--disable-sgiaudio) _sgiaudio=no ;;
|
|
--enable-alsa) _alsa=yes ;;
|
|
--disable-alsa) _alsa=no ;;
|
|
--enable-tv) _tv=yes ;;
|
|
--disable-tv) _tv=no ;;
|
|
--enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
|
|
--disable-tv-bsdbt848) _tv_bsdbt848=no ;;
|
|
--enable-tv-v4l1) _tv_v4l1=yes ;;
|
|
--disable-tv-v4l1) _tv_v4l1=no ;;
|
|
--enable-tv-v4l2) _tv_v4l2=yes ;;
|
|
--disable-tv-v4l2) _tv_v4l2=no ;;
|
|
--enable-tv-dshow) _tv_dshow=yes ;;
|
|
--disable-tv-dshow) _tv_dshow=no ;;
|
|
--enable-tv-teletext) _tv_teletext=yes ;;
|
|
--disable-tv-teletext) _tv_teletext=no ;;
|
|
--enable-radio) _radio=yes ;;
|
|
--enable-radio-capture) _radio_capture=yes ;;
|
|
--disable-radio-capture) _radio_capture=no ;;
|
|
--disable-radio) _radio=no ;;
|
|
--enable-radio-v4l) _radio_v4l=yes ;;
|
|
--disable-radio-v4l) _radio_v4l=no ;;
|
|
--enable-radio-v4l2) _radio_v4l2=yes ;;
|
|
--disable-radio-v4l2) _radio_v4l2=no ;;
|
|
--enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
|
|
--disable-radio-bsdbt848) _radio_bsdbt848=no ;;
|
|
--enable-pvr) _pvr=yes ;;
|
|
--disable-pvr) _pvr=no ;;
|
|
--enable-fastmemcpy) _fastmemcpy=yes ;;
|
|
--disable-fastmemcpy) _fastmemcpy=no ;;
|
|
--enable-network) _network=yes ;;
|
|
--disable-network) _network=no ;;
|
|
--enable-winsock2) _winsock2=yes ;;
|
|
--disable-winsock2) _winsock2=no ;;
|
|
--enable-smb) _smbsupport=yes ;;
|
|
--disable-smb) _smbsupport=no ;;
|
|
--enable-vidix-internal) _vidix_internal=yes ;;
|
|
--disable-vidix-internal) _vidix_internal=no ;;
|
|
--enable-vidix-external) _vidix_external=yes ;;
|
|
--disable-vidix-external) _vidix_external=no ;;
|
|
--with-vidix-drivers=*)
|
|
_vidix_drivers=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--disable-vidix-pcidb) _vidix_pcidb=no ;;
|
|
--enable-joystick) _joystick=yes ;;
|
|
--disable-joystick) _joystick=no ;;
|
|
--enable-xvid) _xvid=yes ;;
|
|
--disable-xvid) _xvid=no ;;
|
|
--enable-xvid-lavc) _xvid_lavc=yes ;;
|
|
--disable-xvid-lavc) _xvid_lavc=no ;;
|
|
--enable-x264) _x264=yes ;;
|
|
--disable-x264) _x264=no ;;
|
|
--enable-x264-lavc) _x264_lavc=yes ;;
|
|
--disable-x264-lavc) _x264_lavc=no ;;
|
|
--enable-libnut) _libnut=yes ;;
|
|
--disable-libnut) _libnut=no ;;
|
|
--enable-libavutil_a) _libavutil_a=yes ;;
|
|
--disable-libavutil_a) _libavutil_a=no ;;
|
|
--enable-libavutil_so) _libavutil_so=yes ;;
|
|
--disable-libavutil_so) _libavutil_so=no ;;
|
|
--enable-libavcodec_a) _libavcodec_a=yes ;;
|
|
--disable-libavcodec_a) _libavcodec_a=no ;;
|
|
--enable-libavcodec_so) _libavcodec_so=yes ;;
|
|
--disable-libavcodec_so) _libavcodec_so=no ;;
|
|
--enable-libamr_nb) _libamr_nb=yes ;;
|
|
--disable-libamr_nb) _libamr_nb=no ;;
|
|
--enable-libamr_wb) _libamr_wb=yes ;;
|
|
--disable-libamr_wb) _libamr_wb=no ;;
|
|
--enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
|
|
--disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
|
|
--enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
|
|
--disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
|
|
--enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
|
|
--disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
|
|
--enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
|
|
--disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
|
|
--enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
|
|
--disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
|
|
--enable-libavformat_a) _libavformat_a=yes ;;
|
|
--disable-libavformat_a) _libavformat_a=no ;;
|
|
--enable-libavformat_so) _libavformat_so=yes ;;
|
|
--disable-libavformat_so) _libavformat_so=no ;;
|
|
--enable-libpostproc_a) _libpostproc_a=yes ;;
|
|
--disable-libpostproc_a) _libpostproc_a=no ;;
|
|
--enable-libpostproc_so) _libpostproc_so=yes ;;
|
|
--disable-libpostproc_so) _libpostproc_so=no ;;
|
|
--enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
|
|
--disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
|
|
|
|
--enable-lirc) _lirc=yes ;;
|
|
--disable-lirc) _lirc=no ;;
|
|
--enable-lircc) _lircc=yes ;;
|
|
--disable-lircc) _lircc=no ;;
|
|
--enable-apple-remote) _apple_remote=yes ;;
|
|
--disable-apple-remote) _apple_remote=no ;;
|
|
--enable-apple-ir) _apple_ir=yes ;;
|
|
--disable-apple-ir) _apple_ir=no ;;
|
|
--enable-gui) _gui=yes ;;
|
|
--disable-gui) _gui=no ;;
|
|
--enable-gtk1) _gtk1=yes ;;
|
|
--disable-gtk1) _gtk1=no ;;
|
|
--enable-termcap) _termcap=yes ;;
|
|
--disable-termcap) _termcap=no ;;
|
|
--enable-termios) _termios=yes ;;
|
|
--disable-termios) _termios=no ;;
|
|
--enable-3dfx) _3dfx=yes ;;
|
|
--disable-3dfx) _3dfx=no ;;
|
|
--enable-s3fb) _s3fb=yes ;;
|
|
--disable-s3fb) _s3fb=no ;;
|
|
--enable-tdfxfb) _tdfxfb=yes ;;
|
|
--disable-tdfxfb) _tdfxfb=no ;;
|
|
--disable-tdfxvid) _tdfxvid=no ;;
|
|
--enable-tdfxvid) _tdfxvid=yes ;;
|
|
--disable-xvr100) _xvr100=no ;;
|
|
--enable-xvr100) _xvr100=yes ;;
|
|
--disable-tga) _tga=no ;;
|
|
--enable-tga) _tga=yes ;;
|
|
--enable-directfb) _directfb=yes ;;
|
|
--disable-directfb) _directfb=no ;;
|
|
--enable-zr) _zr=yes ;;
|
|
--disable-zr) _zr=no ;;
|
|
--enable-bl) _bl=yes ;;
|
|
--disable-bl) _bl=no ;;
|
|
--enable-mtrr) _mtrr=yes ;;
|
|
--disable-mtrr) _mtrr=no ;;
|
|
--enable-largefiles) _largefiles=yes ;;
|
|
--disable-largefiles) _largefiles=no ;;
|
|
--enable-shm) _shm=yes ;;
|
|
--disable-shm) _shm=no ;;
|
|
--enable-select) _select=yes ;;
|
|
--disable-select) _select=no ;;
|
|
--enable-linux-devfs) _linux_devfs=yes ;;
|
|
--disable-linux-devfs) _linux_devfs=no ;;
|
|
--enable-cdparanoia) _cdparanoia=yes ;;
|
|
--disable-cdparanoia) _cdparanoia=no ;;
|
|
--enable-cddb) _cddb=yes ;;
|
|
--disable-cddb) _cddb=no ;;
|
|
--enable-big-endian) _big_endian=yes ;;
|
|
--disable-big-endian) _big_endian=no ;;
|
|
--enable-bitmap-font) _bitmap_font=yes ;;
|
|
--disable-bitmap-font) _bitmap_font=no ;;
|
|
--enable-freetype) _freetype=yes ;;
|
|
--disable-freetype) _freetype=no ;;
|
|
--enable-fontconfig) _fontconfig=yes ;;
|
|
--disable-fontconfig) _fontconfig=no ;;
|
|
--enable-unrarexec) _unrar_exec=yes ;;
|
|
--disable-unrarexec) _unrar_exec=no ;;
|
|
--enable-ftp) _ftp=yes ;;
|
|
--disable-ftp) _ftp=no ;;
|
|
--enable-vstream) _vstream=yes ;;
|
|
--disable-vstream) _vstream=no ;;
|
|
--enable-pthreads) _pthreads=yes ;;
|
|
--disable-pthreads) _pthreads=no ;;
|
|
--enable-w32threads) _w32threads=yes ;;
|
|
--disable-w32threads) _w32threads=no ;;
|
|
--enable-ass) _ass=yes ;;
|
|
--disable-ass) _ass=no ;;
|
|
--enable-rpath) _rpath=yes ;;
|
|
--disable-rpath) _rpath=no ;;
|
|
|
|
--enable-fribidi) _fribidi=yes ;;
|
|
--disable-fribidi) _fribidi=no ;;
|
|
|
|
--enable-enca) _enca=yes ;;
|
|
--disable-enca) _enca=no ;;
|
|
|
|
--enable-inet6) _inet6=yes ;;
|
|
--disable-inet6) _inet6=no ;;
|
|
|
|
--enable-gethostbyname2) _gethostbyname2=yes ;;
|
|
--disable-gethostbyname2) _gethostbyname2=no ;;
|
|
|
|
--enable-dga1) _dga1=yes ;;
|
|
--disable-dga1) _dga1=no ;;
|
|
--enable-dga2) _dga2=yes ;;
|
|
--disable-dga2) _dga2=no ;;
|
|
|
|
--enable-menu) _menu=yes ;;
|
|
--disable-menu) _menu=no ;;
|
|
|
|
--enable-qtx) _qtx=yes ;;
|
|
--disable-qtx) _qtx=no ;;
|
|
|
|
--enable-macosx) _macosx=yes ;;
|
|
--disable-macosx) _macosx=no ;;
|
|
--enable-macosx-finder-support) _macosx_finder_support=yes ;;
|
|
--disable-macosx-finder-support) _macosx_finder_support=no ;;
|
|
--enable-macosx-bundle) _macosx_bundle=yes;;
|
|
--disable-macosx-bundle) _macosx_bundle=no;;
|
|
|
|
--enable-maemo) _maemo=yes ;;
|
|
--disable-maemo) _maemo=no ;;
|
|
|
|
--enable-sortsub) _sortsub=yes ;;
|
|
--disable-sortsub) _sortsub=no ;;
|
|
|
|
--enable-crash-debug) _crash_debug=yes ;;
|
|
--disable-crash-debug) _crash_debug=no ;;
|
|
--enable-sighandler) _sighandler=yes ;;
|
|
--disable-sighandler) _sighandler=no ;;
|
|
--enable-win32dll) _win32dll=yes ;;
|
|
--disable-win32dll) _win32dll=no ;;
|
|
|
|
--enable-sse) _sse=yes ;;
|
|
--disable-sse) _sse=no ;;
|
|
--enable-sse2) _sse2=yes ;;
|
|
--disable-sse2) _sse2=no ;;
|
|
--enable-ssse3) _ssse3=yes ;;
|
|
--disable-ssse3) _ssse3=no ;;
|
|
--enable-mmxext) _mmxext=yes ;;
|
|
--disable-mmxext) _mmxext=no ;;
|
|
--enable-3dnow) _3dnow=yes ;;
|
|
--disable-3dnow) _3dnow=no _3dnowext=no ;;
|
|
--enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
|
|
--disable-3dnowext) _3dnowext=no ;;
|
|
--enable-cmov) _cmov=yes ;;
|
|
--disable-cmov) _cmov=no ;;
|
|
--enable-fast-cmov) _fast_cmov=yes ;;
|
|
--disable-fast-cmov) _fast_cmov=no ;;
|
|
--enable-altivec) _altivec=yes ;;
|
|
--disable-altivec) _altivec=no ;;
|
|
--enable-armv5te) _armv5te=yes ;;
|
|
--disable-armv5te) _armv5te=no ;;
|
|
--enable-armv6) _armv6=yes ;;
|
|
--disable-armv6) _armv6=no ;;
|
|
--enable-iwmmxt) _iwmmxt=yes ;;
|
|
--disable-iwmmxt) _iwmmxt=no ;;
|
|
--enable-mmx) _mmx=yes ;;
|
|
--disable-mmx) # 3Dnow! and MMX2 require MMX
|
|
_3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
|
|
|
|
*)
|
|
echo "Unknown parameter: $ac_option"
|
|
exit 1
|
|
;;
|
|
|
|
esac
|
|
done
|
|
|
|
# Atmos: moved this here, to be correct, if --prefix is specified
|
|
test -z "$_bindir" && _bindir="$_prefix/bin"
|
|
test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
|
|
test -z "$_mandir" && _mandir="$_prefix/share/man"
|
|
test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
|
|
test -z "$_libdir" && _libdir="$_prefix/lib"
|
|
|
|
# Determine our OS name and CPU architecture
|
|
if test -z "$_target" ; then
|
|
# OS name
|
|
system_name=`uname -s 2>&1`
|
|
case "$system_name" in
|
|
Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
|
|
;;
|
|
IRIX*)
|
|
system_name=IRIX
|
|
;;
|
|
GNU/kFreeBSD)
|
|
system_name=FreeBSD
|
|
;;
|
|
HP-UX*)
|
|
system_name=HP-UX
|
|
;;
|
|
[cC][yY][gG][wW][iI][nN]*)
|
|
system_name=CYGWIN
|
|
;;
|
|
MINGW32*)
|
|
system_name=MINGW32
|
|
;;
|
|
OS/2*)
|
|
system_name=OS/2
|
|
;;
|
|
*)
|
|
system_name="$system_name-UNKNOWN"
|
|
;;
|
|
esac
|
|
|
|
|
|
# host's CPU/instruction set
|
|
host_arch=`uname -p 2>&1`
|
|
case "$host_arch" in
|
|
i386|sparc|ppc|alpha|arm|sh3|mips|vax)
|
|
;;
|
|
powerpc) # Darwin returns 'powerpc'
|
|
host_arch=ppc
|
|
;;
|
|
*) # uname -p on Linux returns 'unknown' for the processor type,
|
|
# OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
|
|
|
|
# Maybe uname -m (machine hardware name) returns something we
|
|
# recognize.
|
|
|
|
# x86/x86pc is used by QNX
|
|
case "`uname -m 2>&1`" in
|
|
i[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686|BePC) host_arch=i386 ;;
|
|
ia64) host_arch=ia64 ;;
|
|
x86_64|amd64)
|
|
if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
|
|
-z "`echo $CFLAGS | grep -- -m32`" ]; then
|
|
host_arch=x86_64
|
|
else
|
|
host_arch=i386
|
|
fi
|
|
;;
|
|
macppc|ppc|ppc64) host_arch=ppc ;;
|
|
alpha) host_arch=alpha ;;
|
|
sparc) host_arch=sparc ;;
|
|
sparc64) host_arch=sparc64 ;;
|
|
parisc*|hppa*|9000*) host_arch=hppa ;;
|
|
arm*|zaurus|cats) host_arch=arm ;;
|
|
sh3) host_arch=sh3 ;;
|
|
s390) host_arch=s390 ;;
|
|
s390x) host_arch=s390x ;;
|
|
mips*) host_arch=mips ;;
|
|
vax) host_arch=vax ;;
|
|
xtensa*) host_arch=xtensa ;;
|
|
*) host_arch=UNKNOWN ;;
|
|
esac
|
|
;;
|
|
esac
|
|
else # if test -z "$_target"
|
|
system_name=`echo $_target | cut -d '-' -f 2`
|
|
case "`echo $system_name | tr A-Z a-z`" in
|
|
linux) system_name=Linux ;;
|
|
freebsd) system_name=FreeBSD ;;
|
|
gnu/kfreebsd) system_name=FreeBSD ;;
|
|
netbsd) system_name=NetBSD ;;
|
|
bsd/os) system_name=BSD/OS ;;
|
|
openbsd) system_name=OpenBSD ;;
|
|
dragonfly) system_name=DragonFly ;;
|
|
sunos) system_name=SunOS ;;
|
|
qnx) system_name=QNX ;;
|
|
morphos) system_name=MorphOS ;;
|
|
amigaos) system_name=AmigaOS ;;
|
|
mingw32msvc) system_name=MINGW32 ;;
|
|
esac
|
|
# We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
|
|
host_arch=`echo $_target | cut -d '-' -f 1`
|
|
if test `echo $host_arch` != "x86_64" ; then
|
|
host_arch=`echo $host_arch | tr '_' '-'`
|
|
fi
|
|
fi
|
|
|
|
echo "Detected operating system: $system_name"
|
|
echo "Detected host architecture: $host_arch"
|
|
|
|
if test "$_runtime_cpudetection" = yes && ! x86 && ! ppc; then
|
|
die "Runtime CPU detection only works for x86, x86-64 and PPC!"
|
|
fi
|
|
|
|
|
|
_timer=timer-linux.c
|
|
_getch=getch2.c
|
|
if freebsd ; then
|
|
_ld_extra="$_ld_extra -L/usr/local/lib"
|
|
_inc_extra="$_inc_extra -I/usr/local/include"
|
|
fi
|
|
|
|
if netbsd || dragonfly ; then
|
|
_ld_extra="$_ld_extra -L/usr/pkg/lib"
|
|
_inc_extra="$_inc_extra -I/usr/pkg/include"
|
|
fi
|
|
|
|
if darwin; then
|
|
_ld_extra="$_ld_extra -L/usr/local/lib"
|
|
_inc_extra="$_inc_extra -I/usr/local/include"
|
|
_timer=timer-darwin.c
|
|
fi
|
|
|
|
if aix ; then
|
|
_ld_extra="$_ld_extra -lC"
|
|
fi
|
|
|
|
if irix ; then
|
|
_ranlib='ar -r'
|
|
elif linux ; then
|
|
_ranlib='true'
|
|
fi
|
|
|
|
if win32 ; then
|
|
_exesuf=".exe"
|
|
# -lwinmm is always needed for osdep/timer-win2.c
|
|
_ld_extra="$_ld_extra -lwinmm"
|
|
_pe_executable=yes
|
|
_timer=timer-win2.c
|
|
fi
|
|
|
|
if mingw32 ; then
|
|
_getch=getch2-win.c
|
|
_need_shmem=no
|
|
fi
|
|
|
|
if cygwin ; then
|
|
_def_confwin32='#define WIN32'
|
|
fi
|
|
|
|
if amigaos ; then
|
|
_select=no
|
|
_sighandler=no
|
|
_stream_cache=no
|
|
_def_stream_cache="#undef USE_STREAM_CACHE"
|
|
fi
|
|
|
|
if qnx ; then
|
|
_ld_extra="$_ld_extra -lph"
|
|
fi
|
|
|
|
if os2 ; then
|
|
_exesuf=".exe"
|
|
_getch=getch2-os2.c
|
|
_need_shmem=no
|
|
_ar="emxomfar -p256"
|
|
_ranlib="echo ignoring ranlib"
|
|
_ld_extra="$_ld_extra -Zomf -Zstack 16384 -Zbin-files -Zargs-wild -lmmpm2"
|
|
fi
|
|
|
|
for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
|
|
test "$I" && break
|
|
done
|
|
|
|
|
|
TMPLOG="configure.log"
|
|
TMPC="$I/mplayer-conf-$RANDOM-$$.c"
|
|
TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
|
|
TMPEXE="$I/mplayer-conf-$RANDOM-$$$_exesuf"
|
|
TMPH="$I/mplayer-conf-$RANDOM-$$.h"
|
|
TMPS="$I/mplayer-conf-$RANDOM-$$.S"
|
|
|
|
rm -f "$TMPLOG"
|
|
echo configuration: $_configuration > "$TMPLOG"
|
|
echo >> "$TMPLOG"
|
|
|
|
|
|
# Check how to call 'head' and 'tail'. Newer versions spit out warnings
|
|
# if used as 'head -1' instead of 'head -n 1', but older versions don't
|
|
# know about '-n'.
|
|
if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
|
|
_head() { head -$1 2>/dev/null ; }
|
|
else
|
|
_head() { head -n $1 2>/dev/null ; }
|
|
fi
|
|
if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
|
|
_tail() { tail -$1 2>/dev/null ; }
|
|
else
|
|
_tail() { tail -n $1 2>/dev/null ; }
|
|
fi
|
|
|
|
# Checking CC version...
|
|
# Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
|
|
if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
|
|
echocheck "$_cc version"
|
|
cc_vendor=intel
|
|
cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
|
|
cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
|
|
_cc_major=`echo $cc_version | cut -d '.' -f 1`
|
|
_cc_minor=`echo $cc_version | cut -d '.' -f 2`
|
|
# TODO verify older icc/ecc compatibility
|
|
case $cc_version in
|
|
'')
|
|
cc_version="v. ?.??, bad"
|
|
cc_fail=yes
|
|
;;
|
|
10.1)
|
|
cc_version="$cc_version, ok"
|
|
;;
|
|
*)
|
|
cc_version="$cc_version, bad"
|
|
cc_fail=yes
|
|
;;
|
|
esac
|
|
echores "$cc_version"
|
|
else
|
|
for _cc in "$_cc" cc gcc ; do
|
|
cc_name_tmp=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
|
|
if test "$cc_name_tmp" = "gcc"; then
|
|
cc_name=$cc_name_tmp
|
|
echocheck "$_cc version"
|
|
cc_vendor=gnu
|
|
cc_version=`$_cc -dumpversion 2>&1`
|
|
case $cc_version in
|
|
2.96*)
|
|
cc_fail=yes
|
|
;;
|
|
*)
|
|
_cc_major=`echo $cc_version | cut -d '.' -f 1`
|
|
_cc_minor=`echo $cc_version | cut -d '.' -f 2`
|
|
_cc_mini=`echo $cc_version | cut -d '.' -f 3`
|
|
;;
|
|
esac
|
|
echores "$cc_version"
|
|
break
|
|
fi
|
|
done
|
|
fi # icc
|
|
test "$cc_fail" = yes && die "unsupported compiler version"
|
|
|
|
echocheck "host cc"
|
|
test "$_host_cc" || _host_cc=$_cc
|
|
echores $_host_cc
|
|
|
|
echocheck "cross compilation"
|
|
if test $_cross_compile = auto ; then
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_cross_compile=yes
|
|
cc_check && "$TMPEXE" && _cross_compile=no
|
|
fi
|
|
echores $_cross_compile
|
|
|
|
if test $_cross_compile = yes; then
|
|
tmp_run() {
|
|
return 0
|
|
}
|
|
fi
|
|
|
|
# ---
|
|
|
|
# now that we know what compiler should be used for compilation, try to find
|
|
# out which assembler is used by the $_cc compiler
|
|
if test "$_as" = auto ; then
|
|
_as=`$_cc -print-prog-name=as`
|
|
test -z "$_as" && _as=as
|
|
fi
|
|
|
|
# XXX: this should be ok..
|
|
_cpuinfo="echo"
|
|
|
|
if test "$_runtime_cpudetection" = no ; then
|
|
|
|
# Cygwin has /proc/cpuinfo, but only supports Intel CPUs
|
|
# FIXME: Remove the cygwin check once AMD CPUs are supported
|
|
if test -r /proc/cpuinfo && ! cygwin; then
|
|
# Linux with /proc mounted, extract CPU information from it
|
|
_cpuinfo="cat /proc/cpuinfo"
|
|
elif test -r /compat/linux/proc/cpuinfo && ! x86_32 ; then
|
|
# FreeBSD with Linux emulation /proc mounted,
|
|
# extract CPU information from it
|
|
_cpuinfo="cat /compat/linux/proc/cpuinfo"
|
|
elif darwin && ! x86_32 ; then
|
|
# use hostinfo on Darwin
|
|
_cpuinfo="hostinfo"
|
|
elif aix; then
|
|
# use 'lsattr' on AIX
|
|
_cpuinfo="lsattr -E -l proc0 -a type"
|
|
elif x86; then
|
|
# all other OSes try to extract CPU information from a small helper
|
|
# program cpuinfo instead
|
|
$_cc -o cpuinfo$_exesuf cpuinfo.c
|
|
_cpuinfo="./cpuinfo$_exesuf"
|
|
fi
|
|
|
|
if x86 ; then
|
|
# gather more CPU information
|
|
pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
|
|
pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
|
|
pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
|
|
pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
|
|
pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
|
|
|
|
exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
|
|
|
|
pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
|
|
-e s/xmm/sse/ -e s/kni/sse/`
|
|
|
|
for ext in $pparam ; do
|
|
eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
|
|
done
|
|
|
|
# SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
|
|
test $_sse = kernel_check && _mmxext=kernel_check
|
|
|
|
echocheck "CPU vendor"
|
|
echores "$pvendor ($pfamily:$pmodel:$pstepping)"
|
|
|
|
echocheck "CPU type"
|
|
echores "$pname"
|
|
fi
|
|
|
|
fi # test "$_runtime_cpudetection" = no
|
|
|
|
if x86 && test "$_runtime_cpudetection" = no ; then
|
|
extcheck() {
|
|
if test "$1" = kernel_check ; then
|
|
echocheck "kernel support of $2"
|
|
cat > $TMPC <<EOF
|
|
#include <signal.h>
|
|
void catch() { exit(1); }
|
|
int main(void) {
|
|
signal(SIGILL, catch);
|
|
__asm__ __volatile__ ("$3":::"memory"); return 0;
|
|
}
|
|
EOF
|
|
|
|
if cc_check && tmp_run ; then
|
|
eval _$2=yes
|
|
echores "yes"
|
|
_optimizing="$_optimizing $2"
|
|
return 0
|
|
else
|
|
eval _$2=no
|
|
echores "failed"
|
|
echo "It seems that your kernel does not correctly support $2."
|
|
echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
|
|
return 1
|
|
fi
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
extcheck $_mmx "mmx" "emms"
|
|
extcheck $_mmxext "mmxext" "sfence"
|
|
extcheck $_3dnow "3dnow" "femms"
|
|
extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
|
|
extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
|
|
extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
|
|
extcheck $_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
|
|
extcheck $_cmov "cmov" "cmovb %%eax,%%ebx"
|
|
|
|
echocheck "mtrr support"
|
|
if test "$_mtrr" = kernel_check ; then
|
|
_mtrr="yes"
|
|
_optimizing="$_optimizing mtrr"
|
|
fi
|
|
echores "$_mtrr"
|
|
|
|
if test "$_gcc3_ext" != ""; then
|
|
# if we had to disable sse/sse2 because the active kernel does not
|
|
# support this instruction set extension, we also have to tell
|
|
# gcc3 to not generate sse/sse2 instructions for normal C code
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
_arch_all='X86 X86_32 X86_64 IA64 SPARC ARM ARMV4L SH3 POWERPC PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
|
|
case "$host_arch" in
|
|
i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
|
|
_arch='X86 X86_32'
|
|
_target_arch_x86="ARCH_X86 = yes"
|
|
_target_arch="ARCH_X86_32 = yes"
|
|
_def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
|
|
iproc=486
|
|
proc=i486
|
|
|
|
|
|
if test "$_runtime_cpudetection" = no ; then
|
|
case "$pvendor" in
|
|
AuthenticAMD)
|
|
case "$pfamily" in
|
|
3) proc=i386 iproc=386 ;;
|
|
4) proc=i486 iproc=486 ;;
|
|
5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
|
|
# K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
|
|
if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
|
|
proc=k6-3
|
|
elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
|
|
proc=geode
|
|
elif test "$pmodel" -ge 8; then
|
|
proc=k6-2
|
|
elif test "$pmodel" -ge 6; then
|
|
proc=k6
|
|
else
|
|
proc=i586
|
|
fi
|
|
;;
|
|
6) iproc=686
|
|
# It's a bit difficult to determine the correct type of Family 6
|
|
# AMD CPUs just from their signature. Instead, we check directly
|
|
# whether it supports SSE.
|
|
if test "$_sse" = yes; then
|
|
# gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
|
|
proc=athlon-xp
|
|
else
|
|
# Again, gcc treats athlon and athlon-tbird similarly.
|
|
proc=athlon
|
|
fi
|
|
;;
|
|
15) iproc=686
|
|
# k8 cpu-type only supported in gcc >= 3.4.0, but that will be
|
|
# caught and remedied in the optimization tests below.
|
|
proc=k8
|
|
;;
|
|
|
|
*) proc=k8 iproc=686 ;;
|
|
esac
|
|
;;
|
|
GenuineIntel)
|
|
case "$pfamily" in
|
|
3) proc=i386 iproc=386 ;;
|
|
4) proc=i486 iproc=486 ;;
|
|
5) iproc=586
|
|
if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
|
|
proc=pentium-mmx # 4 is desktop, 8 is mobile
|
|
else
|
|
proc=i586
|
|
fi
|
|
;;
|
|
6) iproc=686
|
|
if test "$pmodel" -ge 15; then
|
|
proc=core2
|
|
elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
|
|
proc=pentium-m
|
|
elif test "$pmodel" -ge 7; then
|
|
proc=pentium3
|
|
elif test "$pmodel" -ge 3; then
|
|
proc=pentium2
|
|
else
|
|
proc=i686
|
|
fi
|
|
;;
|
|
15) iproc=686
|
|
# A nocona in 32-bit mode has no more capabilities than a prescott.
|
|
if test "$pmodel" -ge 3; then
|
|
proc=prescott
|
|
else
|
|
proc=pentium4
|
|
fi
|
|
test $_fast_cmov = "auto" && _fast_cmov=no
|
|
;;
|
|
*) proc=prescott iproc=686 ;;
|
|
esac
|
|
;;
|
|
CentaurHauls)
|
|
case "$pfamily" in
|
|
5) iproc=586
|
|
if test "$pmodel" -ge 8; then
|
|
proc=winchip2
|
|
elif test "$pmodel" -ge 4; then
|
|
proc=winchip-c6
|
|
else
|
|
proc=i586
|
|
fi
|
|
;;
|
|
6) iproc=686
|
|
if test "$pmodel" -ge 9; then
|
|
proc=c3-2
|
|
else
|
|
proc=c3
|
|
iproc=586
|
|
fi
|
|
;;
|
|
*) proc=i686 iproc=i686 ;;
|
|
esac
|
|
;;
|
|
unknown)
|
|
case "$pfamily" in
|
|
3) proc=i386 iproc=386 ;;
|
|
4) proc=i486 iproc=486 ;;
|
|
*) proc=i586 iproc=586 ;;
|
|
esac
|
|
;;
|
|
*)
|
|
proc=i586 iproc=586 ;;
|
|
esac
|
|
fi # test "$_runtime_cpudetection" = no
|
|
|
|
|
|
# check that gcc supports our CPU, if not, fall back to earlier ones
|
|
# LGB: check -mcpu and -march swithing step by step with enabling
|
|
# to fall back till 386.
|
|
|
|
# gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
|
|
|
|
if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
|
|
cpuopt=-mtune
|
|
else
|
|
cpuopt=-mcpu
|
|
fi
|
|
|
|
echocheck "GCC & CPU optimization abilities"
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
if test "$_runtime_cpudetection" = no ; then
|
|
cc_check -march=native && proc=native
|
|
if test "$proc" = "k8"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
|
|
fi
|
|
if test "$proc" = "athlon-xp"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=athlon
|
|
fi
|
|
if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=k6
|
|
fi
|
|
if test "$proc" = "k6" || test "$proc" = "c3"; then
|
|
if ! cc_check -march=$proc $cpuopt=$proc; then
|
|
if cc_check -march=i586 $cpuopt=i686; then
|
|
proc=i586-i686
|
|
else
|
|
proc=i586
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$proc" = "prescott" ; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=pentium4
|
|
fi
|
|
if test "$proc" = "core2" ; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
|
|
fi
|
|
if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2" || test "$proc" = "geode"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=i686
|
|
fi
|
|
if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=i586
|
|
fi
|
|
if test "$proc" = "i586"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=i486
|
|
fi
|
|
if test "$proc" = "i486" ; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=i386
|
|
fi
|
|
if test "$proc" = "i386" ; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=error
|
|
fi
|
|
if test "$proc" = "error" ; then
|
|
echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
|
|
_mcpu=""
|
|
_march=""
|
|
_optimizing=""
|
|
elif test "$proc" = "i586-i686"; then
|
|
_march="-march=i586"
|
|
_mcpu="$cpuopt=i686"
|
|
_optimizing="$proc"
|
|
else
|
|
_march="-march=$proc"
|
|
_mcpu="$cpuopt=$proc"
|
|
_optimizing="$proc"
|
|
fi
|
|
else # if test "$_runtime_cpudetection" = no
|
|
_mcpu="$cpuopt=generic"
|
|
# at least i486 required, for bswap instruction
|
|
_march="-march=i486"
|
|
cc_check $_mcpu || _mcpu="$cpuopt=i686"
|
|
cc_check $_mcpu || _mcpu=""
|
|
cc_check $_march $_mcpu || _march=""
|
|
fi
|
|
|
|
## Gabucino : --target takes effect here (hopefully...) by overwriting
|
|
## autodetected mcpu/march parameters
|
|
if test "$_target" ; then
|
|
# TODO: it may be a good idea to check GCC and fall back in all cases
|
|
if test "$host_arch" = "i586-i686"; then
|
|
_march="-march=i586"
|
|
_mcpu="$cpuopt=i686"
|
|
else
|
|
_march="-march=$host_arch"
|
|
_mcpu="$cpuopt=$host_arch"
|
|
fi
|
|
|
|
proc="$host_arch"
|
|
|
|
case "$proc" in
|
|
i386) iproc=386 ;;
|
|
i486) iproc=486 ;;
|
|
i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
|
|
i686|athlon*|pentium*) iproc=686 ;;
|
|
*) iproc=586 ;;
|
|
esac
|
|
fi
|
|
|
|
if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
|
|
_fast_cmov="yes"
|
|
else
|
|
_fast_cmov="no"
|
|
fi
|
|
|
|
echores "$proc"
|
|
;;
|
|
|
|
ia64)
|
|
_arch='IA64'
|
|
_target_arch='ARCH_IA64 = yes'
|
|
iproc='ia64'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
x86_64|amd64)
|
|
_arch='X86 X86_64'
|
|
_target_arch='ARCH_X86_64 = yes'
|
|
_target_arch_x86="ARCH_X86 = yes"
|
|
_def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
|
|
iproc='x86_64'
|
|
|
|
# gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
|
|
if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
|
|
cpuopt=-mtune
|
|
else
|
|
cpuopt=-mcpu
|
|
fi
|
|
if test "$_runtime_cpudetection" = no ; then
|
|
case "$pvendor" in
|
|
AuthenticAMD)
|
|
proc=k8;;
|
|
GenuineIntel)
|
|
case "$pfamily" in
|
|
6) proc=core2;;
|
|
*)
|
|
# 64-bit prescotts exist, but as far as GCC is concerned they
|
|
# have the same capabilities as a nocona.
|
|
proc=nocona
|
|
test $_fast_cmov = "auto" && _fast_cmov=no
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
proc=error;;
|
|
esac
|
|
fi # test "$_runtime_cpudetection" = no
|
|
|
|
echocheck "GCC & CPU optimization abilities"
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
# This is a stripped-down version of the i386 fallback.
|
|
if test "$_runtime_cpudetection" = no ; then
|
|
cc_check -march=native && proc=native
|
|
# --- AMD processors ---
|
|
if test "$proc" = "k8"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
|
|
fi
|
|
# This will fail if gcc version < 3.3, which is ok because earlier
|
|
# versions don't really support 64-bit on amd64.
|
|
# Is this a valid assumption? -Corey
|
|
if test "$proc" = "athlon-xp"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=error
|
|
fi
|
|
# --- Intel processors ---
|
|
if test "$proc" = "core2"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=nocona
|
|
fi
|
|
if test "$proc" = "nocona"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=pentium4
|
|
fi
|
|
if test "$proc" = "pentium4"; then
|
|
cc_check -march=$proc $cpuopt=$proc || proc=error
|
|
fi
|
|
|
|
_march="-march=$proc"
|
|
_mcpu="$cpuopt=$proc"
|
|
if test "$proc" = "error" ; then
|
|
echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
|
|
_mcpu=""
|
|
_march=""
|
|
fi
|
|
else # if test "$_runtime_cpudetection" = no
|
|
# x86-64 is an undocumented option, an intersection of k8 and nocona.
|
|
_march="-march=x86-64"
|
|
_mcpu="$cpuopt=generic"
|
|
cc_check $_mcpu || _mcpu="x86-64"
|
|
cc_check $_mcpu || _mcpu=""
|
|
cc_check $_march $_mcpu || _march=""
|
|
fi
|
|
|
|
_optimizing=""
|
|
|
|
echores "$proc"
|
|
;;
|
|
|
|
sparc)
|
|
_arch='SPARC'
|
|
_target_arch='ARCH_SPARC = yes'
|
|
iproc='sparc'
|
|
if sunos ; then
|
|
echocheck "CPU type"
|
|
karch=`uname -m`
|
|
case "`echo $karch`" in
|
|
sun4) proc=v7 ;;
|
|
sun4c) proc=v7 ;;
|
|
sun4d) proc=v8 ;;
|
|
sun4m) proc=v8 ;;
|
|
sun4u) proc=ultrasparc _vis='yes' ;;
|
|
sun4v) proc=v9 ;;
|
|
*) proc=v8 ;;
|
|
esac
|
|
echores "$proc"
|
|
else
|
|
proc=v8
|
|
fi
|
|
_march=''
|
|
_mcpu="-mcpu=$proc"
|
|
_optimizing="$proc"
|
|
;;
|
|
|
|
sparc64)
|
|
_arch='SPARC'
|
|
_target_arch='ARCH_SPARC = yes'
|
|
_vis='yes'
|
|
iproc='sparc'
|
|
proc='ultrasparc'
|
|
_march=''
|
|
_mcpu="-mcpu=$proc"
|
|
_optimizing="$proc"
|
|
;;
|
|
|
|
arm|armv4l|armv5tel)
|
|
_arch='ARM ARMV4L'
|
|
_target_arch='ARCH_ARMV4L = yes'
|
|
iproc='arm'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
sh3)
|
|
_arch='SH3'
|
|
_target_arch='ARCH_SH3 = yes'
|
|
iproc='sh3'
|
|
proc=''
|
|
_march='-m3'
|
|
_mcpu='-ml'
|
|
_optimizing=''
|
|
;;
|
|
|
|
ppc|powerpc)
|
|
_arch='POWERPC PPC'
|
|
_def_dcbzl='#undef HAVE_DCBZL'
|
|
_target_arch='ARCH_POWERPC = yes'
|
|
iproc='ppc'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
|
|
echocheck "CPU type"
|
|
case $system_name in
|
|
Linux)
|
|
proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
|
|
if test -n "`$_cpuinfo | grep altivec`"; then
|
|
test $_altivec = auto && _altivec=yes
|
|
fi
|
|
;;
|
|
Darwin)
|
|
proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
|
|
if [ `sysctl -n hw.vectorunit` -eq 1 -o \
|
|
"`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
|
|
test $_altivec = auto && _altivec=yes
|
|
fi
|
|
;;
|
|
NetBSD)
|
|
# only gcc 3.4 works reliably with AltiVec code under NetBSD
|
|
case $cc_version in
|
|
2*|3.0*|3.1*|3.2*|3.3*)
|
|
;;
|
|
*)
|
|
if [ `sysctl -n machdep.altivec` -eq 1 ]; then
|
|
test $_altivec = auto && _altivec=yes
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
AIX)
|
|
proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
|
|
;;
|
|
esac
|
|
if test "$_altivec" = yes; then
|
|
echores "$proc altivec"
|
|
else
|
|
_altivec=no
|
|
echores "$proc"
|
|
fi
|
|
|
|
echocheck "GCC & CPU optimization abilities"
|
|
|
|
if test -n "$proc"; then
|
|
case "$proc" in
|
|
601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
|
|
603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
|
|
603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
|
|
604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
|
|
740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
|
|
750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
|
|
POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
|
|
POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
|
|
POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
|
|
*) ;;
|
|
esac
|
|
# gcc 3.1(.1) and up supports 7400 and 7450
|
|
if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
|
|
case "$proc" in
|
|
7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
|
|
7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
|
|
*) ;;
|
|
esac
|
|
fi
|
|
# gcc 3.2 and up supports 970
|
|
if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
|
|
case "$proc" in
|
|
970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
|
|
_def_dcbzl='#define HAVE_DCBZL 1' ;;
|
|
*) ;;
|
|
esac
|
|
fi
|
|
# gcc 3.3 and up supports POWER4
|
|
if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
|
|
case "$proc" in
|
|
POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
|
|
*) ;;
|
|
esac
|
|
fi
|
|
# gcc 3.4 and up supports 440*
|
|
if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
|
|
case "$proc" in
|
|
440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
|
|
440G* ) _march='-mcpu=440' _mcpu='-mtune=440' ;;
|
|
*) ;;
|
|
esac
|
|
fi
|
|
# gcc 4.0 and up supports POWER5
|
|
if test "$_cc_major" -ge "4"; then
|
|
case "$proc" in
|
|
POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
|
|
*) ;;
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
if test -n "$_mcpu"; then
|
|
_optimizing=`echo $_mcpu | cut -c 8-`
|
|
echores "$_optimizing"
|
|
else
|
|
echores "none"
|
|
fi
|
|
|
|
;;
|
|
|
|
alpha)
|
|
_arch='ALPHA'
|
|
_target_arch='ARCH_ALPHA = yes'
|
|
iproc='alpha'
|
|
_march=''
|
|
|
|
echocheck "CPU type"
|
|
cat > $TMPC << EOF
|
|
int main(void) {
|
|
unsigned long ver, mask;
|
|
asm ("implver %0" : "=r" (ver));
|
|
asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
|
|
printf("%ld-%x\n", ver, ~mask);
|
|
return 0;
|
|
}
|
|
EOF
|
|
$_cc -o "$TMPEXE" "$TMPC"
|
|
case `"$TMPEXE"` in
|
|
|
|
0-0) proc="ev4"; _mvi="0";;
|
|
1-0) proc="ev5"; _mvi="0";;
|
|
1-1) proc="ev56"; _mvi="0";;
|
|
1-101) proc="pca56"; _mvi="1";;
|
|
2-303) proc="ev6"; _mvi="1";;
|
|
2-307) proc="ev67"; _mvi="1";;
|
|
2-1307) proc="ev68"; _mvi="1";;
|
|
esac
|
|
echores "$proc"
|
|
|
|
echocheck "GCC & CPU optimization abilities"
|
|
if test "$proc" = "ev68" ; then
|
|
cc_check -mcpu=$proc || proc=ev67
|
|
fi
|
|
if test "$proc" = "ev67" ; then
|
|
cc_check -mcpu=$proc || proc=ev6
|
|
fi
|
|
_mcpu="-mcpu=$proc"
|
|
echores "$proc"
|
|
|
|
_optimizing="$proc"
|
|
;;
|
|
|
|
mips)
|
|
_arch='SGI_MIPS'
|
|
_target_arch='ARCH_SGI_MIPS = yes'
|
|
iproc='sgi-mips'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
|
|
if irix ; then
|
|
echocheck "CPU type"
|
|
proc=`hinv -c processor | grep CPU | cut -d " " -f3`
|
|
case "`echo $proc`" in
|
|
R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
|
|
R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
|
|
R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
|
|
R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
|
|
R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
|
|
R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
|
|
esac
|
|
# gcc < 3.x does not support -mtune.
|
|
if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
|
|
_mcpu=''
|
|
fi
|
|
echores "$proc"
|
|
fi
|
|
|
|
;;
|
|
|
|
hppa)
|
|
_arch='PA_RISC'
|
|
_target_arch='ARCH_PA_RISC = yes'
|
|
iproc='PA-RISC'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
s390)
|
|
_arch='S390'
|
|
_target_arch='ARCH_S390 = yes'
|
|
iproc='390'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
s390x)
|
|
_arch='S390X'
|
|
_target_arch='ARCH_S390X = yes'
|
|
iproc='390x'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
vax)
|
|
_arch='VAX'
|
|
_target_arch='ARCH_VAX = yes'
|
|
iproc='vax'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
xtensa)
|
|
_arch='XTENSA'
|
|
_target_arch='ARCH_XTENSA = yes'
|
|
iproc='xtensa'
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
generic)
|
|
_arch='GENERIC'
|
|
_target_arch='ARCH_GENERIC = yes'
|
|
iproc=''
|
|
proc=''
|
|
_march=''
|
|
_mcpu=''
|
|
_optimizing=''
|
|
;;
|
|
|
|
*)
|
|
echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
|
|
echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
|
|
die "unsupported architecture $host_arch"
|
|
;;
|
|
esac # case "$host_arch" in
|
|
|
|
if test "$_runtime_cpudetection" = yes ; then
|
|
if x86 ; then
|
|
test "$_cmov" != no && _cmov=yes
|
|
x86_32 && _cmov=no
|
|
test "$_mmx" != no && _mmx=yes
|
|
test "$_3dnow" != no && _3dnow=yes
|
|
test "$_3dnowext" != no && _3dnowext=yes
|
|
test "$_mmxext" != no && _mmxext=yes
|
|
test "$_sse" != no && _sse=yes
|
|
test "$_sse2" != no && _sse2=yes
|
|
test "$_ssse3" != no && _ssse3=yes
|
|
test "$_mtrr" != no && _mtrr=yes
|
|
fi
|
|
if ppc; then
|
|
_altivec=yes
|
|
fi
|
|
fi
|
|
|
|
|
|
echocheck "extern symbol prefix"
|
|
cat > $TMPC << EOF
|
|
int ff_extern;
|
|
EOF
|
|
cc_check -c || die "Symbol mangling check failed."
|
|
sym=$(nm -P -g $TMPEXE)
|
|
extern_prefix=${sym%%ff_extern*}
|
|
_def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
|
|
echores $extern_prefix
|
|
|
|
|
|
echocheck "assembler support of -pipe option"
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
|
|
|
|
|
|
echocheck "compiler support of named assembler arguments"
|
|
_named_asm_args=yes
|
|
_def_named_asm_args="#define NAMED_ASM_ARGS 1"
|
|
if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
|
|
-o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
|
|
_named_asm_args=no
|
|
_def_named_asm_args="#undef NAMED_ASM_ARGS"
|
|
fi
|
|
echores $_named_asm_args
|
|
|
|
|
|
if darwin && test "$cc_vendor" = "gnu" ; then
|
|
echocheck "GCC support of -mstackrealign"
|
|
# GCC 4.2 and some earlier Apple versions support this flag on x86. Since
|
|
# Mac OS X/Intel has an ABI different from Windows this is needed to avoid
|
|
# crashes when loading Win32 DLLs. Unfortunately some gcc versions create
|
|
# wrong code with this flag, but this can be worked around by adding
|
|
# -fno-unit-at-a-time as described in the blog post at
|
|
# http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
|
|
cat > $TMPC << EOF
|
|
__attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
|
|
int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
|
|
EOF
|
|
cc_check -O4 -mstackrealign && tmp_run && _stackrealign=-mstackrealign
|
|
test -z "$_stackrealign" && cc_check -O4 -mstackrealign -fno-unit-at-a-time \
|
|
&& tmp_run && _stackrealign="-mstackrealign -fno-unit-at-a-time"
|
|
test -n "$_stackrealign" && echores "yes" || echores "no"
|
|
fi # if darwin && test "$cc_vendor" = "gnu" ; then
|
|
|
|
|
|
# Checking for CFLAGS
|
|
_install_strip="-s"
|
|
if test "$_profile" != "" || test "$_debug" != "" ; then
|
|
CFLAGS="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
|
|
_install_strip=
|
|
elif test -z "$CFLAGS" ; then
|
|
if test "$cc_vendor" = "intel" ; then
|
|
CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
|
|
elif test "$cc_vendor" != "gnu" ; then
|
|
CFLAGS="-O2 $_march $_mcpu $_pipe"
|
|
else
|
|
CFLAGS="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
|
|
fi
|
|
else
|
|
_warn_CFLAGS=yes
|
|
fi
|
|
if test -n "$LDFLAGS" ; then
|
|
_ld_extra="$_ld_extra $LDFLAGS"
|
|
_warn_CFLAGS=yes
|
|
elif test "$cc_vendor" = "intel" ; then
|
|
_ld_extra="$_ld_extra -i-static"
|
|
fi
|
|
if test -n "$CPPFLAGS" ; then
|
|
_inc_extra="$_inc_extra $CPPFLAGS"
|
|
_warn_CFLAGS=yes
|
|
fi
|
|
|
|
|
|
|
|
if x86_32 ; then
|
|
# Checking assembler (_as) compatibility...
|
|
# Added workaround for older as that reads from stdin by default - atmos
|
|
as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
|
|
echocheck "assembler ($_as $as_version)"
|
|
|
|
_pref_as_version='2.9.1'
|
|
echo 'nop' > $TMPS
|
|
if test "$_mmx" = yes ; then
|
|
echo 'emms' >> $TMPS
|
|
fi
|
|
if test "$_3dnow" = yes ; then
|
|
_pref_as_version='2.10.1'
|
|
echo 'femms' >> $TMPS
|
|
fi
|
|
if test "$_3dnowext" = yes ; then
|
|
_pref_as_version='2.10.1'
|
|
echo 'pswapd %mm0, %mm0' >> $TMPS
|
|
fi
|
|
if test "$_mmxext" = yes ; then
|
|
_pref_as_version='2.10.1'
|
|
echo 'movntq %mm0, (%eax)' >> $TMPS
|
|
fi
|
|
if test "$_sse" = yes ; then
|
|
_pref_as_version='2.10.1'
|
|
echo 'xorps %xmm0, %xmm0' >> $TMPS
|
|
fi
|
|
#if test "$_sse2" = yes ; then
|
|
# _pref_as_version='2.11'
|
|
# echo 'xorpd %xmm0, %xmm0' >> $TMPS
|
|
#fi
|
|
if test "$_cmov" = yes ; then
|
|
_pref_as_version='2.10.1'
|
|
echo 'cmovb %eax, %ebx' >> $TMPS
|
|
fi
|
|
if test "$_ssse3" = yes ; then
|
|
_pref_as_version='2.16.92'
|
|
echo 'pabsd %xmm0, %xmm1' >> $TMPS
|
|
fi
|
|
$_as $TMPS -o $TMPEXE > /dev/null 2>&1 || as_verc_fail=yes
|
|
|
|
if test "$as_verc_fail" != yes ; then
|
|
echores "ok"
|
|
else
|
|
_res_comment="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
|
|
echores "failed"
|
|
die "obsolete binutils version"
|
|
fi
|
|
|
|
fi #if x86_32
|
|
|
|
echocheck ".align is a power of two"
|
|
if test "$_asmalign_pot" = auto ; then
|
|
_asmalign_pot=no
|
|
cat > $TMPC << EOF
|
|
main(void) { asm (".align 3"); }
|
|
EOF
|
|
cc_check && _asmalign_pot=yes
|
|
fi
|
|
if test "$_asmalign_pot" = "yes" ; then
|
|
_def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
|
|
else
|
|
_def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
|
|
fi
|
|
echores $_asmalign_pot
|
|
|
|
|
|
#FIXME: This should happen before the check for CFLAGS..
|
|
if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
|
|
|
|
# check if AltiVec is supported by the compiler, and how to enable it
|
|
echocheck "GCC AltiVec flags"
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -maltivec -mabi=altivec \
|
|
&& _altivec_gcc_flags="-maltivec -mabi=altivec" \
|
|
|| { cc_check -faltivec && _altivec_gcc_flags=-faltivec ; } \
|
|
|| { _altivec=no && _altivec_gcc_flags="none, AltiVec disabled" ; }
|
|
echores "$_altivec_gcc_flags"
|
|
|
|
# check if <altivec.h> should be included
|
|
echocheck "altivec.h"
|
|
_def_altivec_h='#undef HAVE_ALTIVEC_H'
|
|
_have_altivec_h=no
|
|
cat > $TMPC << EOF
|
|
#include <altivec.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check $_altivec_gcc_flags && _have_altivec_h=yes \
|
|
&& _def_altivec_h='#define HAVE_ALTIVEC_H 1'
|
|
echores "$_have_altivec_h"
|
|
|
|
# Disable runtime cpudetection if we cannot generate AltiVec code or
|
|
# AltiVec is disabled by the user.
|
|
test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
|
|
&& _runtime_cpudetection=no
|
|
|
|
# Show that we are optimizing for AltiVec (if enabled and supported).
|
|
test "$_runtime_cpudetection" = no && test "$_altivec" = yes \
|
|
&& _optimizing="$_optimizing altivec"
|
|
|
|
# If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
|
|
test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"
|
|
fi
|
|
|
|
if arm ; then
|
|
echocheck "ARMv5TE (Enhanced DSP Extensions)"
|
|
if test $_armv5te = "auto" ; then
|
|
cat > $TMPC << EOF
|
|
int main(void) { __asm__ __volatile__ ("qadd r0, r0, r0"); }
|
|
EOF
|
|
_armv5te=no
|
|
cc_check && _armv5te=yes
|
|
fi
|
|
echores "$_armv5te"
|
|
|
|
echocheck "ARMv6 (SIMD instructions)"
|
|
if test $_armv6 = "auto" ; then
|
|
cat > $TMPC << EOF
|
|
int main(void) { __asm__ __volatile__ ("sadd16 r0, r0, r0"); }
|
|
EOF
|
|
_armv6=no
|
|
cc_check && _armv6=yes
|
|
fi
|
|
echores "$_armv6"
|
|
|
|
echocheck "iWMMXt (Intel XScale SIMD instructions)"
|
|
if test $_iwmmxt = "auto" ; then
|
|
cat > $TMPC << EOF
|
|
int main(void) { __asm__ __volatile__ ("wunpckelub wr6, wr4"); }
|
|
EOF
|
|
_iwmmxt=no
|
|
cc_check && _iwmmxt=yes
|
|
fi
|
|
echores "$_iwmmxt"
|
|
fi
|
|
|
|
_cpuexts_all='ALTIVEC MMX MMX2 3DNOW 3DNOWEX SSE SSE2 SSSE3 FAST_CMOV CMOV ARMV5TE ARMV6 IWMMXT MLIB MMI SH4 VIS MVI'
|
|
test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts"
|
|
test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
|
|
test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
|
|
test "$_3dnow" = yes && _cpuexts="3DNOW $_cpuexts"
|
|
test "$_3dnowext" = yes && _cpuexts="3DNOWEX $_cpuexts"
|
|
test "$_sse" = yes && _cpuexts="SSE $_cpuexts"
|
|
test "$_sse2" = yes && _cpuexts="SSE2 $_cpuexts"
|
|
test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
|
|
test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
|
|
test "$_fast_cmov" = yes && _cpuexts="FAST_CMOV $_cpuexts"
|
|
test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
|
|
test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
|
|
test "$_iwmmxt" = yes && _cpuexts="IWMMXT $_cpuexts"
|
|
test "$_vis" = yes && _cpuexts="VIS $_cpuexts"
|
|
test "$_mvi" = yes && _cpuexts="MVI $_cpuexts"
|
|
|
|
# Checking kernel version...
|
|
if x86_32 && linux ; then
|
|
_k_verc_problem=no
|
|
kernel_version=`uname -r 2>&1`
|
|
echocheck "$system_name kernel version"
|
|
case "$kernel_version" in
|
|
'') kernel_version="?.??"; _k_verc_fail=yes;;
|
|
[0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
|
|
_k_verc_problem=yes;;
|
|
esac
|
|
if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
|
|
_k_verc_fail=yes
|
|
fi
|
|
if test "$_k_verc_fail" ; then
|
|
echores "$kernel_version, fail"
|
|
echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
|
|
echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
|
|
echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
|
|
echo "supports SSE, but you have been warned! If you are using a kernel older than"
|
|
echo "2.2.x you must upgrade it to get SSE support!"
|
|
# die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
|
|
else
|
|
echores "$kernel_version, ok"
|
|
fi
|
|
fi
|
|
|
|
######################
|
|
# MAIN TESTS GO HERE #
|
|
######################
|
|
|
|
|
|
echocheck "-lposix"
|
|
cat > $TMPC <<EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
if cc_check -lposix ; then
|
|
_ld_extra="$_ld_extra -lposix"
|
|
echores "yes"
|
|
else
|
|
echores "no"
|
|
fi
|
|
|
|
echocheck "-lm"
|
|
cat > $TMPC <<EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
if cc_check -lm ; then
|
|
_ld_lm="-lm"
|
|
echores "yes"
|
|
else
|
|
_ld_lm=""
|
|
echores "no"
|
|
fi
|
|
|
|
|
|
echocheck "langinfo"
|
|
if test "$_langinfo" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <langinfo.h>
|
|
int main(void) { nl_langinfo(CODESET); return 0; }
|
|
EOF
|
|
_langinfo=no
|
|
cc_check && _langinfo=yes
|
|
fi
|
|
if test "$_langinfo" = yes ; then
|
|
_def_langinfo='#define USE_LANGINFO 1'
|
|
else
|
|
_def_langinfo='#undef USE_LANGINFO'
|
|
fi
|
|
echores "$_langinfo"
|
|
|
|
|
|
echocheck "language"
|
|
test -z "$_language" && _language=$LINGUAS
|
|
_language=`echo $_language | sed 's/,/ /g'`
|
|
echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
|
|
for lang in $_language ; do
|
|
test "$lang" = all && lang=en
|
|
if test -f "help/help_mp-${lang}.h" ; then
|
|
_language=$lang
|
|
break
|
|
else
|
|
echo ${_echo_n} "$lang not found, ${_echo_c}"
|
|
_language=`echo $_language | sed "s/$lang *//"`
|
|
fi
|
|
done
|
|
test -z "$_language" && _language=en
|
|
_mp_help="help/help_mp-${_language}.h"
|
|
test -f $_mp_help || die "$_mp_help not found"
|
|
for lang in $LANGUAGES ; do
|
|
if test -f "DOCS/man/$lang/mplayer.1" ; then
|
|
MAN_LANG_ALL="$lang $MAN_LANG_ALL"
|
|
fi
|
|
done
|
|
MAN_LANG="$(echo $MAN_LANG_ALL | sed 's/en//')"
|
|
_doc_lang=$_language
|
|
test -d DOCS/xml/$_doc_lang || _doc_lang=en
|
|
echores "using $_language (man pages: $MAN_LANG_ALL)"
|
|
|
|
|
|
echocheck "enable sighandler"
|
|
if test "$_sighandler" = yes ; then
|
|
_def_sighandler='#define ENABLE_SIGHANDLER 1'
|
|
else
|
|
_def_sighandler='#undef ENABLE_SIGHANDLER'
|
|
fi
|
|
echores "$_sighandler"
|
|
|
|
echocheck "runtime cpudetection"
|
|
if test "$_runtime_cpudetection" = yes ; then
|
|
_optimizing="Runtime CPU-Detection enabled"
|
|
_def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
|
|
else
|
|
_def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
|
|
fi
|
|
echores "$_runtime_cpudetection"
|
|
|
|
|
|
echocheck "restrict keyword"
|
|
for restrict_keyword in restrict __restrict __restrict__ ; do
|
|
echo "void foo(char * $restrict_keyword p); int main(void) {}" > $TMPC
|
|
if cc_check; then
|
|
_def_restrict_keyword=$restrict_keyword
|
|
break;
|
|
fi
|
|
done
|
|
if [ -n "$_def_restrict_keyword" ]; then
|
|
echores "$_def_restrict_keyword"
|
|
else
|
|
echores "none"
|
|
fi
|
|
# Avoid infinite recursion loop ("#define restrict restrict")
|
|
if [ "$_def_restrict_keyword" != "restrict" ]; then
|
|
_def_restrict_keyword="#define restrict $_def_restrict_keyword"
|
|
else
|
|
_def_restrict_keyword=""
|
|
fi
|
|
|
|
|
|
echocheck "__builtin_expect"
|
|
# GCC branch prediction hint
|
|
cat > $TMPC << EOF
|
|
int foo (int a) {
|
|
a = __builtin_expect (a, 10);
|
|
return a == 10 ? 0 : 1;
|
|
}
|
|
int main(void) { return foo(10) && foo(0); }
|
|
EOF
|
|
_builtin_expect=no
|
|
cc_check && _builtin_expect=yes
|
|
if test "$_builtin_expect" = yes ; then
|
|
_def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
|
|
else
|
|
_def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
|
|
fi
|
|
echores "$_builtin_expect"
|
|
|
|
|
|
echocheck "kstat"
|
|
cat > $TMPC << EOF
|
|
#include <kstat.h>
|
|
int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
|
|
EOF
|
|
_kstat=no
|
|
cc_check -lkstat && _kstat=yes
|
|
if test "$_kstat" = yes ; then
|
|
_def_kstat="#define HAVE_LIBKSTAT 1"
|
|
_ld_extra="$_ld_extra -lkstat"
|
|
else
|
|
_def_kstat="#undef HAVE_LIBKSTAT"
|
|
fi
|
|
echores "$_kstat"
|
|
|
|
|
|
echocheck "posix4"
|
|
# required for nanosleep on some systems
|
|
cat > $TMPC << EOF
|
|
#include <time.h>
|
|
int main(void) { (void) nanosleep(0, 0); return 0; }
|
|
EOF
|
|
_posix4=no
|
|
cc_check -lposix4 && _posix4=yes
|
|
if test "$_posix4" = yes ; then
|
|
_ld_extra="$_ld_extra -lposix4"
|
|
fi
|
|
echores "$_posix4"
|
|
|
|
for func in llrint lrint lrintf round roundf; do
|
|
echocheck $func
|
|
cat > $TMPC << EOF
|
|
#include <math.h>
|
|
int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
|
|
EOF
|
|
eval _$func=no
|
|
cc_check -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes
|
|
if eval test "x\$_$func" = "xyes"; then
|
|
eval _def_$func="\"#define HAVE_`echo $func | tr '[a-z]' '[A-Z]'` 1\""
|
|
echores yes
|
|
else
|
|
eval _def_$func="\"#undef HAVE_`echo $func | tr '[a-z]' '[A-Z]'`\""
|
|
echores no
|
|
fi
|
|
done
|
|
|
|
|
|
echocheck "mkstemp"
|
|
cat > $TMPC << EOF
|
|
#include <stdlib.h>
|
|
int main(void) { char a; mkstemp(&a); return 0; }
|
|
EOF
|
|
_mkstemp=no
|
|
cc_check && _mkstemp=yes
|
|
if test "$_mkstemp" = yes ; then
|
|
_def_mkstemp='#define HAVE_MKSTEMP 1'
|
|
else
|
|
_def_mkstemp='#undef HAVE_MKSTEMP'
|
|
fi
|
|
echores "$_mkstemp"
|
|
|
|
|
|
echocheck "nanosleep"
|
|
# also check for nanosleep
|
|
cat > $TMPC << EOF
|
|
#include <time.h>
|
|
int main(void) { (void) nanosleep(0, 0); return 0; }
|
|
EOF
|
|
_nanosleep=no
|
|
cc_check && _nanosleep=yes
|
|
if test "$_nanosleep" = yes ; then
|
|
_def_nanosleep='#define HAVE_NANOSLEEP 1'
|
|
else
|
|
_def_nanosleep='#undef HAVE_NANOSLEEP'
|
|
fi
|
|
echores "$_nanosleep"
|
|
|
|
|
|
echocheck "socklib"
|
|
# for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
|
|
# for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
|
|
cat > $TMPC << EOF
|
|
#include <netdb.h>
|
|
#include <sys/socket.h>
|
|
int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
|
|
EOF
|
|
_socklib=no
|
|
for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
|
|
cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
|
|
done
|
|
if test $_winsock2 = auto && ! cygwin ; then
|
|
_winsock2=no
|
|
cat > $TMPC << EOF
|
|
#include <winsock2.h>
|
|
int main(void) { (void) gethostbyname(0); return 0; }
|
|
EOF
|
|
cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
|
|
fi
|
|
test "$_ld_sock" && _res_comment="using $_ld_sock"
|
|
echores "$_socklib"
|
|
|
|
|
|
if test $_winsock2 = yes ; then
|
|
_ld_sock="-lws2_32"
|
|
_def_winsock2='#define HAVE_WINSOCK2 1'
|
|
else
|
|
_def_winsock2='#undef HAVE_WINSOCK2'
|
|
fi
|
|
|
|
|
|
_use_aton=no
|
|
echocheck "inet_pton()"
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <arpa/inet.h>
|
|
int main(void) { (void) inet_pton(0, 0, 0); return 0; }
|
|
EOF
|
|
if test "$_winsock2" = yes ; then
|
|
_res_comment="using winsock2 functions instead"
|
|
echores "no"
|
|
elif cc_check $_ld_sock ; then
|
|
# NOTE: Linux has libresolv but does not need it
|
|
:
|
|
_res_comment="using $_ld_sock"
|
|
echores "yes"
|
|
elif cc_check $_ld_sock -lresolv ; then
|
|
# NOTE: needed for SunOS at least
|
|
_ld_sock="$_ld_sock -lresolv"
|
|
_res_comment="using $_ld_sock"
|
|
echores "yes"
|
|
else
|
|
_res_comment="trying inet_aton next"
|
|
echores "no"
|
|
|
|
echocheck "inet_aton()"
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <arpa/inet.h>
|
|
int main(void) { (void) inet_aton(0, 0); return 0; }
|
|
EOF
|
|
_use_aton=yes
|
|
if cc_check $_ld_sock ; then
|
|
# NOTE: Linux has libresolv but does not need it
|
|
:
|
|
_res_comment="using $_ld_sock"
|
|
elif cc_check $_ld_sock -lresolv ; then
|
|
# NOTE: needed for SunOS at least
|
|
_ld_sock="$_ld_sock -lresolv"
|
|
_res_comment="using $_ld_sock"
|
|
else
|
|
_use_aton=no
|
|
_network=no
|
|
_res_comment="network support disabled"
|
|
fi
|
|
echores "$_use_aton"
|
|
fi
|
|
|
|
_def_use_aton='#undef USE_ATON'
|
|
if test "$_use_aton" = yes; then
|
|
_def_use_aton='#define USE_ATON 1'
|
|
fi
|
|
|
|
echocheck "network"
|
|
# FIXME network check
|
|
if test "$_network" = yes ; then
|
|
_def_network='#define MPLAYER_NETWORK 1'
|
|
_ld_extra="$_ld_extra $_ld_sock"
|
|
_inputmodules="network $_inputmodules"
|
|
else
|
|
_noinputmodules="network $_noinputmodules"
|
|
_def_network='#undef MPLAYER_NETWORK'
|
|
_ftp=no
|
|
fi
|
|
echores "$_network"
|
|
|
|
echocheck "inttypes.h (required)"
|
|
cat > $TMPC << EOF
|
|
#include <inttypes.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_inttypes=no
|
|
cc_check && _inttypes=yes
|
|
echores "$_inttypes"
|
|
|
|
if test "$_inttypes" = no ; then
|
|
echocheck "bitypes.h (inttypes.h predecessor)"
|
|
cat > $TMPC << EOF
|
|
#include <sys/bitypes.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check && _inttypes=yes
|
|
if test "$_inttypes" = yes ; then
|
|
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."
|
|
else
|
|
die "Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
|
|
fi
|
|
fi
|
|
|
|
|
|
echocheck "int_fastXY_t in inttypes.h"
|
|
cat > $TMPC << EOF
|
|
#include <inttypes.h>
|
|
int main(void) {
|
|
volatile int_fast16_t v= 0;
|
|
return v; }
|
|
EOF
|
|
_fast_inttypes=no
|
|
cc_check && _fast_inttypes=yes
|
|
if test "$_fast_inttypes" = no ; then
|
|
_def_fast_inttypes='
|
|
typedef signed char int_fast8_t;
|
|
typedef signed int int_fast16_t;
|
|
typedef signed int int_fast32_t;
|
|
typedef signed long long int_fast64_t;
|
|
typedef unsigned char uint_fast8_t;
|
|
typedef unsigned int uint_fast16_t;
|
|
typedef unsigned int uint_fast32_t;
|
|
typedef unsigned long long uint_fast64_t;'
|
|
fi
|
|
echores "$_fast_inttypes"
|
|
|
|
|
|
echocheck "word size"
|
|
_mp_wordsize="#undef MP_WORDSIZE"
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
|
|
EOF
|
|
cc_check && _wordsize=`$TMPEXE` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
|
|
echores "$_wordsize"
|
|
|
|
|
|
echocheck "malloc.h"
|
|
cat > $TMPC << EOF
|
|
#include <malloc.h>
|
|
int main(void) { (void) malloc(0); return 0; }
|
|
EOF
|
|
_malloc=no
|
|
cc_check && _malloc=yes
|
|
if test "$_malloc" = yes ; then
|
|
_def_malloc='#define HAVE_MALLOC_H 1'
|
|
else
|
|
_def_malloc='#undef HAVE_MALLOC_H'
|
|
fi
|
|
# malloc.h emits a warning in FreeBSD and OpenBSD
|
|
freebsd || openbsd || dragonfly && _def_malloc='#undef HAVE_MALLOC_H'
|
|
echores "$_malloc"
|
|
|
|
|
|
echocheck "memalign()"
|
|
# XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
|
|
cat > $TMPC << EOF
|
|
#include <malloc.h>
|
|
int main(void) { (void) memalign(64, sizeof(char)); return 0; }
|
|
EOF
|
|
_memalign=no
|
|
cc_check && _memalign=yes
|
|
if test "$_memalign" = yes ; then
|
|
_def_memalign='#define HAVE_MEMALIGN 1'
|
|
else
|
|
_def_memalign='#undef HAVE_MEMALIGN'
|
|
_def_map_memalign='#define memalign(a,b) malloc(b)'
|
|
darwin || _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
|
|
fi
|
|
echores "$_memalign"
|
|
|
|
|
|
echocheck "alloca.h"
|
|
cat > $TMPC << EOF
|
|
#include <alloca.h>
|
|
int main(void) { (void) alloca(0); return 0; }
|
|
EOF
|
|
_alloca=no
|
|
cc_check && _alloca=yes
|
|
if cc_check ; then
|
|
_def_alloca='#define HAVE_ALLOCA_H 1'
|
|
else
|
|
_def_alloca='#undef HAVE_ALLOCA_H'
|
|
fi
|
|
echores "$_alloca"
|
|
|
|
|
|
echocheck "byteswap.h"
|
|
cat > $TMPC << EOF
|
|
#include <byteswap.h>
|
|
int main(void) { bswap_16(0); return 0; }
|
|
EOF
|
|
_byteswap_h=no
|
|
cc_check && _byteswap_h=yes
|
|
if cc_check ; then
|
|
_def_byteswap_h='#define HAVE_BYTESWAP_H 1'
|
|
else
|
|
_def_byteswap_h='#undef HAVE_BYTESWAP_H'
|
|
fi
|
|
echores "$_byteswap_h"
|
|
|
|
|
|
echocheck "mman.h"
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <sys/mman.h>
|
|
int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
|
|
EOF
|
|
_mman=no
|
|
cc_check && _mman=yes
|
|
if test "$_mman" = yes ; then
|
|
_def_mman='#define HAVE_SYS_MMAN_H 1'
|
|
else
|
|
_def_mman='#undef HAVE_SYS_MMAN_H'
|
|
os2 && _need_mmap=yes
|
|
fi
|
|
echores "$_mman"
|
|
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <sys/mman.h>
|
|
int main(void) { void *p = MAP_FAILED; return 0; }
|
|
EOF
|
|
_mman_has_map_failed=no
|
|
cc_check && _mman_has_map_failed=yes
|
|
if test "$_mman_has_map_failed" = yes ; then
|
|
_def_mman_has_map_failed=''
|
|
else
|
|
_def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
|
|
fi
|
|
|
|
echocheck "dynamic loader"
|
|
cat > $TMPC << EOF
|
|
#include <dlfcn.h>
|
|
int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
|
|
EOF
|
|
_dl=no
|
|
for _ld_tmp in "" "-ldl" ; do
|
|
cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
|
|
done
|
|
if test "$_dl" = yes ; then
|
|
_def_dl='#define HAVE_LIBDL 1'
|
|
else
|
|
_def_dl='#undef HAVE_LIBDL'
|
|
fi
|
|
echores "$_dl"
|
|
|
|
|
|
echocheck "dynamic a/v plugins support"
|
|
if test "$_dl" = no ; then
|
|
_dynamic_plugins=no
|
|
fi
|
|
if test "$_dynamic_plugins" = yes ; then
|
|
_def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
|
|
else
|
|
_def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
|
|
fi
|
|
echores "$_dynamic_plugins"
|
|
|
|
|
|
_def_threads='#undef HAVE_THREADS'
|
|
|
|
echocheck "pthread"
|
|
if test "$_pthreads" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <pthread.h>
|
|
void* func(void *arg) { return arg; }
|
|
int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
|
|
EOF
|
|
_pthreads=no
|
|
if ! hpux ; then
|
|
for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
|
|
# for crosscompilation, we cannot execute the program, be happy if we can link statically
|
|
cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
|
|
done
|
|
fi
|
|
fi
|
|
if test "$_pthreads" = yes ; then
|
|
_res_comment="using $_ld_pthread"
|
|
_def_pthreads='#define HAVE_PTHREADS 1'
|
|
_def_threads='#define HAVE_THREADS 1'
|
|
else
|
|
_res_comment="v4l, v4l2, ao_nas, win32 loader disabled"
|
|
_def_pthreads='#undef HAVE_PTHREADS'
|
|
_nas=no ; _tv_v4l1=no ; _tv_v4l2=no
|
|
mingw32 || _win32dll=no
|
|
fi
|
|
echores "$_pthreads"
|
|
|
|
echocheck "w32threads"
|
|
if test "$_pthreads" = yes ; then
|
|
_res_comment="using pthread instead"
|
|
_w32threads=no
|
|
fi
|
|
if test "$_w32threads" = auto ; then
|
|
_w32threads=no
|
|
mingw32 && _w32threads=yes
|
|
fi
|
|
test "$_w32threads" = yes && _def_threads='#define HAVE_THREADS 1'
|
|
echores "$_w32threads"
|
|
|
|
echocheck "rpath"
|
|
netbsd &&_rpath=yes
|
|
if test "$_rpath" = yes ; then
|
|
for I in `echo $_ld_extra | sed 's/-L//g'` ; do
|
|
tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
|
|
done
|
|
_ld_extra=$tmp
|
|
fi
|
|
echores "$_rpath"
|
|
|
|
echocheck "iconv"
|
|
if test "$_iconv" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
#include <iconv.h>
|
|
#define INBUFSIZE 1024
|
|
#define OUTBUFSIZE 4096
|
|
|
|
char inbuffer[INBUFSIZE];
|
|
char outbuffer[OUTBUFSIZE];
|
|
|
|
int main(void) {
|
|
size_t numread;
|
|
iconv_t icdsc;
|
|
char *tocode="UTF-8";
|
|
char *fromcode="cp1250";
|
|
if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
|
|
while ((numread = read (0, inbuffer, INBUFSIZE))) {
|
|
char *iptr=inbuffer;
|
|
char *optr=outbuffer;
|
|
size_t inleft=numread;
|
|
size_t outleft=OUTBUFSIZE;
|
|
if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
|
|
!= (size_t)(-1)) {
|
|
write (1, outbuffer, OUTBUFSIZE - outleft);
|
|
}
|
|
}
|
|
if (iconv_close(icdsc) == -1)
|
|
;
|
|
}
|
|
}
|
|
EOF
|
|
_iconv=no
|
|
for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
|
|
cc_check $_ld_lm $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
|
|
_iconv=yes && break
|
|
done
|
|
fi
|
|
if test "$_iconv" = yes ; then
|
|
_def_iconv='#define USE_ICONV 1'
|
|
else
|
|
_def_iconv='#undef USE_ICONV'
|
|
fi
|
|
echores "$_iconv"
|
|
|
|
|
|
echocheck "soundcard.h"
|
|
_soundcard_h=no
|
|
_def_soundcard='#undef HAVE_SOUNDCARD_H'
|
|
_def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
|
|
for _soundcard_header in "sys/soundcard.h" "soundcard.h"; do
|
|
cat > $TMPC << EOF
|
|
#include <$_soundcard_header>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check && _soundcard_h=yes && _res_comment="$_soundcard_header" && break
|
|
done
|
|
|
|
if test "$_soundcard_h" = yes ; then
|
|
if test $_soundcard_header = "sys/soundcard.h"; then
|
|
_def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
|
|
else
|
|
_def_soundcard='#define HAVE_SOUNDCARD_H 1'
|
|
fi
|
|
fi
|
|
echores "$_soundcard_h"
|
|
|
|
|
|
echocheck "sys/dvdio.h"
|
|
cat > $TMPC << EOF
|
|
#include <unistd.h>
|
|
#include <sys/dvdio.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_dvdio=no
|
|
cc_check && _dvdio=yes
|
|
if test "$_dvdio" = yes ; then
|
|
_def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
|
|
else
|
|
_def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
|
|
fi
|
|
echores "$_dvdio"
|
|
|
|
|
|
echocheck "sys/cdio.h"
|
|
cat > $TMPC << EOF
|
|
#include <unistd.h>
|
|
#include <sys/cdio.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_cdio=no
|
|
cc_check && _cdio=yes
|
|
if test "$_cdio" = yes ; then
|
|
_def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
|
|
else
|
|
_def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
|
|
fi
|
|
echores "$_cdio"
|
|
|
|
|
|
echocheck "linux/cdrom.h"
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <linux/cdrom.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_cdrom=no
|
|
cc_check && _cdrom=yes
|
|
if test "$_cdrom" = yes ; then
|
|
_def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
|
|
else
|
|
_def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
|
|
fi
|
|
echores "$_cdrom"
|
|
|
|
|
|
echocheck "dvd.h"
|
|
cat > $TMPC << EOF
|
|
#include <dvd.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_dvd=no
|
|
cc_check && _dvd=yes
|
|
if test "$_dvd" = yes ; then
|
|
_def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
|
|
else
|
|
_def_dvd='#undef DVD_STRUCT_IN_DVD_H'
|
|
fi
|
|
echores "$_dvd"
|
|
|
|
|
|
if bsdos; then
|
|
echocheck "BSDI dvd.h"
|
|
cat > $TMPC << EOF
|
|
#include <dvd.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_bsdi_dvd=no
|
|
cc_check && _bsdi_dvd=yes
|
|
if test "$_bsdi_dvd" = yes ; then
|
|
_def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
|
|
else
|
|
_def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
|
|
fi
|
|
echores "$_bsdi_dvd"
|
|
fi #if bsdos
|
|
|
|
|
|
if hpux; then
|
|
# also used by AIX, but AIX does not support VCD and/or libdvdread
|
|
echocheck "HP-UX SCSI header"
|
|
cat > $TMPC << EOF
|
|
#include <sys/scsi.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_hpux_scsi_h=no
|
|
cc_check && _hpux_scsi_h=yes
|
|
if test "$_hpux_scsi_h" = yes ; then
|
|
_def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
|
|
else
|
|
_def_hpux_scsi_h='#undef HPUX_SCTL_IO'
|
|
fi
|
|
echores "$_hpux_scsi_h"
|
|
fi #if hpux
|
|
|
|
|
|
if sunos; then
|
|
echocheck "userspace SCSI headers (Solaris)"
|
|
cat > $TMPC << EOF
|
|
#include <unistd.h>
|
|
#include <stropts.h>
|
|
#include <sys/scsi/scsi_types.h>
|
|
#include <sys/scsi/impl/uscsi.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_sol_scsi_h=no
|
|
cc_check && _sol_scsi_h=yes
|
|
if test "$_sol_scsi_h" = yes ; then
|
|
_def_sol_scsi_h='#define SOLARIS_USCSI 1'
|
|
else
|
|
_def_sol_scsi_h='#undef SOLARIS_USCSI'
|
|
fi
|
|
echores "$_sol_scsi_h"
|
|
fi #if sunos
|
|
|
|
|
|
echocheck "termcap"
|
|
if test "$_termcap" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
int main(void) { tgetent(); return 0; }
|
|
EOF
|
|
_termcap=no
|
|
for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
|
|
cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
|
|
&& _termcap=yes && break
|
|
done
|
|
fi
|
|
if test "$_termcap" = yes ; then
|
|
_def_termcap='#define USE_TERMCAP 1'
|
|
_res_comment="using $_ld_tmp"
|
|
else
|
|
_def_termcap='#undef USE_TERMCAP'
|
|
fi
|
|
echores "$_termcap"
|
|
|
|
|
|
echocheck "termios"
|
|
_def_termios='#undef HAVE_TERMIOS'
|
|
_def_termios_h='#undef HAVE_TERMIOS_H'
|
|
_def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
|
|
if test "$_termios" = auto ; then
|
|
_termios=no
|
|
for _termios_header in "sys/termios.h" "termios.h"; do
|
|
cat > $TMPC <<EOF
|
|
#include <$_termios_header>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check && _termios=yes && _res_comment="$_termios_header" && break
|
|
done
|
|
fi
|
|
|
|
if test "$_termios" = yes ; then
|
|
_def_termios='#define HAVE_TERMIOS 1'
|
|
if test "$_termios_header" = "termios.h" ; then
|
|
_def_termios_h='#define HAVE_TERMIOS_H 1'
|
|
else
|
|
_def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
|
|
fi
|
|
fi
|
|
echores "$_termios"
|
|
|
|
|
|
echocheck "shm"
|
|
if test "$_shm" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <sys/shm.h>
|
|
int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
|
|
EOF
|
|
_shm=no
|
|
cc_check && _shm=yes
|
|
fi
|
|
if test "$_shm" = yes ; then
|
|
_def_shm='#define HAVE_SHM 1'
|
|
else
|
|
_def_shm='#undef HAVE_SHM'
|
|
fi
|
|
echores "$_shm"
|
|
|
|
|
|
echocheck "strsep()"
|
|
cat > $TMPC << EOF
|
|
#include <string.h>
|
|
int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
|
|
EOF
|
|
_strsep=no
|
|
cc_check && _strsep=yes
|
|
if test "$_strsep" = yes ; then
|
|
_def_strsep='#define HAVE_STRSEP 1'
|
|
_need_strsep=no
|
|
else
|
|
_def_strsep='#undef HAVE_STRSEP'
|
|
_need_strsep=yes
|
|
fi
|
|
echores "$_strsep"
|
|
|
|
|
|
echocheck "vsscanf()"
|
|
cat > $TMPC << EOF
|
|
#include <stdarg.h>
|
|
int main(void) { vsscanf(0, 0, 0); return 0; }
|
|
EOF
|
|
_vsscanf=no
|
|
cc_check && _vsscanf=yes
|
|
if test "$_vsscanf" = yes ; then
|
|
_def_vsscanf='#define HAVE_VSSCANF 1'
|
|
_need_vsscanf=no
|
|
else
|
|
_def_vsscanf='#undef HAVE_VSSCANF'
|
|
_need_vsscanf=yes
|
|
fi
|
|
echores "$_vsscanf"
|
|
|
|
|
|
echocheck "swab()"
|
|
cat > $TMPC << EOF
|
|
#include <unistd.h>
|
|
int main(void) { swab(0, 0, 0); return 0; }
|
|
EOF
|
|
_swab=no
|
|
cc_check && _swab=yes
|
|
if test "$_swab" = yes ; then
|
|
_def_swab='#define HAVE_SWAB 1'
|
|
_need_swab=no
|
|
else
|
|
_def_swab='#undef HAVE_SWAB'
|
|
_need_swab=yes
|
|
fi
|
|
echores "$_swab"
|
|
|
|
echocheck "POSIX select()"
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <sys/types.h>
|
|
#include <string.h>
|
|
#include <sys/time.h>
|
|
#include <unistd.h>
|
|
int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
|
|
EOF
|
|
_posix_select=no
|
|
_def_posix_select='#undef HAVE_POSIX_SELECT'
|
|
#select() of kLIBC (OS/2) supports socket only
|
|
! os2 && cc_check && _posix_select=yes \
|
|
&& _def_posix_select='#define HAVE_POSIX_SELECT 1'
|
|
echores "$_posix_select"
|
|
|
|
|
|
echocheck "gettimeofday()"
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <sys/time.h>
|
|
int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
|
|
EOF
|
|
_gettimeofday=no
|
|
cc_check && _gettimeofday=yes
|
|
if test "$_gettimeofday" = yes ; then
|
|
_def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
|
|
_need_gettimeofday=no
|
|
else
|
|
_def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
|
|
_need_gettimeofday=yes
|
|
fi
|
|
echores "$_gettimeofday"
|
|
|
|
|
|
echocheck "glob()"
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <glob.h>
|
|
int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
|
|
EOF
|
|
_glob=no
|
|
cc_check && _glob=yes
|
|
if test "$_glob" = yes ; then
|
|
_def_glob='#define HAVE_GLOB 1'
|
|
_need_glob=no
|
|
else
|
|
_def_glob='#undef HAVE_GLOB'
|
|
_need_glob=yes
|
|
fi
|
|
echores "$_glob"
|
|
|
|
|
|
echocheck "setenv()"
|
|
cat > $TMPC << EOF
|
|
#include <stdlib.h>
|
|
int main(void) { setenv("","",0); return 0; }
|
|
EOF
|
|
_setenv=no
|
|
cc_check && _setenv=yes
|
|
if test "$_setenv" = yes ; then
|
|
_def_setenv='#define HAVE_SETENV 1'
|
|
_need_setenv=no
|
|
else
|
|
_def_setenv='#undef HAVE_SETENV'
|
|
_need_setenv=yes
|
|
fi
|
|
echores "$_setenv"
|
|
|
|
|
|
if sunos; then
|
|
echocheck "sysi86()"
|
|
cat > $TMPC << EOF
|
|
#include <sys/sysi86.h>
|
|
int main(void) { sysi86(0); return 0; }
|
|
EOF
|
|
_sysi86=no
|
|
cc_check && _sysi86=yes
|
|
if test "$_sysi86" = yes ; then
|
|
_def_sysi86='#define HAVE_SYSI86 1'
|
|
cat > $TMPC << EOF
|
|
#include <sys/sysi86.h>
|
|
int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
|
|
EOF
|
|
cc_check && _def_sysi86_iv='#define HAVE_SYSI86_iv 1'
|
|
else
|
|
_def_sysi86='#undef HAVE_SYSI86'
|
|
fi
|
|
echores "$_sysi86"
|
|
fi #if sunos
|
|
|
|
|
|
echocheck "sys/sysinfo.h"
|
|
cat > $TMPC << EOF
|
|
#include <sys/sysinfo.h>
|
|
int main(void) {
|
|
struct sysinfo s_info;
|
|
sysinfo(&s_info);
|
|
return 0;
|
|
}
|
|
EOF
|
|
_sys_sysinfo=no
|
|
cc_check && _sys_sysinfo=yes
|
|
if test "$_sys_sysinfo" = yes ; then
|
|
_def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
|
|
else
|
|
_def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
|
|
fi
|
|
echores "$_sys_sysinfo"
|
|
|
|
|
|
if darwin; then
|
|
|
|
echocheck "Mac OS X APIs"
|
|
if test "$_macosx" = auto ; then
|
|
productName=`/usr/bin/sw_vers -productName`
|
|
if test "$productName" = "Mac OS X" ||
|
|
test "$productName" = "Mac OS X Server" ; then
|
|
_macosx=yes
|
|
else
|
|
_macosx=no
|
|
_noaomodules="macosx $_noaomodules"
|
|
_novomodules="quartz $_novomodules"
|
|
fi
|
|
fi
|
|
if test "$_macosx" = yes ; then
|
|
cat > $TMPC <<EOF
|
|
#include <Carbon/Carbon.h>
|
|
#include <QuickTime/QuickTime.h>
|
|
#include <CoreAudio/CoreAudio.h>
|
|
int main(void) {
|
|
EnterMovies();
|
|
ExitMovies();
|
|
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
|
|
}
|
|
EOF
|
|
if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
|
|
_ld_extra="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
|
|
_coreaudio=yes
|
|
_def_coreaudio='#define HAVE_COREAUDIO 1'
|
|
_aosrc="$_aosrc ao_macosx.c"
|
|
_aomodules="macosx $_aomodules"
|
|
_def_quartz='#define HAVE_QUARTZ 1'
|
|
_vosrc="$_vosrc vo_quartz.c"
|
|
_vomodules="quartz $_vomodules"
|
|
_def_quicktime='#define HAVE_QUICKTIME 1'
|
|
else
|
|
_macosx=no
|
|
_coreaudio=no
|
|
_def_coreaudio='#undef HAVE_COREAUDIO'
|
|
_noaomodules="macosx $_noaomodules"
|
|
_def_quartz='#undef HAVE_QUARTZ'
|
|
_novomodules="quartz $_novomodules"
|
|
_def_quicktime='#undef HAVE_QUICKTIME'
|
|
fi
|
|
cat > $TMPC <<EOF
|
|
#include <Carbon/Carbon.h>
|
|
#include <QuartzCore/CoreVideo.h>
|
|
int main(void) {}
|
|
EOF
|
|
if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
|
|
_vosrc="$_vosrc vo_macosx.m"
|
|
_vomodules="macosx $_vomodules"
|
|
_ld_extra="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
|
|
_def_corevideo='#define HAVE_COREVIDEO 1'
|
|
_corevideo=yes
|
|
else
|
|
_novomodules="macosx $_novomodules"
|
|
_def_corevideo='#undef HAVE_COREVIDEO'
|
|
_corevideo=no
|
|
fi
|
|
fi
|
|
echores "$_macosx"
|
|
|
|
echocheck "Mac OS X Finder Support"
|
|
if test "$_macosx_finder_support" = auto ; then
|
|
_macosx_finder_support=$_macosx
|
|
fi
|
|
if test "$_macosx_finder_support" = yes; then
|
|
_def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
|
|
_macosx_finder_support=yes
|
|
else
|
|
_def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
|
|
_macosx_finder_support=no
|
|
fi
|
|
echores "$_macosx_finder_support"
|
|
|
|
echocheck "Mac OS X Bundle file locations"
|
|
if test "$_macosx_bundle" = auto ; then
|
|
_macosx_bundle=$_macosx_finder_support
|
|
fi
|
|
if test "$_macosx_bundle" = yes; then
|
|
_def_macosx_bundle='#define MACOSX_BUNDLE 1'
|
|
else
|
|
_def_macosx_bundle='#undef MACOSX_BUNDLE'
|
|
_macosx_bundle=no
|
|
fi
|
|
echores "$_macosx_bundle"
|
|
|
|
echocheck "Apple Remote"
|
|
if test "$_apple_remote" = auto ; then
|
|
_apple_remote=no
|
|
cat > $TMPC <<EOF
|
|
#include <stdio.h>
|
|
#include <IOKit/IOCFPlugIn.h>
|
|
int main(void) {
|
|
io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
|
|
CFMutableDictionaryRef hidMatchDictionary;
|
|
IOReturn ioReturnValue;
|
|
|
|
// Set up a matching dictionary to search the I/O Registry by class.
|
|
// name for all HID class devices
|
|
hidMatchDictionary = IOServiceMatching("AppleIRController");
|
|
|
|
// Now search I/O Registry for matching devices.
|
|
ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
|
|
hidMatchDictionary, &hidObjectIterator);
|
|
|
|
// If search is unsuccessful, return nonzero.
|
|
if (ioReturnValue != kIOReturnSuccess ||
|
|
!IOIteratorIsValid(hidObjectIterator)) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
EOF
|
|
cc_check -framework IOKit && tmp_run && _apple_remote=yes
|
|
fi
|
|
if test "$_apple_remote" = yes ; then
|
|
_def_apple_remote='#define HAVE_APPLE_REMOTE 1'
|
|
_ld_extra="$_ld_extra -framework IOKit"
|
|
else
|
|
_def_apple_remote='#undef HAVE_APPLE_REMOTE'
|
|
fi
|
|
echores "$_apple_remote"
|
|
|
|
fi #if darwin
|
|
|
|
if linux; then
|
|
|
|
echocheck "Apple IR"
|
|
if test "$_apple_ir" = auto ; then
|
|
_apple_ir=no
|
|
cat > $TMPC <<EOF
|
|
#include <linux/types.h>
|
|
#include <linux/input.h>
|
|
int main(void) {
|
|
struct input_event ev;
|
|
return 0;
|
|
}
|
|
EOF
|
|
cc_check && tmp_run && _apple_ir=yes
|
|
fi
|
|
if test "$_apple_ir" = yes ; then
|
|
_def_apple_ir='#define HAVE_APPLE_IR 1'
|
|
else
|
|
_def_apple_ir='#undef HAVE_APPLE_IR'
|
|
fi
|
|
echores "$_apple_ir"
|
|
fi #if linux
|
|
|
|
echocheck "pkg-config"
|
|
_pkg_config=pkg-config
|
|
if `$_pkg_config --version > /dev/null 2>&1`; then
|
|
if test "$_ld_static"; then
|
|
_pkg_config="$_pkg_config --static"
|
|
fi
|
|
echores "yes"
|
|
else
|
|
_pkg_config=false
|
|
echores "no"
|
|
fi
|
|
|
|
|
|
echocheck "Samba support (libsmbclient)"
|
|
if test "$_smbsupport" = yes; then
|
|
_ld_extra="$_ld_extra -lsmbclient"
|
|
fi
|
|
if test "$_smbsupport" = auto; then
|
|
_smbsupport=no
|
|
cat > $TMPC << EOF
|
|
#include <libsmbclient.h>
|
|
int main(void) { smbc_opendir("smb://"); return 0; }
|
|
EOF
|
|
for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
|
|
cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
|
|
_smbsupport=yes && break
|
|
done
|
|
fi
|
|
|
|
if test "$_smbsupport" = yes; then
|
|
_def_smbsupport="#define LIBSMBCLIENT"
|
|
_inputmodules="smb $_inputmodules"
|
|
else
|
|
_def_smbsupport="#undef LIBSMBCLIENT"
|
|
_noinputmodules="smb $_noinputmodules"
|
|
fi
|
|
echores "$_smbsupport"
|
|
|
|
|
|
#########
|
|
# VIDEO #
|
|
#########
|
|
|
|
|
|
echocheck "tdfxfb"
|
|
if test "$_tdfxfb" = yes ; then
|
|
_def_tdfxfb='#define HAVE_TDFXFB 1'
|
|
_vosrc="$_vosrc vo_tdfxfb.c"
|
|
_vomodules="tdfxfb $_vomodules"
|
|
else
|
|
_def_tdfxfb='#undef HAVE_TDFXFB'
|
|
_novomodules="tdfxfb $_novomodules"
|
|
fi
|
|
echores "$_tdfxfb"
|
|
|
|
echocheck "s3fb"
|
|
if test "$_s3fb" = yes ; then
|
|
_def_s3fb='#define HAVE_S3FB 1'
|
|
_vosrc="$_vosrc vo_s3fb.c"
|
|
_vomodules="s3fb $_vomodules"
|
|
else
|
|
_def_s3fb='#undef HAVE_S3FB'
|
|
_novomodules="s3fb $_novomodules"
|
|
fi
|
|
echores "$_s3fb"
|
|
|
|
echocheck "tdfxvid"
|
|
if test "$_tdfxvid" = yes ; then
|
|
_def_tdfxvid='#define HAVE_TDFX_VID 1'
|
|
_vosrc="$_vosrc vo_tdfx_vid.c"
|
|
_vomodules="tdfx_vid $_vomodules"
|
|
else
|
|
_def_tdfxvid='#undef HAVE_TDFX_VID'
|
|
_novomodules="tdfx_vid $_novomodules"
|
|
fi
|
|
echores "$_tdfxvid"
|
|
|
|
echocheck "xvr100"
|
|
if test "$_xvr100" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <unistd.h>
|
|
#include <sys/fbio.h>
|
|
#include <sys/visual_io.h>
|
|
int main(void) {
|
|
struct vis_identifier ident;
|
|
struct fbgattr attr;
|
|
ioctl(0, VIS_GETIDENTIFIER, &ident);
|
|
ioctl(0, FBIOGATTR, &attr);
|
|
}
|
|
EOF
|
|
_xvr100=no
|
|
cc_check && _xvr100=yes
|
|
fi
|
|
if test "$_xvr100" = yes ; then
|
|
_def_xvr100='#define HAVE_XVR100 1'
|
|
_vosrc="$_vosrc vo_xvr100.c"
|
|
_vomodules="xvr100 $_vomodules"
|
|
else
|
|
_def_tdfxvid='#undef HAVE_XVR100'
|
|
_novomodules="xvr100 $_novomodules"
|
|
fi
|
|
echores "$_xvr100"
|
|
|
|
echocheck "tga"
|
|
if test "$_tga" = yes ; then
|
|
_def_tga='#define HAVE_TGA 1'
|
|
_vosrc="$_vosrc vo_tga.c"
|
|
_vomodules="tga $_vomodules"
|
|
else
|
|
_def_tga='#undef HAVE_TGA'
|
|
_novomodules="tga $_novomodules"
|
|
fi
|
|
echores "$_tga"
|
|
|
|
|
|
echocheck "md5sum support"
|
|
if test "$_md5sum" = yes; then
|
|
_def_md5sum="#define HAVE_MD5SUM"
|
|
_vosrc="$_vosrc vo_md5sum.c"
|
|
_vomodules="md5sum $_vomodules"
|
|
else
|
|
_def_md5sum="#undef HAVE_MD5SUM"
|
|
_novomodules="md5sum $_novomodules"
|
|
fi
|
|
echores "$_md5sum"
|
|
|
|
|
|
echocheck "bl"
|
|
if test "$_bl" = yes ; then
|
|
_def_bl='#define HAVE_BL 1'
|
|
_vosrc="$_vosrc vo_bl.c"
|
|
_vomodules="bl $_vomodules"
|
|
else
|
|
_def_bl='#undef HAVE_BL'
|
|
_novomodules="bl $_novomodules"
|
|
fi
|
|
echores "$_bl"
|
|
|
|
|
|
echocheck "DirectFB"
|
|
if test "$_directfb" = auto ; then
|
|
_directfb=no
|
|
cat > $TMPC <<EOF
|
|
#include <directfb.h>
|
|
int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
|
|
EOF
|
|
for _inc_tmp in "" -I/usr/local/include/directfb \
|
|
-I/usr/include/directfb -I/usr/local/include; do
|
|
cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
|
|
_inc_extra="$_inc_extra $_inc_tmp" && break
|
|
done
|
|
fi
|
|
|
|
dfb_version() {
|
|
expr $1 \* 65536 + $2 \* 256 + $3
|
|
}
|
|
|
|
if test "$_directfb" = yes; then
|
|
cat > $TMPC << EOF
|
|
#include <directfb_version.h>
|
|
int
|
|
dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
|
|
;
|
|
EOF
|
|
if $_cc -E $TMPC $_inc_extra > "$TMPEXE"; then
|
|
_directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()'`
|
|
_dfb_major=`echo $_directfb_version | cut -d . -f 1`
|
|
_dfb_minor=`echo $_directfb_version | cut -d . -f 2`
|
|
_dfb_micro=`echo $_directfb_version | cut -d . -f 3`
|
|
_dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
|
|
if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
|
|
_def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
|
|
_res_comment="$_directfb_version"
|
|
test "$_dfb_version" -ge `dfb_version 0 9 15` && _dfbmga=yes
|
|
else
|
|
_def_directfb_version='#undef DIRECTFBVERSION'
|
|
_directfb=no
|
|
_res_comment="version >=0.9.13 required"
|
|
fi
|
|
else
|
|
_directfb=no
|
|
_res_comment="failed to get version"
|
|
fi
|
|
fi
|
|
echores "$_directfb"
|
|
|
|
if test "$_directfb" = yes ; then
|
|
_def_directfb='#define HAVE_DIRECTFB 1'
|
|
_vosrc="$_vosrc vo_directfb2.c"
|
|
_vomodules="directfb $_vomodules"
|
|
_libs_mplayer="$_libs_mplayer -ldirectfb"
|
|
else
|
|
_def_directfb='#undef HAVE_DIRECTFB'
|
|
_novomodules="directfb $_novomodules"
|
|
fi
|
|
if test "$_dfbmga" = yes; then
|
|
_vosrc="$_vosrc vo_dfbmga.c"
|
|
_vomodules="dfbmga $_vomodules"
|
|
_def_dfbmga='#define HAVE_DFBMGA 1'
|
|
else
|
|
_novomodules="dfbmga $_novomodules"
|
|
_def_dfbmga='#undef HAVE_DFBMGA'
|
|
fi
|
|
|
|
|
|
echocheck "X11 headers presence"
|
|
_x11_headers="no"
|
|
_res_comment="check if the dev(el) packages are installed"
|
|
for I in `echo $_inc_extra | sed s/-I//g` /usr/include ; do
|
|
if test -f "$I/X11/Xlib.h" ; then
|
|
_x11_headers="yes"
|
|
_res_comment=""
|
|
break
|
|
fi
|
|
done
|
|
if test $_cross_compile = no; then
|
|
for I in /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/openwin/include ; do
|
|
if test -f "$I/X11/Xlib.h" ; then
|
|
_inc_extra="$_inc_extra -I$I"
|
|
_x11_headers="yes"
|
|
_res_comment="using $I"
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
echores "$_x11_headers"
|
|
|
|
|
|
echocheck "X11"
|
|
if test "$_x11" = auto && test "$_x11_headers" = yes ; then
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
|
|
EOF
|
|
for I in "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
|
|
-L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
|
|
if netbsd; then
|
|
_ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
|
|
else
|
|
_ld_tmp="$I -lXext -lX11 $_ld_pthread"
|
|
fi
|
|
cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" \
|
|
&& _x11=yes && break
|
|
done
|
|
fi
|
|
if test "$_x11" = yes ; then
|
|
_def_x11='#define HAVE_X11 1'
|
|
_vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
|
|
_vomodules="x11 xover $_vomodules"
|
|
else
|
|
_x11=no
|
|
_def_x11='#undef HAVE_X11'
|
|
_novomodules="x11 $_novomodules"
|
|
_res_comment="check if the dev(el) packages are installed"
|
|
# disable stuff that depends on X
|
|
_xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no
|
|
fi
|
|
echores "$_x11"
|
|
|
|
echocheck "Xss screensaver extensions"
|
|
if test "$_xss" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/scrnsaver.h>
|
|
int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
|
|
EOF
|
|
_xss=no
|
|
cc_check -lXss && _xss=yes
|
|
fi
|
|
if test "$_xss" = yes ; then
|
|
_def_xss='#define HAVE_XSS 1'
|
|
_libs_mplayer="$_libs_mplayer -lXss"
|
|
else
|
|
_def_xss='#undef HAVE_XSS'
|
|
fi
|
|
echores "$_xss"
|
|
|
|
echocheck "DPMS"
|
|
_xdpms3=no
|
|
_xdpms4=no
|
|
if test "$_x11" = yes ; then
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xmd.h>
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
#include <X11/Xatom.h>
|
|
#include <X11/extensions/dpms.h>
|
|
int main(void) { (void) DPMSQueryExtension(0, 0, 0); }
|
|
EOF
|
|
cc_check -lXdpms && _xdpms3=yes
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/dpms.h>
|
|
int main(void) { (void) DPMSQueryExtension(0, 0, 0); }
|
|
EOF
|
|
cc_check -lXext && _xdpms4=yes
|
|
fi
|
|
if test "$_xdpms4" = yes ; then
|
|
_def_xdpms='#define HAVE_XDPMS 1'
|
|
_res_comment="using Xdpms 4"
|
|
echores "yes"
|
|
elif test "$_xdpms3" = yes ; then
|
|
_def_xdpms='#define HAVE_XDPMS 1'
|
|
_libs_mplayer="$_libs_mplayer -lXdpms"
|
|
_res_comment="using Xdpms 3"
|
|
echores "yes"
|
|
else
|
|
_def_xdpms='#undef HAVE_XDPMS'
|
|
echores "no"
|
|
fi
|
|
|
|
|
|
echocheck "Xv"
|
|
if test "$_xv" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/Xvlib.h>
|
|
int main(void) {
|
|
(void) XvGetPortAttribute(0, 0, 0, 0);
|
|
(void) XvQueryPortAttributes(0, 0, 0);
|
|
return 0; }
|
|
EOF
|
|
_xv=no
|
|
cc_check -lXv && _xv=yes
|
|
fi
|
|
|
|
if test "$_xv" = yes ; then
|
|
_def_xv='#define HAVE_XV 1'
|
|
_libs_mplayer="$_libs_mplayer -lXv"
|
|
_vosrc="$_vosrc vo_xv.c"
|
|
_vomodules="xv $_vomodules"
|
|
else
|
|
_def_xv='#undef HAVE_XV'
|
|
_novomodules="xv $_novomodules"
|
|
fi
|
|
echores "$_xv"
|
|
|
|
|
|
echocheck "XvMC"
|
|
if test "$_xv" = yes && test "$_xvmc" != no ; then
|
|
_xvmc=no
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/Xvlib.h>
|
|
#include <X11/extensions/XvMClib.h>
|
|
int main(void) {
|
|
(void) XvMCQueryExtension(0,0,0);
|
|
(void) XvMCCreateContext(0,0,0,0,0,0,0);
|
|
return 0; }
|
|
EOF
|
|
for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
|
|
cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
|
|
done
|
|
fi
|
|
if test "$_xvmc" = yes ; then
|
|
_def_xvmc='#define HAVE_XVMC 1'
|
|
_libs_mplayer="$_libs_mplayer -lXvMC -l$_xvmclib"
|
|
_vosrc="$_vosrc vo_xvmc.c"
|
|
_vomodules="xvmc $_vomodules"
|
|
_res_comment="using $_xvmclib"
|
|
else
|
|
_def_xvmc='#undef HAVE_XVMC'
|
|
_novomodules="xvmc $_novomodules"
|
|
_libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
|
|
fi
|
|
echores "$_xvmc"
|
|
|
|
|
|
echocheck "Xinerama"
|
|
if test "$_xinerama" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/Xinerama.h>
|
|
int main(void) { (void) XineramaIsActive(0); return 0; }
|
|
EOF
|
|
_xinerama=no
|
|
cc_check -lXinerama && _xinerama=yes
|
|
fi
|
|
|
|
if test "$_xinerama" = yes ; then
|
|
_def_xinerama='#define HAVE_XINERAMA 1'
|
|
_libs_mplayer="$_libs_mplayer -lXinerama"
|
|
else
|
|
_def_xinerama='#undef HAVE_XINERAMA'
|
|
fi
|
|
echores "$_xinerama"
|
|
|
|
|
|
# Note: the -lXxf86vm library is the VideoMode extension and though it's not
|
|
# needed for DGA, AFAIK every distribution packages together with DGA stuffs
|
|
# named 'X extensions' or something similar.
|
|
# This check may be useful for future mplayer versions (to change resolution)
|
|
# If you run into problems, remove '-lXxf86vm'.
|
|
echocheck "Xxf86vm"
|
|
if test "$_vm" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/xf86vmode.h>
|
|
int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
|
|
EOF
|
|
_vm=no
|
|
cc_check -lXxf86vm && _vm=yes
|
|
fi
|
|
if test "$_vm" = yes ; then
|
|
_def_vm='#define HAVE_XF86VM 1'
|
|
_libs_mplayer="$_libs_mplayer -lXxf86vm"
|
|
else
|
|
_def_vm='#undef HAVE_XF86VM'
|
|
fi
|
|
echores "$_vm"
|
|
|
|
# Check for the presence of special keycodes, like audio control buttons
|
|
# that XFree86 might have. Used to be bundled with the xf86vm check, but
|
|
# has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
|
|
# have these new keycodes.
|
|
echocheck "XF86keysym"
|
|
if test "$_xf86keysym" = auto; then
|
|
_xf86keysym=no
|
|
cat > $TMPC <<EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/XF86keysym.h>
|
|
int main(void) { return XF86XK_AudioPause; }
|
|
EOF
|
|
cc_check && _xf86keysym=yes
|
|
fi
|
|
if test "$_xf86keysym" = yes ; then
|
|
_def_xf86keysym='#define HAVE_XF86XK 1'
|
|
else
|
|
_def_xf86keysym='#undef HAVE_XF86XK'
|
|
fi
|
|
echores "$_xf86keysym"
|
|
|
|
echocheck "DGA"
|
|
if test "$_dga2" = auto && test "$_x11" = yes ; then
|
|
cat > $TMPC << EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/xf86dga.h>
|
|
int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
|
|
EOF
|
|
_dga2=no
|
|
cc_check -lXxf86dga && _dga2=yes
|
|
fi
|
|
if test "$_dga1" = auto && test "$_dga2" = no && test "$_vm" = yes ; then
|
|
cat > $TMPC << EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/xf86dga.h>
|
|
int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
|
|
EOF
|
|
_dga1=no
|
|
cc_check -lXxf86dga -lXxf86vm && _dga1=yes
|
|
fi
|
|
|
|
_dga=no
|
|
_def_dga='#undef HAVE_DGA'
|
|
_def_dga1='#undef HAVE_DGA1'
|
|
_def_dga2='#undef HAVE_DGA2'
|
|
if test "$_dga1" = yes ; then
|
|
_dga=yes
|
|
_def_dga1='#define HAVE_DGA1 1'
|
|
_res_comment="using DGA 1.0"
|
|
elif test "$_dga2" = yes ; then
|
|
_dga=yes
|
|
_def_dga2='#define HAVE_DGA2 1'
|
|
_res_comment="using DGA 2.0"
|
|
fi
|
|
if test "$_dga" = yes ; then
|
|
_def_dga='#define HAVE_DGA 1'
|
|
_libs_mplayer="$_libs_mplayer -lXxf86dga"
|
|
_vosrc="$_vosrc vo_dga.c"
|
|
_vomodules="dga $_vomodules"
|
|
else
|
|
_novomodules="dga $_novomodules"
|
|
fi
|
|
echores "$_dga"
|
|
|
|
|
|
echocheck "3dfx"
|
|
if test "$_3dfx" = yes && test "$_dga" = yes ; then
|
|
_def_3dfx='#define HAVE_3DFX 1'
|
|
_vosrc="$_vosrc vo_3dfx.c"
|
|
_vomodules="3dfx $_vomodules"
|
|
else
|
|
_def_3dfx='#undef HAVE_3DFX'
|
|
_novomodules="3dfx $_novomodules"
|
|
fi
|
|
echores "$_3dfx"
|
|
|
|
|
|
echocheck "OpenGL"
|
|
#Note: this test is run even with --enable-gl since we autodetect linker flags
|
|
if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
|
|
cat > $TMPC << EOF
|
|
#include <GL/gl.h>
|
|
#ifdef GL_WIN32
|
|
#include <windows.h>
|
|
#include <GL/glext.h>
|
|
#else
|
|
#include <X11/Xlib.h>
|
|
#include <GL/glx.h>
|
|
#endif
|
|
int main(void) {
|
|
#ifdef GL_WIN32
|
|
HDC dc;
|
|
wglCreateContext(dc);
|
|
#else
|
|
glXCreateContext(NULL, NULL, NULL, True);
|
|
#endif
|
|
glFinish();
|
|
return 0;
|
|
}
|
|
EOF
|
|
_gl=no
|
|
if cc_check -lGL $_ld_lm ; then
|
|
_gl=yes
|
|
_libs_mplayer="$_libs_mplayer -lGL $_ld_dl"
|
|
elif cc_check -lGL $_ld_lm $_ld_pthread ; then
|
|
_gl=yes
|
|
_libs_mplayer="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
|
|
elif cc_check -DGL_WIN32 -lopengl32 ; then
|
|
_gl=yes
|
|
_gl_win32=yes
|
|
_libs_mplayer="$_libs_mplayer -lopengl32 -lgdi32"
|
|
fi
|
|
else
|
|
_gl=no
|
|
fi
|
|
if test "$_gl" = yes ; then
|
|
_def_gl='#define HAVE_GL 1'
|
|
_vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
|
|
if test "$_gl_win32" = yes ; then
|
|
_def_gl_win32='#define GL_WIN32 1'
|
|
_vosrc="$_vosrc w32_common.c"
|
|
_res_comment="win32 version"
|
|
fi
|
|
_vomodules="opengl $_vomodules"
|
|
else
|
|
_def_gl='#undef HAVE_GL'
|
|
_def_gl_win32='#undef GL_WIN32'
|
|
_novomodules="opengl $_novomodules"
|
|
fi
|
|
echores "$_gl"
|
|
|
|
|
|
echocheck "VIDIX"
|
|
_vidix=no
|
|
_def_vidix='#undef CONFIG_VIDIX'
|
|
_def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
|
|
_vidix_drv_cyberblade=no
|
|
_def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
|
|
_vidix_drv_ivtv=no
|
|
_def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV'
|
|
_vidix_drv_ivtv=no
|
|
_def_vidix_drv_mach64='#undef CONFIG_VIDIX_DRV_MACH64'
|
|
_vidix_drv_mach64=no
|
|
_def_vidix_drv_mga='#undef CONFIG_VIDIX_DRV_MGA'
|
|
_vidix_drv_mga=no
|
|
_def_vidix_drv_mga_crtc2='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
|
|
_vidix_drv_mga_crtc2=no
|
|
_def_vidix_drv_nvidia='#undef CONFIG_VIDIX_DRV_NVIDIA'
|
|
_vidix_drv_nvidia=no
|
|
_def_vidix_drv_pm2='#undef CONFIG_VIDIX_DRV_PM2'
|
|
_vidix_drv_pm2=no
|
|
_def_vidix_drv_pm3='#undef CONFIG_VIDIX_DRV_PM3'
|
|
_vidix_drv_pm3=no
|
|
_def_vidix_drv_radeon='#undef CONFIG_VIDIX_DRV_RADEON'
|
|
_vidix_drv_radeon=no
|
|
_def_vidix_drv_rage128='#undef CONFIG_VIDIX_DRV_RAGE128'
|
|
_vidix_drv_rage128=no
|
|
_def_vidix_drv_s3='#undef CONFIG_VIDIX_DRV_S3'
|
|
_vidix_drv_s3=no
|
|
_def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
|
|
_vidix_drv_sis=no
|
|
_def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
|
|
_vidix_drv_unichrome=no
|
|
if test "$_vidix_internal" = auto ; then
|
|
_vidix_internal=no
|
|
x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
|
|
&& _vidix_internal=yes
|
|
(ppc || alpha) && linux && _vidix_internal=yes
|
|
fi
|
|
if test "$_vidix_internal" = yes; then
|
|
_res_comment="internal"
|
|
_vidix_external=no
|
|
_vidix=yes
|
|
elif test "$_vidix_external" = auto; then
|
|
_vidix_external=no
|
|
cat > $TMPC <<EOF
|
|
#include <vidix/vidix.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -lvidix && _vidix_external=yes && _res_comment="external" \
|
|
&& _vidix=yes
|
|
fi
|
|
echores "$_vidix"
|
|
|
|
if test "$_vidix" = yes ; then
|
|
_def_vidix='#define CONFIG_VIDIX 1'
|
|
_vosrc="$_vosrc vo_cvidix.c"
|
|
_vomodules="cvidix $_vomodules"
|
|
test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sis unichrome"
|
|
test $_ivtv = "yes" || _vidix_drivers=`echo $_vidix_drivers | sed s/ivtv//`
|
|
|
|
# some vidix drivers are meant to work on x86 only, discard them elsewhere
|
|
x86 || _vidix_drivers=`echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//`
|
|
|
|
for driver in $_vidix_drivers ; do
|
|
uc_driver=`echo $driver | tr '[a-z]' '[A-Z]'`
|
|
eval _vidix_drv_${driver}=yes
|
|
eval _def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
|
|
done
|
|
else
|
|
_novomodules="cvidix $_novomodules"
|
|
fi
|
|
|
|
if test "$_vidix_internal" = yes ; then
|
|
_def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
|
|
elif test "$_vidix_external" = yes ; then
|
|
_libs_mplayer="$_libs_mplayer -lvidix"
|
|
_def_vidix_pfx='#define MP_VIDIX_PFX "" '
|
|
fi
|
|
|
|
if test "$_vidix" = yes && win32; then
|
|
_vosrc="$_vosrc vo_winvidix.c"
|
|
_vomodules="winvidix $_vomodules"
|
|
_libs_mplayer="$_libs_mplayer -lgdi32"
|
|
else
|
|
_novomodules="winvidix $_novomodules"
|
|
fi
|
|
if test "$_vidix" = yes && test "$_x11" = yes; then
|
|
_vosrc="$_vosrc vo_xvidix.c"
|
|
_vomodules="xvidix $_vomodules"
|
|
else
|
|
_novomodules="xvidix $_novomodules"
|
|
fi
|
|
|
|
echocheck "VIDIX PCI device name database"
|
|
echores "$_vidix_pcidb"
|
|
if test "$_vidix_pcidb" = yes ; then
|
|
_vidix_pcidb_val=1
|
|
else
|
|
_vidix_pcidb_val=0
|
|
fi
|
|
|
|
echocheck "/dev/mga_vid"
|
|
if test "$_mga" = auto ; then
|
|
_mga=no
|
|
test -c /dev/mga_vid && _mga=yes
|
|
fi
|
|
if test "$_mga" = yes ; then
|
|
_def_mga='#define HAVE_MGA 1'
|
|
_vosrc="$_vosrc vo_mga.c"
|
|
_vomodules="mga $_vomodules"
|
|
else
|
|
_def_mga='#undef HAVE_MGA'
|
|
_novomodules="mga $_novomodules"
|
|
fi
|
|
echores "$_mga"
|
|
|
|
|
|
echocheck "xmga"
|
|
if test "$_xmga" = auto ; then
|
|
_xmga=no
|
|
test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
|
|
fi
|
|
if test "$_xmga" = yes ; then
|
|
_def_xmga='#define HAVE_XMGA 1'
|
|
_vosrc="$_vosrc vo_xmga.c"
|
|
_vomodules="xmga $_vomodules"
|
|
else
|
|
_def_xmga='#undef HAVE_XMGA'
|
|
_novomodules="xmga $_novomodules"
|
|
fi
|
|
echores "$_xmga"
|
|
|
|
|
|
echocheck "GGI"
|
|
if test "$_ggi" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <ggi/ggi.h>
|
|
int main(void) { ggiInit(); return 0; }
|
|
EOF
|
|
_ggi=no
|
|
cc_check -lggi && _ggi=yes
|
|
fi
|
|
if test "$_ggi" = yes ; then
|
|
_def_ggi='#define HAVE_GGI 1'
|
|
_libs_mplayer="$_libs_mplayer -lggi"
|
|
_vosrc="$_vosrc vo_ggi.c"
|
|
_vomodules="ggi $_vomodules"
|
|
else
|
|
_def_ggi='#undef HAVE_GGI'
|
|
_novomodules="ggi $_novomodules"
|
|
fi
|
|
echores "$_ggi"
|
|
|
|
echocheck "GGI extension: libggiwmh"
|
|
if test "$_ggiwmh" = auto ; then
|
|
_ggiwmh=no
|
|
cat > $TMPC << EOF
|
|
#include <ggi/ggi.h>
|
|
#include <ggi/wmh.h>
|
|
int main(void) { ggiInit(); ggiWmhInit(); return 0; }
|
|
EOF
|
|
cc_check -lggi -lggiwmh && _ggiwmh=yes
|
|
fi
|
|
# needed to get right output on obscure combination
|
|
# like --disable-ggi --enable-ggiwmh
|
|
if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
|
|
_def_ggiwmh='#define HAVE_GGIWMH 1'
|
|
_libs_mplayer="$_libs_mplayer -lggiwmh"
|
|
else
|
|
_ggiwmh=no
|
|
_def_ggiwmh='#undef HAVE_GGIWMH'
|
|
fi
|
|
echores "$_ggiwmh"
|
|
|
|
|
|
echocheck "AA"
|
|
if test "$_aa" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <aalib.h>
|
|
extern struct aa_hardware_params aa_defparams;
|
|
extern struct aa_renderparams aa_defrenderparams;
|
|
int main(void) {
|
|
aa_context *c;
|
|
aa_renderparams *p;
|
|
(void) aa_init(0, 0, 0);
|
|
c = aa_autoinit(&aa_defparams);
|
|
p = aa_getrenderparams();
|
|
aa_autoinitkbd(c,0);
|
|
return 0; }
|
|
EOF
|
|
_aa=no
|
|
for _ld_tmp in "-laa" ; do
|
|
cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" && _aa=yes && break
|
|
done
|
|
fi
|
|
if test "$_aa" = yes ; then
|
|
_def_aa='#define HAVE_AA 1'
|
|
if cygwin ; then
|
|
_libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
|
|
fi
|
|
_vosrc="$_vosrc vo_aa.c"
|
|
_vomodules="aa $_vomodules"
|
|
else
|
|
_def_aa='#undef HAVE_AA'
|
|
_novomodules="aa $_novomodules"
|
|
fi
|
|
echores "$_aa"
|
|
|
|
|
|
echocheck "CACA"
|
|
if test "$_caca" = auto ; then
|
|
_caca=no
|
|
if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
|
|
cat > $TMPC << EOF
|
|
#include <caca.h>
|
|
#ifdef CACA_API_VERSION_1
|
|
#include <caca0.h>
|
|
#endif
|
|
int main(void) { (void) caca_init(); return 0; }
|
|
EOF
|
|
cc_check `caca-config --libs` && _caca=yes
|
|
fi
|
|
fi
|
|
if test "$_caca" = yes ; then
|
|
_def_caca='#define HAVE_CACA 1'
|
|
_inc_extra="$_inc_extra `caca-config --cflags`"
|
|
_libs_mplayer="$_libs_mplayer `caca-config --libs`"
|
|
_vosrc="$_vosrc vo_caca.c"
|
|
_vomodules="caca $_vomodules"
|
|
else
|
|
_def_caca='#undef HAVE_CACA'
|
|
_novomodules="caca $_novomodules"
|
|
fi
|
|
echores "$_caca"
|
|
|
|
|
|
echocheck "SVGAlib"
|
|
if test "$_svga" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <vga.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_svga=no
|
|
cc_check -lvga $_ld_lm && _svga=yes
|
|
fi
|
|
if test "$_svga" = yes ; then
|
|
_def_svga='#define HAVE_SVGALIB 1'
|
|
_libs_mplayer="$_libs_mplayer -lvga"
|
|
_vosrc="$_vosrc vo_svga.c"
|
|
_vomodules="svga $_vomodules"
|
|
else
|
|
_def_svga='#undef HAVE_SVGALIB'
|
|
_novomodules="svga $_novomodules"
|
|
fi
|
|
echores "$_svga"
|
|
|
|
|
|
echocheck "FBDev"
|
|
if test "$_fbdev" = auto ; then
|
|
_fbdev=no
|
|
linux && _fbdev=yes
|
|
fi
|
|
if test "$_fbdev" = yes ; then
|
|
_def_fbdev='#define HAVE_FBDEV 1'
|
|
_vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
|
|
_vomodules="fbdev $_vomodules"
|
|
else
|
|
_def_fbdev='#undef HAVE_FBDEV'
|
|
_novomodules="fbdev $_novomodules"
|
|
fi
|
|
echores "$_fbdev"
|
|
|
|
|
|
|
|
echocheck "DVB"
|
|
if test "$_dvb" = auto ; then
|
|
_dvb=no
|
|
cat >$TMPC << EOF
|
|
#include <sys/poll.h>
|
|
#include <sys/ioctl.h>
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
#include <unistd.h>
|
|
#include <ost/dmx.h>
|
|
#include <ost/frontend.h>
|
|
#include <ost/sec.h>
|
|
#include <ost/video.h>
|
|
#include <ost/audio.h>
|
|
int main(void) {return 0;}
|
|
EOF
|
|
for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
|
|
cc_check $_inc_tmp && _dvb=yes && \
|
|
_inc_extra="$_inc_extra $_inc_tmp" && break
|
|
done
|
|
fi
|
|
echores "$_dvb"
|
|
if test "$_dvb" = yes ; then
|
|
_def_dvb='#define HAVE_DVB 1'
|
|
_def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
|
|
_aomodules="mpegpes(dvb) $_aomodules"
|
|
_vomodules="mpegpes(dvb) $_vomodules"
|
|
fi
|
|
|
|
echocheck "DVB HEAD"
|
|
if test "$_dvbhead" = auto ; then
|
|
_dvbhead=no
|
|
|
|
cat >$TMPC << EOF
|
|
#include <sys/poll.h>
|
|
#include <sys/ioctl.h>
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
#include <unistd.h>
|
|
#include <linux/dvb/dmx.h>
|
|
#include <linux/dvb/frontend.h>
|
|
#include <linux/dvb/video.h>
|
|
#include <linux/dvb/audio.h>
|
|
int main(void) {return 0;}
|
|
EOF
|
|
for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
|
|
cc_check $_inc_tmp && _dvbhead=yes && \
|
|
_inc_extra="$_inc_extra $_inc_tmp" && break
|
|
done
|
|
fi
|
|
echores "$_dvbhead"
|
|
if test "$_dvbhead" = yes ; then
|
|
_def_dvb='#define HAVE_DVB_HEAD 1'
|
|
_def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
|
|
_aomodules="mpegpes(dvb) $_aomodules"
|
|
_vomodules="mpegpes(dvb) $_vomodules"
|
|
fi
|
|
|
|
if test "$_dvbhead" = no && test "$_dvb" = no ; then
|
|
_def_dvb='#undef HAVE_DVB'
|
|
_def_dvb_in='#undef HAS_DVBIN_SUPPORT '
|
|
_aomodules="mpegpes(file) $_aomodules"
|
|
_vomodules="mpegpes(file) $_vomodules"
|
|
fi
|
|
|
|
if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
|
|
_dvbin=yes
|
|
_inputmodules="dvb $_inputmodules"
|
|
else
|
|
_dvbin=no
|
|
_noinputmodules="dvb $_noinputmodules"
|
|
fi
|
|
|
|
|
|
|
|
|
|
echocheck "PNG support"
|
|
if test "$_png" = auto ; then
|
|
_png=no
|
|
if irix ; then
|
|
# Don't check for -lpng on irix since it has its own libpng
|
|
# incompatible with the GNU libpng
|
|
_res_comment="disabled on irix (not GNU libpng)"
|
|
else
|
|
cat > $TMPC << EOF
|
|
#include <png.h>
|
|
#include <string.h>
|
|
int main(void) {
|
|
printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
|
|
printf("libpng: %s\n", png_libpng_ver);
|
|
return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
|
|
}
|
|
EOF
|
|
if cc_check -lpng -lz $_ld_lm ; then
|
|
if tmp_run ; then
|
|
_png=yes
|
|
else
|
|
_res_comment="mismatch of library and header versions"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
echores "$_png"
|
|
if test "$_png" = yes ; then
|
|
_def_png='#define HAVE_PNG 1'
|
|
_ld_extra="$_ld_extra -lpng -lz"
|
|
_vosrc="$_vosrc vo_png.c"
|
|
_vomodules="png $_vomodules"
|
|
else
|
|
_def_png='#undef HAVE_PNG'
|
|
_novomodules="png $_novomodules"
|
|
fi
|
|
|
|
echocheck "JPEG support"
|
|
if test "$_jpeg" = auto ; then
|
|
_jpeg=no
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <setjmp.h>
|
|
#include <string.h>
|
|
#include <jpeglib.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
if cc_check -ljpeg $_ld_lm ; then
|
|
if tmp_run ; then
|
|
_jpeg=yes
|
|
fi
|
|
fi
|
|
fi
|
|
echores "$_jpeg"
|
|
|
|
if test "$_jpeg" = yes ; then
|
|
_def_jpeg='#define HAVE_JPEG 1'
|
|
_vosrc="$_vosrc vo_jpeg.c"
|
|
_vomodules="jpeg $_vomodules"
|
|
_ld_extra="$_ld_extra -ljpeg"
|
|
else
|
|
_def_jpeg='#undef HAVE_JPEG'
|
|
_novomodules="jpeg $_novomodules"
|
|
fi
|
|
|
|
|
|
|
|
echocheck "PNM support"
|
|
if test "$_pnm" = yes; then
|
|
_def_pnm="#define HAVE_PNM"
|
|
_vosrc="$_vosrc vo_pnm.c"
|
|
_vomodules="pnm $_vomodules"
|
|
else
|
|
_def_pnm="#undef HAVE_PNM"
|
|
_novomodules="pnm $_novomodules"
|
|
fi
|
|
echores "$_pnm"
|
|
|
|
|
|
|
|
echocheck "GIF support"
|
|
# This is to appease people who want to force gif support.
|
|
# If it is forced to yes, then we still do checks to determine
|
|
# which gif library to use.
|
|
if test "$_gif" = yes ; then
|
|
_force_gif=yes
|
|
_gif=auto
|
|
fi
|
|
|
|
if test "$_gif" = auto ; then
|
|
_gif=no
|
|
cat > $TMPC << EOF
|
|
#include <gif_lib.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
for _ld_gif in "-lungif" "-lgif" ; do
|
|
cc_check $_ld_gif && tmp_run && _gif=yes && break
|
|
done
|
|
fi
|
|
|
|
# If no library was found, and the user wants support forced,
|
|
# then we force it on with libgif, as this is the safest
|
|
# assumption IMHO. (libungif & libregif both create symbolic
|
|
# links to libgif. We also assume that no x11 support is needed,
|
|
# because if you are forcing this, then you _should_ know what
|
|
# you are doing. [ Besides, package maintainers should never
|
|
# have compiled x11 deps into libungif in the first place. ] )
|
|
# </rant>
|
|
# --Joey
|
|
if test "$_force_gif" = yes && test "$_gif" = no ; then
|
|
_gif=yes
|
|
_ld_gif="-lgif"
|
|
fi
|
|
|
|
if test "$_gif" = yes ; then
|
|
_def_gif='#define HAVE_GIF 1'
|
|
_vosrc="$_vosrc vo_gif89a.c"
|
|
_codecmodules="gif $_codecmodules"
|
|
_vomodules="gif89a $_vomodules"
|
|
_res_comment="old version, some encoding functions disabled"
|
|
_def_gif_4='#undef HAVE_GIF_4'
|
|
_ld_extra="$_ld_extra $_ld_gif"
|
|
|
|
cat > $TMPC << EOF
|
|
#include <signal.h>
|
|
#include <gif_lib.h>
|
|
void catch() { exit(1); }
|
|
int main(void) {
|
|
signal(SIGSEGV, catch); // catch segfault
|
|
printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
|
|
EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
|
|
return 0;
|
|
}
|
|
EOF
|
|
if cc_check "$_ld_gif" && tmp_run ; then
|
|
_def_gif_4='#define HAVE_GIF_4 1'
|
|
_res_comment=""
|
|
fi
|
|
else
|
|
_def_gif='#undef HAVE_GIF'
|
|
_def_gif_4='#undef HAVE_GIF_4'
|
|
_novomodules="gif89a $_novomodules"
|
|
_nocodecmodules="gif $_nocodecmodules"
|
|
fi
|
|
echores "$_gif"
|
|
|
|
|
|
case "$_gif" in yes*)
|
|
echocheck "broken giflib workaround"
|
|
_def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
|
|
|
|
cat > $TMPC << EOF
|
|
#include <gif_lib.h>
|
|
int main(void) {
|
|
GifFileType gif;
|
|
printf("UserData is at address %p\n", gif.UserData);
|
|
return 0;
|
|
}
|
|
EOF
|
|
if cc_check "$_ld_gif" && tmp_run ; then
|
|
_def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
|
|
echores "disabled"
|
|
else
|
|
echores "enabled"
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
|
|
echocheck "VESA support"
|
|
if test "$_vesa" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <vbe.h>
|
|
int main(void) { vbeVersion(); return 0; }
|
|
EOF
|
|
_vesa=no
|
|
cc_check -lvbe -llrmi && _vesa=yes
|
|
fi
|
|
if test "$_vesa" = yes ; then
|
|
_def_vesa='#define HAVE_VESA 1'
|
|
_libs_mplayer="$_libs_mplayer -lvbe -llrmi"
|
|
_vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
|
|
_vomodules="vesa $_vomodules"
|
|
else
|
|
_def_vesa='#undef HAVE_VESA'
|
|
_novomodules="vesa $_novomodules"
|
|
fi
|
|
echores "$_vesa"
|
|
|
|
#################
|
|
# VIDEO + AUDIO #
|
|
#################
|
|
|
|
|
|
echocheck "SDL"
|
|
if test -z "$_sdlconfig" ; then
|
|
if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
|
|
_sdlconfig="sdl-config"
|
|
elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
|
|
_sdlconfig="sdl11-config"
|
|
else
|
|
_sdlconfig=false
|
|
fi
|
|
fi
|
|
if test "$_sdl" = auto || test "$_sdl" = yes ; then
|
|
cat > $TMPC << EOF
|
|
#include <SDL.h>
|
|
int main(void) {
|
|
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
|
|
return 0;
|
|
}
|
|
EOF
|
|
_sdl=no
|
|
if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
|
|
if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
|
|
_sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
|
|
if test "$_sdlversion" -gt 116 ; then
|
|
if test "$_sdlversion" -lt 121 ; then
|
|
_def_sdlbuggy='#define BUGGY_SDL'
|
|
else
|
|
_def_sdlbuggy='#undef BUGGY_SDL'
|
|
fi
|
|
_sdl=yes
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$_sdl" = yes ; then
|
|
_def_sdl='#define HAVE_SDL 1'
|
|
if cygwin ; then
|
|
_libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
|
|
_inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
|
|
elif mingw32 ; then
|
|
_libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
|
|
_inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
|
|
else
|
|
_libs_mplayer="$_libs_mplayer `$_sdlconfig --libs`"
|
|
_inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
|
|
fi
|
|
_vosrc="$_vosrc vo_sdl.c"
|
|
_vomodules="sdl $_vomodules"
|
|
_aosrc="$_aosrc ao_sdl.c"
|
|
_aomodules="sdl $_aomodules"
|
|
_res_comment="using $_sdlconfig"
|
|
else
|
|
_def_sdl='#undef HAVE_SDL'
|
|
_novomodules="sdl $_novomodules"
|
|
_noaomodules="sdl $_noaomodules"
|
|
fi
|
|
echores "$_sdl"
|
|
|
|
|
|
if win32; then
|
|
|
|
echocheck "Windows waveout"
|
|
if test "$_win32waveout" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <windows.h>
|
|
#include <mmsystem.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_win32waveout=no
|
|
cc_check -lwinmm && _win32waveout=yes
|
|
fi
|
|
if test "$_win32waveout" = yes ; then
|
|
_def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
|
|
_libs_mplayer="$_libs_mplayer -lwinmm"
|
|
_aosrc="$_aosrc ao_win32.c"
|
|
_aomodules="win32 $_aomodules"
|
|
else
|
|
_def_win32waveout='#undef HAVE_WIN32WAVEOUT'
|
|
_noaomodules="win32 $_noaomodules"
|
|
fi
|
|
echores "$_win32waveout"
|
|
|
|
echocheck "Directx"
|
|
if test "$_directx" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <windows.h>
|
|
#include <ddraw.h>
|
|
#include <dsound.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_directx=no
|
|
cc_check -lgdi32 && _directx=yes
|
|
fi
|
|
if test "$_directx" = yes ; then
|
|
_def_directx='#define HAVE_DIRECTX 1'
|
|
_libs_mplayer="$_libs_mplayer -lgdi32"
|
|
_vosrc="$_vosrc vo_directx.c"
|
|
_vomodules="directx $_vomodules"
|
|
_aosrc="$_aosrc ao_dsound.c"
|
|
_aomodules="dsound $_aomodules"
|
|
else
|
|
_def_directx='#undef HAVE_DIRECTX'
|
|
_novomodules="directx $_novomodules"
|
|
_noaomodules="dsound $_noaomodules"
|
|
fi
|
|
echores "$_directx"
|
|
|
|
fi #if win32; then
|
|
|
|
|
|
echocheck "NAS"
|
|
if test "$_nas" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <audio/audiolib.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_nas=no
|
|
cc_check $_ld_lm -laudio -lXt && _nas=yes
|
|
fi
|
|
if test "$_nas" = yes ; then
|
|
_def_nas='#define HAVE_NAS 1'
|
|
_libs_mplayer="$_libs_mplayer -laudio -lXt"
|
|
_aosrc="$_aosrc ao_nas.c"
|
|
_aomodules="nas $_aomodules"
|
|
else
|
|
_noaomodules="nas $_noaomodules"
|
|
_def_nas='#undef HAVE_NAS'
|
|
fi
|
|
echores "$_nas"
|
|
|
|
echocheck "DXR2"
|
|
if test "$_dxr2" = auto; then
|
|
_dxr2=no
|
|
cat > $TMPC << EOF
|
|
#include <dxr2ioctl.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
|
|
cc_check $_inc_tmp && _dxr2=yes && \
|
|
_inc_extra="$_inc_extra $_inc_tmp" && break
|
|
done
|
|
fi
|
|
if test "$_dxr2" = yes; then
|
|
_def_dxr2='#define HAVE_DXR2 1'
|
|
_vosrc="$_vosrc vo_dxr2.c"
|
|
_aosrc="$_aosrc ao_dxr2.c"
|
|
_aomodules="dxr2 $_aomodules"
|
|
_vomodules="dxr2 $_vomodules"
|
|
else
|
|
_def_dxr2='#undef HAVE_DXR2'
|
|
_noaomodules="dxr2 $_noaomodules"
|
|
_novomodules="dxr2 $_novomodules"
|
|
fi
|
|
echores "$_dxr2"
|
|
|
|
echocheck "DXR3/H+"
|
|
if test "$_dxr3" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <linux/em8300.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_dxr3=no
|
|
cc_check && _dxr3=yes
|
|
fi
|
|
if test "$_dxr3" = yes ; then
|
|
_def_dxr3='#define HAVE_DXR3 1'
|
|
_vosrc="$_vosrc vo_dxr3.c"
|
|
_vomodules="dxr3 $_vomodules"
|
|
else
|
|
_def_dxr3='#undef HAVE_DXR3'
|
|
_novomodules="dxr3 $_novomodules"
|
|
fi
|
|
echores "$_dxr3"
|
|
|
|
|
|
echocheck "IVTV TV-Out (pre linux-2.6.24)"
|
|
if test "$_ivtv" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdlib.h>
|
|
#include <inttypes.h>
|
|
#include <linux/types.h>
|
|
#include <linux/videodev2.h>
|
|
#include <linux/ivtv.h>
|
|
#include <sys/ioctl.h>
|
|
int main(void) {
|
|
struct ivtv_cfg_stop_decode sd;
|
|
struct ivtv_cfg_start_decode sd1;
|
|
ioctl (0, IVTV_IOC_START_DECODE, &sd1);
|
|
ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
|
|
return 0; }
|
|
EOF
|
|
_ivtv=no
|
|
cc_check && _ivtv=yes
|
|
fi
|
|
if test "$_ivtv" = yes ; then
|
|
_def_ivtv='#define HAVE_IVTV 1'
|
|
_vosrc="$_vosrc vo_ivtv.c"
|
|
_vomodules="ivtv $_vomodules"
|
|
_aosrc="$_aosrc ao_ivtv.c"
|
|
_aomodules="ivtv $_aomodules"
|
|
else
|
|
_def_ivtv='#undef HAVE_IVTV'
|
|
_novomodules="ivtv $_novomodules"
|
|
_noaomodules="ivtv $_noaomodules"
|
|
fi
|
|
echores "$_ivtv"
|
|
|
|
|
|
echocheck "V4L2 MPEG Decoder"
|
|
if test "$_v4l2" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdlib.h>
|
|
#include <inttypes.h>
|
|
#include <linux/types.h>
|
|
#include <linux/videodev2.h>
|
|
#include <linux/version.h>
|
|
int main(void) {
|
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
|
|
#error kernel headers too old, need 2.6.22
|
|
bad_kernel_version();
|
|
#endif
|
|
struct v4l2_ext_controls ctrls;
|
|
ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
|
|
return 0;
|
|
}
|
|
EOF
|
|
_v4l2=no
|
|
cc_check && _v4l2=yes
|
|
fi
|
|
if test "$_v4l2" = yes ; then
|
|
_def_v4l2='#define HAVE_V4L2_DECODER 1'
|
|
_vosrc="$_vosrc vo_v4l2.c"
|
|
_vomodules="v4l2 $_vomodules"
|
|
_aosrc="$_aosrc ao_v4l2.c"
|
|
_aomodules="v4l2 $_aomodules"
|
|
else
|
|
_def_v4l2='#undef HAVE_V4L2_DECODER'
|
|
_novomodules="v4l2 $_novomodules"
|
|
_noaomodules="v4l2 $_noaomodules"
|
|
fi
|
|
echores "$_v4l2"
|
|
|
|
|
|
|
|
#########
|
|
# AUDIO #
|
|
#########
|
|
|
|
|
|
echocheck "OSS Audio"
|
|
if test "$_ossaudio" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <sys/ioctl.h>
|
|
#include <$_soundcard_header>
|
|
int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
|
|
EOF
|
|
_ossaudio=no
|
|
cc_check && _ossaudio=yes
|
|
fi
|
|
if test "$_ossaudio" = yes ; then
|
|
_def_ossaudio='#define USE_OSS_AUDIO 1'
|
|
_aosrc="$_aosrc ao_oss.c"
|
|
_aomodules="oss $_aomodules"
|
|
if test "$_linux_devfs" = yes; then
|
|
_def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
|
|
_def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
|
|
else
|
|
cat > $TMPC << EOF
|
|
#include <sys/ioctl.h>
|
|
#include <$_soundcard_header>
|
|
#ifdef OPEN_SOUND_SYSTEM
|
|
int main(void) { return 0; }
|
|
#else
|
|
#error Not the real thing
|
|
#endif
|
|
EOF
|
|
_real_ossaudio=no
|
|
cc_check && _real_ossaudio=yes
|
|
if test "$_real_ossaudio" = yes; then
|
|
_def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
|
|
elif netbsd || openbsd ; then
|
|
_def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
|
|
_ld_extra="$_ld_extra -lossaudio"
|
|
else
|
|
_def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
|
|
fi
|
|
_def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
|
|
fi
|
|
else
|
|
_def_ossaudio='#undef USE_OSS_AUDIO'
|
|
_def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
|
|
_def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
|
|
_noaomodules="oss $_noaomodules"
|
|
fi
|
|
echores "$_ossaudio"
|
|
|
|
|
|
echocheck "aRts"
|
|
if test "$_arts" = auto ; then
|
|
_arts=no
|
|
if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
|
|
|
|
cat > $TMPC << EOF
|
|
#include <artsc.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
|
|
|
|
fi
|
|
fi
|
|
|
|
if test "$_arts" = yes ; then
|
|
_def_arts='#define USE_ARTS 1'
|
|
_aosrc="$_aosrc ao_arts.c"
|
|
_aomodules="arts $_aomodules"
|
|
_libs_mplayer="$_libs_mplayer `artsc-config --libs`"
|
|
_inc_extra="$_inc_extra `artsc-config --cflags`"
|
|
else
|
|
_noaomodules="arts $_noaomodules"
|
|
fi
|
|
echores "$_arts"
|
|
|
|
|
|
echocheck "EsounD"
|
|
if test "$_esd" = auto ; then
|
|
_esd=no
|
|
if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
|
|
|
|
cat > $TMPC << EOF
|
|
#include <esd.h>
|
|
int main(void) { int fd = esd_open_sound("test"); return fd; }
|
|
EOF
|
|
cc_check `esd-config --libs` `esd-config --cflags` && _esd=yes
|
|
|
|
fi
|
|
fi
|
|
echores "$_esd"
|
|
|
|
if test "$_esd" = yes ; then
|
|
_def_esd='#define USE_ESD 1'
|
|
_aosrc="$_aosrc ao_esd.c"
|
|
_aomodules="esd $_aomodules"
|
|
_libs_mplayer="$_libs_mplayer `esd-config --libs`"
|
|
_inc_extra="$_inc_extra `esd-config --cflags`"
|
|
|
|
echocheck "esd_get_latency()"
|
|
cat > $TMPC << EOF
|
|
#include <esd.h>
|
|
int main(void) { return esd_get_latency(0); }
|
|
EOF
|
|
cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
|
|
echores "$_esd_latency"
|
|
else
|
|
_def_esd='#undef USE_ESD'
|
|
_def_esd_latency='#undef HAVE_ESD_LATENCY'
|
|
_noaomodules="esd $_noaomodules"
|
|
fi
|
|
|
|
echocheck "pulse"
|
|
if test "$_pulse" = auto ; then
|
|
_pulse=no
|
|
if $_pkg_config --exists 'libpulse >= 0.9' ; then
|
|
|
|
cat > $TMPC << EOF
|
|
#include <pulse/pulseaudio.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check `$_pkg_config --libs --cflags libpulse` && tmp_run && _pulse=yes
|
|
|
|
fi
|
|
fi
|
|
echores "$_pulse"
|
|
|
|
if test "$_pulse" = yes ; then
|
|
_def_pulse='#define USE_PULSE 1'
|
|
_aosrc="$_aosrc ao_pulse.c"
|
|
_aomodules="pulse $_aomodules"
|
|
_libs_mplayer="$_libs_mplayer `$_pkg_config --libs libpulse`"
|
|
_inc_extra="$_inc_extra `$_pkg_config --cflags libpulse`"
|
|
else
|
|
_def_pulse='#undef USE_PULSE'
|
|
_noaomodules="pulse $_noaomodules"
|
|
fi
|
|
|
|
|
|
echocheck "JACK"
|
|
if test "$_jack" = auto ; then
|
|
_jack=yes
|
|
|
|
cat > $TMPC << EOF
|
|
#include <jack/jack.h>
|
|
int main(void) { jack_client_new("test"); return 0; }
|
|
EOF
|
|
if cc_check -ljack ; then
|
|
_libs_mplayer="$_libs_mplayer -ljack"
|
|
elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
|
|
_libs_mplayer="$_libs_mplayer `$_pkg_config --libs jack`"
|
|
_inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
|
|
else
|
|
_jack=no
|
|
fi
|
|
fi
|
|
|
|
if test "$_jack" = yes ; then
|
|
_def_jack='#define USE_JACK 1'
|
|
_aosrc="$_aosrc ao_jack.c"
|
|
_aomodules="jack $_aomodules"
|
|
else
|
|
_noaomodules="jack $_noaomodules"
|
|
fi
|
|
echores "$_jack"
|
|
|
|
echocheck "OpenAL"
|
|
if test "$_openal" = auto ; then
|
|
_openal=no
|
|
cat > $TMPC << EOF
|
|
#ifdef OPENAL_AL_H
|
|
#include <OpenAL/al.h>
|
|
#else
|
|
#include <AL/al.h>
|
|
#endif
|
|
int main(void) {
|
|
alSourceQueueBuffers(0, 0, 0);
|
|
// alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
|
|
return 0;
|
|
}
|
|
EOF
|
|
for I in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
|
|
cc_check $I && _openal=yes && break
|
|
cc_check -DOPENAL_AL_H=1 $I && _def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
|
|
done
|
|
test "$_openal" = yes && _libs_mplayer="$_libs_mplayer $I"
|
|
fi
|
|
if test "$_openal" = yes ; then
|
|
_def_openal='#define USE_OPENAL 1'
|
|
_aosrc="$_aosrc ao_openal.c"
|
|
_aomodules="openal $_aomodules"
|
|
else
|
|
_noaomodules="openal $_noaomodules"
|
|
fi
|
|
echores "$_openal"
|
|
|
|
echocheck "ALSA audio"
|
|
if test "$_alsa" != no ; then
|
|
_alsa=no
|
|
cat > $TMPC << EOF
|
|
#include <sys/asoundlib.h>
|
|
#if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
|
|
#error "alsa version != 0.5.x"
|
|
#endif
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
|
|
|
|
cat > $TMPC << EOF
|
|
#include <sys/asoundlib.h>
|
|
#if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
|
|
#error "alsa version != 0.9.x"
|
|
#endif
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
|
|
cat > $TMPC << EOF
|
|
#include <alsa/asoundlib.h>
|
|
#if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
|
|
#error "alsa version != 0.9.x"
|
|
#endif
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
|
|
|
|
cat > $TMPC << EOF
|
|
#include <sys/asoundlib.h>
|
|
#if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
|
|
#error "alsa version != 1.0.x"
|
|
#endif
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
|
|
cat > $TMPC << EOF
|
|
#include <alsa/asoundlib.h>
|
|
#if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
|
|
#error "alsa version != 1.0.x"
|
|
#endif
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
|
|
fi
|
|
_def_alsa5='#undef HAVE_ALSA5'
|
|
_def_alsa9='#undef HAVE_ALSA9'
|
|
_def_alsa1x='#undef HAVE_ALSA1X'
|
|
_def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
|
|
_def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
|
|
if test "$_alsaver" ; then
|
|
_alsa=yes
|
|
if test "$_alsaver" = '0.5.x' ; then
|
|
_alsa5=yes
|
|
_aosrc="$_aosrc ao_alsa5.c"
|
|
_aomodules="alsa5 $_aomodules"
|
|
_def_alsa5='#define HAVE_ALSA5 1'
|
|
_def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
|
|
_res_comment="using alsa 0.5.x and sys/asoundlib.h"
|
|
elif test "$_alsaver" = '0.9.x-sys' ; then
|
|
_alsa9=yes
|
|
_aosrc="$_aosrc ao_alsa.c"
|
|
_aomodules="alsa $_aomodules"
|
|
_def_alsa9='#define HAVE_ALSA9 1'
|
|
_def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
|
|
_res_comment="using alsa 0.9.x and sys/asoundlib.h"
|
|
elif test "$_alsaver" = '0.9.x-alsa' ; then
|
|
_alsa9=yes
|
|
_aosrc="$_aosrc ao_alsa.c"
|
|
_aomodules="alsa $_aomodules"
|
|
_def_alsa9='#define HAVE_ALSA9 1'
|
|
_def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
|
|
_res_comment="using alsa 0.9.x and alsa/asoundlib.h"
|
|
elif test "$_alsaver" = '1.0.x-sys' ; then
|
|
_alsa1x=yes
|
|
_aosrc="$_aosrc ao_alsa.c"
|
|
_aomodules="alsa $_aomodules"
|
|
_def_alsa1x="#define HAVE_ALSA1X 1"
|
|
_def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
|
|
_res_comment="using alsa 1.0.x and sys/asoundlib.h"
|
|
elif test "$_alsaver" = '1.0.x-alsa' ; then
|
|
_alsa1x=yes
|
|
_aosrc="$_aosrc ao_alsa.c"
|
|
_aomodules="alsa $_aomodules"
|
|
_def_alsa1x="#define HAVE_ALSA1X 1"
|
|
_def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
|
|
_res_comment="using alsa 1.0.x and alsa/asoundlib.h"
|
|
else
|
|
_alsa=no
|
|
_res_comment="unknown version"
|
|
fi
|
|
_ld_extra="$_ld_extra -lasound $_ld_dl $_ld_pthread"
|
|
else
|
|
_noaomodules="alsa $_noaomodules"
|
|
fi
|
|
echores "$_alsa"
|
|
|
|
|
|
echocheck "Sun audio"
|
|
if test "$_sunaudio" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <sys/audioio.h>
|
|
int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
|
|
EOF
|
|
_sunaudio=no
|
|
cc_check && _sunaudio=yes
|
|
fi
|
|
if test "$_sunaudio" = yes ; then
|
|
_def_sunaudio='#define USE_SUN_AUDIO 1'
|
|
_aosrc="$_aosrc ao_sun.c"
|
|
_aomodules="sun $_aomodules"
|
|
else
|
|
_def_sunaudio='#undef USE_SUN_AUDIO'
|
|
_noaomodules="sun $_noaomodules"
|
|
fi
|
|
echores "$_sunaudio"
|
|
|
|
|
|
if sunos; then
|
|
echocheck "Sun mediaLib"
|
|
if test "$_mlib" = auto ; then
|
|
_mlib=no
|
|
cat > $TMPC << EOF
|
|
#include <mlib.h>
|
|
int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
|
|
EOF
|
|
cc_check -lmlib && _mlib=yes
|
|
fi
|
|
test "$_mlib" = yes && _cpuexts="MLIB $_cpuexts"
|
|
echores "$_mlib"
|
|
fi #if sunos
|
|
|
|
|
|
if irix; then
|
|
echocheck "SGI audio"
|
|
if test "$_sgiaudio" = auto ; then
|
|
# check for SGI audio
|
|
cat > $TMPC << EOF
|
|
#include <dmedia/audio.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_sgiaudio=no
|
|
cc_check && _sgiaudio=yes
|
|
fi
|
|
if test "$_sgiaudio" = "yes" ; then
|
|
_def_sgiaudio='#define USE_SGI_AUDIO 1'
|
|
_libs_mplayer="$_libs_mplayer -laudio"
|
|
_aosrc="$_aosrc ao_sgi.c"
|
|
_aomodules="sgi $_aomodules"
|
|
else
|
|
_def_sgiaudio='#undef USE_SGI_AUDIO'
|
|
_noaomodules="sgi $_noaomodules"
|
|
fi
|
|
echores "$_sgiaudio"
|
|
fi #if irix
|
|
|
|
|
|
echocheck "VCD support"
|
|
if linux || freebsd || netbsd || dragonfly || bsdos || darwin || sunos || mingw32; then
|
|
_inputmodules="vcd $_inputmodules"
|
|
_def_vcd='#define HAVE_VCD 1'
|
|
_vcd="yes"
|
|
else
|
|
_def_vcd='#undef HAVE_VCD'
|
|
_noinputmodules="vcd $_noinputmodules"
|
|
_res_comment="not supported on this OS"
|
|
_vcd="no"
|
|
fi
|
|
echores "$_vcd"
|
|
|
|
|
|
|
|
echocheck "dvdread"
|
|
if test "$_dvdread_internal" = auto ; then
|
|
_dvdread_internal=no
|
|
_dvdread=no
|
|
if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux) \
|
|
&& (test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
|
|
test "$_dvdio" = yes || test "$_bsdi_dvd" = yes) \
|
|
|| darwin || win32; then
|
|
_dvdread_internal=yes
|
|
_dvdread=yes
|
|
fi
|
|
elif test "$_dvdread" = auto ; then
|
|
_dvdread=no
|
|
if test "$_dl" = yes; then
|
|
cat > $TMPC << EOF
|
|
#include <inttypes.h>
|
|
#include <dvdread/dvd_reader.h>
|
|
#include <dvdread/ifo_types.h>
|
|
#include <dvdread/ifo_read.h>
|
|
#include <dvdread/nav_read.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
|
|
-ldvdread $_ld_dl && _dvdread=yes && _res_comment="external"
|
|
fi
|
|
if test "$_dvdread" = no ; then
|
|
_dvdreadconfig="dvdread-config"
|
|
_dvdreadcflags=`$_dvdreadconfig --cflags`
|
|
_dvdreadlibs=`$_dvdreadconfig --libs`
|
|
if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
|
|
$_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
|
|
_dvdread=yes
|
|
_inc_extra="$_inc_extra $_dvdreadcflags"
|
|
_ld_extra="$_ld_extra $_dvdreadlibs"
|
|
_res_comment="external"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "$_dvdread_internal" = yes; then
|
|
_def_dvdread_internal="#define USE_DVDREAD_INTERNAL 1"
|
|
_def_dvdread='#define USE_DVDREAD 1'
|
|
_inputmodules="dvdread(internal) $_inputmodules"
|
|
_largefiles=yes
|
|
_res_comment="internal"
|
|
elif test "$_dvdread" = yes; then
|
|
_def_dvdread='#define USE_DVDREAD 1'
|
|
_largefiles=yes
|
|
_ld_extra="$_ld_extra -ldvdread"
|
|
_inputmodules="dvdread(external) $_inputmodules"
|
|
_res_comment="external"
|
|
else
|
|
_def_dvdread_internal="#undef USE_DVDREAD_INTERNAL"
|
|
_def_dvdread='#undef USE_DVDREAD'
|
|
_noinputmodules="dvdread $_noinputmodules"
|
|
fi
|
|
echores "$_dvdread"
|
|
|
|
|
|
echocheck "internal libdvdcss"
|
|
if test "$_libdvdcss_internal" = auto ; then
|
|
_libdvdcss_internal=no
|
|
test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
|
|
hpux && test "$_hpux_scsi_h" = no && _libdvdcss_internal=no
|
|
fi
|
|
if test "$_libdvdcss_internal" = yes ; then
|
|
if linux || netbsd || openbsd || bsdos ; then
|
|
_def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
|
|
openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
|
|
elif freebsd || dragonfly ; then
|
|
_def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
|
|
elif darwin ; then
|
|
_def_dvd_darwin='#define DARWIN_DVD_IOCTL'
|
|
_ld_extra="$_ld_extra -framework IOKit"
|
|
fi
|
|
_libdvdcss_dvdread_flags="-Ilibdvdcss -DHAVE_DVDCSS_DVDCSS_H"
|
|
_inputmodules="libdvdcss(internal) $_inputmodules"
|
|
_largefiles=yes
|
|
else
|
|
_noinputmodules="libdvdcss(internal) $_noinputmodules"
|
|
fi
|
|
echores "$_libdvdcss_internal"
|
|
|
|
|
|
echocheck "cdparanoia"
|
|
if test "$_cdparanoia" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <cdda_interface.h>
|
|
#include <cdda_paranoia.h>
|
|
// This need a better test. How ?
|
|
int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
|
|
EOF
|
|
_cdparanoia=no
|
|
for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
|
|
cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
|
|
_cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
|
|
done
|
|
fi
|
|
if test "$_cdparanoia" = yes ; then
|
|
_cdda='yes'
|
|
_ld_extra="$_ld_extra -lcdda_interface -lcdda_paranoia"
|
|
openbsd && _ld_extra="$_ld_extra -lutil"
|
|
fi
|
|
echores "$_cdparanoia"
|
|
|
|
|
|
echocheck "libcdio"
|
|
if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <cdio/version.h>
|
|
#include <cdio/cdda.h>
|
|
#include <cdio/paranoia.h>
|
|
int main(void) {
|
|
void *test = cdda_verbose_set;
|
|
printf("%s\n", CDIO_VERSION);
|
|
return test == (void *)1;
|
|
}
|
|
EOF
|
|
_libcdio=no
|
|
for _ld_tmp in "" "-lwinmm" ; do
|
|
_ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
|
|
cc_check $_ld_tmp $_ld_lm \
|
|
&& _libcdio=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
|
|
done
|
|
if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
|
|
_inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
|
|
_ld_tmp=`$_pkg_config --libs libcdio_paranoia`
|
|
cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
|
|
&& _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
|
|
fi
|
|
fi
|
|
if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
|
|
_cdda='yes'
|
|
_def_libcdio='#define HAVE_LIBCDIO'
|
|
_def_havelibcdio='yes'
|
|
else
|
|
if test "$_cdparanoia" = yes ; then
|
|
_res_comment="using cdparanoia"
|
|
fi
|
|
_def_libcdio='#undef HAVE_LIBCDIO'
|
|
_def_havelibcdio='no'
|
|
fi
|
|
echores "$_libcdio"
|
|
|
|
if test "$_cdda" = yes ; then
|
|
test $_cddb = auto && test $_network = yes && _cddb=yes
|
|
_def_cdparanoia='#define HAVE_CDDA'
|
|
_inputmodules="cdda $_inputmodules"
|
|
else
|
|
_def_cdparanoia='#undef HAVE_CDDA'
|
|
_noinputmodules="cdda $_noinputmodules"
|
|
fi
|
|
|
|
if test "$_cddb" = yes ; then
|
|
_def_cddb='#define HAVE_CDDB'
|
|
_inputmodules="cddb $_inputmodules"
|
|
else
|
|
_cddb=no
|
|
_def_cddb='#undef HAVE_CDDB'
|
|
_noinputmodules="cddb $_noinputmodules"
|
|
fi
|
|
|
|
echocheck "bitmap font support"
|
|
if test "$_bitmap_font" = yes ; then
|
|
_def_bitmap_font="#define HAVE_BITMAP_FONT 1"
|
|
else
|
|
_def_bitmap_font="#undef HAVE_BITMAP_FONT"
|
|
fi
|
|
echores "$_bitmap_font"
|
|
|
|
|
|
echocheck "freetype >= 2.0.9"
|
|
|
|
# freetype depends on iconv
|
|
if test "$_iconv" = no ; then
|
|
_freetype=no
|
|
_res_comment="iconv support needed"
|
|
fi
|
|
|
|
if test "$_freetype" = auto ; then
|
|
if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
#if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
|
|
#error "Need FreeType 2.0.9 or newer"
|
|
#endif
|
|
int main(void) {
|
|
FT_Library library;
|
|
FT_Int major=-1,minor=-1,patch=-1;
|
|
int err=FT_Init_FreeType(&library);
|
|
if(err){
|
|
printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
|
|
exit(err);
|
|
}
|
|
FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
|
|
printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
|
|
FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
|
|
(int)major,(int)minor,(int)patch );
|
|
if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
|
|
printf("Library and header version mismatch! Fix it in your distribution!\n");
|
|
exit(1);
|
|
}
|
|
return 0;
|
|
}
|
|
EOF
|
|
_freetype=no
|
|
cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
|
|
else
|
|
_freetype=no
|
|
fi
|
|
fi
|
|
if test "$_freetype" = yes ; then
|
|
_def_freetype='#define HAVE_FREETYPE'
|
|
_inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
|
|
_ld_extra="$_ld_extra `$_freetypeconfig --libs`"
|
|
else
|
|
_def_freetype='#undef HAVE_FREETYPE'
|
|
fi
|
|
echores "$_freetype"
|
|
|
|
if test "$_freetype" = no ; then
|
|
_fontconfig=no
|
|
_res_comment="freetype support needed"
|
|
fi
|
|
echocheck "fontconfig"
|
|
if test "$_fontconfig" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <fontconfig/fontconfig.h>
|
|
int main(void) {
|
|
int err = FcInit();
|
|
if(err == FcFalse){
|
|
printf("Couldn't initialize fontconfig lib\n");
|
|
exit(err);
|
|
}
|
|
return 0;
|
|
}
|
|
EOF
|
|
_fontconfig=no
|
|
for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
|
|
_ld_tmp="-lfontconfig $_ld_tmp"
|
|
cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
|
|
done
|
|
if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
|
|
_inc_tmp=`$_pkg_config --cflags fontconfig`
|
|
_ld_tmp=`$_pkg_config --libs fontconfig`
|
|
cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
|
|
&& _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
|
|
fi
|
|
fi
|
|
if test "$_fontconfig" = yes ; then
|
|
_def_fontconfig='#define HAVE_FONTCONFIG'
|
|
else
|
|
_def_fontconfig='#undef HAVE_FONTCONFIG'
|
|
fi
|
|
echores "$_fontconfig"
|
|
|
|
|
|
echocheck "SSA/ASS support"
|
|
# libass depends on FreeType
|
|
if test "$_freetype" = no ; then
|
|
_ass=no
|
|
_res_comment="FreeType support needed"
|
|
fi
|
|
|
|
if test "$_ass" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
#if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
|
|
#error "Need FreeType 2.1.8 or newer"
|
|
#endif
|
|
int main(void) { return 0; }
|
|
EOF
|
|
_ass=no
|
|
cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
|
|
if test "$_ass" = no ; then
|
|
_res_comment="FreeType >= 2.1.8 needed"
|
|
fi
|
|
fi
|
|
if test "$_ass" = yes ; then
|
|
_def_ass='#define USE_ASS'
|
|
else
|
|
_def_ass='#undef USE_ASS'
|
|
fi
|
|
echores "$_ass"
|
|
|
|
|
|
echocheck "fribidi with charsets"
|
|
if test "$_fribidi" = auto ; then
|
|
if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
/* workaround for fribidi 0.10.4 and below */
|
|
#define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
|
|
#include <fribidi/fribidi.h>
|
|
int main(void) {
|
|
if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
|
|
printf("Fribidi headers are not consistents with the library!\n");
|
|
exit(1);
|
|
}
|
|
return 0;
|
|
}
|
|
EOF
|
|
_fribidi=no
|
|
cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
|
|
else
|
|
_fribidi=no
|
|
fi
|
|
fi
|
|
if test "$_fribidi" = yes ; then
|
|
_def_fribidi='#define USE_FRIBIDI'
|
|
_inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
|
|
_ld_extra="$_ld_extra `$_fribidiconfig --libs`"
|
|
else
|
|
_def_fribidi='#undef USE_FRIBIDI'
|
|
fi
|
|
echores "$_fribidi"
|
|
|
|
|
|
echocheck "ENCA"
|
|
if test "$_enca" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <enca.h>
|
|
int main(void) {
|
|
const char **langs;
|
|
size_t langcnt;
|
|
langs = enca_get_languages(&langcnt);
|
|
return 0;
|
|
}
|
|
EOF
|
|
_enca=no
|
|
cc_check -lenca $_ld_lm && _enca=yes
|
|
fi
|
|
if test "$_enca" = yes ; then
|
|
_def_enca='#define HAVE_ENCA 1'
|
|
_ld_extra="$_ld_extra -lenca"
|
|
else
|
|
_def_enca='#undef HAVE_ENCA'
|
|
fi
|
|
echores "$_enca"
|
|
|
|
|
|
echocheck "zlib"
|
|
cat > $TMPC << EOF
|
|
#include <zlib.h>
|
|
int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
|
|
EOF
|
|
_zlib=no
|
|
cc_check -lz && _zlib=yes
|
|
if test "$_zlib" = yes ; then
|
|
_def_zlib='#define HAVE_ZLIB 1'
|
|
_ld_extra="$_ld_extra -lz"
|
|
else
|
|
_def_zlib='#undef HAVE_ZLIB'
|
|
_libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `
|
|
_libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
|
|
fi
|
|
echores "$_zlib"
|
|
|
|
|
|
echocheck "RTC"
|
|
if test "$_rtc" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <sys/ioctl.h>
|
|
#ifdef __linux__
|
|
#include <linux/rtc.h>
|
|
#else
|
|
#include <rtc.h>
|
|
#define RTC_PIE_ON RTCIO_PIE_ON
|
|
#endif
|
|
int main(void) { return RTC_PIE_ON; }
|
|
EOF
|
|
_rtc=no
|
|
cc_check && _rtc=yes
|
|
ppc && _rtc=no
|
|
fi
|
|
if test "$_rtc" = yes ; then
|
|
_def_rtc='#define HAVE_RTC 1'
|
|
else
|
|
_def_rtc='#undef HAVE_RTC'
|
|
fi
|
|
echores "$_rtc"
|
|
|
|
|
|
echocheck "liblzo2 support"
|
|
if test "$_liblzo" = auto ; then
|
|
_liblzo=no
|
|
cat > $TMPC << EOF
|
|
#include <lzo/lzo1x.h>
|
|
int main(void) { lzo_init();return 0; }
|
|
EOF
|
|
cc_check -llzo2 && _liblzo=yes
|
|
fi
|
|
if test "$_liblzo" = yes ; then
|
|
_def_liblzo='#define USE_LIBLZO 1'
|
|
_ld_extra="$_ld_extra -llzo2"
|
|
_codecmodules="liblzo $_codecmodules"
|
|
else
|
|
_def_liblzo='#undef USE_LIBLZO'
|
|
_nocodecmodules="liblzo $_nocodecmodules"
|
|
fi
|
|
echores "$_liblzo"
|
|
|
|
|
|
echocheck "mad support"
|
|
if test "$_mad" = auto ; then
|
|
_mad=no
|
|
cat > $TMPC << EOF
|
|
#include <mad.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -lmad && _mad=yes
|
|
fi
|
|
if test "$_mad" = yes ; then
|
|
_def_mad='#define USE_LIBMAD 1'
|
|
_ld_extra="$_ld_extra -lmad"
|
|
_codecmodules="libmad $_codecmodules"
|
|
else
|
|
_def_mad='#undef USE_LIBMAD'
|
|
_nocodecmodules="libmad $_nocodecmodules"
|
|
fi
|
|
echores "$_mad"
|
|
|
|
echocheck "Twolame"
|
|
if test "$_twolame" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <twolame.h>
|
|
int main(void) { twolame_init(); return 0; }
|
|
EOF
|
|
_twolame=no
|
|
cc_check -ltwolame $_ld_lm && _twolame=yes
|
|
fi
|
|
if test "$_twolame" = yes ; then
|
|
_def_twolame='#define HAVE_TWOLAME 1'
|
|
_libs_mencoder="$_libs_mencoder -ltwolame"
|
|
_codecmodules="twolame $_codecmodules"
|
|
else
|
|
_def_twolame='#undef HAVE_TWOLAME'
|
|
_nocodecmodules="twolame $_nocodecmodules"
|
|
fi
|
|
echores "$_twolame"
|
|
|
|
echocheck "Toolame"
|
|
if test "$_toolame" = auto ; then
|
|
_toolame=no
|
|
if test "$_twolame" = yes ; then
|
|
_res_comment="disabled by twolame"
|
|
else
|
|
cat > $TMPC <<EOF
|
|
#include <toolame.h>
|
|
int main(void) { toolame_init(); return 0; }
|
|
EOF
|
|
cc_check -ltoolame $_ld_lm && _toolame=yes
|
|
fi
|
|
fi
|
|
if test "$_toolame" = yes ; then
|
|
_def_toolame='#define HAVE_TOOLAME 1'
|
|
_libs_mencoder="$_libs_mencoder -ltoolame"
|
|
_codecmodules="toolame $_codecmodules"
|
|
else
|
|
_def_toolame='#undef HAVE_TOOLAME'
|
|
_nocodecmodules="toolame $_nocodecmodules"
|
|
fi
|
|
if test "$_toolamedir" ; then
|
|
_res_comment="using $_toolamedir"
|
|
fi
|
|
echores "$_toolame"
|
|
|
|
echocheck "OggVorbis support"
|
|
if test "$_tremor_internal" = yes; then
|
|
_libvorbis=no
|
|
elif test "$_tremor_external" = auto; then
|
|
_tremor_external=no
|
|
cat > $TMPC << EOF
|
|
#include <tremor/ivorbiscodec.h>
|
|
int main(void) { vorbis_packet_blocksize(0,0); return 0; }
|
|
EOF
|
|
cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
|
|
fi
|
|
if test "$_libvorbis" = auto; then
|
|
_libvorbis=no
|
|
cat > $TMPC << EOF
|
|
#include <vorbis/codec.h>
|
|
int main(void) { vorbis_packet_blocksize(0,0); return 0; }
|
|
EOF
|
|
cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
|
|
fi
|
|
if test "$_tremor_internal" = yes ; then
|
|
_vorbis=yes
|
|
_def_vorbis='#define HAVE_OGGVORBIS 1'
|
|
_def_tremor='#define TREMOR 1'
|
|
_codecmodules="tremor(internal) $_codecmodules"
|
|
_res_comment="internal Tremor"
|
|
if test "$_tremor_low" = yes ; then
|
|
CFLAGS="$CFLAGS -D_LOW_ACCURACY_"
|
|
_res_comment="internal low accuracy Tremor"
|
|
fi
|
|
elif test "$_tremor_external" = yes ; then
|
|
_vorbis=yes
|
|
_def_vorbis='#define HAVE_OGGVORBIS 1'
|
|
_def_tremor='#define TREMOR 1'
|
|
_codecmodules="tremor(external) $_codecmodules"
|
|
_res_comment="external Tremor"
|
|
_ld_extra="$_ld_extra -logg -lvorbisidec"
|
|
elif test "$_libvorbis" = yes ; then
|
|
_vorbis=yes
|
|
_def_vorbis='#define HAVE_OGGVORBIS 1'
|
|
_codecmodules="libvorbis $_codecmodules"
|
|
_res_comment="libvorbis"
|
|
_ld_extra="$_ld_extra -lvorbis -logg"
|
|
else
|
|
_vorbis=no
|
|
_nocodecmodules="libvorbis $_nocodecmodules"
|
|
fi
|
|
echores "$_vorbis"
|
|
|
|
echocheck "libspeex (version >= 1.1 required)"
|
|
if test "$_speex" = auto ; then
|
|
_speex=no
|
|
cat > $TMPC << EOF
|
|
#include <speex/speex.h>
|
|
int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); }
|
|
EOF
|
|
cc_check -lspeex $_ld_lm && _speex=yes
|
|
fi
|
|
if test "$_speex" = yes ; then
|
|
_def_speex='#define HAVE_SPEEX 1'
|
|
_ld_extra="$_ld_extra -lspeex"
|
|
_codecmodules="speex $_codecmodules"
|
|
else
|
|
_def_speex='#undef HAVE_SPEEX'
|
|
_nocodecmodules="speex $_nocodecmodules"
|
|
fi
|
|
echores "$_speex"
|
|
|
|
echocheck "OggTheora support"
|
|
if test "$_theora" = auto ; then
|
|
_theora=no
|
|
cat > $TMPC << EOF
|
|
#include <theora/theora.h>
|
|
#include <string.h>
|
|
int main(void) {
|
|
/* theora is in flux, make sure that all interface routines and
|
|
* datatypes exist and work the way we expect it, so we don't break
|
|
* mplayer */
|
|
ogg_packet op;
|
|
theora_comment tc;
|
|
theora_info inf;
|
|
theora_state st;
|
|
yuv_buffer yuv;
|
|
int r;
|
|
double t;
|
|
|
|
theora_info_init (&inf);
|
|
theora_comment_init (&tc);
|
|
|
|
return 0;
|
|
|
|
/* we don't want to execute this kind of nonsense; just for making sure
|
|
* that compilation works... */
|
|
memset(&op, 0, sizeof(op));
|
|
r = theora_decode_header (&inf, &tc, &op);
|
|
r = theora_decode_init (&st, &inf);
|
|
t = theora_granule_time (&st, op.granulepos);
|
|
r = theora_decode_packetin (&st, &op);
|
|
r = theora_decode_YUVout (&st, &yuv);
|
|
theora_clear (&st);
|
|
|
|
return 0;
|
|
}
|
|
EOF
|
|
for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
|
|
cc_check $_ld_theora && _ld_extra="$_ld_extra $_ld_theora" \
|
|
&& _theora=yes && break
|
|
done
|
|
if test "$_theora" = no && test "$_tremor_internal" = yes; then
|
|
for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
|
|
cc_check -I. tremor/bitwise.c $_ld_theora \
|
|
&& _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
|
|
done
|
|
fi
|
|
fi
|
|
if test "$_theora" = yes ; then
|
|
_def_theora='#define HAVE_OGGTHEORA 1'
|
|
_codecmodules="libtheora $_codecmodules"
|
|
# when --enable-theora is forced, we'd better provide a probably sane
|
|
# $_ld_theora than nothing
|
|
test -z "$_ld_theora" && _ld_extra="$_ld_extra -ltheora -logg"
|
|
else
|
|
_def_theora='#undef HAVE_OGGTHEORA'
|
|
_nocodecmodules="libtheora $_nocodecmodules"
|
|
fi
|
|
echores "$_theora"
|
|
|
|
echocheck "internal mp3lib support"
|
|
if test "$_mp3lib" = yes ; then
|
|
_def_mp3lib='#define USE_MP3LIB 1'
|
|
_codecmodules="mp3lib $_codecmodules"
|
|
else
|
|
_def_mp3lib='#undef USE_MP3LIB'
|
|
_nocodecmodules="mp3lib $_nocodecmodules"
|
|
fi
|
|
echores "$_mp3lib"
|
|
|
|
echocheck "internal liba52 support"
|
|
if test "$_liba52" = yes ; then
|
|
_def_liba52='#define USE_LIBA52 1'
|
|
_codecmodules="liba52 $_codecmodules"
|
|
else
|
|
_def_liba52='#undef USE_LIBA52'
|
|
_nocodecmodules="liba52 $_nocodecmodules"
|
|
fi
|
|
echores "$_liba52"
|
|
|
|
echocheck "libdca support"
|
|
if test "$_libdca" = auto ; then
|
|
_libdca=no
|
|
cat > $TMPC << EOF
|
|
#include <inttypes.h>
|
|
#include <dts.h>
|
|
int main(void) { dts_init (0); return 0; }
|
|
EOF
|
|
for _ld_dca in -ldts -ldca ; do
|
|
cc_check $_ld_dca $_ld_lm && _ld_extra="$_ld_extra $_ld_dca" \
|
|
&& _libdca=yes && break
|
|
done
|
|
fi
|
|
if test "$_libdca" = yes ; then
|
|
_def_libdca='#define USE_LIBDCA 1'
|
|
_codecmodules="libdca $_codecmodules"
|
|
else
|
|
_def_libdca='#undef USE_LIBDCA'
|
|
_nocodecmodules="libdca $_nocodecmodules"
|
|
fi
|
|
echores "$_libdca"
|
|
|
|
echocheck "internal libmpeg2 support"
|
|
if test "$_libmpeg2" = auto ; then
|
|
_libmpeg2=yes
|
|
if alpha && test cc_vendor=gnu; then
|
|
case $cc_version in
|
|
2*|3.0*|3.1*) # cannot compile MVI instructions
|
|
_libmpeg2=no
|
|
_res_comment="broken gcc"
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|
|
if test "$_libmpeg2" = yes ; then
|
|
_def_libmpeg2='#define USE_LIBMPEG2 1'
|
|
_codecmodules="libmpeg2 $_codecmodules"
|
|
else
|
|
_def_libmpeg2='#undef USE_LIBMPEG2'
|
|
_nocodecmodules="libmpeg2 $_nocodecmodules"
|
|
fi
|
|
echores "$_libmpeg2"
|
|
|
|
echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
|
|
if test "$_musepack" = auto ; then
|
|
_musepack=no
|
|
cat > $TMPC << EOF
|
|
#include <mpcdec/mpcdec.h>
|
|
int main(void) {
|
|
mpc_streaminfo info;
|
|
mpc_decoder decoder;
|
|
mpc_decoder_set_streaminfo(&decoder, &info);
|
|
mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
|
|
}
|
|
EOF
|
|
cc_check -lmpcdec $_ld_lm && _musepack=yes
|
|
fi
|
|
if test "$_musepack" = yes ; then
|
|
_def_musepack='#define HAVE_MUSEPACK 1'
|
|
_ld_extra="$_ld_extra -lmpcdec"
|
|
_codecmodules="musepack $_codecmodules"
|
|
else
|
|
_def_musepack='#undef HAVE_MUSEPACK'
|
|
_nocodecmodules="musepack $_nocodecmodules"
|
|
fi
|
|
echores "$_musepack"
|
|
|
|
|
|
echocheck "FAAC (AAC encoder) support"
|
|
if test "$_faac" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <inttypes.h>
|
|
#include <faac.h>
|
|
int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
|
|
EOF
|
|
_faac=no
|
|
for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
|
|
cc_check -O4 $_ld_faac $_ld_lm && _libs_mencoder="$_libs_mencoder $_ld_faac" && _faac=yes && break
|
|
done
|
|
fi
|
|
if test "$_faac" = yes ; then
|
|
_def_faac="#define HAVE_FAAC 1"
|
|
test "$_faac_lavc" = auto && _faac_lavc=yes
|
|
if test "$_faac_lavc" = yes ; then
|
|
_def_faac_lavc="#define CONFIG_LIBFAAC 1"
|
|
_libs_mplayer="$_libs_mplayer $_ld_faac"
|
|
_libavencoders="$_libavencoders LIBFAAC_ENCODER"
|
|
fi
|
|
_codecmodules="faac $_codecmodules"
|
|
else
|
|
_faac_lavc=no
|
|
_def_faac="#undef HAVE_FAAC"
|
|
_def_faac_lavc="#undef CONFIG_LIBFAAC"
|
|
_nocodecmodules="faac $_nocodecmodules"
|
|
fi
|
|
_res_comment="in libavcodec: $_faac_lavc"
|
|
echores "$_faac"
|
|
|
|
|
|
echocheck "FAAD2 (AAC) support"
|
|
if test "$_faad_internal" = auto ; then
|
|
if x86_32 && test cc_vendor=gnu; then
|
|
case $cc_version in
|
|
3.1*|3.2) # ICE/insn with these versions
|
|
_faad_internal=no
|
|
_res_comment="broken gcc"
|
|
;;
|
|
*)
|
|
_faad_internal=yes
|
|
;;
|
|
esac
|
|
else
|
|
_faad_internal=yes
|
|
fi
|
|
elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
|
|
_faad_external=no
|
|
cat > $TMPC << EOF
|
|
#include <faad.h>
|
|
#ifndef FAAD_MIN_STREAMSIZE
|
|
#error Too old version
|
|
#endif
|
|
int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
|
|
testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
|
|
EOF
|
|
cc_check -lfaad $_ld_lm && _faad_external=yes
|
|
fi
|
|
|
|
if test "$_faad_internal" = yes ; then
|
|
_def_faad_internal="#define USE_FAAD_INTERNAL 1"
|
|
_faad=yes
|
|
_res_comment="internal floating-point"
|
|
if test "$_faad_fixed" = yes ; then
|
|
# The FIXED_POINT implementation of FAAD2 improves performance
|
|
# on some platforms, especially for SBR files.
|
|
CFLAGS="$CFLAGS -DFIXED_POINT"
|
|
_res_comment="internal fixed-point"
|
|
fi
|
|
elif test "$_faad_external" = yes ; then
|
|
_faad=yes
|
|
_ld_extra="$_ld_extra -lfaad"
|
|
else
|
|
_def_faad_internal="#undef USE_FAAD_INTERNAL"
|
|
_faad=no
|
|
fi
|
|
|
|
if test "$_faad" = yes ; then
|
|
_def_faad='#define HAVE_FAAD 1'
|
|
_codecmodules="faad2 $_codecmodules"
|
|
else
|
|
_def_faad='#undef HAVE_FAAD'
|
|
_nocodecmodules="faad2 $_nocodecmodules"
|
|
fi
|
|
echores "$_faad"
|
|
|
|
|
|
echocheck "LADSPA plugin support"
|
|
if test "$_ladspa" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <stdio.h>
|
|
#include <ladspa.h>
|
|
int main(void) {
|
|
const LADSPA_Descriptor *ld = NULL;
|
|
return 0;
|
|
}
|
|
EOF
|
|
_ladspa=no
|
|
cc_check && _ladspa=yes
|
|
fi
|
|
if test "$_ladspa" = yes; then
|
|
_def_ladspa="#define HAVE_LADSPA"
|
|
else
|
|
_def_ladspa="#undef HAVE_LADSPA"
|
|
fi
|
|
echores "$_ladspa"
|
|
|
|
|
|
if test -z "$_codecsdir" ; then
|
|
for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
|
|
/usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
|
|
if test -d "$dir" ; then
|
|
_codecsdir="$dir"
|
|
break;
|
|
fi;
|
|
done
|
|
fi
|
|
# Fall back on default directory.
|
|
if test -z "$_codecsdir" ; then
|
|
_codecsdir="$_libdir/codecs"
|
|
mingw32 && _codecsdir="codecs"
|
|
os2 && _codecsdir="codecs"
|
|
fi
|
|
|
|
|
|
echocheck "Win32 codecs"
|
|
if test "$_win32dll" = auto ; then
|
|
_win32dll=no
|
|
if x86_32 && ! qnx; then
|
|
_win32dll=yes
|
|
fi
|
|
fi
|
|
if test "$_win32dll" = yes ; then
|
|
_def_win32dll='#define USE_WIN32DLL 1'
|
|
test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
|
|
_res_comment="using $_win32codecsdir"
|
|
if ! win32 ; then
|
|
_def_win32_loader='#define WIN32_LOADER 1'
|
|
_win32_emulation=yes
|
|
else
|
|
_ld_extra="$_ld_extra -ladvapi32 -lole32"
|
|
_res_comment="using native windows"
|
|
fi
|
|
_codecmodules="win32 $_codecmodules"
|
|
else
|
|
_def_win32dll='#undef USE_WIN32DLL'
|
|
_def_win32_loader='#undef WIN32_LOADER'
|
|
_nocodecmodules="win32 $_nocodecmodules"
|
|
fi
|
|
echores "$_win32dll"
|
|
|
|
|
|
echocheck "XAnim codecs"
|
|
if test "$_xanim" = auto ; then
|
|
_xanim=no
|
|
_res_comment="dynamic loader support needed"
|
|
if test "$_dl" = yes ; then
|
|
_xanim=yes
|
|
fi
|
|
fi
|
|
if test "$_xanim" = yes ; then
|
|
test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
|
|
_def_xanim='#define USE_XANIM 1'
|
|
_def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
|
|
_codecmodules="xanim $_codecmodules"
|
|
_res_comment="using $_xanimcodecsdir"
|
|
else
|
|
_def_xanim='#undef USE_XANIM'
|
|
_def_xanim_path='#undef XACODEC_PATH'
|
|
_nocodecmodules="xanim $_nocodecmodules"
|
|
fi
|
|
echores "$_xanim"
|
|
|
|
|
|
echocheck "RealPlayer codecs"
|
|
if test "$_real" = auto ; then
|
|
_real=no
|
|
_res_comment="dynamic loader support needed"
|
|
if test "$_dl" = yes || test "$_win32dll" = yes &&
|
|
(linux || freebsd || netbsd || dragonfly || darwin || win32) ; then
|
|
_real=yes
|
|
fi
|
|
fi
|
|
if test "$_real" = yes ; then
|
|
test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
|
|
_def_real='#define USE_REALCODECS 1'
|
|
_def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
|
|
_codecmodules="real $_codecmodules"
|
|
_res_comment="using $_realcodecsdir"
|
|
else
|
|
_def_real='#undef USE_REALCODECS'
|
|
_def_real_path="#undef REALCODEC_PATH"
|
|
_nocodecmodules="real $_nocodecmodules"
|
|
fi
|
|
echores "$_real"
|
|
|
|
|
|
echocheck "QuickTime codecs"
|
|
_qtx_emulation=no
|
|
_def_qtx_win32='#undef USE_QTX_CODECS_WIN32'
|
|
if test "$_qtx" = auto ; then
|
|
test "$_win32dll" = yes || darwin && _qtx=yes
|
|
fi
|
|
if test "$_qtx" = yes ; then
|
|
_def_qtx='#define USE_QTX_CODECS 1'
|
|
win32 && _qtx_codecs_win32=yes && _def_qtx_win32='#define USE_QTX_CODECS_WIN32 1'
|
|
_codecmodules="qtx $_codecmodules"
|
|
darwin || win32 || _qtx_emulation=yes
|
|
else
|
|
_def_qtx='#undef USE_QTX_CODECS'
|
|
_nocodecmodules="qtx $_nocodecmodules"
|
|
fi
|
|
echores "$_qtx"
|
|
|
|
echocheck "Nemesi Streaming Media libraries"
|
|
if test "$_nemesi" = auto && test "$_network" = yes ; then
|
|
_nemesi=no
|
|
if $_pkg_config libnemesi --atleast-version=0.6.3 ; then
|
|
_ld_extra="$_ld_extra `$_pkg_config --libs libnemesi`"
|
|
_nemesi=yes
|
|
fi
|
|
fi
|
|
if test "$_nemesi" = yes; then
|
|
_native_rtsp=no
|
|
_def_nemesi='#define LIBNEMESI 1'
|
|
_inputmodules="nemesi $_inputmodules"
|
|
else
|
|
_native_rtsp="$_network"
|
|
_nemesi=no
|
|
_def_nemesi='#undef LIBNEMESI'
|
|
_noinputmodules="nemesi $_noinputmodules"
|
|
fi
|
|
echores "$_nemesi"
|
|
|
|
echocheck "LIVE555 Streaming Media libraries"
|
|
if test "$_live" = auto && test "$_network" = yes ; then
|
|
cat > $TMPCPP << EOF
|
|
#include <liveMedia.hh>
|
|
#if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
|
|
#error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
|
|
#endif
|
|
int main(void) {}
|
|
EOF
|
|
|
|
_live=no
|
|
for I in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
|
|
cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
|
|
$I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
|
|
_ld_extra="$_livelibdir/liveMedia/libliveMedia.a \
|
|
$_livelibdir/groupsock/libgroupsock.a \
|
|
$_livelibdir/UsageEnvironment/libUsageEnvironment.a \
|
|
$_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
|
|
$_ld_extra -lstdc++" \
|
|
_inc_extraxx="-I$_livelibdir/liveMedia/include \
|
|
-I$_livelibdir/UsageEnvironment/include \
|
|
-I$_livelibdir/BasicUsageEnvironment/include \
|
|
-I$_livelibdir/groupsock/include" && \
|
|
_live=yes && break
|
|
done
|
|
if test "$_live" != yes ; then
|
|
if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
|
|
_live_dist=yes
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$_live" = yes && test "$_network" = yes; then
|
|
_res_comment="using $_livelibdir"
|
|
_def_live='#define STREAMING_LIVE555 1'
|
|
_inputmodules="live555 $_inputmodules"
|
|
elif test "$_live_dist" = yes && test "$_network" = yes; then
|
|
_res_comment="using distribution version"
|
|
_live="yes"
|
|
_def_live='#define STREAMING_LIVE555 1'
|
|
_ld_extra="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
|
|
_inc_extraxx="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
|
|
-I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
|
|
_inputmodules="live555 $_inputmodules"
|
|
else
|
|
_live=no
|
|
_def_live='#undef STREAMING_LIVE555'
|
|
_noinputmodules="live555 $_noinputmodules"
|
|
fi
|
|
echores "$_live"
|
|
|
|
|
|
echocheck "FFmpeg libavutil"
|
|
if test "$_libavutil_a" = auto ; then
|
|
if test -d libavutil ; then
|
|
_libavutil_a=yes
|
|
_res_comment="static"
|
|
else
|
|
die "MPlayer will not compile without libavutil in the source tree."
|
|
fi
|
|
elif test "$_libavutil_so" = auto ; then
|
|
_libavutil_so=no
|
|
cat > $TMPC << EOF
|
|
#include <libavutil/common.h>
|
|
int main(void) { ff_gcd(1,1); return 0; }
|
|
EOF
|
|
if $_pkg_config --exists libavutil ; then
|
|
_inc_libavutil=`$_pkg_config --cflags libavutil`
|
|
_ld_tmp=`$_pkg_config --libs libavutil`
|
|
cc_check $_inc_libavutil $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
|
|
&& _libavutil_so=yes
|
|
elif cc_check -lavutil $_ld_lm ; then
|
|
_ld_extra="$_ld_extra -lavutil"
|
|
_libavutil_so=yes
|
|
_res_comment="using libavutil.so, but static libavutil is recommended"
|
|
fi
|
|
fi
|
|
_libavutil=no
|
|
_def_libavutil='#undef USE_LIBAVUTIL'
|
|
_def_libavutil_a='#undef USE_LIBAVUTIL_A'
|
|
_def_libavutil_so='#undef USE_LIBAVUTIL_SO'
|
|
test "$_libavutil_a" = yes || test "$_libavutil_so" = yes && _libavutil=yes
|
|
test "$_libavutil" = yes && _def_libavutil='#define USE_LIBAVUTIL 1'
|
|
test "$_libavutil_a" = yes && _def_libavutil_a='#define USE_LIBAVUTIL_A 1'
|
|
test "$_libavutil_so" = yes && _def_libavutil_so='#define USE_LIBAVUTIL_SO 1'
|
|
# neither static nor shared libavutil is available, but it is mandatory ...
|
|
if test "$_libavutil" = no ; then
|
|
die "You need static or shared libavutil, MPlayer will not compile without!"
|
|
fi
|
|
echores "$_libavutil"
|
|
|
|
echocheck "FFmpeg libavcodec"
|
|
if test "$_libavcodec_a" = auto ; then
|
|
_libavcodec_a=no
|
|
if test -d libavcodec && test -f libavcodec/utils.c ; then
|
|
_libavcodec_a="yes"
|
|
_res_comment="static"
|
|
fi
|
|
elif test "$_libavcodec_so" = auto ; then
|
|
_libavcodec_so=no
|
|
_res_comment="libavcodec.so is discouraged over static libavcodec"
|
|
cat > $TMPC << EOF
|
|
#include <libavcodec/avcodec.h>
|
|
int main(void) { avcodec_find_encoder_by_name(""); return 0; }
|
|
EOF
|
|
if $_pkg_config --exists libavcodec ; then
|
|
_inc_libavcodec=`$_pkg_config --cflags libavcodec`
|
|
_ld_tmp=`$_pkg_config --libs libavcodec`
|
|
cc_check $_inc_libavcodec $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
|
|
&& _libavcodec_so=yes
|
|
elif cc_check -lavcodec $_ld_lm ; then
|
|
_ld_extra="$_ld_extra -lavcodec"
|
|
_libavcodec_so=yes
|
|
_res_comment="using libavcodec.so, but static libavcodec is recommended"
|
|
fi
|
|
fi
|
|
_libavcodec=no
|
|
_def_libavcodec='#undef USE_LIBAVCODEC'
|
|
_def_libavcodec_a='#undef USE_LIBAVCODEC_A'
|
|
_def_libavcodec_so='#undef USE_LIBAVCODEC_SO'
|
|
test "$_libavcodec_a" = yes || test "$_libavcodec_so" = yes && _libavcodec=yes
|
|
test "$_libavcodec" = yes && _def_libavcodec='#define USE_LIBAVCODEC 1'
|
|
test "$_libavcodec_a" = yes && _def_libavcodec_a='#define USE_LIBAVCODEC_A 1'
|
|
test "$_libavcodec_so" = yes && _def_libavcodec_so='#define USE_LIBAVCODEC_SO 1'
|
|
test "$_libavcodec_mpegaudio_hp" = yes \
|
|
&& _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
|
|
if test "$_libavcodec_a" = yes ; then
|
|
_codecmodules="libavcodec $_codecmodules"
|
|
elif test "$_libavcodec_so" = yes ; then
|
|
_codecmodules="libavcodec.so $_codecmodules"
|
|
else
|
|
_nocodecmodules="libavcodec $_nocodecmodules"
|
|
fi
|
|
echores "$_libavcodec"
|
|
|
|
echocheck "FFmpeg libavformat"
|
|
if test "$_libavformat_a" = auto ; then
|
|
_libavformat_a=no
|
|
if test -d libavformat && test -f libavformat/utils.c ; then
|
|
_libavformat_a=yes
|
|
_res_comment="static"
|
|
fi
|
|
elif test "$_libavformat_so" = auto ; then
|
|
_libavformat_so=no
|
|
cat > $TMPC <<EOF
|
|
#include <libavformat/avformat.h>
|
|
#include <libavcodec/opt.h>
|
|
int main(void) { av_alloc_format_context(); return 0; }
|
|
EOF
|
|
if $_pkg_config --exists libavformat ; then
|
|
_inc_libavformat=`$_pkg_config --cflags libavformat`
|
|
_ld_tmp=`$_pkg_config --libs libavformat`
|
|
cc_check $_inc_libavformat $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
|
|
&& _libavformat_so=yes
|
|
elif cc_check $_ld_lm -lavformat ; then
|
|
_ld_extra="$_ld_extra -lavformat"
|
|
_libavformat_so=yes
|
|
_res_comment="using libavformat.so, but static libavformat is recommended"
|
|
fi
|
|
fi
|
|
_libavformat=no
|
|
_def_libavformat='#undef USE_LIBAVFORMAT'
|
|
_def_libavformat_a='#undef USE_LIBAVFORMAT_A'
|
|
_def_libavformat_so='#undef USE_LIBAVFORMAT_SO'
|
|
test "$_libavformat_a" = yes || test "$_libavformat_so" = yes && _libavformat=yes
|
|
test "$_libavformat" = yes && _def_libavformat='#define USE_LIBAVFORMAT 1'
|
|
test "$_libavformat_a" = yes && _def_libavformat_a='#define USE_LIBAVFORMAT_A 1'
|
|
test "$_libavformat_so" = yes \
|
|
&& _def_libavformat_so='#define USE_LIBAVFORMAT_SO 1'
|
|
echores "$_libavformat"
|
|
|
|
echocheck "FFmpeg libpostproc"
|
|
if test "$_libpostproc_a" = auto ; then
|
|
_libpostproc_a=no
|
|
if test -d libpostproc && test -f libpostproc/postprocess.h ; then
|
|
_libpostproc_a='yes'
|
|
_res_comment="static"
|
|
fi
|
|
elif test "$_libpostproc_so" = auto ; then
|
|
_libpostproc_so=no
|
|
cat > $TMPC << EOF
|
|
#define USE_LIBPOSTPROC 1
|
|
#include <inttypes.h>
|
|
#include <libpostproc/postprocess.h>
|
|
int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
|
|
EOF
|
|
if cc_check -lpostproc $_ld_lm ; then
|
|
_ld_extra="$_ld_extra -lpostproc"
|
|
_libpostproc_so=yes
|
|
_res_comment="using libpostproc.so, but static libpostproc is recommended"
|
|
fi
|
|
fi
|
|
_libpostproc=no
|
|
_def_libpostproc='#undef USE_LIBPOSTPROC'
|
|
_def_libpostproc_a='#undef USE_LIBPOSTPROC_A'
|
|
_def_libpostproc_so='#undef USE_LIBPOSTPROC_SO'
|
|
test "$_libpostproc_a" = yes || test "$_libpostproc_so" = yes && _libpostproc=yes
|
|
test "$_libpostproc" = yes && _def_libpostproc='#define USE_LIBPOSTPROC 1'
|
|
test "$_libpostproc_a" = yes && _def_libpostproc_a='#define USE_LIBPOSTPROC_A 1'
|
|
test "$_libpostproc_so" = yes \
|
|
&& _def_libpostproc_so='#define USE_LIBPOSTPROC_SO 1'
|
|
echores "$_libpostproc"
|
|
|
|
|
|
echocheck "libamr narrowband"
|
|
if test "$_libamr_nb" = auto ; then
|
|
_libamr_nb=no
|
|
cat > $TMPC << EOF
|
|
#include <amrnb/interf_dec.h>
|
|
int main(void) { Speech_Decode_Frame_init(); return 0; }
|
|
EOF
|
|
cc_check -lamrnb && _libamr_nb=yes
|
|
if test "$_libavcodec_a" != yes ; then
|
|
_libamr_nb=no
|
|
_res_comment="libavcodec (static) is required by libamr_nb, sorry"
|
|
fi
|
|
fi
|
|
if test "$_libamr_nb" = yes ; then
|
|
_libamr=yes
|
|
_ld_extra="$_ld_extra -lamrnb"
|
|
_def_libamr='#define CONFIG_LIBAMR 1'
|
|
_def_libamr_nb='#define CONFIG_LIBAMR_NB 1'
|
|
_libavdecoders="$_libavdecoders LIBAMR_NB_DECODER"
|
|
_libavencoders="$_libavencoders LIBAMR_NB_ENCODER"
|
|
_codecmodules="libamr_nb $_codecmodules"
|
|
else
|
|
_def_libamr_nb='#undef CONFIG_LIBAMR_NB'
|
|
_nocodecmodules="libamr_nb $_nocodecmodules"
|
|
fi
|
|
echores "$_libamr_nb"
|
|
|
|
|
|
echocheck "libamr wideband"
|
|
if test "$_libamr_wb" = auto ; then
|
|
_libamr_wb=no
|
|
cat > $TMPC << EOF
|
|
#include <amrwb/dec_if.h>
|
|
int main(void) { D_IF_init(); return 0; }
|
|
EOF
|
|
cc_check -lamrwb && _libamr_wb=yes
|
|
if test "$_libavcodec_a" != yes ; then
|
|
_libamr_wb=no
|
|
_res_comment="libavcodec (static) is required by libamr_wb, sorry"
|
|
fi
|
|
fi
|
|
if test "$_libamr_wb" = yes ; then
|
|
_libamr=yes
|
|
_ld_extra="$_ld_extra -lamrwb"
|
|
_def_libamr='#define CONFIG_LIBAMR 1'
|
|
_def_libamr_wb='#define CONFIG_LIBAMR_WB 1'
|
|
_libavdecoders="$_libavdecoders LIBAMR_WB_DECODER"
|
|
_libavencoders="$_libavencoders LIBAMR_WB_ENCODER"
|
|
_codecmodules="libamr_wb $_codecmodules"
|
|
else
|
|
_def_libamr_wb='#undef CONFIG_LIBAMR_WB'
|
|
_nocodecmodules="libamr_wb $_nocodecmodules"
|
|
fi
|
|
echores "$_libamr_wb"
|
|
|
|
echocheck "libdv-0.9.5+"
|
|
if test "$_libdv" = auto ; then
|
|
_libdv=no
|
|
cat > $TMPC <<EOF
|
|
#include <libdv/dv.h>
|
|
int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
|
|
EOF
|
|
cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
|
|
fi
|
|
if test "$_libdv" = yes ; then
|
|
_def_libdv='#define HAVE_LIBDV095 1'
|
|
_ld_extra="$_ld_extra -ldv"
|
|
_codecmodules="libdv $_codecmodules"
|
|
else
|
|
_def_libdv='#undef HAVE_LIBDV095'
|
|
_nocodecmodules="libdv $_nocodecmodules"
|
|
fi
|
|
echores "$_libdv"
|
|
|
|
|
|
echocheck "XviD"
|
|
if test "$_xvid" = auto ; then
|
|
_xvid=no
|
|
cat > $TMPC << EOF
|
|
#include <xvid.h>
|
|
int main(void) { xvid_global(0, 0, 0, 0); return 0; }
|
|
EOF
|
|
for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
|
|
cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && _xvid=yes && break
|
|
done
|
|
fi
|
|
|
|
if test "$_xvid" = yes ; then
|
|
_def_xvid='#define HAVE_XVID4 1'
|
|
_codecmodules="xvid $_codecmodules"
|
|
else
|
|
_def_xvid='#undef HAVE_XVID4'
|
|
_nocodecmodules="xvid $_nocodecmodules"
|
|
fi
|
|
echores "$_xvid"
|
|
|
|
echocheck "XviD two pass plugin"
|
|
if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <xvid.h>
|
|
int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
|
|
EOF
|
|
cc_check && _xvid_lavc=yes
|
|
fi
|
|
if test "$_xvid_lavc" = yes ; then
|
|
_def_xvid_lavc='#define CONFIG_LIBXVID 1'
|
|
_libavencoders="$_libavencoders LIBXVID_ENCODER"
|
|
else
|
|
_xvid_lavc=no
|
|
_def_xvid_lavc='#undef CONFIG_LIBXVID'
|
|
fi
|
|
echores "$_xvid_lavc"
|
|
|
|
|
|
echocheck "x264"
|
|
if test "$_x264" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <inttypes.h>
|
|
#include <x264.h>
|
|
#if X264_BUILD < 53
|
|
#error We do not support old versions of x264. Get the latest from SVN.
|
|
#endif
|
|
int main(void) { x264_encoder_open((void*)0); return 0; }
|
|
EOF
|
|
_x264=no
|
|
for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
|
|
cc_check $_ld_x264 && _libs_mencoder="$_libs_mencoder $_ld_x264" && _x264=yes && break
|
|
done
|
|
fi
|
|
|
|
if test "$_x264" = yes ; then
|
|
_def_x264='#define HAVE_X264 1'
|
|
_codecmodules="x264 $_codecmodules"
|
|
test "$_x264_lavc" = auto && _x264_lavc=yes
|
|
if test "$_x264_lavc" = yes ; then
|
|
_def_x264_lavc='#define CONFIG_LIBX264 1'
|
|
_libs_mplayer="$_libs_mplayer $_ld_x264"
|
|
_libavencoders="$_libavencoders LIBX264_ENCODER"
|
|
fi
|
|
else
|
|
_x264_lavc=no
|
|
_def_x264='#undef HAVE_X264'
|
|
_def_x264_lavc='#undef CONFIG_LIBX264'
|
|
_nocodecmodules="x264 $_nocodecmodules"
|
|
fi
|
|
_res_comment="in libavcodec: $_x264_lavc"
|
|
echores "$_x264"
|
|
|
|
|
|
echocheck "libnut"
|
|
if test "$_libnut" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <inttypes.h>
|
|
#include <libnut.h>
|
|
int main(void) { (void)nut_error(0); return 0; }
|
|
EOF
|
|
_libnut=no
|
|
cc_check -lnut && _libnut=yes
|
|
fi
|
|
|
|
if test "$_libnut" = yes ; then
|
|
_def_libnut='#define HAVE_LIBNUT 1'
|
|
_ld_extra="$_ld_extra -lnut"
|
|
else
|
|
_def_libnut='#undef HAVE_LIBNUT'
|
|
fi
|
|
echores "$_libnut"
|
|
|
|
#check must be done after libavcodec one
|
|
echocheck "zr"
|
|
if test "$_zr" = auto ; then
|
|
#36067's seem to identify themselves as 36057PQC's, so the line
|
|
#below should work for 36067's and 36057's.
|
|
if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
|
|
_zr=yes
|
|
else
|
|
_zr=no
|
|
fi
|
|
fi
|
|
if test "$_zr" = yes ; then
|
|
if test "$_libavcodec_a" = yes ; then
|
|
_def_zr='#define HAVE_ZR 1'
|
|
_vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
|
|
_vomodules="zr zr2 $_vomodules"
|
|
else
|
|
_res_comment="libavcodec (static) is required by zr, sorry"
|
|
_novomodules="zr $_novomodules"
|
|
_def_zr='#undef HAVE_ZR'
|
|
fi
|
|
else
|
|
_def_zr='#undef HAVE_ZR'
|
|
_novomodules="zr zr2 $_novomodules"
|
|
fi
|
|
echores "$_zr"
|
|
|
|
# mencoder requires (optional) those libs: libmp3lame
|
|
if test "$_mencoder" != no ; then
|
|
|
|
echocheck "libmp3lame (for mencoder)"
|
|
_def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
|
|
_def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
|
|
if test "$_mp3lame" = auto ; then
|
|
_mp3lame=no
|
|
cat > $TMPC <<EOF
|
|
#include <lame/lame.h>
|
|
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; }
|
|
EOF
|
|
cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
|
|
fi
|
|
if test "$_mp3lame" = yes ; then
|
|
_def_mp3lame="#define HAVE_MP3LAME"
|
|
_ld_mp3lame=-lmp3lame
|
|
_libs_mencoder="$_libs_mencoder $_ld_mp3lame"
|
|
cat > $TMPC << EOF
|
|
#include <lame/lame.h>
|
|
int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
|
|
EOF
|
|
cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
|
|
cat > $TMPC << EOF
|
|
#include <lame/lame.h>
|
|
int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
|
|
EOF
|
|
cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
|
|
test "$_mp3lame_lavc" = auto && _mp3lame_lavc=yes
|
|
if test "$_mp3lame_lavc" = yes ; then
|
|
_def_mp3lame_lavc="#define CONFIG_LIBMP3LAME 1"
|
|
_libavencoders="$_libavencoders LIBMP3LAME_ENCODER"
|
|
_libs_mplayer="$_libs_mplayer $_ld_mp3lame"
|
|
fi
|
|
else
|
|
_mp3lame_lavc=no
|
|
_def_mp3lame='#undef HAVE_MP3LAME'
|
|
_def_mp3lame_lavc="#undef CONFIG_LIBMP3LAME"
|
|
fi
|
|
_res_comment="in libavcodec: $_mp3lame_lavc"
|
|
echores "$_mp3lame"
|
|
|
|
fi
|
|
|
|
echocheck "mencoder"
|
|
_mencoder_flag='#undef HAVE_MENCODER'
|
|
if test "$_mencoder" = yes ; then
|
|
_mencoder_flag='#define HAVE_MENCODER'
|
|
_def_muxers='#define CONFIG_MUXERS 1'
|
|
else
|
|
# mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
|
|
_libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
|
|
_libavmuxers=""
|
|
fi
|
|
echores "$_mencoder"
|
|
|
|
echocheck "fastmemcpy"
|
|
# fastmemcpy check is done earlier with tests of CPU & binutils features
|
|
if test "$_fastmemcpy" = yes ; then
|
|
_def_fastmemcpy='#define USE_FASTMEMCPY 1'
|
|
else
|
|
_def_fastmemcpy='#undef USE_FASTMEMCPY'
|
|
fi
|
|
echores "$_fastmemcpy"
|
|
|
|
|
|
echocheck "UnRAR executable"
|
|
if test "$_unrar_exec" = auto ; then
|
|
_unrar_exec="yes"
|
|
mingw32 && _unrar_exec="no"
|
|
fi
|
|
if test "$_unrar_exec" = yes ; then
|
|
_def_unrar_exec='#define USE_UNRAR_EXEC 1'
|
|
else
|
|
_def_unrar_exec='#undef USE_UNRAR_EXEC'
|
|
fi
|
|
echores "$_unrar_exec"
|
|
|
|
echocheck "TV interface"
|
|
if test "$_tv" = yes ; then
|
|
_def_tv='#define USE_TV 1'
|
|
_inputmodules="tv $_inputmodules"
|
|
else
|
|
_noinputmodules="tv $_noinputmodules"
|
|
_def_tv='#undef USE_TV'
|
|
fi
|
|
echores "$_tv"
|
|
|
|
|
|
if freebsd || netbsd || openbsd || dragonfly || bsdos ; then
|
|
echocheck "*BSD BT848 bt8xx header"
|
|
_ioctl_bt848_h=no
|
|
for file in "machine/ioctl_bt848.h" \
|
|
"dev/bktr/ioctl_bt848.h" \
|
|
"dev/video/bktr/ioctl_bt848.h" \
|
|
"dev/ic/bt8xx.h" ; do
|
|
cat > $TMPC <<EOF
|
|
#include <sys/types.h>
|
|
#include <sys/ioctl.h>
|
|
#include <$file>
|
|
int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
|
|
EOF
|
|
if cc_check ; then
|
|
_ioctl_bt848_h=yes
|
|
_ioctl_bt848_h_name="$file"
|
|
break;
|
|
fi
|
|
done
|
|
if test "$_ioctl_bt848_h" = yes ; then
|
|
_def_ioctl_bt848_h_name="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
|
|
_res_comment="using $_ioctl_bt848_h_name"
|
|
else
|
|
_def_ioctl_bt848_h_name="#undef IOCTL_BT848_H_NAME"
|
|
fi
|
|
echores "$_ioctl_bt848_h"
|
|
|
|
echocheck "*BSD ioctl_meteor.h"
|
|
_ioctl_meteor_h=no
|
|
for file in "machine/ioctl_meteor.h" \
|
|
"dev/bktr/ioctl_meteor.h" \
|
|
"dev/video/bktr/ioctl_meteor.h" ; do
|
|
cat > $TMPC <<EOF
|
|
#include <sys/types.h>
|
|
#include <$file>
|
|
int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
|
|
EOF
|
|
if cc_check ; then
|
|
_ioctl_meteor_h=yes
|
|
_ioctl_meteor_h_name="$file"
|
|
break;
|
|
fi
|
|
done
|
|
if test "$_ioctl_meteor_h" = yes ; then
|
|
_def_ioctl_meteor_h_name="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
|
|
_res_comment="using $_ioctl_meteor_h_name"
|
|
else
|
|
_def_ioctl_meteor_h_name="#undef IOCTL_METEOR_H_NAME"
|
|
fi
|
|
echores "$_ioctl_meteor_h"
|
|
|
|
echocheck "*BSD BrookTree 848 TV interface"
|
|
if test "$_tv_bsdbt848" = auto ; then
|
|
_tv_bsdbt848=no
|
|
if test "$_tv" = yes ; then
|
|
cat > $TMPC <<EOF
|
|
#include <sys/types.h>
|
|
$_def_ioctl_meteor_h_name
|
|
$_def_ioctl_bt848_h_name
|
|
#ifdef IOCTL_METEOR_H_NAME
|
|
#include IOCTL_METEOR_H_NAME
|
|
#endif
|
|
#ifdef IOCTL_BT848_H_NAME
|
|
#include IOCTL_BT848_H_NAME
|
|
#endif
|
|
int main(void) {
|
|
ioctl(0, METEORSINPUT, 0);
|
|
ioctl(0, TVTUNER_GETFREQ, 0);
|
|
return 0;
|
|
}
|
|
EOF
|
|
cc_check && _tv_bsdbt848=yes
|
|
fi
|
|
fi
|
|
if test "$_tv_bsdbt848" = yes ; then
|
|
_def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
|
|
_inputmodules="tv-bsdbt848 $_inputmodules"
|
|
else
|
|
_def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
|
|
_noinputmodules="tv-bsdbt848 $_noinputmodules"
|
|
fi
|
|
echores "$_tv_bsdbt848"
|
|
fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
|
|
|
|
|
|
echocheck "DirectShow TV interface"
|
|
if test "$_tv_dshow" = auto ; then
|
|
_tv_dshow=no
|
|
if test "$_tv" = yes && win32 ; then
|
|
cat > $TMPC <<EOF
|
|
#include <ole2.h>
|
|
int main(void) {
|
|
void* p;
|
|
CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
|
|
return 0;
|
|
}
|
|
EOF
|
|
cc_check -lole32 -luuid && _tv_dshow=yes
|
|
fi
|
|
fi
|
|
if test "$_tv_dshow" = yes ; then
|
|
_inputmodules="tv-dshow $_inputmodules"
|
|
_def_tv_dshow='#define HAVE_TV_DSHOW 1'
|
|
_ld_extra="$_ld_extra -lole32 -luuid"
|
|
else
|
|
_noinputmodules="tv-dshow $_noinputmodules"
|
|
_def_tv_dshow='#undef HAVE_TV_DSHOW'
|
|
fi
|
|
echores "$_tv_dshow"
|
|
|
|
|
|
echocheck "Video 4 Linux TV interface"
|
|
if test "$_tv_v4l1" = auto ; then
|
|
_tv_v4l1=no
|
|
if test "$_tv" = yes && linux ; then
|
|
cat > $TMPC <<EOF
|
|
#include <stdlib.h>
|
|
#include <linux/videodev.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check && _tv_v4l1=yes
|
|
fi
|
|
fi
|
|
if test "$_tv_v4l1" = yes ; then
|
|
_audio_input=yes
|
|
_tv_v4l=yes
|
|
_def_tv_v4l='#define HAVE_TV_V4L 1'
|
|
_def_tv_v4l1='#define HAVE_TV_V4L1 1'
|
|
_inputmodules="tv-v4l $_inputmodules"
|
|
else
|
|
_noinputmodules="tv-v4l1 $_noinputmodules"
|
|
_def_tv_v4l='#undef HAVE_TV_V4L'
|
|
fi
|
|
echores "$_tv_v4l1"
|
|
|
|
|
|
echocheck "Video 4 Linux 2 TV interface"
|
|
if test "$_tv_v4l2" = auto ; then
|
|
_tv_v4l2=no
|
|
if test "$_tv" = yes && linux ; then
|
|
cat > $TMPC <<EOF
|
|
#include <stdlib.h>
|
|
#include <linux/types.h>
|
|
#include <linux/videodev2.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check && _tv_v4l2=yes
|
|
fi
|
|
fi
|
|
if test "$_tv_v4l2" = yes ; then
|
|
_audio_input=yes
|
|
_tv_v4l=yes
|
|
_def_tv_v4l='#define HAVE_TV_V4L 1'
|
|
_def_tv_v4l2='#define HAVE_TV_V4L2 1'
|
|
_inputmodules="tv-v4l2 $_inputmodules"
|
|
else
|
|
_noinputmodules="tv-v4l2 $_noinputmodules"
|
|
_def_tv_v4l2='#undef HAVE_TV_V4L2'
|
|
fi
|
|
echores "$_tv_v4l2"
|
|
|
|
|
|
echocheck "TV teletext interface"
|
|
if test "$_tv_teletext" = auto ; then
|
|
_tv_teletext=no
|
|
if test "$_freetype" = yes && test "$_pthreads" = yes; then
|
|
if test "$_tv_v4l2" = yes || test "$_v4l" = yes || test "$_tv_dshow" = yes; then
|
|
_tv_teletext=yes
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$_tv_teletext" = yes ; then
|
|
_def_tv_teletext='#define HAVE_TV_TELETEXT 1'
|
|
_inputmodules="tv-teletext $_inputmodules"
|
|
else
|
|
_noinputmodules="tv-teletext $_noinputmodules"
|
|
_def_tv_teletext='#undef HAVE_TV_TELETEXT'
|
|
fi
|
|
echores "$_tv_teletext"
|
|
|
|
|
|
echocheck "Radio interface"
|
|
if test "$_radio" = yes ; then
|
|
_def_radio='#define USE_RADIO 1'
|
|
_inputmodules="radio $_inputmodules"
|
|
if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
|
|
_radio_capture=no
|
|
fi
|
|
if test "$_radio_capture" = yes ; then
|
|
_audio_input=yes
|
|
_def_radio_capture="#define USE_RADIO_CAPTURE 1"
|
|
else
|
|
_def_radio_capture="#undef USE_RADIO_CAPTURE"
|
|
fi
|
|
else
|
|
_noinputmodules="radio $_noinputmodules"
|
|
_def_radio='#undef USE_RADIO'
|
|
_def_radio_capture="#undef USE_RADIO_CAPTURE"
|
|
_radio_capture=no
|
|
fi
|
|
echores "$_radio"
|
|
echocheck "Capture for Radio interface"
|
|
echores "$_radio_capture"
|
|
|
|
echocheck "Video 4 Linux 2 Radio interface"
|
|
if test "$_radio_v4l2" = auto ; then
|
|
_radio_v4l2=no
|
|
if test "$_radio" = yes && linux ; then
|
|
cat > $TMPC <<EOF
|
|
#include <stdlib.h>
|
|
#include <linux/types.h>
|
|
#include <linux/videodev2.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check && _radio_v4l2=yes
|
|
fi
|
|
fi
|
|
if test "$_radio_v4l2" = yes ; then
|
|
_def_radio_v4l2='#define HAVE_RADIO_V4L2 1'
|
|
else
|
|
_def_radio_v4l2='#undef HAVE_RADIO_V4L2'
|
|
fi
|
|
echores "$_radio_v4l2"
|
|
|
|
echocheck "Video 4 Linux Radio interface"
|
|
if test "$_radio_v4l" = auto ; then
|
|
_radio_v4l=no
|
|
if test "$_radio" = yes && linux ; then
|
|
cat > $TMPC <<EOF
|
|
#include <stdlib.h>
|
|
#include <linux/videodev.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check && _radio_v4l=yes
|
|
fi
|
|
fi
|
|
if test "$_radio_v4l" = yes ; then
|
|
_def_radio_v4l='#define HAVE_RADIO_V4L 1'
|
|
else
|
|
_def_radio_v4l='#undef HAVE_RADIO_V4L'
|
|
fi
|
|
echores "$_radio_v4l"
|
|
|
|
if freebsd || netbsd || openbsd || dragonfly || bsdos \
|
|
&& test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
|
|
echocheck "*BSD BrookTree 848 Radio interface"
|
|
_radio_bsdbt848=no
|
|
cat > $TMPC <<EOF
|
|
#include <sys/types.h>
|
|
$_def_ioctl_bt848_h_name
|
|
#ifdef IOCTL_BT848_H_NAME
|
|
#include IOCTL_BT848_H_NAME
|
|
#endif
|
|
int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
|
|
EOF
|
|
cc_check && _radio_bsdbt848=yes
|
|
echores "$_radio_bsdbt848"
|
|
fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
|
|
|
|
if test "$_radio_bsdbt848" = yes ; then
|
|
_def_radio_bsdbt848='#define HAVE_RADIO_BSDBT848 1'
|
|
else
|
|
_def_radio_bsdbt848='#undef HAVE_RADIO_BSDBT848'
|
|
fi
|
|
|
|
if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
|
|
test "$_radio_bsdbt848" = no && test "$_radio" = yes ; then
|
|
die "Radio driver requires BSD BT848, V4L or V4L2!"
|
|
fi
|
|
|
|
echocheck "Video 4 Linux 2 MPEG PVR interface"
|
|
if test "$_pvr" = auto ; then
|
|
_pvr=no
|
|
if test "$_tv_v4l2" = yes && linux ; then
|
|
cat > $TMPC <<EOF
|
|
#include <stdlib.h>
|
|
#include <inttypes.h>
|
|
#include <linux/types.h>
|
|
#include <linux/videodev2.h>
|
|
int main(void) { struct v4l2_ext_controls ext; return 0; }
|
|
EOF
|
|
cc_check && _pvr=yes
|
|
fi
|
|
fi
|
|
if test "$_pvr" = yes ; then
|
|
_def_pvr='#define HAVE_PVR 1'
|
|
_inputmodules="pvr $_inputmodules"
|
|
else
|
|
_noinputmodules="pvr $_noinputmodules"
|
|
_def_pvr='#undef HAVE_PVR'
|
|
fi
|
|
echores "$_pvr"
|
|
|
|
|
|
echocheck "audio select()"
|
|
if test "$_select" = no ; then
|
|
_def_select='#undef HAVE_AUDIO_SELECT'
|
|
elif test "$_select" = yes ; then
|
|
_def_select='#define HAVE_AUDIO_SELECT 1'
|
|
fi
|
|
echores "$_select"
|
|
|
|
|
|
echocheck "ftp"
|
|
if ! beos && test "$_ftp" = yes ; then
|
|
_def_ftp='#define HAVE_FTP 1'
|
|
_inputmodules="ftp $_inputmodules"
|
|
else
|
|
_noinputmodules="ftp $_noinputmodules"
|
|
_def_ftp='#undef HAVE_FTP'
|
|
fi
|
|
echores "$_ftp"
|
|
|
|
echocheck "vstream client"
|
|
if test "$_vstream" = auto ; then
|
|
_vstream=no
|
|
cat > $TMPC <<EOF
|
|
#include <vstream-client.h>
|
|
void vstream_error(const char *format, ... ) {}
|
|
int main(void) { vstream_start(); return 0; }
|
|
EOF
|
|
cc_check -lvstream-client && _vstream=yes
|
|
fi
|
|
if test "$_vstream" = yes ; then
|
|
_def_vstream='#define HAVE_VSTREAM 1'
|
|
_inputmodules="vstream $_inputmodules"
|
|
_ld_extra="$_ld_extra -lvstream-client"
|
|
else
|
|
_noinputmodules="vstream $_noinputmodules"
|
|
_def_vstream='#undef HAVE_VSTREAM'
|
|
fi
|
|
echores "$_vstream"
|
|
|
|
# endian testing
|
|
echocheck "byte order"
|
|
if test "$_big_endian" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
|
|
(('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
|
|
int main(void) { return (int)ascii_name; }
|
|
EOF
|
|
if cc_check ; then
|
|
if strings $TMPEXE | grep -l MPlayerBigEndian >/dev/null ; then
|
|
_big_endian=yes
|
|
else
|
|
_big_endian=no
|
|
fi
|
|
else
|
|
echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
|
|
fi
|
|
fi
|
|
if test "$_big_endian" = yes ; then
|
|
_byte_order='big-endian'
|
|
_def_words_endian='#define WORDS_BIGENDIAN 1'
|
|
else
|
|
_byte_order='little-endian'
|
|
_def_words_endian='#undef WORDS_BIGENDIAN'
|
|
fi
|
|
echores "$_byte_order"
|
|
|
|
echocheck "OSD menu"
|
|
if test "$_menu" = yes ; then
|
|
_def_menu='#define HAVE_MENU 1'
|
|
test $_dvbin = "yes" && _menu_dvbin=yes
|
|
else
|
|
_def_menu='#undef HAVE_MENU'
|
|
_menu_dvbin=no
|
|
fi
|
|
echores "$_menu"
|
|
|
|
|
|
echocheck "Subtitles sorting"
|
|
if test "$_sortsub" = yes ; then
|
|
_def_sortsub='#define USE_SORTSUB 1'
|
|
else
|
|
_def_sortsub='#undef USE_SORTSUB'
|
|
fi
|
|
echores "$_sortsub"
|
|
|
|
|
|
echocheck "XMMS inputplugin support"
|
|
if test "$_xmms" = yes ; then
|
|
if ( xmms-config --version ) >/dev/null 2>&1 ; then
|
|
_xmmsplugindir=`xmms-config --input-plugin-dir`
|
|
_xmmslibdir=`xmms-config --exec-prefix`/lib
|
|
else
|
|
_xmmsplugindir=/usr/lib/xmms/Input
|
|
_xmmslibdir=/usr/lib
|
|
fi
|
|
|
|
_def_xmms='#define HAVE_XMMS 1'
|
|
if darwin ; then
|
|
_ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
|
|
else
|
|
_ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
|
|
fi
|
|
else
|
|
_def_xmms='#undef HAVE_XMMS'
|
|
fi
|
|
echores "$_xmms"
|
|
|
|
echocheck "inet6"
|
|
if test "$_inet6" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#if !defined(_WIN32) || defined(__CYGWIN__)
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#else
|
|
#include <ws2tcpip.h>
|
|
#endif
|
|
int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); }
|
|
EOF
|
|
_inet6=no
|
|
if cc_check $_ld_sock ; then
|
|
_inet6=yes
|
|
fi
|
|
fi
|
|
if test "$_inet6" = yes ; then
|
|
_def_inet6='#define HAVE_AF_INET6 1'
|
|
else
|
|
_def_inet6='#undef HAVE_AF_INET6'
|
|
fi
|
|
echores "$_inet6"
|
|
|
|
|
|
echocheck "gethostbyname2"
|
|
if test "$_gethostbyname2" = auto ; then
|
|
cat > $TMPC << EOF
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netdb.h>
|
|
int main(void) { gethostbyname2("", AF_INET); }
|
|
EOF
|
|
_gethostbyname2=no
|
|
if cc_check ; then
|
|
_gethostbyname2=yes
|
|
fi
|
|
fi
|
|
|
|
if test "$_gethostbyname2" = yes ; then
|
|
_def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
|
|
else
|
|
_def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
|
|
fi
|
|
echores "$_gethostbyname2"
|
|
|
|
|
|
# --------------- GUI specific tests begin -------------------
|
|
echocheck "GUI"
|
|
echo "$_gui"
|
|
if test "$_gui" = yes ; then
|
|
|
|
# Required libraries
|
|
if test "$_libavcodec" != yes ||
|
|
! echo $_libavdecoders | grep PNG_DECODER >/dev/null 2>&1 ; then
|
|
die "The GUI requires libavcodec with PNG support (needs zlib)."
|
|
fi
|
|
test "$_freetype" = no && test "$_bitmap_font" = no && \
|
|
die "The GUI requires either FreeType or bitmap font support."
|
|
if ! win32 ; then
|
|
_gui_gtk=yes
|
|
test "$_x11" != yes && die "X11 support required for GUI compilation."
|
|
|
|
echocheck "XShape extension"
|
|
if test "$_xshape" = auto ; then
|
|
_xshape=no
|
|
cat > $TMPC << EOF
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xproto.h>
|
|
#include <X11/Xutil.h>
|
|
#include <X11/extensions/shape.h>
|
|
#include <stdlib.h>
|
|
int main(void) {
|
|
char *name = ":0.0";
|
|
Display *wsDisplay;
|
|
int exitvar = 0;
|
|
int eventbase, errorbase;
|
|
if (getenv("DISPLAY"))
|
|
name=getenv("DISPLAY");
|
|
wsDisplay=XOpenDisplay(name);
|
|
if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
|
|
exitvar=1;
|
|
XCloseDisplay(wsDisplay);
|
|
return exitvar;
|
|
}
|
|
EOF
|
|
cc_check -lXext && _xshape=yes
|
|
fi
|
|
if test "$_xshape" = yes ; then
|
|
_def_xshape='#define HAVE_XSHAPE 1'
|
|
else
|
|
die "The GUI requires the X11 extension XShape (which was not found)."
|
|
fi
|
|
echores "$_xshape"
|
|
|
|
#Check for GTK
|
|
if test "$_gtk1" = no ; then
|
|
#Check for GTK2 :
|
|
echocheck "GTK+ version"
|
|
|
|
if $_pkg_config gtk+-2.0 --exists ; then
|
|
_gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
|
|
_inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
|
|
_libs_mplayer="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
|
|
echores "$_gtk"
|
|
|
|
# Check for GLIB2
|
|
if $_pkg_config glib-2.0 --exists ; then
|
|
echocheck "glib version"
|
|
_glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
|
|
_libs_mplayer="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
|
|
echores "$_glib"
|
|
|
|
_def_gui='#define HAVE_NEW_GUI 1'
|
|
_def_gtk2_gui='#define HAVE_GTK2_GUI 1'
|
|
else
|
|
_gtk1=yes
|
|
echo "GLIB-2 devel packages were not found, trying GTK 1.2"
|
|
fi
|
|
else
|
|
echo "GTK-2 devel packages were not found, trying GTK 1.2"
|
|
_gtk1=yes
|
|
fi
|
|
fi
|
|
|
|
if test "$_gtk1" = yes ; then
|
|
# Check for old GTK (1.2.x)
|
|
echocheck "GTK version"
|
|
if test -z "$_gtkconfig" ; then
|
|
if ( gtk-config --version ) >/dev/null 2>&1 ; then
|
|
_gtkconfig="gtk-config"
|
|
elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
|
|
_gtkconfig="gtk12-config"
|
|
else
|
|
die "The GUI requires GTK devel packages (which were not found)."
|
|
fi
|
|
fi
|
|
_gtk=`$_gtkconfig --version 2>&1`
|
|
_inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
|
|
_libs_mplayer="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
|
|
echores "$_gtk (using $_gtkconfig)"
|
|
|
|
# Check for GLIB
|
|
echocheck "glib version"
|
|
if test -z "$_glibconfig" ; then
|
|
if ( glib-config --version ) >/dev/null 2>&1 ; then
|
|
_glibconfig="glib-config"
|
|
elif ( glib12-config --version ) >/dev/null 2>&1 ; then
|
|
_glibconfig="glib12-config"
|
|
else
|
|
die "The GUI requires GLIB devel packages (which were not found)"
|
|
fi
|
|
fi
|
|
_glib=`$_glibconfig --version 2>&1`
|
|
_libs_mplayer="$_libs_mplayer `$_glibconfig --libs 2>&1`"
|
|
echores "$_glib (using $_glibconfig)"
|
|
|
|
_def_gui='#define HAVE_NEW_GUI 1'
|
|
_def_gtk2_gui='#undef HAVE_GTK2_GUI'
|
|
fi
|
|
|
|
else #if ! win32
|
|
_gui_win32=yes
|
|
_libs_mplayer="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
|
|
_def_gui='#define HAVE_NEW_GUI 1'
|
|
_def_gtk2_gui='#undef HAVE_GTK2_GUI'
|
|
fi #if ! win32
|
|
|
|
else #if test "$_gui"
|
|
_def_gui='#undef HAVE_NEW_GUI'
|
|
_def_gtk2_gui='#undef HAVE_GTK2_GUI'
|
|
fi #if test "$_gui"
|
|
# --------------- GUI specific tests end -------------------
|
|
|
|
|
|
if test "$_charset" = "noconv" ; then
|
|
_charset=""
|
|
fi
|
|
if test "$_charset" ; then
|
|
_def_charset="#define MSG_CHARSET \"$_charset\""
|
|
else
|
|
_def_charset="#undef MSG_CHARSET"
|
|
fi
|
|
|
|
if test "$_charset" != "UTF-8" ; then
|
|
echocheck "iconv program"
|
|
iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
|
|
if test "$?" -ne 0 ; then
|
|
echores "no"
|
|
echo "No working iconv program found, use "
|
|
echo "--charset=UTF-8 to continue anyway."
|
|
echo "If you also have problems with iconv library functions use --charset=noconv."
|
|
echo "Messages in the GTK-2 interface will be broken then."
|
|
exit 1
|
|
else
|
|
echores "yes"
|
|
fi
|
|
fi
|
|
|
|
#############################################################################
|
|
|
|
echocheck "automatic gdb attach"
|
|
if test "$_crash_debug" = yes ; then
|
|
_def_crash_debug='#define CRASH_DEBUG 1'
|
|
else
|
|
_def_crash_debug='#undef CRASH_DEBUG'
|
|
_crash_debug=no
|
|
fi
|
|
echores "$_crash_debug"
|
|
|
|
echocheck "compiler support for noexecstack"
|
|
cat > $TMPC <<EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
if cc_check -Wl,-z,noexecstack ; then
|
|
_ld_extra="-Wl,-z,noexecstack $_ld_extra"
|
|
echores "yes"
|
|
else
|
|
echores "no"
|
|
fi
|
|
|
|
|
|
# Dynamic linking flags
|
|
# (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
|
|
_ld_dl_dynamic=''
|
|
freebsd || netbsd || openbsd || dragonfly || bsdos && _ld_dl_dynamic='-rdynamic'
|
|
if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin && ! os2 ; then
|
|
_ld_dl_dynamic='-rdynamic'
|
|
fi
|
|
|
|
_ld_extra="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
|
|
bsdos && _ld_extra="$_ld_extra -ldvd"
|
|
netbsd && x86_32 && _ld_extra="$_ld_extra -li386"
|
|
openbsd && x86_32 && _ld_extra="$_ld_extra -li386"
|
|
|
|
_def_debug='#undef MP_DEBUG'
|
|
test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
|
|
|
|
|
|
echocheck "joystick"
|
|
_def_joystick='#undef HAVE_JOYSTICK'
|
|
if test "$_joystick" = yes ; then
|
|
if linux ; then
|
|
# TODO add some check
|
|
_def_joystick='#define HAVE_JOYSTICK 1'
|
|
else
|
|
_joystick="no"
|
|
_res_comment="unsupported under $system_name"
|
|
fi
|
|
fi
|
|
echores "$_joystick"
|
|
|
|
echocheck "lirc"
|
|
if test "$_lirc" = auto ; then
|
|
_lirc=no
|
|
cat > $TMPC <<EOF
|
|
#include <lirc/lirc_client.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -llirc_client && _lirc=yes
|
|
fi
|
|
if test "$_lirc" = yes ; then
|
|
_def_lirc='#define HAVE_LIRC 1'
|
|
_ld_extra="$_ld_extra -llirc_client"
|
|
else
|
|
_def_lirc='#undef HAVE_LIRC'
|
|
fi
|
|
echores "$_lirc"
|
|
|
|
echocheck "lircc"
|
|
if test "$_lircc" = auto ; then
|
|
_lircc=no
|
|
cat > $TMPC <<EOF
|
|
#include <lirc/lircc.h>
|
|
int main(void) { return 0; }
|
|
EOF
|
|
cc_check -llircc && _lircc=yes
|
|
fi
|
|
if test "$_lircc" = yes ; then
|
|
_def_lircc='#define HAVE_LIRCC 1'
|
|
_ld_extra="$_ld_extra -llircc"
|
|
else
|
|
_def_lircc='#undef HAVE_LIRCC'
|
|
fi
|
|
echores "$_lircc"
|
|
|
|
if arm; then
|
|
# Detect maemo development platform libraries availability (http://www.maemo.org),
|
|
# they are used when run on Nokia 770
|
|
echocheck "maemo (Nokia 770)"
|
|
if test "$_maemo" = auto ; then
|
|
_maemo=no
|
|
cat > $TMPC << EOF
|
|
#include <libosso.h>
|
|
int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
|
|
EOF
|
|
cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
|
|
fi
|
|
if test "$_maemo" = yes ; then
|
|
_def_maemo='#define HAVE_MAEMO 1'
|
|
_inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
|
|
_ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
|
|
else
|
|
_def_maemo='#undef HAVE_MAEMO'
|
|
fi
|
|
echores "$_maemo"
|
|
fi
|
|
|
|
# linker paths should be the same for mencoder and mplayer
|
|
_ld_tmp=""
|
|
for I in $_libs_mplayer ; do
|
|
_tmp=`echo $I | sed -e 's/^-L.*$//'`
|
|
if test -z "$_tmp" ; then
|
|
_ld_extra="$I $_ld_extra"
|
|
else
|
|
_ld_tmp="$_ld_tmp $I"
|
|
fi
|
|
done
|
|
_libs_mplayer=$_ld_tmp
|
|
|
|
|
|
#############################################################################
|
|
if darwin ; then
|
|
CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -shared-libgcc"
|
|
if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
|
|
CFLAGS="$CFLAGS -no-cpp-precomp"
|
|
fi
|
|
fi
|
|
if amigaos ; then
|
|
CFLAGS="$CFLAGS -DNEWLIB -D__USE_INLINE__"
|
|
fi
|
|
if hpux ; then
|
|
# use flag for HPUX missing setenv()
|
|
CFLAGS="$CFLAGS -DHPUX"
|
|
fi
|
|
# Thread support
|
|
if linux ; then
|
|
CFLAGS="$CFLAGS -D_REENTRANT"
|
|
elif freebsd || netbsd || openbsd || bsdos ; then
|
|
# FIXME bsd needs this so maybe other OS'es
|
|
CFLAGS="$CFLAGS -D_THREAD_SAFE"
|
|
fi
|
|
if cygwin ; then
|
|
CFLAGS="$CFLAGS -D__CYGWIN__"
|
|
fi
|
|
if os2 ; then
|
|
CFLAGS="$CFLAGS -Zomf"
|
|
ASFLAGS="$ASFLAGS -Zomf"
|
|
fi
|
|
# 64 bit file offsets?
|
|
if test "$_largefiles" = yes || freebsd ; then
|
|
CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
|
if test "$_dvdread" = yes || test "$_libdvdcss_internal" = yes ; then
|
|
# dvdread support requires this (for off64_t)
|
|
CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
|
|
cygwin && CFLAGS="$CFLAGS -DSYS_CYGWIN"
|
|
beos && CFLAGS="$CFLAGS -DSYS_BEOS"
|
|
os2 && CFLAGS="$CFLAGS -DSYS_OS2"
|
|
fi
|
|
fi
|
|
|
|
# Make sure config.h gets included.
|
|
if test "$_dvdread_internal" = yes || test "$_faad_internal" = yes ; then
|
|
CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
|
|
fi
|
|
|
|
CFLAGS="-I. $CFLAGS"
|
|
CXXFLAGS=" $CFLAGS -D__STDC_LIMIT_MACROS"
|
|
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
if test "$cc_vendor" = "gnu" ; then
|
|
cc_check -Wdeclaration-after-statement && CFLAGS="-Wdeclaration-after-statement $CFLAGS"
|
|
cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
|
|
cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
|
|
fi
|
|
|
|
cc_check -mno-omit-leaf-frame-pointer && CFLAG_NO_OMIT_LEAF_FRAME_POINTER="-mno-omit-leaf-frame-pointer"
|
|
|
|
#this must be the last test to be performed or the ones following it will likely fail
|
|
#because libdvdnavmini is intentionally not linked against libdvdread (to permit mplayer
|
|
# to use its own copy of the library)
|
|
echocheck "DVD support (libdvdnav)"
|
|
if test "$_dvdnav" = auto ; then
|
|
$_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
|
|
fi
|
|
if test "$_dvdnav" = auto ; then
|
|
cat > $TMPC <<EOF
|
|
#include <inttypes.h>
|
|
#include <dvdnav/dvdnav.h>
|
|
int main(void) { dvdnav_t *dvd=0; return 0; }
|
|
EOF
|
|
_dvdnav=no
|
|
_dvdnavdir=`$_dvdnavconfig --cflags`
|
|
_dvdnavlibs=`$_dvdnavconfig --libs`
|
|
cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
|
|
fi
|
|
if test "$_dvdnav" = yes ; then
|
|
_largefiles=yes
|
|
_def_dvdnav='#define USE_DVDNAV 1'
|
|
_inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
|
|
_ld_extra="$_ld_extra `$_dvdnavconfig --minilibs`"
|
|
_inputmodules="dvdnav $_inputmodules"
|
|
else
|
|
_def_dvdnav='#undef USE_DVDNAV'
|
|
_noinputmodules="dvdnav $_noinputmodules"
|
|
fi
|
|
echores "$_dvdnav"
|
|
|
|
#############################################################################
|
|
echo "Creating config.mak"
|
|
cat > config.mak << EOF
|
|
# -------- Generated by configure -----------
|
|
|
|
LANG = C
|
|
MAN_LANG = $MAN_LANG
|
|
MAN_LANG_ALL = $MAN_LANG_ALL
|
|
TARGET_OS = $system_name
|
|
DESTDIR =
|
|
prefix = \$(DESTDIR)$_prefix
|
|
BINDIR = \$(DESTDIR)$_bindir
|
|
DATADIR = \$(DESTDIR)$_datadir
|
|
MANDIR = \$(DESTDIR)$_mandir
|
|
CONFDIR = \$(DESTDIR)$_confdir
|
|
LIBDIR = \$(DESTDIR)$_libdir
|
|
# FFmpeg uses libdir instead of LIBDIR
|
|
libdir = \$(LIBDIR)
|
|
AR = $_ar
|
|
CC = $_cc
|
|
CXX = $_cc
|
|
HOST_CC = $_host_cc
|
|
RANLIB = $_ranlib
|
|
WINDRES = $_windres
|
|
INSTALL = $_install
|
|
EXTRA_INC = $_inc_extra
|
|
EXTRAXX_INC = $_inc_extra $_inc_extraxx
|
|
CFLAGS = $CFLAGS \$(EXTRA_INC)
|
|
OPTFLAGS = $CFLAGS \$(EXTRA_INC)
|
|
CFLAG_NO_OMIT_LEAF_FRAME_POINTER = $CFLAG_NO_OMIT_LEAF_FRAME_POINTER
|
|
CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
|
|
CFLAG_STACKREALIGN = $_stackrealign
|
|
ASFLAGS = $ASFLAGS
|
|
INSTALLSTRIP = $_install_strip
|
|
CHARSET = $_charset
|
|
HELP_FILE = $_mp_help
|
|
|
|
EXESUF = $_exesuf
|
|
|
|
MPLAYER_NETWORK = $_network
|
|
FTP = $_ftp
|
|
STREAMING_LIVE555 = $_live
|
|
LIBNEMESI = $_nemesi
|
|
NATIVE_RTSP = $_native_rtsp
|
|
VSTREAM = $_vstream
|
|
STREAM_CACHE = $_stream_cache
|
|
DVBIN = $_dvbin
|
|
VIDIX = $_vidix
|
|
VIDIX_INTERNAL = $_vidix_internal
|
|
VIDIX_EXTERNAL = $_vidix_external
|
|
VIDIX_PCIDB = $_vidix_pcidb_val
|
|
CONFIG_POSTPROC = yes
|
|
MP3LAME = $_mp3lame
|
|
LIBMENU = $_menu
|
|
LIBMENU_DVBIN = $_menu_dvbin
|
|
|
|
MP3LIB = $_mp3lib
|
|
LIBA52 = $_liba52
|
|
LIBMPEG2 = $_libmpeg2
|
|
TREMOR_INTERNAL = $_tremor_internal
|
|
TREMOR_LOW = $_tremor_low
|
|
FAAD = $_faad
|
|
|
|
SPEEX = $_speex
|
|
MUSEPACK = $_musepack
|
|
|
|
UNRAR_EXEC = $_unrar_exec
|
|
PNG = $_png
|
|
JPEG = $_jpeg
|
|
GIF = $_gif
|
|
|
|
EXTRALIBS = $_extra_libs
|
|
EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
|
|
EXTRALIBS_MPLAYER = $_libs_mplayer
|
|
EXTRALIBS_MENCODER = $_libs_mencoder
|
|
|
|
HAVE_SYS_MMAN_H = $_mman
|
|
HAVE_POSIX_SELECT = $_posix_select
|
|
|
|
NEED_GETTIMEOFDAY = $_need_gettimeofday
|
|
NEED_GLOB = $_need_glob
|
|
NEED_MMAP = $_need_mmap
|
|
NEED_SETENV = $_need_setenv
|
|
NEED_SHMEM = $_need_shmem
|
|
NEED_STRSEP = $_need_strsep
|
|
NEED_SWAB = $_need_swab
|
|
NEED_VSSCANF = $_need_vsscanf
|
|
|
|
GETCH = $_getch
|
|
TIMER = $_timer
|
|
|
|
PE_EXECUTABLE = $_pe_executable
|
|
|
|
# audio output
|
|
OSS = $_ossaudio
|
|
ALSA = $_alsa
|
|
ALSA5 = $_alsa5
|
|
ALSA9 = $_alsa9
|
|
ALSA1X = $_alsa1x
|
|
|
|
LADSPA = $_ladspa
|
|
|
|
# input/demuxer/codecs
|
|
JOYSTICK = $_joystick
|
|
LIRC = $_lirc
|
|
APPLE_REMOTE = $_apple_remote
|
|
APPLE_IR = $_apple_ir
|
|
TV = $_tv
|
|
TV_V4L = $_tv_v4l
|
|
TV_V4L1 = $_tv_v4l1
|
|
TV_V4L2 = $_tv_v4l2
|
|
TV_DSHOW = $_tv_dshow
|
|
TV_BSDBT848 = $_tv_bsdbt848
|
|
TV_TELETEXT = $_tv_teletext
|
|
AUDIO_INPUT = $_audio_input
|
|
PVR = $_pvr
|
|
VCD = $_vcd
|
|
DVDREAD = $_dvdread
|
|
DVDREAD_INTERNAL = $_dvdread_internal
|
|
LIBDVDCSS_INTERNAL = $_libdvdcss_internal
|
|
LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
|
|
DVDNAV = $_dvdnav
|
|
WIN32DLL = $_win32dll
|
|
WIN32_EMULATION = $_win32_emulation
|
|
QTX_CODECS = $_qtx
|
|
QTX_CODECS_WIN32 = $_qtx_codecs_win32
|
|
QTX_EMULATION = $_qtx_emulation
|
|
REAL_CODECS = $_real
|
|
XANIM_CODECS = $_xanim
|
|
ZORAN = $_zr
|
|
LIBLZO = $_liblzo
|
|
LIBDV = $_libdv
|
|
XVID4 = $_xvid
|
|
X264 = $_x264
|
|
LIBNUT = $_libnut
|
|
LIBDCA = $_libdca
|
|
MPLAYER = $_mplayer
|
|
MENCODER = $_mencoder
|
|
CDDA = $_cdda
|
|
CDDB = $_cddb
|
|
BITMAP_FONT = $_bitmap_font
|
|
FREETYPE = $_freetype
|
|
LIBASS = $_ass
|
|
LIBMAD = $_mad
|
|
LIBVORBIS = $_vorbis
|
|
LIBTHEORA = $_theora
|
|
FAAD_INTERNAL = $_faad_internal
|
|
LIBSMBCLIENT = $_smbsupport
|
|
XMMS_PLUGINS = $_xmms
|
|
MACOSX_FINDER_SUPPORT = $_macosx_finder_support
|
|
MACOSX_BUNDLE = $_macosx_bundle
|
|
COREAUDIO = $_coreaudio
|
|
COREVIDEO = $_corevideo
|
|
QUARTZ = $_quartz
|
|
TOOLAME=$_toolame
|
|
TWOLAME=$_twolame
|
|
FAAC=$_faac
|
|
RADIO=$_radio
|
|
RADIO_CAPTURE=$_radio_capture
|
|
VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
|
|
VIDIX_IVTV=$_vidix_drv_ivtv
|
|
VIDIX_MACH64=$_vidix_drv_mach64
|
|
VIDIX_MGA=$_vidix_drv_mga
|
|
VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
|
|
VIDIX_NVIDIA=$_vidix_drv_nvidia
|
|
VIDIX_PM2=$_vidix_drv_pm2
|
|
VIDIX_PM3=$_vidix_drv_pm3
|
|
VIDIX_RADEON=$_vidix_drv_radeon
|
|
VIDIX_RAGE128=$_vidix_drv_rage128
|
|
VIDIX_S3=$_vidix_drv_s3
|
|
VIDIX_SIS=$_vidix_drv_sis
|
|
VIDIX_UNICHROME=$_vidix_drv_unichrome
|
|
|
|
# --- Some stuff for autoconfigure ----
|
|
$_target_arch
|
|
$_target_arch_x86
|
|
TARGET_CPU=$iproc
|
|
`echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
|
|
|
|
# --- GUI stuff ---
|
|
GUI = $_gui
|
|
GUI_GTK = $_gui_gtk
|
|
GUI_WIN32 = $_gui_win32
|
|
|
|
# --- libvo stuff ---
|
|
VO_SRCS = $_vosrc
|
|
|
|
# --- libao2 stuff ---
|
|
AO_SRCS = $_aosrc
|
|
|
|
# FFmpeg
|
|
LIBAVUTIL = $_libavutil
|
|
LIBAVUTIL_A = $_libavutil_a
|
|
LIBAVUTIL_SO = $_libavutil_so
|
|
LIBAVCODEC = $_libavcodec
|
|
LIBAVCODEC_A = $_libavcodec_a
|
|
LIBAVCODEC_SO = $_libavcodec_so
|
|
LIBAVFORMAT = $_libavformat
|
|
LIBAVFORMAT_A = $_libavformat_a
|
|
LIBAVFORMAT_SO = $_libavformat_so
|
|
LIBPOSTPROC = $_libpostproc
|
|
LIBPOSTPROC_A = $_libpostproc_a
|
|
LIBPOSTPROC_SO = $_libpostproc_so
|
|
|
|
BUILD_STATIC=yes
|
|
SRC_PATH=..
|
|
BUILD_ROOT=..
|
|
LIBPREF=lib
|
|
LIBSUF=.a
|
|
LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
|
|
|
|
CONFIG_ENCODERS=yes
|
|
CONFIG_GPL=yes
|
|
CONFIG_MUXERS=$_mencoder
|
|
CONFIG_LIBAMR=$_libamr
|
|
CONFIG_LIBAMR_NB=$_libamr_nb
|
|
CONFIG_LIBAMR_WB=$_libamr_wb
|
|
CONFIG_LIBFAAC=$_faac_lavc
|
|
CONFIG_LIBMP3LAME=$_mp3lame_lavc
|
|
CONFIG_LIBVORBIS=$_libvorbis
|
|
CONFIG_LIBX264=$_x264_lavc
|
|
CONFIG_LIBXVID=$_xvid_lavc
|
|
CONFIG_MLIB = $_mlib
|
|
# Prevent building libavcodec/imgresample.c with conflicting symbols
|
|
CONFIG_SWSCALE=yes
|
|
CONFIG_ZLIB=$_zlib
|
|
|
|
HAVE_PTHREADS = $_pthreads
|
|
HAVE_W32THREADS = $_w32threads
|
|
HAVE_XVMC = $_xvmc
|
|
|
|
`echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
|
|
`echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
|
|
`echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
|
|
`echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
|
|
`echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
|
|
`echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
|
|
|
|
DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
|
|
|
|
MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,$^) | sed "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&,"
|
|
MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.h,$^) | sed "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&,"
|
|
|
|
EOF
|
|
|
|
#############################################################################
|
|
|
|
ff_config_enable () {
|
|
_nprefix=$3;
|
|
test -z "$_nprefix" && _nprefix='CONFIG'
|
|
for part in $1; do
|
|
if ` echo $2 | grep -E "(^| )$part($| )" > /dev/null `; then
|
|
echo "#define ${_nprefix}_$part 1"
|
|
echo "#define ENABLE_$part 1"
|
|
else
|
|
echo "#define ENABLE_$part 0"
|
|
fi
|
|
done
|
|
}
|
|
|
|
echo "Creating config.h"
|
|
cat > $TMPH << EOF
|
|
/* -------- This file has been automatically generated by configure ---------
|
|
Note: Any changes in it will be lost when you run configure again. */
|
|
|
|
/* Protect against multiple inclusion */
|
|
#ifndef MPLAYER_CONFIG_H
|
|
#define MPLAYER_CONFIG_H
|
|
|
|
#define CONFIGURATION "$_configuration"
|
|
|
|
/* make sure we never get lavformat's poll() emulation, the results are
|
|
horrible if the X libs try to actually use it, see MPlayer-users
|
|
Message-ID: <45D49541.8060101@infernix.net>
|
|
Date: Thu, 15 Feb 2007 18:15:45 +0100
|
|
Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
|
|
*/
|
|
#define HAVE_SYS_POLL_H 1
|
|
|
|
/* yes, we have inttypes.h */
|
|
#define HAVE_INTTYPES_H 1
|
|
|
|
/* int_fastXY_t emulation */
|
|
$_def_fast_inttypes
|
|
|
|
/* libdvdcss */
|
|
#define HAVE_ERRNO_H 1
|
|
|
|
/* libdvdcss + libdvdread */
|
|
#define HAVE_LIMITS_H 1
|
|
|
|
/* libdvdcss + libfaad2 */
|
|
#define HAVE_UNISTD_H 1
|
|
|
|
/* libfaad2 + libdvdread */
|
|
#define STDC_HEADERS 1
|
|
|
|
/* libfaad2 */
|
|
#define HAVE_MEMCPY 1
|
|
#define HAVE_STRCHR 1
|
|
|
|
/* libdvdread */
|
|
#define HAVE_UINTPTR_T 1
|
|
|
|
/* name of messages charset */
|
|
$_def_charset
|
|
|
|
/* Runtime CPU detection */
|
|
$_def_runtime_cpudetection
|
|
|
|
/* Dynamic a/v plugins */
|
|
$_def_dynamic_plugins
|
|
|
|
/* "restrict" keyword */
|
|
$_def_restrict_keyword
|
|
|
|
/* __builtin_expect branch prediction hint */
|
|
$_def_builtin_expect
|
|
#ifdef HAVE_BUILTIN_EXPECT
|
|
#define likely(x) __builtin_expect ((x) != 0, 1)
|
|
#define unlikely(x) __builtin_expect ((x) != 0, 0)
|
|
#else
|
|
#define likely(x) (x)
|
|
#define unlikely(x) (x)
|
|
#endif
|
|
|
|
/* attribute(used) as needed by some compilers */
|
|
#if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
|
|
# define attribute_used __attribute__((used))
|
|
#else
|
|
# define attribute_used
|
|
#endif
|
|
|
|
/* extern symbol prefix */
|
|
$_def_extern_prefix
|
|
|
|
/* compiler support for named assembler arguments */
|
|
$_def_named_asm_args
|
|
|
|
/* enable/disable SIGHANDLER */
|
|
$_def_sighandler
|
|
|
|
/* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
|
|
$_def_crash_debug
|
|
|
|
/* Toggles debugging informations */
|
|
$_def_debug
|
|
|
|
/* Indicates that libcdio is available for VCD and CD-DA playback */
|
|
$_def_libcdio
|
|
|
|
/* Indicates that Ogle's libdvdread is available for DVD playback */
|
|
$_def_dvdread
|
|
|
|
/* Indicates that dvdread is internal */
|
|
$_def_dvdread_internal
|
|
|
|
/* Additional options for libdvdread/libdvdcss */
|
|
$_def_dvd
|
|
$_def_cdrom
|
|
$_def_cdio
|
|
$_def_dvdio
|
|
$_def_bsdi_dvd
|
|
$_def_dvd_bsd
|
|
$_def_dvd_linux
|
|
$_dev_dvd_openbsd
|
|
$_def_dvd_darwin
|
|
$_def_sol_scsi_h
|
|
$_def_hpux_scsi_h
|
|
|
|
/* Common data directory (for fonts, etc) */
|
|
#define MPLAYER_DATADIR "$_datadir"
|
|
#define MPLAYER_CONFDIR "$_confdir"
|
|
#define MPLAYER_LIBDIR "$_libdir"
|
|
|
|
/* Define this to compile stream-caching support, it can be enabled via
|
|
-cache <kilobytes> */
|
|
$_def_stream_cache
|
|
|
|
/* Define if you are using XviD library */
|
|
$_def_xvid
|
|
|
|
/* Define if you are using the X.264 library */
|
|
$_def_x264
|
|
|
|
/* Define if you are using libnut */
|
|
$_def_libnut
|
|
|
|
/* Define to include support for libdv-0.9.5 */
|
|
$_def_libdv
|
|
|
|
/* If build mencoder */
|
|
$_mencoder_flag
|
|
|
|
/* Indicates if libmp3lame is available
|
|
Note: for mencoder */
|
|
$_def_mp3lame
|
|
$_def_mp3lame_preset
|
|
$_def_mp3lame_preset_medium
|
|
|
|
/* Undefine this if you do not want to select mono audio (left or right)
|
|
with a stereo MPEG layer 2/3 audio stream. The command line option
|
|
-stereo has three possible values (0 for stereo, 1 for left-only, 2 for
|
|
right-only), with 0 being the default.
|
|
*/
|
|
#define USE_FAKE_MONO 1
|
|
|
|
/* Undefine this if your sound card driver has no working select().
|
|
If you have kernel Oops, player hangups, or just no audio, you should
|
|
try to recompile MPlayer with this option disabled! */
|
|
$_def_select
|
|
|
|
/* define this to use iconv(3) function to codepage conversions */
|
|
$_def_iconv
|
|
|
|
/* define this to use nl_langinfo function */
|
|
$_def_langinfo
|
|
|
|
/* define this to use RTC (/dev/rtc) for video timers */
|
|
$_def_rtc
|
|
|
|
/* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
|
|
#define MAX_OUTBURST 65536
|
|
|
|
/* set up audio OUTBURST. Do not change this! */
|
|
#define OUTBURST 512
|
|
|
|
/* Define this if your system has the header file for the OSS sound interface */
|
|
$_def_sys_soundcard
|
|
|
|
/* Define this if your system has the header file for the OSS sound interface
|
|
* in /usr/include */
|
|
$_def_soundcard
|
|
|
|
/* Define this if your system has the sysinfo header */
|
|
$_def_sys_sysinfo
|
|
|
|
/* Define this if your system has the "malloc.h" header file */
|
|
$_def_malloc
|
|
|
|
/* memalign is mapped to malloc if unsupported */
|
|
$_def_memalign
|
|
$_def_map_memalign
|
|
$_def_memalign_hack
|
|
|
|
/* assembler handling of .align */
|
|
$_def_asmalign_pot
|
|
|
|
/* Define this if your system has the "alloca.h" header file */
|
|
$_def_alloca
|
|
|
|
/* Define this if your system has the "byteswap.h" header file */
|
|
$_def_byteswap_h
|
|
|
|
/* Define this if your system has the "sys/mman.h" header file */
|
|
$_def_mman
|
|
$_def_mman_has_map_failed
|
|
|
|
/* Define this if you have the elf dynamic linker -ldl library */
|
|
$_def_dl
|
|
|
|
/* Define this if you have the kstat kernel statistics library */
|
|
$_def_kstat
|
|
|
|
/* Define this if you have zlib */
|
|
$_def_zlib
|
|
#ifdef HAVE_ZLIB
|
|
#define CONFIG_ZLIB 1
|
|
#endif
|
|
|
|
/* Define this if you have shm support */
|
|
$_def_shm
|
|
|
|
/* Define this if your system has strsep */
|
|
$_def_strsep
|
|
|
|
/* Define this if your system has vsscanf */
|
|
$_def_vsscanf
|
|
|
|
/* Define this if your system has swab */
|
|
$_def_swab
|
|
|
|
/* Define this if your system has posix select */
|
|
$_def_posix_select
|
|
|
|
/* Define this if your system has gettimeofday */
|
|
$_def_gettimeofday
|
|
|
|
/* Define this if your system has glob */
|
|
$_def_glob
|
|
|
|
/* Define this if your system has setenv */
|
|
$_def_setenv
|
|
#ifndef HAVE_SETENV
|
|
int setenv(const char *name, const char *val, int overwrite);
|
|
#endif
|
|
|
|
/* Define this if your system has sysi86 */
|
|
$_def_sysi86
|
|
$_def_sysi86_iv
|
|
|
|
/* Define this if your system has pthreads */
|
|
$_def_pthreads
|
|
|
|
/* Define this if you enabled thread support for libavcodec */
|
|
$_def_threads
|
|
#ifdef HAVE_THREADS
|
|
#define ENABLE_THREADS 1
|
|
#else
|
|
#define ENABLE_THREADS 0
|
|
#endif
|
|
|
|
/* LIRC (remote control, see www.lirc.org) support: */
|
|
$_def_lirc
|
|
|
|
/* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */
|
|
$_def_apple_remote
|
|
|
|
/* Apple IR Remote (Linux remote control driver) */
|
|
$_def_apple_ir
|
|
|
|
/* Support for maemo (http://www.maemo.org) */
|
|
$_def_maemo
|
|
|
|
/*
|
|
* LIRCCD (LIRC client daemon)
|
|
* See http://www.dolda2000.cjb.net/~fredrik/lirccd/
|
|
*/
|
|
$_def_lircc
|
|
|
|
/* DVD navigation support using libdvdnav */
|
|
$_def_dvdnav
|
|
|
|
/* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
|
|
#define MPEG12_POSTPROC 1
|
|
|
|
/* maximum alignment used by libmpeg2 */
|
|
#define ATTRIBUTE_ALIGNED_MAX 16
|
|
|
|
/* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
|
|
$_def_libpostproc
|
|
$_def_libpostproc_a
|
|
$_def_libpostproc_so
|
|
|
|
/* Win32 DLL support */
|
|
$_def_win32dll
|
|
#define WIN32_PATH "$_win32codecsdir"
|
|
|
|
/* Mac OS X specific features */
|
|
$_def_macosx_finder_support
|
|
$_def_macosx_bundle
|
|
$_def_coreaudio
|
|
$_def_corevideo
|
|
$_def_quartz
|
|
$_def_quicktime
|
|
|
|
/* Build our Win32-loader */
|
|
$_def_win32_loader
|
|
|
|
/* ffmpeg's libavcodec support (requires libavcodec source) */
|
|
$_def_libavcodec
|
|
$_def_libavcodec_a
|
|
$_def_libavcodec_so
|
|
$_def_libavcodec_mpegaudio_hp
|
|
|
|
/* ffmpeg's libavformat support (requires libavformat source) */
|
|
$_def_libavformat
|
|
$_def_libavformat_a
|
|
$_def_libavformat_so
|
|
|
|
$_def_libavutil
|
|
$_def_libavutil_a
|
|
$_def_libavutil_so
|
|
|
|
/* Use libavcodec's decoders */
|
|
#define CONFIG_DECODERS 1
|
|
#define ENABLE_DECODERS 1
|
|
/* Use libavcodec's encoders */
|
|
#define CONFIG_ENCODERS 1
|
|
#define ENABLE_ENCODERS 1
|
|
|
|
/* Use libavformat's demuxers */
|
|
#define CONFIG_DEMUXERS 1
|
|
#define ENABLE_DEMUXERS 1
|
|
/* Use libavformat's muxers */
|
|
$_def_muxers
|
|
|
|
/* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
|
|
#define HAVE_EBX_AVAILABLE 1
|
|
#ifndef MP_DEBUG
|
|
#define HAVE_EBP_AVAILABLE 1
|
|
#endif
|
|
|
|
#define HAVE_SOCKLEN_T 1
|
|
|
|
#define CONFIG_GPL 1
|
|
#define ENABLE_SMALL 0
|
|
#define ENABLE_GRAY 0
|
|
|
|
/* Use AMR codecs from libavcodec. */
|
|
$_def_libamr
|
|
$_def_libamr_nb
|
|
$_def_libamr_wb
|
|
|
|
/* Use specific parts from FFmpeg. */
|
|
`ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
|
|
`ff_config_enable "$_libavencoders_all" "$_libavencoders"`
|
|
`ff_config_enable "$_libavparsers_all" "$_libavparsers"`
|
|
`ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
|
|
`ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
|
|
`ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
|
|
`ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
|
|
|
|
$_def_faac_lavc
|
|
$_def_mp3lame_lavc
|
|
$_def_x264_lavc
|
|
$_def_xvid_lavc
|
|
|
|
/* Use codec libs included in mplayer CVS / source dist: */
|
|
$_def_mp3lib
|
|
$_def_liba52
|
|
$_def_libmpeg2
|
|
|
|
/* XAnim DLL support */
|
|
$_def_xanim
|
|
/* Default search path */
|
|
$_def_xanim_path
|
|
|
|
/* RealPlayer DLL support */
|
|
$_def_real
|
|
/* Default search path */
|
|
$_def_real_path
|
|
|
|
/* LIVE555 Streaming Media library support */
|
|
$_def_live
|
|
|
|
/* libnemesi Streaming Media library support */
|
|
$_def_nemesi
|
|
|
|
/* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
|
|
$_def_fastmemcpy
|
|
|
|
/* Use UnRAR executable for Vobsubs */
|
|
$_def_unrar_exec
|
|
|
|
/* gui support, please do not edit this option */
|
|
$_def_gui
|
|
$_def_gtk2_gui
|
|
|
|
/* Audio output drivers */
|
|
$_def_ossaudio
|
|
$_def_ossaudio_devdsp
|
|
$_def_ossaudio_devmixer
|
|
$_def_alsa5
|
|
$_def_alsa9
|
|
$_def_alsa1x
|
|
$_def_arts
|
|
$_def_esd
|
|
$_def_esd_latency
|
|
$_def_pulse
|
|
$_def_jack
|
|
$_def_openal
|
|
$_def_openal_h
|
|
$_def_sys_asoundlib_h
|
|
$_def_alsa_asoundlib_h
|
|
$_def_sunaudio
|
|
$_def_sgiaudio
|
|
$_def_win32waveout
|
|
$_def_nas
|
|
|
|
/* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
|
|
#undef FAST_OSD
|
|
#undef FAST_OSD_TABLE
|
|
|
|
/* Enable TV Interface support */
|
|
$_def_tv
|
|
|
|
/* Enable Video 4 Linux TV interface support */
|
|
$_def_tv_v4l
|
|
|
|
/* Enable Video 4 Linux 1 TV interface support */
|
|
$_def_tv_v4l1
|
|
|
|
/* Enable Video 4 Linux 2 TV interface support */
|
|
$_def_tv_v4l2
|
|
|
|
/* Enable DirectShow TV interface support */
|
|
$_def_tv_dshow
|
|
|
|
/* *BSD BrookTree headers */
|
|
$_def_ioctl_meteor_h_name
|
|
$_def_ioctl_bt848_h_name
|
|
|
|
/* Enable *BSD BrookTree TV interface support */
|
|
$_def_tv_bsdbt848
|
|
|
|
/* Enable TV Teletext Interface support */
|
|
$_def_tv_teletext
|
|
|
|
/* Enable Radio Interface support */
|
|
$_def_radio
|
|
|
|
/* Enable Capture for Radio Interface support */
|
|
$_def_radio_capture
|
|
|
|
/* Enable Video 4 Linux Radio interface support */
|
|
$_def_radio_v4l
|
|
|
|
/* Enable Video 4 Linux 2 Radio interface support */
|
|
$_def_radio_v4l2
|
|
|
|
/* Enable *BSD BrookTree Radio interface support */
|
|
$_def_radio_bsdbt848
|
|
|
|
/* Enable Video 4 Linux 2 MPEG PVR support */
|
|
$_def_pvr
|
|
|
|
/* Define if your processor stores words with the most significant
|
|
byte first (like Motorola and SPARC, unlike Intel and VAX). */
|
|
$_def_words_endian
|
|
|
|
/* Define if your processor can access unaligned data in a fast way */
|
|
$_def_fast_unaligned
|
|
|
|
`ff_config_enable "$_arch_all" "$_arch" "ARCH"`
|
|
|
|
/* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
|
|
have the instruction. */
|
|
$_def_dcbzl
|
|
|
|
/* Define this for Cygwin build for win32 */
|
|
$_def_confwin32
|
|
|
|
/* Define this to any prefered value from 386 up to infinity with step 100 */
|
|
#define __CPU__ $iproc
|
|
|
|
$_mp_wordsize
|
|
|
|
$_def_vcd
|
|
|
|
#ifdef sun
|
|
#define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
|
|
#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
|
|
#elif defined(WIN32) || defined(__OS2__)
|
|
#define DEFAULT_CDROM_DEVICE "D:"
|
|
#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
|
|
#elif defined(__APPLE__) || defined(__DARWIN__)
|
|
#define DEFAULT_CDROM_DEVICE "/dev/disk1"
|
|
#define DEFAULT_DVD_DEVICE "/dev/rdiskN"
|
|
#elif defined(__OpenBSD__)
|
|
#define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
|
|
#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
|
|
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
|
#define DEFAULT_CDROM_DEVICE "/dev/acd0"
|
|
#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
|
|
#elif defined(__DragonFly__)
|
|
#define DEFAULT_CDROM_DEVICE "/dev/cd0"
|
|
#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
|
|
#elif defined(__AMIGAOS4__)
|
|
#define DEFAULT_CDROM_DEVICE "a1ide.device:2"
|
|
#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
|
|
#else
|
|
#define DEFAULT_CDROM_DEVICE "/dev/cdrom"
|
|
#define DEFAULT_DVD_DEVICE "/dev/dvd"
|
|
#endif
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
**
|
|
** NOTE: Instead of modifying these definitions here, use the
|
|
** --enable/--disable options of the ./configure script!
|
|
** See ./configure --help for details.
|
|
**
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
/* C99 *lrint* and round* functions available */
|
|
$_def_llrint
|
|
$_def_lrint
|
|
$_def_lrintf
|
|
$_def_round
|
|
$_def_roundf
|
|
|
|
/* mkstemp support */
|
|
$_def_mkstemp
|
|
|
|
/* nanosleep support */
|
|
$_def_nanosleep
|
|
|
|
/* SMB support */
|
|
$_def_smbsupport
|
|
|
|
/* termcap flag for getch2.c */
|
|
$_def_termcap
|
|
|
|
/* termios flag for getch2.c */
|
|
$_def_termios
|
|
$_def_termios_h
|
|
$_def_termios_sys_h
|
|
|
|
/* enable PNG support */
|
|
$_def_png
|
|
|
|
/* enable JPEG support */
|
|
$_def_jpeg
|
|
|
|
/* enable PNM support */
|
|
$_def_pnm
|
|
|
|
/* enable md5sum support */
|
|
$_def_md5sum
|
|
|
|
/* enable GIF support */
|
|
$_def_gif
|
|
$_def_gif_4
|
|
$_def_gif_tvt_hack
|
|
|
|
/* enable bitmap font support */
|
|
$_def_bitmap_font
|
|
|
|
/* enable FreeType support */
|
|
$_def_freetype
|
|
|
|
/* enable Fontconfig support */
|
|
$_def_fontconfig
|
|
|
|
/* enable SSA/ASS support */
|
|
$_def_ass
|
|
|
|
/* enable FriBiDi usage */
|
|
$_def_fribidi
|
|
|
|
/* enable ENCA usage */
|
|
$_def_enca
|
|
|
|
/* liblzo support */
|
|
$_def_liblzo
|
|
#ifdef USE_LIBLZO
|
|
#define CONFIG_LZO 1
|
|
#endif
|
|
|
|
/* libmad support */
|
|
$_def_mad
|
|
|
|
/* enable OggVorbis support */
|
|
$_def_vorbis
|
|
$_def_tremor
|
|
|
|
/* enable Speex support */
|
|
$_def_speex
|
|
|
|
/* enable musepack support */
|
|
$_def_musepack
|
|
|
|
/* enable OggTheora support */
|
|
$_def_theora
|
|
|
|
/* enable FAAD (AAC) support */
|
|
$_def_faad
|
|
$_def_faad_internal
|
|
|
|
/* enable FAAC (AAC encoder) support */
|
|
$_def_faac
|
|
|
|
/* enable libdca support */
|
|
$_def_libdca
|
|
|
|
/* enable LADSPA plugin support */
|
|
$_def_ladspa
|
|
|
|
/* enable network */
|
|
$_def_network
|
|
|
|
/* enable ftp support */
|
|
$_def_ftp
|
|
|
|
/* enable vstream support */
|
|
$_def_vstream
|
|
|
|
/* enable winsock2 instead of Unix functions*/
|
|
$_def_winsock2
|
|
|
|
/* define this to use inet_aton() instead of inet_pton() */
|
|
$_def_use_aton
|
|
|
|
/* enables / disables cdparanoia support */
|
|
$_def_cdparanoia
|
|
$_def_cddb
|
|
|
|
/* enables / disables VIDIX usage */
|
|
$_def_vidix
|
|
$_def_vidix_drv_cyberblade
|
|
$_def_vidix_drv_ivtv
|
|
$_def_vidix_drv_mach64
|
|
$_def_vidix_drv_mga
|
|
$_def_vidix_drv_mga_crtc2
|
|
$_def_vidix_drv_nvidia
|
|
$_def_vidix_drv_pm3
|
|
$_def_vidix_drv_radeon
|
|
$_def_vidix_drv_rage128
|
|
$_def_vidix_drv_s3
|
|
$_def_vidix_drv_sis
|
|
$_def_vidix_drv_unichrome
|
|
$_def_vidix_pfx
|
|
|
|
/* enables / disables new input joystick support */
|
|
$_def_joystick
|
|
|
|
/* enables / disables QTX codecs */
|
|
$_def_qtx
|
|
$_def_qtx_win32
|
|
|
|
/* enables / disables osd menu */
|
|
$_def_menu
|
|
|
|
/* enables / disables subtitles sorting */
|
|
$_def_sortsub
|
|
|
|
/* XMMS input plugin support */
|
|
$_def_xmms
|
|
#define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
|
|
|
|
/* enables inet6 support */
|
|
$_def_inet6
|
|
|
|
/* do we have gethostbyname2? */
|
|
$_def_gethostbyname2
|
|
|
|
/* Extension defines */
|
|
`ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
|
|
|
|
$_def_altivec_h // enables usage of altivec.h
|
|
|
|
/* libvo options */
|
|
#define SCREEN_SIZE_X 1
|
|
#define SCREEN_SIZE_Y 1
|
|
$_def_x11
|
|
$_def_xv
|
|
$_def_xvmc
|
|
$_def_vm
|
|
$_def_xf86keysym
|
|
$_def_xinerama
|
|
$_def_gl
|
|
$_def_gl_win32
|
|
$_def_dga
|
|
$_def_dga1
|
|
$_def_dga2
|
|
$_def_sdl
|
|
/* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
|
|
$_def_sdlbuggy
|
|
$_def_directx
|
|
$_def_ggi
|
|
$_def_ggiwmh
|
|
$_def_3dfx
|
|
$_def_s3fb
|
|
$_def_tdfxfb
|
|
$_def_tdfxvid
|
|
$_def_xvr100
|
|
$_def_directfb
|
|
$_def_directfb_version
|
|
$_def_dfbmga
|
|
$_def_zr
|
|
$_def_bl
|
|
$_def_mga
|
|
$_def_xmga
|
|
$_def_fbdev
|
|
$_def_dxr2
|
|
$_def_dxr3
|
|
$_def_ivtv
|
|
$_def_v4l2
|
|
$_def_dvb
|
|
$_def_dvb_in
|
|
$_def_svga
|
|
$_def_vesa
|
|
$_def_xss
|
|
$_def_xdpms
|
|
$_def_aa
|
|
$_def_caca
|
|
$_def_tga
|
|
$_def_toolame
|
|
$_def_twolame
|
|
|
|
/* used by GUI: */
|
|
$_def_xshape
|
|
|
|
#if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
|
|
#define X11_FULLSCREEN 1
|
|
#endif
|
|
|
|
#endif /* MPLAYER_CONFIG_H */
|
|
EOF
|
|
|
|
# Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
|
|
cmp -s "$TMPH" config.h || mv -f "$TMPH" config.h
|
|
|
|
#############################################################################
|
|
|
|
cat << EOF
|
|
|
|
Config files successfully generated by ./configure $_configuration !
|
|
|
|
Install prefix: $_prefix
|
|
Data directory: $_datadir
|
|
Config direct.: $_confdir
|
|
|
|
Byte order: $_byte_order
|
|
Optimizing for: $_optimizing
|
|
|
|
Languages:
|
|
Messages/GUI: $_language
|
|
EOF
|
|
|
|
echo ${_echo_n} " Manual pages: $MAN_LANG_ALL ${_echo_c}"
|
|
test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
|
|
echo
|
|
|
|
cat << EOF
|
|
|
|
Enabled optional drivers:
|
|
Input: $_inputmodules
|
|
Codecs: $_codecmodules
|
|
Audio output: $_aomodules
|
|
Video output: $_vomodules
|
|
Disabled optional drivers:
|
|
Input: $_noinputmodules
|
|
Codecs: $_nocodecmodules
|
|
Audio output: $_noaomodules
|
|
Video output: $_novomodules
|
|
|
|
'config.h' and 'config.mak' contain your configuration options.
|
|
Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
|
|
compile *** DO NOT REPORT BUGS if you tweak these files ***
|
|
|
|
'make' will now compile MPlayer and 'make install' will install it.
|
|
Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
|
|
|
|
EOF
|
|
|
|
|
|
if test "$_mtrr" = yes ; then
|
|
echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
|
|
echo
|
|
fi
|
|
|
|
if ! x86_32; then
|
|
cat <<EOF
|
|
NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
|
|
operating system ($system_name). You may encounter a few files that cannot
|
|
be played due to missing open source video/audio codec support.
|
|
|
|
EOF
|
|
fi
|
|
|
|
|
|
cat <<EOF
|
|
Check $TMPLOG if you wonder why an autodetection failed (make sure
|
|
development headers/packages are installed).
|
|
|
|
NOTE: The --enable-* parameters unconditionally force options on, completely
|
|
skipping autodetection. This behavior is unlike what you may be used to from
|
|
autoconf-based configure scripts that can decide to override you. This greater
|
|
level of control comes at a price. You may have to provide the correct compiler
|
|
and linker flags yourself.
|
|
If you used one of these options (except --enable-gui and similar ones that
|
|
turn on internal features) and experience a compilation or linking failure,
|
|
make sure you have passed the necessary compiler/linker flags to configure.
|
|
|
|
If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
|
|
|
|
EOF
|
|
|
|
if test "$_warn_CFLAGS" = yes; then
|
|
cat <<EOF
|
|
|
|
MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
|
|
|
|
*** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
|
|
|
|
It is strongly recommended to let MPlayer choose the correct CFLAGS!
|
|
To do so, execute 'CFLAGS= ./configure <options>'
|
|
|
|
EOF
|
|
fi
|
|
|
|
# Last move:
|
|
rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"
|