diff options
-rw-r--r-- | DOCS/FREEBSD | 9 | ||||
-rwxr-xr-x | configure | 95 | ||||
-rw-r--r-- | configure.FreeBSD | 1299 | ||||
-rw-r--r-- | dvdauth.c | 2 | ||||
-rw-r--r-- | mplayer.c | 11 | ||||
-rw-r--r-- | stream.c | 1 | ||||
-rw-r--r-- | vcd_read_fbsd.h | 27 |
7 files changed, 116 insertions, 1328 deletions
diff --git a/DOCS/FREEBSD b/DOCS/FREEBSD index 480ddf938e..4619c566bd 100644 --- a/DOCS/FREEBSD +++ b/DOCS/FREEBSD @@ -4,12 +4,13 @@ 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 +2. 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. +3. If mplayer complains about "CD-ROM Device '/dev/cdrom' not found!" make a +symbolic link : ln -s /dev/<your_cdrom_device> /dev/cdrom + +4. There's no DVD support for FreeBSD yet. Feel free to add them :-) Enjoy (as do I)! @@ -142,13 +142,18 @@ params: --disable-fastmemcpy disable 3dnow/sse/mmx optimized memcpy() --with-x11libdir=DIR X library files are in DIR + --with-x11incdir=DIR X headerss are in DIR + (only needed if autodetection fails) --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-config=/usr/sdl/bin/sdl-config) - + --with-extralibdir=DIR extra library files (png, SDL) are in DIR + (only needed if autodetection fails) + --with-extraincdir=DIR extra headers (png, SDL) are in DIR + (only needed if autodetection fails) --size-x=SIZE default screen width --size-y=SIZE default screen height EOF @@ -160,6 +165,15 @@ fi echo "You can get detailed help on configure with: $0 --help" echo "Please wait while ./configure discovers your software and hardware environment!" +# Determine our OS name and OS dependent libs + +system_name=`uname -s 2>&1` +if [ "$system_name" = "FreeBSD" ]; then +_archlibs="-rdynamic -pthread" +else +_archlibs="-ldl -lpthread" +fi + # LGB: temporary files TMPC="mplayer-conf-${RANDOM}-$$-${RANDOM}.c" @@ -201,9 +215,27 @@ else fi fi +_x11incdir= +if [ -d /usr/include/X11 ]; then + _x11incdir= +elif [ -d /usr/X11R6 ]; then + _x11incdir=-I/usr/X11R6/include +elif [ -d /usr/X11 ]; then + _x11incdir=-I/usr/X11/include +fi + +# Lots of stuff are installed under /usr/local + +_extralibdir=-L/usr/local/lib +_extraincdir=-I/usr/local/include + _skip_cc_check=no _skip_as_check=no +if [ "$system_name" = "FreeBSD" ]; then +_sdlconfig='sdl11-config' +else _sdlconfig='sdl-config' +fi for ac_option do @@ -223,6 +255,9 @@ do --with-x11libdir=*) _x11libdir=-L`echo $ac_option | cut -d '=' -f 2` ;; + --with-x11incdir=*) + _x11incdir=-I`echo $ac_option | cut -d '=' -f 2` + ;; --enable-x11) _x11=yes ;; @@ -232,6 +267,12 @@ do --with-sdl-config=*) _sdlconfig=`echo $ac_option | cut -d '=' -f 2` ;; + --with-extralibdir=*) + _extralibdir=-L`echo $ac_option | cut -d '=' -f 2` + ;; + --with-extraincdir=*) + _extraincdir=-I`echo $ac_option | cut -d '=' -f 2` + ;; esac done @@ -265,6 +306,10 @@ fi if [ -r /proc/cpuinfo ]; then # linux with /proc mounted, extract cpu information from it _cpuinfo="cat /proc/cpuinfo" +elif [ -r /compat/linux/proc/cpuinfo ]; then + # FreeBSD with linux emulation /proc mounted, + # extract cpu information from it + _cpuinfo="cat /compat/linux/proc/cpuinfo" else # all other OS try to extract cpu information from a small helper # program TOOLS/cpuinfo instead @@ -523,10 +568,15 @@ fi #echo "DONE (${proc})." -$_cc $TMPC -o $TMPO -lvgagl -lvga > /dev/null 2>&1 && _svga=yes +$_cc $_extraincdir $_extralibdir $TMPC -o $TMPO -lvgagl -lvga > /dev/null 2>&1 && _svga=yes +if [ "$system_name" = "FreeBSD" ]; then +$_cc $TMPC -o $TMPO -pthread > /dev/null 2>&1 || \ + { echo "Lib pthread not found."; rm -f $TMPC $TMPO $TMPS ; exit 1; } +else $_cc $TMPC -o $TMPO -lpthread > /dev/null 2>&1 || \ { echo "Lib pthread not found."; rm -f $TMPC $TMPO $TMPS ; exit 1; } +fi # Atmosfear: added SDL versioncheck and autodetect; removed warnings. _sdl=no @@ -569,7 +619,7 @@ _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 +$_cc $_extraincdir $_extralibdir $TMPC -o $TMPO -lpng -lz -lm > /dev/null 2>&1 && _png=yes _ggi=no $_cc $TMPC -o $TMPO -lggi > /dev/null 2>&1 && _ggi=yes @@ -598,14 +648,23 @@ $_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXdpms $_socklib > /dev/null 2>&1 $_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 +if [ "$system_name" = "FreeBSD" ]; then +$_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL -pthread $_socklib > /dev/null 2>&1 && _gl=yes +else $_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL $_socklib > /dev/null 2>&1 && _gl=yes +fi cat > $TMPC << EOF #include <GL/gl.h> int main( void ) { return 0; } EOF +if [ "$system_name" = "FreeBSD" ]; then +$_cc $_x11incdir $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL -pthread $_socklib > /dev/null 2>&1 || \ + { _gl=no; echo "GL includes not found!";} +else $_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL $_socklib > /dev/null 2>&1 || \ { _gl=no; echo "GL includes not found!";} +fi cat > $TMPC << EOF #include <stdio.h> @@ -614,7 +673,7 @@ cat > $TMPC << EOF 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 +$_cc -I/usr/X11R6/unclude $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 @@ -630,7 +689,7 @@ 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 +$_cc $_x11incdir $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm $_socklib > /dev/null 2>&1 && _dga2=yes fi @@ -699,7 +758,7 @@ cat > $TMPC << EOF int main( void ){ return 0; } EOF -$_cc -o $TMPO -lesd $TMPC 2> /dev/null || { _esd=no; } +$_cc $_extraincdir $_extralibdir -o $TMPO -lesd $TMPC 2> /dev/null || { _esd=no; } # --- @@ -920,6 +979,12 @@ do ;; --with-x11libdir=*) ;; + --with-x11incdir=*) + ;; + --with-extralibdir=*) + ;; + --with-extraincdir=*) + ;; --prefix=*) _prefix=`echo $ac_option | cut -d '=' -f 2` ;; @@ -1001,7 +1066,7 @@ fi # Checking kernel version... _k_verc_problem=no -system_name=`uname -s 2>&1` +if [ "$system_name" != "FreeBSD" ];then kernel_version=`uname -r 2>&1` echo $_echo_n "Checking $system_name kernel version ... $_echo_c" case $kernel_version in @@ -1018,6 +1083,7 @@ echo "WARNING! You want to run mplayer on this system then be prepared for probl else echo "$kernel_version, ok" fi +fi if [ $_x11 = 'yes' ]; then if [ $_mga = 'yes' ]; then @@ -1067,7 +1133,16 @@ if [ $_streaming = yes ]; then fi if [ $_gl = yes ]; then + if [ "$system_name" = "FreeBSD" ]; then + # Under XFree86 4.x GL port is poorly designed + if [ -r /usr/X11R6/bin/XFree86 ]; then + _gllib='-lGL -pthread' + else + _gllib='-lGL' + fi + else _gllib='-lGL' + fi fi if [ $_css = yes ]; then @@ -1219,9 +1294,9 @@ AR=ar CC=$_cc X11DIR=$_x11libdir # OPTFLAGS=-O4 $_profile $_debug -march=$proc -mcpu=$proc -pipe -fomit-frame-pointer -ffast-math -OPTFLAGS=$CFLAGS +OPTFLAGS=$CFLAGS $_x11incdir $_extraincdir # LIBS=-L/usr/lib -L/usr/local/lib $_x11libdir $_gllib $_sdllib $_ggilib $_dgalib $_x11lib $_xvlib -X_LIBS=$_x11libdir $_gllib $_sdllib $_ggilib $_dgalib $_x11lib $_xvlib $_vmlib $_svgalib $_libpng $_socklib +X_LIBS=$_x11libdir $_extralibdir $_gllib $_sdllib $_ggilib $_dgalib $_x11lib $_xvlib $_vmlib $_svgalib $_libpng $_socklib TERMCAP_LIB=$_libtermcap XMM_LIBS = $_xmmplibs LIRC_LIBS = $_lirclibs @@ -1235,7 +1310,7 @@ DS_LIB = $_dshowlib ALSA_LIB = $_alsalib ESD_LIB = $_esdlib prefix = $_prefix -ARCH_LIBS = -ldl -lpthread +ARCH_LIBS = $_archlibs STREAM_SRCS = $_streamingsrcs EOF diff --git a/configure.FreeBSD b/configure.FreeBSD deleted file mode 100644 index 0dbaf07188..0000000000 --- a/configure.FreeBSD +++ /dev/null @@ -1,1299 +0,0 @@ -#!/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='' -_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 - -/* 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 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 - -/* 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 for better 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 /compat/linux/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 - @@ -19,7 +19,7 @@ # include <dvd.h> # undef OLD_CSS_API #else -# if defined(__NetBSD__) || defined(__OpenBSD__) +# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # include <sys/dvdio.h> # elif defined(__linux__) # include <linux/cdrom.h> @@ -22,6 +22,9 @@ #if defined(sun) #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0" +#elif defined(__FreeBSD__) +#define DEFAULT_CDROM_DEVICE "/dev/cdrom" +#include <sys/cdrio.h> #else #define DEFAULT_CDROM_DEVICE "/dev/cdrom" #endif @@ -491,6 +494,9 @@ float initial_pts_delay=0; #ifdef VCD_CACHE int vcd_cache_size=128; #endif +#ifdef __FreeBSD__ +int bsize = VCD_SECTOR_SIZE; +#endif char* title="MPlayer"; // movie info: @@ -631,6 +637,11 @@ if(vcd_track){ #ifdef VCD_CACHE vcd_cache_init(vcd_cache_size); #endif +#ifdef __FreeBSD__ + if (ioctl (f, CDRIOCSETBLOCKSIZE, &bsize) == -1) { + perror ( "Error in CDRIOCSETBLOCKSIZE"); + } +#endif stream=new_stream(f,STREAMTYPE_VCD); stream->start_pos=ret; stream->end_pos=ret2; @@ -10,7 +10,6 @@ extern int verbose; // defined in mplayer.c #ifdef __FreeBSD__ -#warning "VCD support under FreeBSD not implemented yet" #include "vcd_read_fbsd.c" #else #include "vcd_read.c" diff --git a/vcd_read_fbsd.h b/vcd_read_fbsd.h index 46d6e6b59a..af8db2f50d 100644 --- a/vcd_read_fbsd.h +++ b/vcd_read_fbsd.h @@ -4,12 +4,13 @@ //=================== VideoCD ========================== #define CDROM_LEADOUT 0xAA -typedef struct { - unsigned char unused; - unsigned char minute; - unsigned char second; - unsigned char frame; -} cdrom_msf; +typedef struct { + uint8_t sync [12]; + uint8_t header [4]; + uint8_t subheader [8]; + uint8_t data [2324]; + uint8_t spare [4]; +} cdsector_t; static struct ioc_read_toc_single_entry vcd_entry; @@ -76,13 +77,14 @@ void vcd_read_toc(int fd){ } } -static char vcd_buf[VCD_SECTOR_SIZE]; +static cdsector_t vcd_buf; static int vcd_read(int fd,char *mem){ - memcpy(vcd_buf,&vcd_entry.entry.addr.msf,sizeof(cdrom_msf)); -/* if(ioctl(fd,CDROMREADRAW,vcd_buf)==-1) return 0; */ // EOF? -/* if(ioctl(fd,CDRIOCSETBLOCKSIZE,VCD_SECTOR_SIZE)==-1) return 0; - if (pread(fd,vcd_buf,VCD_SECTOR_SIZE,ntohl(vcd_entry.entry.addr.lba)*VCD_SECTOR_SIZE) != VCD_SECTOR_SIZE) return 0; */ // EOF? + off_t offset = 0; + if (pread(fd,&vcd_buf,VCD_SECTOR_SIZE,vcd_get_msf()*VCD_SECTOR_SIZE) + != VCD_SECTOR_SIZE) return 0; // EOF? + offset++; + vcd_entry.entry.addr.msf.frame++; if (vcd_entry.entry.addr.msf.frame==75){ vcd_entry.entry.addr.msf.frame=0; @@ -92,8 +94,7 @@ static int vcd_read(int fd,char *mem){ vcd_entry.entry.addr.msf.minute++; } } - - memcpy(mem,&vcd_buf[VCD_SECTOR_OFFS],VCD_SECTOR_DATA); + memcpy(mem,vcd_buf.data,VCD_SECTOR_DATA); return VCD_SECTOR_DATA; } |