mirror of https://github.com/mpv-player/mpv
1647 lines
37 KiB
Bash
Executable File
1647 lines
37 KiB
Bash
Executable File
#!/bin/sh
|
||
|
||
#
|
||
# MPlayer configurator. (C) 2000 Pontscho/fresh!mindworkz
|
||
# pontscho@makacs.poliod.hu
|
||
#
|
||
# Changes in reversed order:
|
||
#
|
||
# 2001/06/05 by Pontscho
|
||
# - added alsa and esd detection
|
||
#
|
||
# 2001/06/05 by Nick Kurshev
|
||
# - added checking of kernel version
|
||
#
|
||
# 2001/06/04 by Nick Kurshev
|
||
# - added hard checking of gcc and soft of assembler
|
||
#
|
||
# 2001/05/40 by LGB
|
||
# - added --prefix support
|
||
#
|
||
# 2001/05/22 by Nick Kurshev
|
||
# - added definition of CPU clone
|
||
#
|
||
# 2001/04/16 by LGB
|
||
# - added libcss stuffs
|
||
#
|
||
# 2001/04/15 by Pontscho
|
||
# - added --disable-select option
|
||
# - added X11DIR variable in config.mak and fix syncfb Makefile -L/usr/X11/lib bug
|
||
#
|
||
# 2001/03/24 by Mike Graffam:
|
||
# - added autodetect code for XF86VidMode, along with explicit --enable-vm
|
||
#
|
||
# 2001/03/22 by Bivanbi:
|
||
# - new option: --cc (to specify C compiler path+name)
|
||
#
|
||
# 2001/03/08 by LGB:
|
||
# - DGA detect-o-matic :)
|
||
# - '--disable-dga' option to force disabling DGA vo driver compiling into mplayer
|
||
# - line about '--enable-dga' is added to the help message
|
||
#
|
||
# 2001/02/26 by A'rpi:
|
||
# - added DGA option: --enable-dga
|
||
# - no notify if --with-win32libdir used [Tibcu]
|
||
#
|
||
# 2001/02/25 by LGB:
|
||
# - TMPDIR or TEMPDIR variable is honored during tests for temporary files
|
||
# - ChangeLog inside configure was reversed ;-)
|
||
#
|
||
# some changes by A'rpi/ESP-team:
|
||
# - added 'athlon' target for the new athlongcc [Ian Kumlien]
|
||
# - applied _win32libdir=-L patch by Magnus Pfeffer
|
||
#
|
||
# some changes by LGB:
|
||
# - Ehhh, AMD K6-2 returns with cpuid 5 ;-) Changing back Arpi's last change :)
|
||
# More info: AMD K6-2 reports with family 5, duron with 6, so I attached
|
||
# much finer CPU type detection based on Linux kernel's one :)
|
||
# (k5: 5, model<6, k6: 5, model>=6, k7: 6, model=any)
|
||
# - On some exit point (error) temporary files were not deleted. Fixed.
|
||
# - $TMP and $TMP2 are renamed to $TMPC and $TMPO ;-)
|
||
# - Some useless { ... } are removed
|
||
#
|
||
# some changes by A'rpi/ESP-team:
|
||
# - the --with-win32libdir patch by Aaron Hope applied
|
||
# - some english bugfix again :)
|
||
# - cpu type selection changed:
|
||
# ( k7->k6->k5-> ) || (i686->pentiumpro-> ) pentium-> i486 -> i386 -> error!
|
||
# - cpu type for AMD/family=5 changed k6->k5
|
||
#
|
||
# some changes by LGB (G<>bor L<>n<EFBFBD>rt):
|
||
# - SOME gcc may support 'k7', so I added tests for ALL CPU type optimization
|
||
# switches with the ability to find out the best optimization for your CPU.
|
||
# - Help moved to the begining to avoid tests if user only wants help.
|
||
# - A one lined help to indicate detailed help for users
|
||
# - Fixed /tmp race (PIDs can be predicted, I added random numbers as well)
|
||
#
|
||
# some changes by A'rpi/ESP-team:
|
||
# - some english bugfix :)
|
||
# - removed _??exists flags, _?? is enough...
|
||
# - creating only config.mak files instead of whole Makefiles
|
||
#
|
||
# --
|
||
|
||
|
||
# Check how echo works in this /bin/sh
|
||
case `echo -n` in
|
||
-n) _echo_n= _echo_c='\c';;
|
||
*) _echo_n=-n _echo_c=;;
|
||
esac
|
||
|
||
|
||
# LGB: Help moved here.
|
||
|
||
if [ "$1" = "--help" -o "$1" = "-help" -o "$1" = "-h" ]; then
|
||
cat << EOF
|
||
|
||
usage: $0 [options]
|
||
|
||
params:
|
||
--cc use this C compiler to build MPlayer [gcc]
|
||
--prefix=DIR use this prefix for installing mplayer [/usr/local]
|
||
--enable-debug[=1-3] compile debugging information into mplayer [disable]
|
||
--enable-profile compile profiling information into mplayer [disable]
|
||
--enable-mmx build with mmx support [autodetect]
|
||
--enable-mmx2 build with mmx2 support (PIII, Athlon) [autodetect]
|
||
--enable-3dnow build with 3dnow! support [autodetect]
|
||
--enable-3dnowex build with 3dnow-dsp! support (K7) [autodetect]
|
||
--enable-sse build with sse support [autodetect]
|
||
--enable-gl build with OpenGL render support [autodetect]
|
||
--enable-dga build with DGA support [autodetect]
|
||
--enable-svga build with SVGAlib support [autodetect]
|
||
--enable-sdl build with SDL render support [autodetect]
|
||
--enable-mga build with mga_vid support [autodetect, if /dev/mga_vid
|
||
is available]
|
||
--enable-xmga build with mga_vid X Window support [autodetect,
|
||
if both /dev/mga_vid and x11 are available]
|
||
--enable-xv build with Xv render support for X 4.x [autodetect]
|
||
--enable-vm build with XF86VidMode support for x11 driver
|
||
--enable-x11 build with X11 render support [autodetect]
|
||
--enable-fbdev build with FBDev render support [_not_ autodetected]
|
||
--enable-mlib build with MLIB support ( only Solaris )
|
||
|
||
--enable-termcap use termcap database for key codes
|
||
--enable-xmmp use XMMP audio drivers
|
||
--enable-lirc enable LIRC (remote control) support
|
||
|
||
--disable-ossaudio disable OSS sound support [autodetect]
|
||
--disable-alsa disable alsa sound support [autodetect]
|
||
--disable-esd disable esd sound support [autodetect]
|
||
--disable-sunaudio disable Sun sound support [autodetect]
|
||
|
||
--disable-gcc-checking disable gcc version checking
|
||
|
||
--disable-select disable audio select() support ( for example required this
|
||
option ALSA or Vortex2 driver )
|
||
|
||
--disable-dshow disable DirectShow support (if you don't have
|
||
C++ compiler&libs, or you've found dshow codecs
|
||
slower than old VfW ones)
|
||
|
||
--disable-fastmemcpy disable 3dnow/sse/mmx optimized memcpy()
|
||
|
||
--with-x11libdir=DIR X library files are in DIR
|
||
--with-win32libdir=DIR windows codec files
|
||
--with-csslibdir=DIR directory contains libcss.so shared library
|
||
--with-cssincdir=DIR directory contains libcss header file (css.h)
|
||
(--with-css* only needed, if libCSS autodetect fails)
|
||
--with-sdl-config=PATH specify location of sdl-config if it's not in your PATH
|
||
(example: --with-sdl-cofig=/usr/sdl/bin/sdl-config)
|
||
|
||
--size-x=SIZE default screen width
|
||
--size-y=SIZE default screen height
|
||
EOF
|
||
exit 0
|
||
fi
|
||
|
||
# LGB: Some inital help
|
||
|
||
echo "You can get detailed help on configure with: $0 --help"
|
||
echo "Please wait while ./configure discovers your software and hardware environment!"
|
||
|
||
# LGB: temporary files
|
||
|
||
TMPC="mplayer-conf-${RANDOM}-$$-${RANDOM}.c"
|
||
TMPO="mplayer-conf-${RANDOM}-$$-${RANDOM}.o"
|
||
TMPS="mplayer-conf-${RANDOM}-$$-${RANDOM}.S"
|
||
|
||
if [ ! -z "$TMPDIR" ]; then
|
||
TMPC="${TMPDIR}/${TMPC}"
|
||
TMPO="${TMPDIR}/${TMPO}"
|
||
TMPS="${TMPDIR}/${TMPS}"
|
||
elif [ ! -z "$TEMPDIR" ]; then
|
||
TMPC="${TEMPDIR}/${TMPC}"
|
||
TMPO="${TEMPDIR}/${TMPO}"
|
||
TMPS="${TEMPDIR}/${TMPS}"
|
||
else
|
||
TMPC="/tmp/${TMPC}"
|
||
TMPO="/tmp/${TMPO}"
|
||
TMPS="/tmp/${TMPS}"
|
||
fi
|
||
|
||
# ---
|
||
|
||
# config files
|
||
CCONF='config.h'
|
||
MCONF='config.mak'
|
||
|
||
# --- Check for C compiler:
|
||
|
||
_cc=gcc
|
||
_as=as
|
||
_x11=auto
|
||
|
||
_x11libdir=
|
||
if [ -d /usr/X11R6 ]; then
|
||
_x11libdir=-L/usr/X11R6/lib
|
||
else
|
||
if [ -d /usr/X11 ]; then
|
||
_x11libdir=-L/usr/X11/lib
|
||
fi
|
||
fi
|
||
|
||
_skip_cc_check=no
|
||
_skip_as_check=no
|
||
_sdlconfig='sdl-config'
|
||
|
||
for ac_option
|
||
do
|
||
case "$ac_option" in
|
||
--cc=*)
|
||
_cc=`echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
--as=*)
|
||
_as=`echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
--disable-gcc-checking)
|
||
_skip_cc_check=yes
|
||
;;
|
||
--disable-as-checking)
|
||
_skip_as_check=yes
|
||
;;
|
||
--with-x11libdir=*)
|
||
_x11libdir=-L`echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
--enable-x11)
|
||
_x11=yes
|
||
;;
|
||
--disable-x11)
|
||
_x11=no
|
||
;;
|
||
--with-sdl-config=*)
|
||
_sdlconfig=`echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
esac
|
||
done
|
||
|
||
# ---
|
||
|
||
# Checking CC version...
|
||
# Q: what's with egcs, pgcc? - Atmos
|
||
# A: same as with agcc! These compilers always were introduced as experimental
|
||
# ones. Now gcc-3.0 should introduce all features of these compilers.
|
||
# Since 3.0 is almost released we don't need to support them. - Nick 05 jun 2001
|
||
if test "$_skip_cc_check" != "yes"; then
|
||
echo $_echo_n "Checking version of $_cc ... $_echo_c"
|
||
cc_version=`$_cc -v 2>&1 | sed -n 's/^.*version \([aegcygnustp-]*[0-9.]*\).*$/\1/p'`
|
||
case $cc_version in
|
||
'') cc_version="v. ?.??, bad"; cc_verc_fail=yes;;
|
||
2.95.[2-9]|3.[0-9])
|
||
cc_version="$cc_version, ok";;
|
||
*) cc_version="$cc_version, bad"; cc_verc_fail=yes;;
|
||
esac
|
||
echo "$cc_version"
|
||
if [ ! -z "$cc_verc_fail" ] ; then
|
||
echo "Please downgrade(upgrade) gcc compiler to gcc-2.95.2+ or gcc-3.0+ version"
|
||
exit
|
||
fi
|
||
else
|
||
echo "YOU'VE SELECTED '--disable-gcc-checking'. PLEASE DON'T SEND US ANY BUGREPORTS!"
|
||
fi
|
||
# ---
|
||
|
||
|
||
if [ -r /proc/cpuinfo ]; then
|
||
# linux with /proc mounted, extract cpu information from it
|
||
_cpuinfo="cat /proc/cpuinfo"
|
||
else
|
||
# all other OS try to extract cpu information from a small helper
|
||
# program TOOLS/cpuinfo instead
|
||
$_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
|
||
_cpuinfo="TOOLS/cpuinfo"
|
||
fi
|
||
|
||
pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2`
|
||
pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2`
|
||
if [ -z "$pparam" ]; then
|
||
pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2`
|
||
fi
|
||
pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
||
pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
||
pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
||
pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
||
|
||
_mmx=no
|
||
_mmx2=no
|
||
_3dnow=no
|
||
_3dnowex=no
|
||
_mtrr=no
|
||
_sse=no
|
||
|
||
_mga=no
|
||
_gl=no
|
||
_sdl=no
|
||
_xv=no
|
||
_vm=no
|
||
_xdpms=no
|
||
_3dfx=no
|
||
_syncfb=no
|
||
_mlib=no
|
||
_mpg123=no
|
||
_xmga=no
|
||
_dga=no
|
||
_dga2=no
|
||
_svga=no
|
||
_fbdev=no
|
||
[ x`uname -s` = xLinux ] && _fbdev=yes
|
||
_lirc=no
|
||
_css=no
|
||
_dshow=yes
|
||
_fastmemcpy=yes
|
||
_streaming=no
|
||
|
||
_x=1
|
||
_y=1
|
||
|
||
_gllib=
|
||
_sdllib=
|
||
_sdlcflags=
|
||
_xvlib=
|
||
_x11lib=
|
||
|
||
_select='#define HAVE_AUDIO_SELECT'
|
||
|
||
_gui=no;
|
||
|
||
_alsa=yes
|
||
_esd=yes
|
||
|
||
for i in `echo $pparam`; do
|
||
|
||
case "$i" in
|
||
3dnow)
|
||
_3dnow=yes
|
||
_mpg123=yes
|
||
;;
|
||
3dnowext)
|
||
_3dnow=yes
|
||
_3dnowex=yes
|
||
_mpg123=yes
|
||
;;
|
||
mmx)
|
||
_mmx=yes
|
||
;;
|
||
mmxext)
|
||
_mmx2=yes
|
||
;;
|
||
mtrr)
|
||
_mtrr=yes
|
||
;;
|
||
k6_mtrr)
|
||
_mtrr=yes
|
||
;;
|
||
xmm)
|
||
_sse=yes
|
||
_mmx2=yes
|
||
;;
|
||
sse)
|
||
_sse=yes
|
||
_mmx2=yes
|
||
;;
|
||
kni)
|
||
_sse=yes
|
||
_mmx2=yes
|
||
;;
|
||
esac
|
||
|
||
done
|
||
|
||
|
||
_win32libdirnotify=no
|
||
if [ -d /usr/lib/win32 ]; then
|
||
_win32libdir=/usr/lib/win32
|
||
else
|
||
if [ -d /usr/local/lib/win32 ]; then
|
||
_win32libdir=/usr/local/lib/win32
|
||
else
|
||
# This is our default:
|
||
_win32libdir=/usr/lib/win32
|
||
_win32libdirnotify=yes
|
||
fi
|
||
fi
|
||
|
||
|
||
if [ -c /dev/mga_vid ]; then
|
||
_mga=yes
|
||
_syncfb=yes
|
||
fi
|
||
|
||
proc=pentium
|
||
iproc=586
|
||
|
||
case "$pvendor" in
|
||
AuthenticAMD)
|
||
case "$pfamily" in
|
||
3)
|
||
proc=i386
|
||
iproc=386
|
||
;;
|
||
4)
|
||
proc=i486
|
||
iproc=486
|
||
;;
|
||
5)
|
||
if [ $pmodel -ge 6 ]; then # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
|
||
proc=k6
|
||
else
|
||
proc=k5
|
||
fi
|
||
iproc=586
|
||
;;
|
||
6|7) # LGB: Though it seems Athlon CPUs returns with "6"
|
||
proc=k7
|
||
iproc=686
|
||
;;
|
||
*)
|
||
proc=pentium
|
||
iproc=586
|
||
;;
|
||
esac
|
||
;;
|
||
GenuineIntel)
|
||
case "$pfamily" in
|
||
3)
|
||
proc=i386
|
||
iproc=386
|
||
;;
|
||
4)
|
||
proc=i486
|
||
iproc=486
|
||
;;
|
||
5)
|
||
proc=pentium
|
||
iproc=586
|
||
;;
|
||
6)
|
||
proc=i686
|
||
iproc=686
|
||
;;
|
||
*)
|
||
proc=pentium
|
||
iproc=586
|
||
;;
|
||
esac
|
||
;;
|
||
unknown) # added by Gabucino - upon Tibcu's request
|
||
case "$pfamily" in
|
||
3)
|
||
proc=i386
|
||
iproc=386
|
||
;;
|
||
4)
|
||
proc=i486
|
||
iproc=486
|
||
;;
|
||
*)
|
||
proc=pentium
|
||
iproc=586
|
||
;;
|
||
esac
|
||
;;
|
||
*)
|
||
proc=pentium
|
||
iproc=586
|
||
;;
|
||
esac
|
||
|
||
# ---
|
||
|
||
cat > $TMPC << EOF
|
||
int main( void ) { return 0; }
|
||
EOF
|
||
|
||
# check that gcc supports our cpu, if not, fallback to pentium
|
||
# LGB: check -mcpu and -march swithing step by step with enabling
|
||
# to fall back till 386.
|
||
|
||
#echo -n "Checking your GCC CPU optimalization abilities: "
|
||
if [ "$proc" = "k7" ]; then
|
||
# echo -n "trying k7 "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=athlon
|
||
fi
|
||
if [ "$proc" = "athlon" ]; then
|
||
# echo -n "trying athlon "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=k6
|
||
fi
|
||
if [ "$proc" = "k6" ]; then
|
||
# echo -n "trying k6 "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=k5
|
||
fi
|
||
if [ "$proc" = "k5" ]; then
|
||
# echo -n "trying k5 "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=pentium
|
||
fi
|
||
if [ "$proc" = "i686" ]; then
|
||
# echo -n "trying i686 "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=pentiumpro
|
||
fi
|
||
if [ "$proc" = "pentiumpro" ]; then
|
||
# echo -n "trying pentiumpro "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=pentium
|
||
fi
|
||
if [ "$proc" = "pentium" ]; then
|
||
# echo -n "trying pentium "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=i486
|
||
fi
|
||
if [ "$proc" = "i486" ]; then
|
||
# echo -n "trying i486 "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=i386
|
||
fi
|
||
if [ "$proc" = "i386" ]; then
|
||
# echo -n "trying i386 "
|
||
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null 2>&1 || proc=error
|
||
fi
|
||
if [ "$proc" = "error" ]; then
|
||
echo
|
||
echo "Your gcc does not support even \"i386\" for '-march' and '-mcpu'." >&2
|
||
rm -f $TMPC $TMPO $TMPS
|
||
exit
|
||
fi
|
||
#echo "DONE (${proc})."
|
||
|
||
|
||
$_cc $TMPC -o $TMPO -lvgagl -lvga > /dev/null 2>&1 && _svga=yes
|
||
|
||
$_cc $TMPC -o $TMPO -lpthread > /dev/null 2>&1 || \
|
||
{ echo "Lib pthread not found."; rm -f $TMPC $TMPO $TMPS ; exit 1; }
|
||
|
||
# Atmosfear: added SDL versioncheck and autodetect; removed warnings.
|
||
_sdl=no
|
||
if $_cc `$_sdlconfig --cflags` $TMPC -o $TMPO `$_sdlconfig --libs` > /dev/null 2>&1 ; then
|
||
_sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
|
||
if test "$_sdlversion" -gt 116 ; then
|
||
if test "$_sdlversion" -lt 121 ; then
|
||
|
||
_sdlbuggy='#define BUGGY_SDL'
|
||
else
|
||
_sdlbuggy='#undef BUGGY_SDL'
|
||
fi
|
||
_sdl=yes
|
||
else
|
||
_sdl=outdated
|
||
fi
|
||
fi
|
||
|
||
# Atmosfear: added libcss autodetect
|
||
_css=no
|
||
if test -s "/usr/local/lib/libcss.so" ; then
|
||
_csslibdir="/usr/local/lib/"
|
||
if test -s "/usr/local/include/css.h" ; then
|
||
_cssincdir="/usr/local/include"
|
||
_css=yes
|
||
fi
|
||
else
|
||
if test -s "/usr/lib/libcss.so" ; then
|
||
_csslibdir="/usr/lib/"
|
||
if test -s "/usr/include/css.h" ; then
|
||
_cssincdir="/usr/include/"
|
||
_css=yes
|
||
fi
|
||
fi
|
||
fi
|
||
|
||
_termcap=no
|
||
$_cc $TMPC -o $TMPO -ltermcap > /dev/null 2>&1 && _termcap=yes
|
||
|
||
_png=no
|
||
$_cc $TMPC -o $TMPO -lpng -lz -lm > /dev/null 2>&1 && _png=yes
|
||
|
||
_binutils=no
|
||
$_as libac3/downmix/downmix_i386.S -o $TMPO > /dev/null 2>&1 && _binutils=yes
|
||
|
||
# echo binutils: $_binutils
|
||
|
||
|
||
# ----------- Check X11 and related libs (GL, Xxf86vm, Xv, DGA) --------------
|
||
|
||
# for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
|
||
_socklib=
|
||
$_cc $TMPC -o $TMPO $_socklib -lsocket >/dev/null 2>&1 && _socklib="$_socklib -lsocket"
|
||
$_cc $TMPC -o $TMPO $_socklib -lnsl >/dev/null 2>&1 && _socklib="$_socklib -lnsl"
|
||
|
||
if [ $_x11 = auto ]; then
|
||
_x11=no
|
||
$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext $_socklib > /dev/null 2>&1 && _x11=yes
|
||
fi
|
||
|
||
if [ $_x11 = yes ]; then
|
||
|
||
$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXdpms $_socklib > /dev/null 2>&1 && _xdpms=yes
|
||
$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXv $_socklib > /dev/null 2>&1 && _xv=yes
|
||
$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXxf86vm $_socklib > /dev/null 2>&1 && _vm=yes
|
||
|
||
$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL $_socklib > /dev/null 2>&1 && _gl=yes
|
||
|
||
cat > $TMPC << EOF
|
||
#include <GL/gl.h>
|
||
int main( void ) { return 0; }
|
||
EOF
|
||
$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL $_socklib > /dev/null 2>&1 || \
|
||
{ _gl=no; echo "GL includes not found!";}
|
||
|
||
cat > $TMPC << EOF
|
||
#include <stdio.h>
|
||
#include <X11/Xlib.h>
|
||
#include <X11/extensions/xf86dga.h>
|
||
int main (void) { return 0;}
|
||
EOF
|
||
|
||
$_cc $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm $_socklib > /dev/null 2>&1 && _dga=yes
|
||
# 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 can be usefull
|
||
# for further mplayer versions to set resolution by mplayer itself.
|
||
# If you run into problems, remove '-lXxf86vm'.
|
||
|
||
# Check if DGA is 2.0 or greater
|
||
cat > $TMPC << EOF
|
||
#include <stdio.h>
|
||
#include <X11/Xlib.h>
|
||
#include <X11/extensions/xf86dga.h>
|
||
int main (void) { XDGAMode mode; XDGADevice device; return 0;}
|
||
EOF
|
||
|
||
_dga2=no
|
||
$_cc $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm $_socklib > /dev/null 2>&1 && _dga2=yes
|
||
|
||
fi
|
||
|
||
rm -f $TMPC $TMPO
|
||
|
||
|
||
# ---
|
||
# try to detect type of audio supported on this machine
|
||
|
||
cat > $TMPC << EOF
|
||
#include <sys/soundcard.h>
|
||
int main( void ) { return 0; }
|
||
EOF
|
||
|
||
_sys_soundcard_h=no
|
||
$_cc -o $TMPO $TMPC 2> /dev/null && _sys_soundcard_h=yes
|
||
|
||
|
||
cat > $TMPC << EOF
|
||
#include <sys/soundcard.h>
|
||
int main( void ) { int arg = SNDCTL_DSP_SETFRAGMENT; }
|
||
EOF
|
||
|
||
_oss_audio=no
|
||
$_cc -o $TMPO $TMPC 2> /dev/null && _oss_audio=yes
|
||
|
||
|
||
cat > $TMPC << EOF
|
||
#include <sys/types.h>
|
||
#include <sys/audioio.h>
|
||
int main( void ) { audio_info_t info; AUDIO_INITINFO(&info); }
|
||
EOF
|
||
|
||
_sun_audio=no
|
||
$_cc -o $TMPO $TMPC 2> /dev/null && _sun_audio=yes
|
||
|
||
|
||
# ---
|
||
|
||
cat > $TMPC << EOF
|
||
#include <sys/asoundlib.h>
|
||
#include <sys/soundcard.h>
|
||
int main( void ) { if(SND_LIB_MAJOR==0&&SND_LIB_MINOR==5)return 0; return 1; }
|
||
EOF
|
||
|
||
_alsaver='not found'
|
||
$_cc -o $TMPO -lasound $TMPC 2> /dev/null || _alsa=no
|
||
[ $_alsa = 'yes' ] && $TMPO && { _alsaver='0.5.x'; }
|
||
|
||
if [ "$_alsaver" = 'not found' ]; then
|
||
cat > $TMPC << EOF
|
||
#include <sys/asoundlib.h>
|
||
#include <sys/soundcard.h>
|
||
int main( void ) { if(SND_LIB_MAJOR==0&&SND_LIB_MINOR==9)return 0; return 1; }
|
||
EOF
|
||
|
||
_alsaver='not found'
|
||
$_cc -o $TMPO -lasound $TMPC 2> /dev/null || _alsa=no
|
||
[ $_alsa = 'yes' ] && $TMPO && { _alsaver='0.9.x'; }
|
||
fi
|
||
|
||
# ---
|
||
|
||
cat > $TMPC << EOF
|
||
#include <esd.h>
|
||
int main( void ){ return 0; }
|
||
EOF
|
||
|
||
$_cc -o $TMPO -lesd $TMPC 2> /dev/null || { _esd=no; }
|
||
|
||
# ---
|
||
|
||
# check for the parameters.
|
||
|
||
_prefix="/usr/local"
|
||
|
||
for ac_option
|
||
do
|
||
case "$ac_option" in
|
||
--enable-profile)
|
||
_profile='-p'
|
||
;;
|
||
--enable-debug)
|
||
_debug='-g'
|
||
;;
|
||
--enable-debug=*)
|
||
_debug=`echo -n '-g'; echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
--enable-css)
|
||
_css=yes
|
||
;;
|
||
--enable-png)
|
||
_png=yes
|
||
;;
|
||
--enable-sse)
|
||
_sse=yes
|
||
;;
|
||
--enable-3dnow)
|
||
_3dnow=yes
|
||
;;
|
||
--enable-3dnowex)
|
||
_3dnow=yes
|
||
_3dnowex=yes
|
||
;;
|
||
--enable-mmx)
|
||
_mmx=yes
|
||
;;
|
||
--enable-mmx2)
|
||
_mmx2=yes
|
||
;;
|
||
--enable-mtrr)
|
||
_mtrr=yes
|
||
;;
|
||
--enable-gl)
|
||
_gl=yes
|
||
;;
|
||
--enable-sdl)
|
||
_sdl=yes
|
||
;;
|
||
--enable-mga)
|
||
_mga=yes
|
||
;;
|
||
--enable-xmga)
|
||
_xmga=yes
|
||
;;
|
||
--enable-svga)
|
||
_svga=yes
|
||
;;
|
||
--enable-dga)
|
||
_dga=yes
|
||
;;
|
||
--enable-dga2)
|
||
_dga2=yes
|
||
;;
|
||
--enable-xv)
|
||
_xv=yes
|
||
;;
|
||
--enable-vm)
|
||
_vm=yes
|
||
;;
|
||
--enable-3dfx)
|
||
_3dfx=yes
|
||
;;
|
||
--enable-syncfb)
|
||
_syncfb=yes
|
||
;;
|
||
--enable-fbdev)
|
||
_fbdev=yes
|
||
;;
|
||
--enable-mlib)
|
||
_mlib=yes
|
||
;;
|
||
--enable-termcap)
|
||
_termcap=yes
|
||
;;
|
||
--enable-xmmp)
|
||
_xmmp=yes
|
||
;;
|
||
--enable-ossaudio)
|
||
_oss_audio=yes
|
||
;;
|
||
--enable-sunaudio)
|
||
_sun_audio=yes
|
||
;;
|
||
--enable-lirc)
|
||
_lirc=yes
|
||
;;
|
||
--enable-select)
|
||
_select='#define HAVE_AUDIO_SELECT'
|
||
;;
|
||
--enable-gui)
|
||
_gui=yes
|
||
;;
|
||
--enable-streaming)
|
||
_streaming=yes
|
||
;;
|
||
--disable-css)
|
||
_css=no
|
||
;;
|
||
--disable-png)
|
||
_png=no
|
||
;;
|
||
--disable-sse)
|
||
_sse=no
|
||
;;
|
||
--disable-3dnow)
|
||
_3dnow=no
|
||
_3dnowex=no
|
||
;;
|
||
--disable-3dnowex)
|
||
_3dnowex=no
|
||
;;
|
||
--disable-mmx)
|
||
_mmx=no
|
||
_mmx2=no
|
||
;;
|
||
--disable-mmx2)
|
||
_mmx2=no
|
||
;;
|
||
--disable-mtrr)
|
||
_mtrr=no
|
||
;;
|
||
--disable-gl)
|
||
_gl=no
|
||
;;
|
||
--disable-sdl)
|
||
_sdl=no
|
||
;;
|
||
--disable-mga)
|
||
_mga=no
|
||
;;
|
||
--disable-xmga)
|
||
_xmga=no
|
||
;;
|
||
--disable-xv)
|
||
_xv=no
|
||
;;
|
||
--disable-vm)
|
||
_vm=no
|
||
;;
|
||
--disable-mlib)
|
||
_mlib=no
|
||
;;
|
||
--disable-svga)
|
||
_svga=no
|
||
;;
|
||
--disable-dga)
|
||
_dga=no
|
||
;;
|
||
--disable-dga2)
|
||
_dga2=no
|
||
;;
|
||
--disable-fbdev)
|
||
_fbdev=no
|
||
;;
|
||
--disable-termcap)
|
||
_termcap=no
|
||
;;
|
||
--disable-select)
|
||
_select='#undef HAVE_AUDIO_SELECT'
|
||
;;
|
||
--disable-dshow)
|
||
_dshow=no
|
||
;;
|
||
--disable-fastmemcpy)
|
||
_fastmemcpy=no
|
||
;;
|
||
--disable-gui)
|
||
_gui=no
|
||
;;
|
||
--disable-alsa)
|
||
_alsaver='notfound'
|
||
_alsa=no
|
||
;;
|
||
--disable-esd)
|
||
_esd=no
|
||
;;
|
||
--disable-ossaudio)
|
||
_oss_audio=no
|
||
;;
|
||
--disable-sunaudio)
|
||
_sun_audio=no
|
||
;;
|
||
--with-win32libdir=*)
|
||
_win32libdir=`echo $ac_option | cut -d '=' -f 2`
|
||
_win32libdirnotify=no
|
||
;;
|
||
--with-csslibdir=*)
|
||
_csslibdir=`echo $ac_option | cut -d '=' -f 2`
|
||
_css='yes';
|
||
;;
|
||
--with-cssincdir=*)
|
||
_cssincdir=`echo $ac_option | cut -d '=' -f 2`
|
||
_css='yes';
|
||
;;
|
||
--size-x=*)
|
||
_x=`echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
--size-y=*)
|
||
_y=`echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
--with-x11libdir=*)
|
||
;;
|
||
--prefix=*)
|
||
_prefix=`echo $ac_option | cut -d '=' -f 2`
|
||
;;
|
||
--cc=*)
|
||
;;
|
||
--as=*)
|
||
;;
|
||
esac
|
||
done
|
||
|
||
# Checking assembler (_as) compatibility...
|
||
as_version=`$_as --version 2>&1 | sed -n 's/^.*assembler \([0-9.]*\).*$/\1/p'`
|
||
echo $_echo_n "Checking assembler (as) ... $as_version, $_echo_c"
|
||
_pref_as_version='2.9.1'
|
||
### this test disabled, see _binutils test above! --A'rpi
|
||
# cat > astest.S <<EOF
|
||
# filds -2(%ebp)
|
||
# EOF
|
||
# $_as astest.S -o astest.o > /dev/null 2>&1 || as_verc_fail=yes
|
||
|
||
cat > $TMPS <<EOF
|
||
nop
|
||
EOF
|
||
|
||
if [ $_mmx = 'yes' ]; then
|
||
cat >> $TMPS <<EOF
|
||
emms
|
||
EOF
|
||
fi
|
||
|
||
if [ $_3dnow = 'yes' ]; then
|
||
_pref_as_version='2.10.1'
|
||
cat >> $TMPS <<EOF
|
||
femms
|
||
EOF
|
||
fi
|
||
|
||
if [ $_3dnowex = 'yes' ]; then
|
||
_pref_as_version='2.10.1'
|
||
cat >> $TMPS <<EOF
|
||
pswapd %mm0, %mm0
|
||
EOF
|
||
fi
|
||
|
||
if [ $_mmx2 = 'yes' ]; then
|
||
_pref_as_version='2.10.1'
|
||
cat >> $TMPS <<EOF
|
||
movntq %mm0, (%eax)
|
||
EOF
|
||
fi
|
||
|
||
if [ $_sse = 'yes' ]; then
|
||
_pref_as_version='2.10.1'
|
||
cat >> $TMPS <<EOF
|
||
xorps %xmm0, %xmm0
|
||
EOF
|
||
fi
|
||
# Note: for SSE2 assembler v2.11 should be preferred --Nick
|
||
#if [ $_sse2 = 'yes' ]; then
|
||
#_pref_as_version='2.11'
|
||
#cat >> $TMPS <<EOF
|
||
#xorpd %xmm0, %xmm0
|
||
#EOF
|
||
#fi
|
||
$_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
|
||
rm -f $TMPS $TMPO $TMPC
|
||
|
||
if test "$as_verc_fail" != "yes"; then
|
||
echo "ok"
|
||
else
|
||
echo "failed"
|
||
echo "Please upgrade(downgrade) binutils to "$_pref_as_version"..."
|
||
if [ $_skip_as_check = 'no' ]; then
|
||
exit
|
||
else
|
||
echo "YOU'VE SELECTED '--disable-as-checking'. PLEASE DON'T SEND US ANY BUGREPORTS!"
|
||
fi
|
||
fi
|
||
|
||
# Checking kernel version...
|
||
_k_verc_problem=no
|
||
system_name=`uname -s 2>&1`
|
||
kernel_version=`uname -r 2>&1`
|
||
echo $_echo_n "Checking $system_name kernel version ... $_echo_c"
|
||
case $kernel_version in
|
||
'') kernel_version="?.??"; _k_verc_fail=yes;;
|
||
[0-1].[0-99].[0-99]|2.[0-3].[0-99])
|
||
_k_verc_problem=yes;;
|
||
esac
|
||
if [ $_k_verc_problem = 'yes' ] && [ $_sse = 'yes' ]; then
|
||
_k_verc_fail=yes
|
||
fi
|
||
if [ ! -z "$_k_verc_fail" ]; then
|
||
echo "$kernel_version, fail"
|
||
echo "WARNING! You want to run mplayer on this system then be prepared for problems"
|
||
else
|
||
echo "$kernel_version, ok"
|
||
fi
|
||
|
||
if [ $_x11 = 'yes' ]; then
|
||
if [ $_mga = 'yes' ]; then
|
||
_xmga=yes
|
||
fi
|
||
fi
|
||
|
||
# to screen.
|
||
echo "Install prefix: $_prefix"
|
||
echo "Checking for cpu vendor ... $pvendor ( $pfamily:$pmodel:$pstepping )"
|
||
echo "Checking for cpu type ... $pname"
|
||
echo "Optimizing to ... $proc"
|
||
echo "Checking for mmx support ... $_mmx"
|
||
echo "Checking for mmx2 support ... $_mmx2"
|
||
echo "Checking for 3dnow support ... $_3dnow"
|
||
echo "Checking for 3dnowex support ... $_3dnowex"
|
||
echo "Checking for sse support ... $_sse"
|
||
echo "Checking for mtrr support ... $_mtrr"
|
||
echo "Screen size ... ${_x}x${_y}"
|
||
echo "Checking for X11 libs ... $_x11libdir"
|
||
echo "Checking mga_vid device ... $_mga"
|
||
echo "Checking for xmga ... $_xmga"
|
||
echo "Checking for SDL ... $_sdl"
|
||
echo "Checking for OpenGL ... $_gl"
|
||
echo "Checking for Xv ... $_xv"
|
||
echo "Checking for X11 ... $_x11"
|
||
echo "Checking for DGA ... $_dga"
|
||
echo "Checking for DGA 2.0 .. $_dga2"
|
||
echo "Checking for Xf86VM ... $_vm"
|
||
echo "Checking for SVGAlib ... $_svga"
|
||
echo "Checking for FBDev ... $_fbdev"
|
||
echo "Checking for OSS Audio ... $_oss_audio"
|
||
echo "Checking for ALSA Audio ... $_alsaver"
|
||
echo "Checking for ESD Audio ... $_esd"
|
||
echo "Checking for Sun Audio ... $_sun_audio"
|
||
echo "Checking for DeCSS support ... $_css"
|
||
echo "Checking for PNG support ... $_png"
|
||
echo "Checking for DirectShow ... $_dshow"
|
||
echo "Checking for fastmemcpy ... $_fastmemcpy"
|
||
# write conf files.
|
||
|
||
_streamingdef='#undef STREAMING'
|
||
if [ $_streaming = yes ]; then
|
||
_streamingsrcs='asf_streaming.c network.c url.c http.c'
|
||
_streamingdef='#define STREAMING'
|
||
fi
|
||
|
||
if [ $_gl = yes ]; then
|
||
_gllib='-lGL'
|
||
fi
|
||
|
||
if [ $_css = yes ]; then
|
||
if [ ! -z "$_csslibdir" ]; then
|
||
_csslib="-L${_csslibdir} -lcss"
|
||
else
|
||
_csslib='-lcss'
|
||
fi
|
||
_css='#define HAVE_LIBCSS'
|
||
if [ ! -z "$_cssincdir" ]; then
|
||
_cssinc="-I${_cssincdir}"
|
||
else
|
||
_cssinc=""
|
||
fi
|
||
else
|
||
_css='#undef HAVE_LIBCSS'
|
||
_csslib=''
|
||
_cssinc=''
|
||
fi
|
||
|
||
if [ $_dshow = yes ]; then
|
||
_dshowlib='-Lloader/DirectShow -lDS_Filter -lstdc++'
|
||
_dshowdep='loader/DirectShow/libDS_Filter.a'
|
||
_dshow='#define USE_DIRECTSHOW'
|
||
else
|
||
_dshowlib=''
|
||
_dshowdep=''
|
||
_dshow='#undef USE_DIRECTSHOW'
|
||
fi
|
||
|
||
if [ $_fastmemcpy = yes ]; then
|
||
_fastmemcpy='#define USE_FASTMEMCPY'
|
||
else
|
||
_fastmemcpy='#undef USE_FASTMEMCPY'
|
||
fi
|
||
|
||
if [ $_x11 = yes ]; then
|
||
if [ $_xdpms = yes ]; then
|
||
_x11lib='-lX11 -lXext -lXdpms'
|
||
else
|
||
_x11lib='-lX11 -lXext'
|
||
fi
|
||
fi
|
||
|
||
if [ $_xv = yes ]; then
|
||
_xvlib='-lXv'
|
||
fi
|
||
|
||
if [ $_sdl = yes ]; then
|
||
_sdllib=`$_sdlconfig --libs`
|
||
_sdlcflags=`$_sdlconfig --cflags`
|
||
fi
|
||
|
||
if [ $_dga = yes ]; then
|
||
_dgalib='-lXxf86dga'
|
||
fi
|
||
|
||
if [ $_svga = yes ]; then
|
||
_svgalib='-lvgagl -lvga'
|
||
fi
|
||
|
||
if [ $_vm = yes ]; then
|
||
_vmlib='-lXxf86vm'
|
||
fi
|
||
|
||
if [ "$_termcap" = "yes" ]; then
|
||
_termcap='#define USE_TERMCAP'
|
||
_libtermcap='-ltermcap'
|
||
else
|
||
_termcap='#undef USE_TERMCAP'
|
||
_libtermcap=''
|
||
fi
|
||
|
||
if [ "$_xmmp" = "yes" ]; then
|
||
_xmmpaudio='#define USE_XMMP_AUDIO'
|
||
_xmmplibs='-Llibxmm -lxmm'
|
||
else
|
||
_xmmpaudio='#undef USE_XMMP_AUDIO'
|
||
fi
|
||
|
||
if [ "$_lirc" = "yes" ]; then
|
||
_lircdefs='#define HAVE_LIRC'
|
||
_lirclibs='-llirc_client'
|
||
else
|
||
_lircdefs='#undef HAVE_LIRC'
|
||
_lirclibs=''
|
||
fi
|
||
|
||
if [ $_png = yes ]; then
|
||
_libpng='-lpng -lz'
|
||
fi
|
||
|
||
_aosrc=''
|
||
|
||
_alsa5='#undef HAVE_ALSA5'
|
||
_alsa9='#undef HAVE_ALSA9'
|
||
if [ $_alsa = 'yes' ]; then
|
||
[ $_alsaver = '0.5.x' ] && { _aosrc="$_aosrc ao_alsa5.c"; _alsa5='#define HAVE_ALSA5'; _alsalib='-lasound'; }
|
||
# [ $_alsaver = '0.9.x' ] && { _aosrc="$_aosrc ao_alsa9.c"; _alsa9='#define HAVE_ALSA9'; _alsalib='-lasound'; }
|
||
fi
|
||
|
||
_esdd='#undef HAVE_ESD'
|
||
#if [ $_esd = 'yes' ]; then
|
||
# _esdd='#define HAVE_ESD'
|
||
# _aosrc="$_aosrc ao_esd.c"
|
||
# _esdlib='-lesd'
|
||
#fi
|
||
|
||
if [ "$_oss_audio" = "yes" ]; then
|
||
_ossaudio='#define USE_OSS_AUDIO'
|
||
_aosrc="$_aosrc ao_oss.c"
|
||
else
|
||
_ossaudio='#undef USE_OSS_AUDIO'
|
||
fi
|
||
|
||
if [ "$_sun_audio" = "yes" ]; then
|
||
_sunaudio='#define USE_SUN_AUDIO'
|
||
_aosrc="$_aosrc ao_sun.c"
|
||
else
|
||
_sunaudio='#undef USE_SUN_AUDIO'
|
||
fi
|
||
|
||
if [ "$_sys_soundcard_h" = "yes" ]; then
|
||
_have_soundcard_h='#define HAVE_SYS_SOUNDCARD_H 1'
|
||
else
|
||
_have_soundcard_h='#undef HAVE_SYS_SOUNDCARD_H'
|
||
fi
|
||
|
||
|
||
# Checking for CFLAGS
|
||
if [ "$_profile" != "" ] || [ "$_debug" != "" ]; then
|
||
CFLAGS="-W -Wall -O2 -march=$proc -mcpu=$proc $_debug $_profile"
|
||
else
|
||
if test -z "$CFLAGS"; then
|
||
CFLAGS="-O4 -march=$proc -mcpu=$proc -pipe -ffast-math -fomit-frame-pointer"
|
||
fi
|
||
fi
|
||
echo
|
||
echo "Creating $MCONF"
|
||
cat > $MCONF << EOF
|
||
|
||
# -------- Generated by ./configure -----------
|
||
|
||
AR=ar
|
||
CC=$_cc
|
||
X11DIR=$_x11libdir
|
||
# OPTFLAGS=-O4 $_profile $_debug -march=$proc -mcpu=$proc -pipe -fomit-frame-pointer -ffast-math
|
||
OPTFLAGS=$CFLAGS
|
||
# LIBS=-L/usr/lib -L/usr/local/lib $_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib
|
||
X_LIBS=$_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib $_vmlib $_svgalib $_libpng $_socklib
|
||
TERMCAP_LIB=$_libtermcap
|
||
XMM_LIBS = $_xmmplibs
|
||
LIRC_LIBS = $_lirclibs
|
||
CSS_LIB = $_csslib
|
||
CSS_INC = $_cssinc
|
||
SDL_LIB = $_sdllib
|
||
SDL_INC = $_sdlcflags
|
||
WIN32_PATH=-DWIN32_PATH=\"$_win32libdir\"
|
||
DS_DEP = $_dshowdep
|
||
DS_LIB = $_dshowlib
|
||
ALSA_LIB = $_alsalib
|
||
ESD_LIB = $_esdlib
|
||
prefix = $_prefix
|
||
ARCH_LIBS = -ldl -lpthread
|
||
STREAM_SRCS = $_streamingsrcs
|
||
|
||
EOF
|
||
# echo 'CFLAGS=$(OPTFLAGS) -Wall -DMPG12PLAY' >> config.mak
|
||
|
||
echo "Creating $CCONF"
|
||
|
||
if [ "$_mmx" = "yes" ]; then
|
||
_mmx='#define HAVE_MMX'
|
||
else
|
||
_mmx='#undef HAVE_MMX'
|
||
fi
|
||
|
||
if [ "$_mmx2" = "yes" ]; then
|
||
_mmx2='#define HAVE_MMX2'
|
||
else
|
||
_mmx2='#undef HAVE_MMX2'
|
||
fi
|
||
|
||
if [ $_3dnow = yes ]; then
|
||
_3dnowm='#define HAVE_3DNOW'
|
||
else
|
||
_3dnowm='#undef HAVE_3DNOW'
|
||
fi
|
||
|
||
if [ $_3dnowex = yes ]; then
|
||
_3dnowexm='#define HAVE_3DNOWEX'
|
||
else
|
||
_3dnowexm='#undef HAVE_3DNOWEX'
|
||
fi
|
||
|
||
if [ $_sse = yes ]; then
|
||
_ssem='#define HAVE_SSE'
|
||
else
|
||
_ssem='#undef HAVE_SSE'
|
||
fi
|
||
|
||
# ---
|
||
|
||
_vosrc=''
|
||
#_aosrc=''
|
||
|
||
if [ $_png = yes ]; then
|
||
_png='#define HAVE_PNG'
|
||
_vosrc=$_vosrc' vo_png.c'
|
||
else
|
||
_png='#undef HAVE_PNG'
|
||
fi
|
||
|
||
|
||
if [ $_mlib = yes ]; then
|
||
_mlib='#define HAVE_MLIB'
|
||
_vosrc=$_vosrc' yuv2rgb_mlib.c'
|
||
else
|
||
_mlib='#undef HAVE_MLIB'
|
||
fi
|
||
|
||
# ---
|
||
|
||
if [ $_gl = yes ]; then
|
||
_gl='#define HAVE_GL'
|
||
_vosrc=$_vosrc' vo_gl.c'
|
||
else
|
||
_gl='#undef HAVE_GL'
|
||
fi
|
||
|
||
if [ $_sdl = yes ]; then
|
||
_sdldef='#define HAVE_SDL'
|
||
_vosrc=$_vosrc' vo_sdl.c'
|
||
_aosrc=$_aosrc' ao_sdl.c'
|
||
else
|
||
_sdldef='#undef HAVE_SDL'
|
||
fi
|
||
|
||
if [ $_x11 = yes ]; then
|
||
_x11='#define HAVE_X11'
|
||
_vosrc=$_vosrc' vo_x11.c'
|
||
else
|
||
_x11='#undef HAVE_X11'
|
||
fi
|
||
|
||
if [ $_xv = yes ]; then
|
||
_xv='#define HAVE_XV'
|
||
_vosrc=$_vosrc' vo_xv.c'
|
||
else
|
||
_xv='#undef HAVE_XV'
|
||
fi
|
||
|
||
if [ $_vm = yes ]; then
|
||
_vm='#define HAVE_XF86VM'
|
||
else
|
||
_vm='#undef HAVE_XF86VM'
|
||
fi
|
||
|
||
# ---
|
||
|
||
if [ $_mga = yes ]; then
|
||
_mga='#define HAVE_MGA'
|
||
_vosrc=$_vosrc' vo_mga.c'
|
||
else
|
||
_mga='#undef HAVE_MGA'
|
||
fi
|
||
if [ $_xmga = yes ]; then
|
||
_vosrc=$_vosrc' vo_xmga.c'
|
||
fi
|
||
|
||
if [ $_syncfb = yes ]; then
|
||
_syncfb='#define HAVE_SYNCFB'
|
||
_vosrc=$_vosrc' vo_syncfb.c'
|
||
else
|
||
_syncfb='#undef HAVE_SYNCFB'
|
||
fi
|
||
|
||
if [ $_3dfx = yes ]; then
|
||
_3dfx='#define HAVE_3DFX'
|
||
_vosrc=$_vosrc' vo_3dfx.c'
|
||
else
|
||
_3dfx='#undef HAVE_3DFX'
|
||
fi
|
||
|
||
if [ $_svga = yes ]; then
|
||
_svga='#define HAVE_SVGALIB'
|
||
_vosrc=$_vosrc' vo_svga.c'
|
||
else
|
||
_svga='#undef HAVE_SVGALIB'
|
||
fi
|
||
|
||
if [ $_dga = yes ]; then
|
||
_dga='#define HAVE_DGA'
|
||
_vosrc=$_vosrc' vo_dga.c vo_fsdga.c'
|
||
else
|
||
_dga='#undef HAVE_DGA'
|
||
fi
|
||
|
||
if [ $_dga2 = yes ]; then
|
||
_dga2='#define HAVE_DGA2'
|
||
_vosrc=$_vosrc' vo_dga.c vo_fsdga.c'
|
||
else
|
||
_dga2='#undef HAVE_DGA2'
|
||
fi
|
||
|
||
if [ $_fbdev = yes ]; then
|
||
_fbdev='#define HAVE_FBDEV'
|
||
_vosrc=$_vosrc' vo_fbdev.c'
|
||
else
|
||
_fbdev='#undef HAVE_FBDEV'
|
||
fi
|
||
|
||
if [ $_mpg123 = yes ]; then
|
||
_mpg123='#define DEFAULT_MPG123'
|
||
else
|
||
_mpg123='#undef DEFAULT_MPG123'
|
||
fi
|
||
|
||
if [ $_gui = yes ]; then
|
||
_gui='#define HAVE_GUI'
|
||
else
|
||
_gui='#undef HAVE_GUI'
|
||
fi
|
||
|
||
|
||
cat > $CCONF << EOF
|
||
|
||
/* -------- Generated by ./configure ----------- */
|
||
|
||
/* Define this to enable avg. byte/sec-based AVI sync method by default:
|
||
(use -bps or -nobps commandline option for run-time method selection) */
|
||
#undef AVI_SYNC_BPS
|
||
|
||
/* Undefine this if you want soundcard-only timing by default:
|
||
You can still change this with the -alsa or -noalsa command-line option!
|
||
(This function was originally impemented to solve ALSA driver's big
|
||
buffer problems, but it seems to be useful for every soundcard drivers) */
|
||
#define ALSA_TIMER
|
||
|
||
/* Undefine this if you don't 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
|
||
|
||
/* Undefine this if your soundcard 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! */
|
||
$_select
|
||
|
||
/* You have a choice for MP3 decoding: mp3lib(mpg123) or Win32(l3codeca.acm)
|
||
#define this if you prefer mpg123 (with 3Dnow! support) than l3codeca.acm
|
||
(with mmx/sse optimizations)
|
||
You can still change it runtime using -afm 1 (mpg123) or -afm 4 (l3codeca)*/
|
||
$_mpg123
|
||
|
||
|
||
/* XMMP support: (test code) */
|
||
$_xmmpaudio
|
||
#define LIBDIR "/usr/local/lib"
|
||
#define PLUGINDIR LIBDIR "/xmmp/Plugins"
|
||
#define XMMP_AUDIO_DRIVER PLUGINDIR "/Sound/oss.so"
|
||
|
||
/* 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! */
|
||
#ifdef USE_XMMP_AUDIO
|
||
#define OUTBURST 4096
|
||
#else
|
||
//#define OUTBURST 1024
|
||
#define OUTBURST 512
|
||
#endif
|
||
|
||
/* Define this if your system has the header file for the OSS sound interface */
|
||
$_have_soundcard_h
|
||
|
||
|
||
/* LIRC (remote control, see www.lirc.org) support: */
|
||
$_lircdefs
|
||
|
||
/* DeCSS support using libcss */
|
||
$_css
|
||
|
||
/* Define this to enable MPEG 1/2 image postprocessing (requires FAST cpu!) */
|
||
#define MPEG12_POSTPROC
|
||
|
||
/* DirectShow support */
|
||
$_dshow
|
||
|
||
/* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
|
||
$_fastmemcpy
|
||
|
||
/* gui support, please do not edit this option */
|
||
$_gui
|
||
#define PREFIX "$_prefix"
|
||
|
||
/* Audio lib drivers */
|
||
$_ossaudio
|
||
$_alsa5
|
||
$_alsa9
|
||
$_esdd
|
||
$_sunaudio
|
||
|
||
/* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
|
||
#undef FAST_OSD
|
||
#undef FAST_OSD_TABLE
|
||
|
||
/* Define if your processor stores words with the most significant
|
||
byte first (like Motorola and SPARC, unlike Intel and VAX). */
|
||
/* #define WORDS_BIGENDIAN */
|
||
|
||
#define ARCH_X86
|
||
|
||
/* Define this to any prefered value from 386 up to infinity with step 100 */
|
||
#define __CPU__ $iproc
|
||
|
||
/*----------------------------------------------------------------------------
|
||
**
|
||
** NOTE: Instead of modifying these definitions here, use the
|
||
** --enable/--disable options of the ./configure script!
|
||
** See ./configure --help for details.
|
||
**
|
||
*---------------------------------------------------------------------------*/
|
||
|
||
/* termcap flag for getch2.c */
|
||
$_termcap
|
||
|
||
$_png
|
||
|
||
$_streamingdef
|
||
|
||
/* Extension defines */
|
||
$_mlib // available only on solaris
|
||
$_3dnowm // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
|
||
$_3dnowexm // only define if you have 3DNOWEX (AMD Athlon, etc.)
|
||
$_mmx // only define if you have MMX
|
||
$_mmx2 // only define if you have MMX2
|
||
$_ssem // only define if you have SSE (Intel Pentium III or Celeron II)
|
||
|
||
/* libvo options */
|
||
#define SCREEN_SIZE_X $_x
|
||
#define SCREEN_SIZE_Y $_y
|
||
$_x11
|
||
$_xv
|
||
$_vm
|
||
$_gl
|
||
$_dga
|
||
$_dga2
|
||
$_sdldef
|
||
/* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
|
||
$_sdlbuggy
|
||
$_3dfx
|
||
$_mga
|
||
$_syncfb
|
||
$_fbdev
|
||
$_svga
|
||
|
||
#if defined(HAVE_GL)||defined(HAVE_X11)||defined(HAVE_XV)
|
||
#define X11_FULLSCREEN
|
||
#endif
|
||
|
||
EOF
|
||
|
||
echo "Creating libvo/config.mak"
|
||
|
||
_voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
|
||
|
||
cat > libvo/config.mak << EOF
|
||
|
||
include ../config.mak
|
||
|
||
OPTIONAL_SRCS=$_vosrc
|
||
OPTIONAL_OBJS=$_voobj
|
||
|
||
EOF
|
||
|
||
echo "Creating libao2/config.mak"
|
||
|
||
_aoobj=`echo $_aosrc | sed -e 's/\.c/\.o/g'`
|
||
|
||
cat > libao2/config.mak << EOF
|
||
|
||
include ../config.mak
|
||
|
||
OPTIONAL_SRCS=$_aosrc
|
||
OPTIONAL_OBJS=$_aoobj
|
||
|
||
EOF
|
||
|
||
echo "Creating libac3/config.mak"
|
||
|
||
if [ $_sse = yes ]; then
|
||
_downmixc='downmix/downmix_kni.S'
|
||
_downmixo='downmix/downmix_kni.o'
|
||
else
|
||
if [ $_3dnow = yes ]; then
|
||
_downmixc='downmix/downmix_3dnow.S'
|
||
_downmixo='downmix/downmix_3dnow.o'
|
||
else
|
||
if [ $_binutils = yes ]; then
|
||
_downmixc='downmix/downmix_i386.S'
|
||
_downmixo='downmix/downmix_i386.o'
|
||
else
|
||
_downmixc='downmix/downmix.c'
|
||
_downmixo='downmix/downmix.o'
|
||
cat << EOF
|
||
|
||
!!! Warning! fallback to slow downmix.c due the old binutils.
|
||
!!! Upgrade it for better AC3 audio decoding performance!
|
||
|
||
EOF
|
||
fi
|
||
fi
|
||
fi
|
||
cat > libac3/config.mak << EOF
|
||
|
||
include ../config.mak
|
||
|
||
OPTIONAL_SRCS = $_downmixc
|
||
OPTIONAL_OBJS = $_downmixo
|
||
|
||
EOF
|
||
|
||
echo "Creating mp3lib/config.mak"
|
||
|
||
if [ $_3dnowex = yes ]; then
|
||
_mp3libobjectsrcs='dct36_k7.s dct64_k7.s decode_k7.s dct36_3dnow.s dct64_3dnow.s decode_3dnow.s'
|
||
_mp3libobjectobjs='dct36_k7.o dct64_k7.o decode_k7.o dct36_3dnow.o dct64_3dnow.o decode_3dnow.o'
|
||
else
|
||
if [ $_3dnow = yes ]; then
|
||
_mp3libobjectsrcs='dct36_3dnow.s dct64_3dnow.s decode_3dnow.s'
|
||
_mp3libobjectobjs='dct36_3dnow.o dct64_3dnow.o decode_3dnow.o'
|
||
else
|
||
if [ $_sse = yes ]; then
|
||
_mp3libobjectsrcs='decode_sse.s'
|
||
_mp3libobjectobjs='decode_sse.o'
|
||
else
|
||
_mp3libobjectsrcs=
|
||
_mp3libobjectobjs=
|
||
fi
|
||
fi
|
||
fi
|
||
|
||
cat > mp3lib/config.mak << EOF
|
||
|
||
include ../config.mak
|
||
|
||
OPTIONAL_SRCS = $_mp3libobjectsrcs
|
||
OPTIONAL_OBJS = $_mp3libobjectobjs
|
||
|
||
EOF
|
||
|
||
cat << EOF
|
||
|
||
Config files successfully generated by ./configure !
|
||
Please check config.h and config.mak files, tune CPU
|
||
and optimization flags if you don't like these defaults.
|
||
You can compile the program with 'make dep;make' and
|
||
install with 'make install'. Good luck!
|
||
|
||
EOF
|
||
|
||
if [ $_mtrr = yes ]; then
|
||
echo "Please check mtrr settings at /proc/mtrr (see DOCS/MTRR)"
|
||
echo
|
||
fi
|
||
|
||
if [ $_sdl = outdated ]; then
|
||
echo "You have libSDL installed, but your version is outdated (earlier then"
|
||
echo "v.1.1.7), SDL support has been disabled please update, if you want to"
|
||
echo "use it (libSDL v1.1.8 and v1.2.0/1 are tested and known to work, recent"
|
||
echo "versions are available from http://www.libsdl.org/)."
|
||
echo "After updating you need to re-run ./configure and recompile to enable SDL."
|
||
echo "(If you only want to use SDLlib audio driver older versions might work, you"
|
||
echo "can use --enable-sdl to force using SDLlib)"
|
||
echo
|
||
fi
|
||
|
||
if [ $_win32libdirnotify = yes ]; then
|
||
echo "Missing WIN32 codecs dir at $_win32libdir !"
|
||
echo "Make it and copy DLL files to there! (You can get them from your windows"
|
||
echo "directory or download ftp://thot.banki.hu/esp-team/linux/MPlayer/w32codec.zip"
|
||
else
|
||
echo "Ok, Win32 codecs directory at $_win32libdir already exists."
|
||
fi
|
||
|
||
# Last move:
|
||
|
||
rm -f $TMPO $TMPC $TMPS
|