summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/FREEBSD19
-rw-r--r--Makefile2
-rwxr-xr-xconfigure1
-rw-r--r--configure.FreeBSD1282
-rw-r--r--libvo/vo_sdl.c4
-rw-r--r--linux/getch2.c12
-rw-r--r--loader/dshow/Makefile2
-rw-r--r--mplayer.c9
-rw-r--r--stream.c10
-rw-r--r--vcd_read_fbsd.h141
10 files changed, 1478 insertions, 4 deletions
diff --git a/DOCS/FREEBSD b/DOCS/FREEBSD
new file mode 100644
index 0000000000..480ddf938e
--- /dev/null
+++ b/DOCS/FREEBSD
@@ -0,0 +1,19 @@
+Notes for FreeBSD users
+=======================
+
+1. To build the package you will need GNU make (gmake, /usr/ports/devel/gmake),
+native BSD make will not work.
+
+2. Configure script is different for FreeBSD; use configure.FreeBSD instead.
+
+3. To run mplayer you will need to re-compile the kernel with
+"options USER_LDT" (unless you are running -CURRENT, where this is default).
+
+4. There's no VCD (well, it is not finished) or DVD support for FreeBSD yet.
+Feel free to add them :-)
+
+Enjoy (as do I)!
+
+--
+Vladimir Kushnir
+
diff --git a/Makefile b/Makefile
index d44051190d..c3dd601944 100644
--- a/Makefile
+++ b/Makefile
@@ -64,7 +64,7 @@ mplayerwithoutlink: .depend mplayer.o $(OBJS) loader/libloader.a $(DS_DEP) libmp
@for a in mp3lib libac3 libmpeg2 libvo opendivx encore loader/DirectShow ; do $(MAKE) -C $$a all ; done
$(PRG): .depend mplayer.o $(OBJS) loader/libloader.a $(DS_DEP) libmpeg2/libmpeg2.a opendivx/libdecore.a $(COMMONLIBS) encore/libencore.a
- $(CC) $(CFLAGS) -o $(PRG) mplayer.o $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) -Lloader -lloader $(DS_LIB) -ldl -Llibmpeg2 -lmpeg2 -Lopendivx -ldecore $(VO_LIBS) -Llibao2 -lao $(CSS_LIB) -Lencore -lencore -lpthread
+ $(CC) $(CFLAGS) -o $(PRG) mplayer.o $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) -Lloader -lloader $(DS_LIB) -Llibmpeg2 -lmpeg2 -Lopendivx -ldecore $(VO_LIBS) -Llibao2 -lao $(CSS_LIB) -Lencore -lencore $(ARCH_LIBS)
# $(PRG_HQ): .depend mplayerHQ.o $(OBJS) loader/libloader.a libmpeg2/libmpeg2.a opendivx/libdecore.a $(COMMONLIBS) encore/libencore.a
# $(CC) $(CFLAGS) -o $(PRG_HQ) mplayerHQ.o $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) -Lloader -lloader -ldl -Llibmpeg2 -lmpeg2 -Lopendivx -ldecore $(VO_LIBS) -Lencore -lencore -lpthread
diff --git a/configure b/configure
index 8dad7ebe38..ba5ad948dc 100755
--- a/configure
+++ b/configure
@@ -894,6 +894,7 @@ WIN32_PATH=-DWIN32_PATH=\"$_win32libdir\"
DS_DEP = $_dshowdep
DS_LIB = $_dshowlib
prefix = $_prefix
+ARCH_LIBS = -ldl -lpthread
EOF
# echo 'CFLAGS=$(OPTFLAGS) -Wall -DMPG12PLAY' >> config.mak
diff --git a/configure.FreeBSD b/configure.FreeBSD
new file mode 100644
index 0000000000..807270dc03
--- /dev/null
+++ b/configure.FreeBSD
@@ -0,0 +1,1282 @@
+#!/bin/sh
+
+#
+# MPlayer configurator. (C) 2000 Pontscho/fresh!mindworkz
+# pontscho@makacs.poliod.hu
+#
+# Changes in reversed order:
+#
+# 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á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]
+ --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-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)
+
+ --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
+_x11=auto
+
+_x11libdir=
+if [ -e /usr/X11R6 ]; then
+ _x11libdir=-L/usr/X11R6/lib
+else
+ if [ -e /usr/X11 ]; then
+ _x11libdir=-L/usr/X11/lib
+ fi
+fi
+
+for ac_option
+do
+ case "$ac_option" in
+ --cc=*)
+ _cc=`echo $ac_option | cut -d '=' -f 2`
+ ;;
+ --with-x11libdir=*)
+ _x11libdir=-L`echo $ac_option | cut -d '=' -f 2`
+ ;;
+ --enable-x11)
+ _x11=yes
+ ;;
+ --disable-x11)
+ _x11=no
+ ;;
+ esac
+done
+
+# ---
+
+pname=`sysctl -n hw.model`
+pparam=`cat /var/run/dmesg.boot | grep Features | cut -d '<' -f 2 | cut -d '>' -f 1 | sed 's/,/ /g'`
+pvendor=`cat /var/run/dmesg.boot | grep Origin | cut -d '"' -f 2 | cut -d '"' -f 1`
+pfamily=`cat /var/run/dmesg.boot | grep Origin | cut -d '0x' -f 2 | cut -c 2`
+pmodel=`cat /var/run/dmesg.boot | grep Origin | cut -d '0x' -f 2 | cut -c 3`
+pstepping=`cat /var/run/dmesg.boot | grep Stepping | cut -d 'Stepping' -f 2 | cut -c 11`
+
+_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
+_lirc=no
+_css=no
+_dshow=yes
+_fastmemcpy=yes
+
+_x=1
+_y=1
+
+_gllib=
+_sdllib=
+_xvlib=
+_x11lib=
+
+_select='#define HAVE_AUDIO_SELECT'
+
+_gui=no;
+
+for i in `echo $pparam`; do
+
+ case "$i" in
+ 3DNow!)
+ _3dnow=yes
+ _mpg123=yes
+ ;;
+ DSP)
+ _3dnow=yes
+ _3dnowex=yes
+ _mpg123=yes
+ ;;
+ MMX)
+ _mmx=yes
+ ;;
+ MTRR)
+ _mtrr=yes
+ ;;
+ SSE)
+ _sse=yes
+ _mmx2=yes
+ ;;
+ SSE2)
+ _sse=yes
+ _mmx2=yes
+ ;;
+ esac
+
+done
+
+
+_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
+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 || 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})."
+
+
+$_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -lvgagl -lvga > /dev/null && _svga=yes
+
+$_cc $TMPC -o $TMPO -pthread > /dev/null || \
+ { echo "Lib pthread not found."; rm -f $TMPC $TMPO ; exit 1; }
+
+# Atmosfear: added SDL versioncheck and autodetect; removed warnings.
+_sdl=no
+if $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -L/usr/lib/ -L/usr/local/lib/ -lSDL-1.1 -pthread > /dev/null ; then
+ if test `sdl11-config --version | sed s/[=[:punct:]=]//g` -gt 116 ; then
+ if test `sdl11-config --version | sed s/[=[:punct:]=]//g` -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 -e "/usr/local/lib/libcss.so" ; then
+ _csslibdir="/usr/local/lib/"
+ if test -e "/usr/local/include/css.h" ; then
+ _cssincdir="/usr/local/include"
+ _css=yes
+ fi
+else
+ if test -e "/usr/lib/libcss.so" ; then
+ _csslibdir="/usr/lib/"
+ if test -e "/usr/include/css.h" ; then
+ _cssincdir="/usr/include/"
+ _css=yes
+ fi
+ fi
+fi
+
+_termcap=no
+$_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -ltermcap > /dev/null && _termcap=yes
+
+_png=no
+$_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -lpng -lz> /dev/null && _png=yes
+
+_binutils=no
+as libac3/downmix/downmix_i386.S -o $TMPO > /dev/null && _binutils=yes
+
+# ----------- Check X11 and related libs (GL, Xxf86vm, Xv, DGA) --------------
+
+if [ $_x11 = auto ]; then
+ _x11=no
+ $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext > /dev/null && _x11=yes
+fi
+
+if [ $_x11 = yes ]; then
+
+$_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXdpms > /dev/null && _xdpms=yes
+$_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXv > /dev/null && _xv=yes
+$_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXxf86vm > /dev/null && _vm=yes
+
+if $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL > /dev/null; then
+_gl=yes
+elif $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL -pthread > /dev/null; then
+_gl=yes
+fi
+
+cat > $TMPC << EOF
+#include <GL/gl.h>
+int main( void ) { return 0; }
+EOF
+
+if $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL > /dev/null; then
+elif $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL -pthread > /dev/null;then
+else
+_gl=no; echo "GL includes not found!"
+fi
+
+cat > $TMPC << EOF
+#include <stdio.h>
+#include <X11/Xlib.h>
+#include <X11/extensions/xf86dga.h>
+int main (void) { return 0;}
+EOF
+
+$_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $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 -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm > /dev/null && _dga2=yes
+
+fi
+
+rm -f $TMPC $TMPO
+
+# ---
+
+# 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-lirc)
+ _lirc=yes
+ ;;
+ --enable-select)
+ _select='#define HAVE_AUDIO_SELECT'
+ ;;
+ --enable-gui)
+ _gui=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
+ ;;
+ --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=*)
+ ;;
+ esac
+done
+
+if [ $_x11 = 'yes' ]; then
+ if [ $_mga = 'yes' ]; then
+ _xmga=yes
+ fi
+fi
+
+# to screen.
+echo -n "Kernel: "
+uname -a
+echo "Using C compiler: $_cc"
+echo "Install prefix: $_prefix"
+$_cc -v
+as --version | head -n 1
+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 DeCSS support ... $_css"
+echo "Checking for PNG support ... $_png"
+echo "Checking for DirectShow ... $_dshow"
+echo "Checking for fastmemcpy ... $_fastmemcpy"
+# write conf files.
+
+if [ $_gl = yes ]; then
+ if [ -f /usr/X11R6/bin/XFree86 ]; then
+ _gllib='-lGL -pthread'
+ else
+ _gllib='-lGL'
+ fi
+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='-L/usr/local/lib -lSDL-1.1 -pthread'
+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='-L/usr/local/lib -lpng -lz'
+fi
+
+# Checking for CFLAGS
+if [ "$_profile" != "" ] || [ "$_debug" != "" ]; then
+ CFLAGS="-O2 -D_THREAD_SAFE -march=$proc -mcpu=$proc $_debug $_profile"
+else
+if test -z "$CFLAGS"; then
+ CFLAGS="-O4 -D_THREAD_SAFE -march=$proc -mcpu=$proc -pipe -ffast-math -fomit-frame-pointer"
+fi
+fi
+echo
+echo "Creating $MCONF"
+cat > $MCONF << EOF
+
+# -------- Generated by ./configure -----------
+
+ARCH=FREEBSD
+AR=ar
+CC=$_cc
+X11DIR=$_x11libdir
+# OPTFLAGS=-O4 -D_THREAD_SAFE $_profile $_debug -march=$proc -mcpu=$proc -pipe -fomit-frame-pointer -ffast-math
+OPTFLAGS=$CFLAGS -I/usr/local/include -I/usr/X11R6/include
+# 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
+TERMCAP_LIB=$_libtermcap
+XMM_LIBS = $_xmmplibs
+LIRC_LIBS = $_lirclibs
+CSS_LIB = $_csslib
+CSS_INC = $_cssinc
+WIN32_PATH=-DWIN32_PATH=\"$_win32libdir\"
+DS_DEP = $_dshowdep
+DS_LIB = $_dshowlib
+prefix = $_prefix
+ARCH_LIBS = -rdynamic -pthread
+
+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=''
+
+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'
+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
+
+/* 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]*/