]> git.sesse.net Git - mlt/blobdiff - src/modules/avformat/configure
src/framework/mlt_frame.c
[mlt] / src / modules / avformat / configure
index f3dd31a24ab0b5b8c194b6a7c8056173366676fa..c80628f7982e379fe1f42ef7df299ad390a73a3a 100755 (executable)
-#!/bin/bash
+#!/bin/sh
 
-if [ "$help" != "1" ]
+
+if [ "$help" = "1" ]
 then
+       cat << EOF
+FFMPEG/avformat options:
+
+  --avformat-cvs          - Obtain ffmpeg from CVS
+  --avformat-shared=path  - Link against a shared installation of ffmpeg (default)
+  --avformat-static=path  - Link against a static ffmpeg dev tree
+  --avformat-ldextra=libs - Provide additional libs to link with
+  --avformat-suffix=suff  - Specify a custom suffix for an ffmpeg shared build
+
+EOF
+
+else
+       targetos=$(uname -s)
+       case $targetos in
+       Darwin)
+               export LIBSUF=.dylib
+               ;;
+       Linux)
+               export LIBSUF=.so
+               ;;
+       *)
+               ;;
+       esac
+               
+       echo > config.mak
+
+       export static_ffmpeg=
+       export shared_ffmpeg=`which ffmpeg`
+       export extra_libs=
+       export cvs_ffmpeg=
+       export avformat_suffix=
+
+       if [ "$shared_ffmpeg" != "" ]
+       then
+               # Chop ffmpeg 
+               shared_ffmpeg=`dirname $shared_ffmpeg`
+               # Chop bin 
+               shared_ffmpeg=`dirname $shared_ffmpeg`
+       fi
+
+       for i in "$@"
+       do
+               case $i in
+                       --avformat-static=* )   static_ffmpeg="${i#--avformat-static=}" ;;
+                       --avformat-shared=* )   shared_ffmpeg="${i#--avformat-shared=}" ;;
+                       --avformat-ldextra=* )  extra_libs="${i#--avformat-ldextra=}" ;;
+                       --avformat-cvs )                cvs_ffmpeg=true ;;
+                       --avformat-suffix=* )   avformat_suffix="${i#--avformat-suffix=}" ;;
+               esac
+       done
+
+       if [ "$cvs_ffmpeg" != "" ]
+       then
+               [ ! -d "ffmpeg" ] && ( 
+                       echo
+                       echo "Checking out ffmpeg/avformat - no password required"
+                       echo
+                       cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login
+                       cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
+               )
+               [ -d "ffmpeg" ] && ( cd ffmpeg ; ./configure --enable-shared --build-suffix="$avformat_suffix" )
+               #[ ! -f "ffmpeg/ffmpeg.patch" ] && ( cd ffmpeg ; cp ../ffmpeg.patch . ; patch -p0 < ffmpeg.patch )
+               echo "CFLAGS+=-I`pwd`/ffmpeg/libavformat -I`pwd`/ffmpeg/libavcodec -I`pwd`/ffmpeg/libavutil" >> config.mak
+               echo "LOCAL_FFMPEG=1" >> config.mak
+               extra_libs="$extra_libs -lz"
+       elif [ "$static_ffmpeg" != "" ]
+       then 
+               if [ -d "$static_ffmpeg" ]
+               then
+                       echo "CFLAGS+=-I$static_ffmpeg/libavformat -I$static_ffmpeg/libavcodec -I$static_ffmpeg/libavutil" >> config.mak
+                       echo "LDFLAGS+=-L$static_ffmpeg/libavformat -L$static_ffmpeg/libavcodec -L$static_ffmpeg/libavutil" >> config.mak
+                       [ $targetos = "Darwin" ] &&
+                               echo "LDFLAGS+=-single_module" >> config.mak
+               else
+                       echo "avformat: Invalid path specified: $static_ffmpeg"
+                       touch ../disable-avformat
+                       echo 0
+               fi
+       else 
+               if [ -d "$shared_ffmpeg/include/ffmpeg" -a -f "$shared_ffmpeg/lib/libavformat$LIBSUF" ]
+               then
+                       echo "CFLAGS+=-I$shared_ffmpeg/include/ffmpeg " >> config.mak
+                       echo "LDFLAGS+=-L$shared_ffmpeg/lib" >> config.mak
+               else
+                       echo "avformat: No build environment found. "
+                       echo "          Try configuring mlt with --avformat-cvs."
+                       touch ../disable-avformat
+                       exit 0
+               fi
+       fi
+
+       echo "EXTRA_LIBS=$extra_libs" >> config.mak
+       echo "AVFORMAT_SUFFIX=$avformat_suffix" >> config.mak
 
 cat << EOF >> ../producers.dat
-avformat               libmltavformat.so
+avformat               libmltavformat$LIBSUF
+EOF
+
+cat << EOF >> ../filters.dat
+avdeinterlace  libmltavformat$LIBSUF
+avresample             libmltavformat$LIBSUF
+avcolour_space libmltavformat$LIBSUF
 EOF
 
 cat << EOF >> ../consumers.dat
-avformat               libmltavformat.so
+avformat               libmltavformat$LIBSUF
 EOF
 
 fi