diff -ru ffmpeg-orig/configure ffmpeg/configure --- ffmpeg-orig/configure 2005-02-28 01:05:48.000000000 +0100 +++ ffmpeg/configure 2005-03-01 21:39:22.000000000 +0100 @@ -212,7 +212,7 @@ 2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc" mmx="no" ;; -*20010315*) echo "BeBits gcc" +*20010315*|2.95.3*) echo "BeBits gcc" CFLAGS="$CFLAGS -fno-expensive-optimizations" ;; esac @@ -387,7 +387,7 @@ ;; --extra-ldflags=*) LDFLAGS="$LDFLAGS ${opt#--extra-ldflags=}" ;; - --extra-libs=*) extralibs=${opt#--extra-libs=} + --extra-libs=*) extralibs="$extralibs ${opt#--extra-libs=}" ;; --cpu=*) cpu=`echo $opt | cut -d '=' -f 2` ;; @@ -740,6 +740,18 @@ ranlib="${cross_prefix}${ranlib}" strip="${cross_prefix}${strip}" +if test "${cross_prefix}" = "i586-pc-beos-"; then + # Cross-compiling from Linux for BeOS + CFLAGS="$CFLAGS -DPIC -fomit-frame-pointer -fno-expensive-optimizations" + SHFLAGS=-nostart + audio_oss="no" + v4l="no" + dv1394="no" + netserver="yes" + need_inet_aton="yes" + extralibs="-lnet" +fi + if test -z "$cross_prefix" ; then # --- @@ -858,6 +870,9 @@ EOF have_lrintf="no" +# BeOS doesn't have lrintf, make sure it is not enabled when +# cross-compiling +if test "${cross_prefix}" != "i586-pc-beos-"; then if $cc $extralibs -o $TMPE $TMPC 2> /dev/null ; then have_lrintf="yes" # allanc@chickenandporn.com: cannot execute cross-compiled @@ -866,6 +881,7 @@ $TMPE 2> /dev/null > /dev/null || have_lrintf="no" fi fi +fi _restrict= for restrict_keyword in restrict __restrict__ __restrict; do diff -ru ffmpeg-orig/libavcodec/eval.c ffmpeg/libavcodec/eval.c --- ffmpeg-orig/libavcodec/eval.c 2005-01-17 19:25:32.000000000 +0100 +++ ffmpeg/libavcodec/eval.c 2005-03-01 00:27:04.000000000 +0100 @@ -34,6 +34,8 @@ #include #include +/* Meuuh power */ +#undef NAN #ifndef NAN #define NAN 0 #endif diff -ru ffmpeg-orig/libavformat/tcp.c ffmpeg/libavformat/tcp.c --- ffmpeg-orig/libavformat/tcp.c 2005-02-24 20:08:50.000000000 +0100 +++ ffmpeg/libavformat/tcp.c 2005-03-01 00:27:04.000000000 +0100 @@ -32,6 +32,7 @@ #include #include #include +#define socklen_t int typedef struct TCPContext { int fd; @@ -112,11 +113,13 @@ break; } +#ifndef __BEOS__ /* test error */ optlen = sizeof(ret); getsockopt (fd, SOL_SOCKET, SO_ERROR, &ret, &optlen); if (ret != 0) goto fail; +#endif } s->fd = fd; return 0;