add support for ffmpeg libswscale
[melted] / src / modules / avformat / configure
1 #!/bin/sh
2
3
4 if [ "$help" = "1" ]
5 then
6         cat << EOF
7 FFMPEG/avformat options:
8
9   --avformat-svn          - Obtain ffmpeg from Subversion
10   --avformat-shared=path  - Link against a shared installation of ffmpeg (default)
11   --avformat-static=path  - Link against a static ffmpeg dev tree
12   --avformat-ldextra=libs - Provide additional libs to link with
13   --avformat-suffix=suff  - Specify a custom suffix for an ffmpeg shared build
14   --avformat-swscale      - Use ffmpeg libswcale instead of img_convert
15
16 EOF
17
18 else
19         targetos=$(uname -s)
20         case $targetos in
21         Darwin)
22                 export LIBSUF=.dylib
23                 ;;
24         Linux)
25                 export LIBSUF=.so
26                 ;;
27         *)
28                 ;;
29         esac
30                 
31         bits=$(uname -m)
32         case $bits in
33         x86_64)
34                 export LIBDIR=lib64
35                 ;;
36         *)
37                 export LIBDIR=lib
38                 ;;
39         esac
40
41         echo > config.mak
42
43         export static_ffmpeg=
44         export shared_ffmpeg=`which ffmpeg`
45         export extra_libs=
46         export svn_ffmpeg=
47         export avformat_suffix=
48         export swscale=false
49
50         if [ "$shared_ffmpeg" != "" -a -f "$shared_ffmpeg" ]
51         then
52                 # Chop ffmpeg 
53                 shared_ffmpeg=`dirname $shared_ffmpeg`
54                 # Chop bin 
55                 shared_ffmpeg=`dirname $shared_ffmpeg`
56         fi
57
58         for i in "$@"
59         do
60                 case $i in
61                         --avformat-static=* )   static_ffmpeg="${i#--avformat-static=}" ;;
62                         --avformat-shared=* )   shared_ffmpeg="${i#--avformat-shared=}" ;;
63                         --avformat-ldextra=* )  extra_libs="${i#--avformat-ldextra=}" ;;
64                         --avformat-svn )                svn_ffmpeg=true ;;
65                         --avformat-cvs )                svn_ffmpeg=true ;;
66                         --avformat-suffix=* )   avformat_suffix="${i#--avformat-suffix=}" ;;
67                         --avformat-swscale )    swscale=true ;;
68                 esac
69         done
70
71         if [ "$svn_ffmpeg" != "" ]
72         then
73                 [ ! -d "ffmpeg" ] && ( 
74                         echo
75                         echo "Checking out ffmpeg/avformat - no password required"
76                         echo
77                         svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
78                 )
79                 [ -d "ffmpeg" ] && ( cd ffmpeg ; ./configure --enable-shared --build-suffix="$avformat_suffix" )
80                 #[ ! -f "ffmpeg/ffmpeg.patch" ] && ( cd ffmpeg ; cp ../ffmpeg.patch . ; patch -p0 < ffmpeg.patch )
81                 echo "CFLAGS+=-I`pwd`/ffmpeg/libavformat -I`pwd`/ffmpeg/libavcodec -I`pwd`/ffmpeg/libavutil" >> config.mak
82                 echo "LOCAL_FFMPEG=1" >> config.mak
83                 extra_libs="$extra_libs -lz"
84         elif [ "$static_ffmpeg" != "" ]
85         then 
86                 if [ -d "$static_ffmpeg" ]
87                 then
88                         echo "CFLAGS+=-I$static_ffmpeg/libavformat -I$static_ffmpeg/libavcodec -I$static_ffmpeg/libavutil" >> config.mak
89                         echo "LDFLAGS+=-L$static_ffmpeg/libavformat -L$static_ffmpeg/libavcodec -L$static_ffmpeg/libavutil" >> config.mak
90                         [ $targetos = "Darwin" ] &&
91                                 echo "LDFLAGS+=-single_module" >> config.mak
92                         [ "$swscale" != "" ] && echo "SWSCALE=1" >> config.mak
93                 else
94                         echo "avformat: Invalid path specified: $static_ffmpeg"
95                         touch ../disable-avformat
96                         echo 0
97                 fi
98         else 
99                 if [ -d "$shared_ffmpeg/include/ffmpeg" -a -f "$shared_ffmpeg/$LIBDIR/libavformat$avformat_suffix$LIBSUF" ]
100                 then
101                         echo "CFLAGS+=-I$shared_ffmpeg/include/ffmpeg " >> config.mak
102                         echo "LDFLAGS+=-L$shared_ffmpeg/$LIBDIR" >> config.mak
103                         [ "$swscale" != "" ] && echo "SWSCALE=1" >> config.mak
104                 else
105                         echo "avformat: No build environment found. "
106                         echo "          Try configuring mlt with --avformat-svn."
107                         touch ../disable-avformat
108                         exit 0
109                 fi
110         fi
111
112         echo "EXTRA_LIBS=$extra_libs" >> config.mak
113         echo "AVFORMAT_SUFFIX=$avformat_suffix" >> config.mak
114
115 cat << EOF >> ../producers.dat
116 avformat                libmltavformat$LIBSUF
117 EOF
118
119 cat << EOF >> ../filters.dat
120 avdeinterlace   libmltavformat$LIBSUF
121 avresample              libmltavformat$LIBSUF
122 avcolour_space  libmltavformat$LIBSUF
123 EOF
124
125 cat << EOF >> ../consumers.dat
126 avformat                libmltavformat$LIBSUF
127 EOF
128
129 fi
130