mirror of https://github.com/mpv-player/mpv
968 lines
21 KiB
Bash
Executable File
968 lines
21 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
#
|
|
# MPlayer configurator. (C) 2000 Pontscho/fresh!mindworkz
|
|
# pontscho@makacs.poliod.hu
|
|
#
|
|
# Changes in reversed order:
|
|
#
|
|
# 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 detection-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á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
|
|
#
|
|
# --
|
|
|
|
|
|
# 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]
|
|
--enable-mmx build with mmx support [autodetect]
|
|
--enable-3dnow build with 3dnow! support [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 [def.: disabled!]
|
|
--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
|
|
|
|
--with-x11libdir=DIR X library files are in DIR
|
|
--with-win32libdir=DIR windows codec files
|
|
|
|
--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"
|
|
|
|
if [ ! -z $TMPDIR ]; then
|
|
TMPC="${TMPDIR}/${TMPC}"
|
|
TMPO="${TMPDIR}/${TMPO}"
|
|
elif [ ! -z $TEMPDIR ]; then
|
|
TMPC="${TEMPDIR}/${TMPC}"
|
|
TMPO="${TEMPDIR}/${TMPO}"
|
|
else
|
|
TMPC="/tmp/${TMPC}"
|
|
TMPO="/tmp/${TMPO}"
|
|
fi
|
|
|
|
# ---
|
|
|
|
# config files
|
|
CCONF='config.h'
|
|
MCONF='config.mak'
|
|
|
|
# --- Check for C compiler:
|
|
|
|
_cc=gcc
|
|
|
|
for ac_option
|
|
do
|
|
case "$ac_option" in
|
|
--cc=*)
|
|
_cc=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# ---
|
|
|
|
TAB=`echo -n -e "\t"`
|
|
pname=`cat /proc/cpuinfo | grep 'model name' | cut -d ':' -f 2`
|
|
pparam=`cat /proc/cpuinfo | grep 'features' | cut -d ':' -f 2`
|
|
if [ -z "$pparam" ]; then
|
|
pparam=`cat /proc/cpuinfo | grep 'flags' | cut -d ':' -f 2`
|
|
fi
|
|
pvendor=`cat /proc/cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
|
pfamily=`cat /proc/cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
|
pmodel=`cat /proc/cpuinfo | grep "model$TAB" | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
|
pstepping=`cat /proc/cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2`
|
|
|
|
_mmx=no
|
|
_3dnow=no
|
|
_mtrr=no
|
|
_sse=no
|
|
_mga=no
|
|
_gl=no
|
|
_sdl=no
|
|
_xv=no
|
|
_vm=no
|
|
_x11=no
|
|
_3dfx=no
|
|
_syncfb=no
|
|
_mlib=no
|
|
_mpg123=no
|
|
_xmga=no
|
|
_dga=no
|
|
_dga2=no
|
|
_svga=no
|
|
_fbdev=no
|
|
_lirc=no
|
|
|
|
_x=1
|
|
_y=1
|
|
|
|
_gllib=
|
|
_sdllib=
|
|
_x11lib=
|
|
_xvlib=
|
|
_xlibdir=
|
|
|
|
for i in `echo $pparam`; do
|
|
|
|
case "$i" in
|
|
3dnow)
|
|
_3dnow=yes
|
|
_mpg123=yes
|
|
;;
|
|
mmx)
|
|
_mmx=yes
|
|
;;
|
|
mtrr)
|
|
_mtrr=yes
|
|
;;
|
|
k6_mtrr)
|
|
_mtrr=yes
|
|
;;
|
|
xmm)
|
|
_sse=yes
|
|
;;
|
|
sse)
|
|
_sse=yes
|
|
;;
|
|
kni)
|
|
_sse=yes
|
|
;;
|
|
esac
|
|
|
|
done
|
|
|
|
if [ -e /usr/X11R6 ]; then
|
|
_x11libdir=-L/usr/X11R6/lib
|
|
else
|
|
if [ -e /usr/X11 ]; then
|
|
_x11libdir=-L/usr/X11/lib
|
|
fi
|
|
fi
|
|
|
|
_win32libdirnotify=no
|
|
if [ -e /usr/lib/win32 ]; then
|
|
_win32libdir=/usr/lib/win32
|
|
else
|
|
if [ -e /usr/local/lib/win32 ]; then
|
|
_win32libdir=/usr/local/lib/win32
|
|
else
|
|
# This is our default:
|
|
_win32libdir=/usr/lib/win32
|
|
_win32libdirnotify=yes
|
|
fi
|
|
fi
|
|
|
|
|
|
if [ -e /dev/mga_vid ]; then
|
|
_mga=yes
|
|
_syncfb=yes
|
|
fi
|
|
|
|
proc=pentium
|
|
|
|
case "$pvendor" in
|
|
AuthenticAMD)
|
|
case "$pfamily" in
|
|
3)
|
|
proc=i386
|
|
;;
|
|
4)
|
|
proc=i486
|
|
;;
|
|
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
|
|
;;
|
|
6|7) # LGB: Though it seems Athlon CPUs returns with "6"
|
|
proc=k7
|
|
;;
|
|
*)
|
|
proc=pentium
|
|
;;
|
|
esac
|
|
;;
|
|
GenuineIntel)
|
|
case "$pfamily" in
|
|
3)
|
|
proc=i386
|
|
;;
|
|
4)
|
|
proc=i486
|
|
;;
|
|
5)
|
|
proc=pentium
|
|
;;
|
|
6)
|
|
proc=i686
|
|
;;
|
|
*)
|
|
proc=pentium
|
|
;;
|
|
esac
|
|
;;
|
|
unknown) # added by Gabucino - upon Tibcu's request
|
|
case "$pfamily" in
|
|
3)
|
|
proc=i386
|
|
;;
|
|
4)
|
|
proc=i486
|
|
;;
|
|
*)
|
|
proc=pentium
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
proc=pentium
|
|
;;
|
|
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 || proc=athlon
|
|
fi
|
|
if [ "$proc" = "athlon" ]; then
|
|
# echo -n "trying athlon "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=k6
|
|
fi
|
|
if [ "$proc" = "k6" ]; then
|
|
# echo -n "trying k6 "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=k5
|
|
fi
|
|
if [ "$proc" = "k5" ]; then
|
|
# echo -n "trying k5 "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=pentium
|
|
fi
|
|
if [ "$proc" = "i686" ]; then
|
|
# echo -n "trying i686 "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=pentiumpro
|
|
fi
|
|
if [ "$proc" = "pentiumpro" ]; then
|
|
# echo -n "trying pentiumpro "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=pentium
|
|
fi
|
|
if [ "$proc" = "pentium" ]; then
|
|
# echo -n "trying pentium "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=i486
|
|
fi
|
|
if [ "$proc" = "i486" ]; then
|
|
# echo -n "trying i486 "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=i386
|
|
fi
|
|
if [ "$proc" = "i386" ]; then
|
|
# echo -n "trying i386 "
|
|
$_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || 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
|
|
exit
|
|
fi
|
|
#echo "DONE (${proc})."
|
|
|
|
|
|
# check GL & X11 & Xext & Xv & SDL & termcap libs
|
|
|
|
$_cc $TMPC -o $TMPO $_x11libdir/ -lGL &> /dev/null && _gl=yes
|
|
$_cc $TMPC -o $TMPO $_x11libdir/ -lXxf86vm &> /dev/null && _vm=yes
|
|
$_cc $TMPC -o $TMPO -lvgagl -lvga &> /dev/null && _svga=yes
|
|
$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext &> /dev/null && _x11=yes
|
|
$_cc $TMPC -o $TMPO $_x11libdir -lXv &> /dev/null && _xv=yes
|
|
$_cc $TMPC -o $TMPO $_x11libdir -L/usr/local/lib/ -lpthread &> /dev/null || \
|
|
{ echo "Lib pthread not found."; rm -f $TMPC $TMPO ; exit 1; }
|
|
|
|
# SDL disabled by default (0.11pre22-) because of the compilation problems
|
|
# this is very buggy & experimental code, use it only if you really need it!!
|
|
_have_sdl=no
|
|
$_cc $TMPC -o $TMPO $_x11libdir -L/usr/local/lib/ -lSDL -lpthread &> /dev/null && _have_sdl=yes
|
|
|
|
_termcap=no
|
|
$_cc $TMPC -o $TMPO -ltermcap &> /dev/null && _termcap=yes
|
|
|
|
_binutils=no
|
|
as libac3/downmix/downmix_i386.S -o $TMPO &> /dev/null && _binutils=yes
|
|
|
|
# LGB: Check DGA
|
|
|
|
cat > $TMPC << EOF
|
|
#include <stdio.h>
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/xf86dga.h>
|
|
int main (void) { return 0;}
|
|
EOF
|
|
|
|
_dga=no
|
|
$_cc $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm &> /dev/null && _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 &> /dev/null && _dga2=yes
|
|
|
|
|
|
cat > $TMPC << EOF
|
|
#include <GL/gl.h>
|
|
int main( void ) { return 0; }
|
|
EOF
|
|
|
|
$_cc $TMPC -o $TMPO $_x11libdir/ -lGL &> /dev/null || \
|
|
{ _gl=no; echo "GL includes not found!";}
|
|
|
|
rm -f $TMPC $TMPO
|
|
|
|
|
|
if [ $_x11 = 'yes' ]; then
|
|
if [ $_mga = 'yes' ]; then
|
|
_xmga=yes
|
|
fi
|
|
fi
|
|
|
|
# ---
|
|
|
|
# check for the parameters.
|
|
|
|
for ac_option
|
|
do
|
|
case "$ac_option" in
|
|
--enable-sse)
|
|
_sse=yes
|
|
;;
|
|
--enable-3dnow)
|
|
_3dnow=yes
|
|
;;
|
|
--enable-mmx)
|
|
_mmx=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-x11)
|
|
_x11=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-lirc)
|
|
_lirc=yes
|
|
;;
|
|
--disable-sse)
|
|
_sse=no
|
|
;;
|
|
--disable-3dnow)
|
|
_3dnow=no
|
|
;;
|
|
--disable-mmx)
|
|
_mmx=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-x11)
|
|
_x11=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
|
|
;;
|
|
--with-x11libdir=*)
|
|
_x11libdir=-L`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--with-win32libdir=*)
|
|
_win32libdir=`echo $ac_option | cut -d '=' -f 2`
|
|
_win32libdirnotify=no
|
|
;;
|
|
--size-x=*)
|
|
_x=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--size-y=*)
|
|
_y=`echo $ac_option | cut -d '=' -f 2`
|
|
;;
|
|
--cc=*)
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# to screen.
|
|
echo "Using C compiler: $_cc"
|
|
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 3dnow support ... $_3dnow"
|
|
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"
|
|
# write conf files.
|
|
|
|
if [ $_gl = yes ]; then
|
|
_gllib='-lGL'
|
|
fi
|
|
|
|
if [ $_x11 = yes ]; then
|
|
_x11lib='-lX11 -lXext'
|
|
fi
|
|
|
|
if [ $_xv = yes ]; then
|
|
_xvlib='-lXv'
|
|
fi
|
|
|
|
if [ $_sdl = yes ]; then
|
|
_sdllib='-lSDL -lpthread'
|
|
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
|
|
|
|
|
|
echo
|
|
echo "Creating $MCONF"
|
|
cat > $MCONF << EOF
|
|
|
|
# -------- Generated by ./configure -----------
|
|
|
|
AR=ar
|
|
CC=$_cc
|
|
# OPTFLAGS=-O4 -march=$proc -mcpu=$proc -pipe -fomit-frame-pointer -ffast-math
|
|
OPTFLAGS=-O4 -march=$proc -mcpu=$proc -pipe -ffast-math
|
|
# LIBS=-L/usr/lib -L/usr/local/lib $_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib
|
|
X_LIBS=$_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib $_vmlib $_svgalib
|
|
TERMCAP_LIB=$_libtermcap
|
|
XMM_LIBS = $_xmmplibs
|
|
LIRC_LIBS = $_lirclibs
|
|
WIN32_PATH=-DWIN32_PATH=\"$_win32libdir\"
|
|
|
|
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 [ $_3dnow = yes ]; then
|
|
_3dnowm='#define HAVE_3DNOW'
|
|
else
|
|
_3dnowm='#undef HAVE_3DNOW'
|
|
fi
|
|
|
|
if [ $_sse = yes ]; then
|
|
_ssem='#define HAVE_SSE'
|
|
else
|
|
_ssem='#undef HAVE_SSE'
|
|
fi
|
|
|
|
# ---
|
|
|
|
_vosrc=''
|
|
|
|
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'
|
|
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
|
|
|
|
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 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! */
|
|
#define HAVE_AUDIO_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"
|
|
|
|
/* LIRC (remote control, see www.lirc.org) support: */
|
|
$_lircdefs
|
|
|
|
/* Define this to enable MPEG 1/2 image postprocessing (requires FAST cpu!) */
|
|
#define MPEG12_POSTPROC
|
|
|
|
/* 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
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// NOTE: Instead of modifying these here, use the --enable/--disable options
|
|
// of the ./configure script! See ./configure --help for details.
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/* termcap flag for getch2.c */
|
|
$_termcap
|
|
|
|
/* Extension defines */
|
|
$_mlib // available only on solaris
|
|
$_3dnowm // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
|
|
$_mmx // only define if you have MMX
|
|
$_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
|
|
$_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 libac3/config.mak"
|
|
|
|
if [ $_sse = yes ]; then
|
|
_downmixc='downmix/downmix_kni.S'
|
|
_downmixo='downmix/downmix_kni.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 for better audio decoding performance.
|
|
|
|
EOF
|
|
fi
|
|
fi
|
|
|
|
cat > libac3/config.mak << EOF
|
|
|
|
include ../config.mak
|
|
|
|
OPTIONAL_SRCS = $_downmixc
|
|
OPTIONAL_OBJS = $_downmixo
|
|
|
|
EOF
|
|
|
|
echo "Creating mp3lib/config.mak"
|
|
|
|
if [ $_3dnow = yes ]; then
|
|
_3dnowobjectsrcs='dct36_3dnow.s dct64_3dnow.s decode_3dnow.s'
|
|
_3dnowobjectobjs='dct36_3dnow.o dct64_3dnow.o decode_3dnow.o'
|
|
else
|
|
_3dnowobjectsrcs=
|
|
_3dnowobjectobjs=
|
|
fi
|
|
|
|
cat > mp3lib/config.mak << EOF
|
|
|
|
include ../config.mak
|
|
|
|
OPTIONAL_SRCS = $_3dnowobjectsrcs
|
|
OPTIONAL_OBJS = $_3dnowobjectobjs
|
|
|
|
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 = no ]; then
|
|
if [ $_have_sdl = yes ]; then
|
|
echo "You have libSDL installed, but SDL support is disabled by default."
|
|
echo "If you want to compile MPlayer with SDL support, re-run ./configure"
|
|
echo "with --enable-sdl. But it's very buggy & experimental code, use it"
|
|
echo "only if you really need it! And it works(?) *ONLY* with SDL v1.1.7 !"
|
|
echo "(SDL driver is NOT supported, so do NOT report bugs relating to SDL!)"
|
|
echo
|
|
fi
|
|
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
|
|
|