Statistics
| Branch: | Revision:

ffmpeg / configure @ 64eaac62

History | View | Annotate | Download (53.3 KB)

1 de6d9b64 Fabrice Bellard
#!/bin/sh
2 0f3cb305 Fabrice Bellard
#
3 5cbcf02c Fabrice Bellard
# ffmpeg configure script (c) 2000, 2001, 2002 Fabrice Bellard
4 0f3cb305 Fabrice Bellard
#
5 cf9d24ad Dan Christiansen
6
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
7
cat << EOF
8
9
Usage: configure [options]
10
Options: [defaults in brackets after descriptions]
11
12
EOF
13
echo "Standard options:"
14
echo "  --help                   print this message"
15
echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
16 cc973ecb Luca Barbato
echo "  --libdir=DIR             install libs in DIR [PREFIX/lib]"
17 1d67a1d4 Diego Biurrun
echo "  --incdir=DIR             install includes in DIR [PREFIX/include/ffmpeg]"
18 29799f8b Diego Biurrun
echo "  --mandir=DIR             install man page in DIR [PREFIX/man]"
19
echo "  --enable-mp3lame         enable MP3 encoding via libmp3lame [default=no]"
20
echo "  --enable-libogg          enable Ogg support via libogg [default=no]"
21
echo "  --enable-vorbis          enable Vorbis support via libvorbis [default=no]"
22
echo "  --enable-theora          enable Theora support via libtheora [default=no]"
23
echo "  --enable-faad            enable FAAD support via libfaad [default=no]"
24
echo "  --enable-faadbin         build FAAD support with runtime linking [default=no]"
25
echo "  --enable-faac            enable FAAC support via libfaac [default=no]"
26
echo "  --enable-libgsm          enable GSM support via libgsm [default=no]"
27
echo "  --enable-xvid            enable XviD support via xvidcore [default=no]"
28 6662ec29 Michael Niedermayer
echo "  --enable-x264            enable H.264 encoding via x264 [default=no]"
29 29799f8b Diego Biurrun
echo "  --enable-mingw32         enable MinGW native/cross Windows compile"
30 ac44871c Gildas Bazin
echo "  --enable-mingwce         enable MinGW native/cross WinCE compile"
31 29799f8b Diego Biurrun
echo "  --enable-a52             enable GPLed A52 support [default=no]"
32 cf9d24ad Dan Christiansen
echo "  --enable-a52bin          open liba52.so.0 at runtime [default=no]"
33 29799f8b Diego Biurrun
echo "  --enable-dts             enable GPLed DTS support [default=no]"
34
echo "  --enable-pp              enable GPLed postprocessing support [default=no]"
35 320d060a Diego Biurrun
echo "  --enable-static          build static libraries [default=yes]"
36
echo "  --disable-static         do not build static libraries [default=no]"
37 cf9d24ad Dan Christiansen
echo "  --enable-shared          build shared libraries [default=no]"
38 320d060a Diego Biurrun
echo "  --disable-shared         do not build shared libraries [default=yes]"
39 cf9d24ad Dan Christiansen
echo "  --enable-amr_nb          enable amr_nb float audio codec"
40
echo "  --enable-amr_nb-fixed    use fixed point for amr-nb codec"
41 64cba748 Michael Niedermayer
echo "  --enable-amr_wb          enable amr_wb float audio codec"
42 29799f8b Diego Biurrun
echo "  --enable-amr_if2         enable amr_wb IF2 audio codec"
43 cf9d24ad Dan Christiansen
echo "  --enable-sunmlib         use Sun medialib [default=no]"
44 9c3d33d6 Michael Niedermayer
echo "  --enable-pthreads        use pthreads [default=no]"
45 29799f8b Diego Biurrun
echo "  --enable-dc1394          enable IIDC-1394 grabbing using libdc1394"
46
echo "                           and libraw1394 [default=no]"
47
echo "  --enable-gpl             allow use of GPL code, the resulting libav*"
48
echo "                           and ffmpeg will be under GPL [default=no]"
49 cf9d24ad Dan Christiansen
echo ""
50
echo "Advanced options (experts only):"
51 29799f8b Diego Biurrun
echo "  --source-path=PATH       path to source code [$source_path]"
52
echo "  --cross-prefix=PREFIX    use PREFIX for compilation tools [$cross_prefix]"
53 cf9d24ad Dan Christiansen
echo "  --cc=CC                  use C compiler CC [$cc]"
54
echo "  --make=MAKE              use specified make [$make]"
55
echo "  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS [$CFLAGS]"
56
echo "  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]"
57
echo "  --extra-libs=ELIBS       add ELIBS [$ELIBS]"
58 eb94aca9 Charles Yates
echo "  --build-suffix=SUFFIX    suffix for application specific build []"
59 cf9d24ad Dan Christiansen
echo "  --cpu=CPU                force cpu to CPU  [$cpu]"
60 29799f8b Diego Biurrun
echo "  --tune=CPU               tune code for a particular CPU"
61
echo "                           (may fail or perform badly on other CPUs)"
62
echo "  --powerpc-perf-enable    enable performance report on PPC"
63
echo "                           (requires enabling PMC)"
64
echo "  --disable-mmx            disable MMX usage"
65 eba9ae3c Gildas Bazin
echo "  --disable-iwmmxt         disable iwmmxt usage"
66 cf9d24ad Dan Christiansen
echo "  --disable-altivec        disable AltiVec usage"
67
echo "  --disable-audio-oss      disable OSS audio support [default=no]"
68
echo "  --disable-audio-beos     disable BeOS audio support [default=no]"
69
echo "  --disable-v4l            disable video4linux grabbing [default=no]"
70 0a7b514f Luca Abeni
echo "  --disable-v4l2           disable video4linux2 grabbing [default=no]"
71 6beefa40 Michael Niedermayer
echo "  --disable-bktr           disable bktr video grabbing [default=no]"
72 cf9d24ad Dan Christiansen
echo "  --disable-dv1394         disable DV1394 grabbing [default=no]"
73
echo "  --disable-network        disable network support [default=no]"
74
echo "  --disable-zlib           disable zlib [default=no]"
75 e0f80bd7 Reimar Döffinger
echo "  --disable-lzo            disable lzo [default=no]"
76 cf9d24ad Dan Christiansen
echo "  --disable-simple_idct    disable simple IDCT routines [default=no]"
77
echo "  --disable-vhook          disable video hooking support"
78
echo "  --enable-gprof           enable profiling with gprof [$gprof]"
79
echo "  --disable-debug          disable debugging symbols"
80
echo "  --disable-opts           disable compiler optimizations"
81
echo "  --disable-mpegaudio-hp   faster (but less accurate)"
82 29799f8b Diego Biurrun
echo "                           MPEG audio decoding [default=no]"
83 04f46ced Gildas Bazin
echo "  --disable-protocols      disable I/O protocols support [default=no]"
84 cf9d24ad Dan Christiansen
echo "  --disable-ffserver       disable ffserver build"
85
echo "  --disable-ffplay         disable ffplay build"
86
echo "  --enable-small           optimize for size instead of speed"
87 da9b170c Michael Niedermayer
echo "  --enable-memalign-hack   emulate memalign, interferes with memory debuggers"
88 65d1bea2 Michel Bardiaux
echo "  --disable-strip          disable stripping of executables and shared libraries"
89 f593b273 Diego Biurrun
echo "  --disable-encoder=NAME   disables encoder NAME"
90
echo "  --enable-encoder=NAME    enables encoder NAME"
91
echo "  --disable-decoder=NAME   disables decoder NAME"
92
echo "  --enable-decoder=NAME    enables decoder NAME"
93 009cf97d Michael Niedermayer
echo "  --disable-encoders       disables all encoders"
94 b4cad537 Emiliano Parasassi
echo "  --disable-decoders       disables all decoders"
95 a9e35095 Diego Biurrun
echo "  --disable-muxers         disables all muxers"
96
echo "  --disable-demuxers       disables all demuxers"
97 cf9d24ad Dan Christiansen
echo ""
98 29799f8b Diego Biurrun
echo "NOTE: Object files are built at the place where configure is launched."
99 cf9d24ad Dan Christiansen
exit 1
100
fi
101
102 0f3cb305 Fabrice Bellard
# set temporary file name
103 57514323 Zdenek Kabelac
if test ! -z "$TMPDIR" ; then
104 0f3cb305 Fabrice Bellard
    TMPDIR1="${TMPDIR}"
105 57514323 Zdenek Kabelac
elif test ! -z "$TEMPDIR" ; then
106 0f3cb305 Fabrice Bellard
    TMPDIR1="${TEMPDIR}"
107 3d204385 Nick Kurshev
else
108 0f3cb305 Fabrice Bellard
    TMPDIR1="/tmp"
109 3d204385 Nick Kurshev
fi
110
111 0f3cb305 Fabrice Bellard
TMPC="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.c"
112
TMPO="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.o"
113 f3ec2d46 Slavik Gnatenko
TMPE="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}"
114 0f3cb305 Fabrice Bellard
TMPS="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.S"
115
TMPH="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.h"
116
117 de6d9b64 Fabrice Bellard
# default parameters
118
prefix="/usr/local"
119 cc973ecb Luca Barbato
libdir=""
120 1d67a1d4 Diego Biurrun
incdir=""
121 23a65308 Fabrice Bellard
mandir=""
122 951bf3e6 Fabrice Bellard
bindir=""
123 0f3cb305 Fabrice Bellard
cross_prefix=""
124 de6d9b64 Fabrice Bellard
cc="gcc"
125
ar="ar"
126 be7109c1 Michael Niedermayer
ranlib="ranlib"
127 4a908fbc Alex Beregszaszi
make="make"
128 0f3cb305 Fabrice Bellard
strip="strip"
129 de6d9b64 Fabrice Bellard
cpu=`uname -m`
130 a4adb608 Michael Niedermayer
tune="generic"
131 e45a2872 Romain Dolbeau
powerpc_perf="no"
132 0f3cb305 Fabrice Bellard
mmx="default"
133 eba9ae3c Gildas Bazin
iwmmxt="default"
134 ab6c65f6 Brian Foley
altivec="default"
135 d46aba26 Leon van Stuivenberg
mmi="default"
136 de6d9b64 Fabrice Bellard
case "$cpu" in
137 ef0bc4c9 François Revol
  i386|i486|i586|i686|i86pc|BePC)
138 de6d9b64 Fabrice Bellard
    cpu="x86"
139
  ;;
140 7bf9648e Jacob Meuser
  x86_64|amd64)
141
    cpu="x86"
142
    canon_arch="`cc -dumpmachine | sed -e 's,\([^-]*\)-.*,\1,'`"
143
    if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then
144
      if [ -z "`echo $CFLAGS | grep -- -m32`"  ]; then
145
        cpu="x86_64"
146
      fi
147 053dea12 Aurelien Jacobs
    fi
148
  ;;
149 93caefc7 Alex Beregszaszi
  # armv4l is a subset of armv5tel
150
  armv4l|armv5tel)
151 6ed7422a Fabrice Bellard
    cpu="armv4l"
152
  ;;
153 91d1f1a4 Nick Kurshev
  alpha)
154
    cpu="alpha"
155
  ;;
156 90448512 Alex Beregszaszi
  "Power Macintosh"|ppc|powerpc)
157 90cee0c3 Michael Niedermayer
    cpu="powerpc"
158
  ;;
159 67860b26 Sam Hocevar
  mips|mipsel)
160 d46aba26 Leon van Stuivenberg
    cpu="mips"
161
  ;;
162 bb476ff3 James Morrison
  sun4u|sparc64)
163 a7beab73 Roman Shaposhnik
    cpu="sparc64"
164
  ;;
165 bb476ff3 James Morrison
  sparc)
166
    cpu="sparc"
167
  ;;
168 bdb2e37c Alex Beregszaszi
  sh4)
169
    cpu="sh4"
170
  ;;
171 67860b26 Sam Hocevar
  parisc|parisc64)
172
    cpu="parisc"
173
  ;;
174
  s390|s390x)
175
    cpu="s390"
176
  ;;
177
  m68k)
178
    cpu="m68k"
179
  ;;
180
  ia64)
181
    cpu="ia64"
182
  ;;
183 de6d9b64 Fabrice Bellard
  *)
184 0f3cb305 Fabrice Bellard
    cpu="unknown"
185 de6d9b64 Fabrice Bellard
  ;;
186
esac
187
gprof="no"
188 5cbcf02c Fabrice Bellard
v4l="yes"
189 0a7b514f Luca Abeni
v4l2="yes"
190 6beefa40 Michael Niedermayer
bktr="no"
191 5cbcf02c Fabrice Bellard
audio_oss="yes"
192 dfdfa47c François Revol
audio_beos="no"
193 8aa3ee32 Max Krasnyansky
dv1394="yes"
194 f02be79d Roman Shaposhnik
dc1394="no"
195 5cbcf02c Fabrice Bellard
network="yes"
196 0147f198 François Revol
zlib="yes"
197 e0f80bd7 Reimar Döffinger
lzo="yes"
198 bb4c2140 Michael Niedermayer
libgsm="no"
199 a6741398 Juanjo
mp3lame="no"
200 9146ca37 Måns Rullgård
libogg="no"
201 81e0d0b4 Mark Hills
vorbis="no"
202 5c5dea3f Nilesh Bansal
theora="no"
203 0fc50e58 Zdenek Kabelac
faad="no"
204
faadbin="no"
205 29d48296 Michael Niedermayer
faac="no"
206 1ddadfa9 Adam Thayer
xvid="no"
207 6662ec29 Michael Niedermayer
x264="no"
208 ba9261e5 Michael Niedermayer
a52="no"
209 57514323 Zdenek Kabelac
a52bin="no"
210 23c99253 Michael Niedermayer
dts="no"
211 ba9261e5 Michael Niedermayer
pp="no"
212 732d9245 Bill Eldridge
mingw32="no"
213 ac44871c Gildas Bazin
mingwce="no"
214 3f027ca7 Felix Bünemann
cygwin="no"
215 f3ec2d46 Slavik Gnatenko
os2="no"
216 320d060a Diego Biurrun
lstatic="yes"
217 83286d2a Zdenek Kabelac
lshared="no"
218 cddf3f45 Glenn Maynard
optimize="yes"
219
debug="yes"
220 65d1bea2 Michel Bardiaux
dostrip="yes"
221 da186ae2 Steven M. Schultz
installstrip="-s"
222 ef0bc4c9 François Revol
extralibs="-lm"
223 c02dbee1 Michael Niedermayer
simpleidct="yes"
224 0f3cb305 Fabrice Bellard
bigendian="no"
225 7f965c1c Chris Flerackers
inttypes="yes"
226 b5c950c4 Michael Niedermayer
emu_fast_int="no"
227 a8721c09 Fabrice Bellard
vhook="default"
228 adbc0510 Philip Gladstone
dlfcn="no"
229
dlopen="no"
230 1eb2212e Fabrice Bellard
mpegaudio_hp="yes"
231 f3b60109 Diego Biurrun
SHFLAGS='-shared -Wl,-soname,$@.$(LIBMAJOR)'
232 26b35efb François Revol
netserver="no"
233 4baca069 Philip Gladstone
need_inet_aton="no"
234 04f46ced Gildas Bazin
protocols="yes"
235 8154d2e0 Fabrice Bellard
ffserver="yes"
236 a86b921c Fabrice Bellard
ffplay="yes"
237 80581e98 Michael Niedermayer
LIBOBJFLAGS=""
238 4baca069 Philip Gladstone
LDFLAGS=-Wl,--warn-common
239
FFSLDFLAGS=-Wl,-E
240 f39e56a8 Jacob Meuser
LDCONFIG="ldconfig"
241 f3ec2d46 Slavik Gnatenko
LIBPREF="lib"
242
LIBSUF=".a"
243 4bdd05e7 Diego Biurrun
LIB='$(LIBPREF)$(NAME)$(LIBSUF)'
244 f3ec2d46 Slavik Gnatenko
SLIBPREF="lib"
245
SLIBSUF=".so"
246 4bdd05e7 Diego Biurrun
SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF)'
247 f3b60109 Diego Biurrun
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)$(SLIBSUF).$(LIBVERSION)'
248
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)$(SLIBSUF).$(LIBMAJOR)'
249 951bf3e6 Fabrice Bellard
EXESUF=""
250 eb94aca9 Charles Yates
BUILDSUF=""
251 891f64b3 joca@rixmail.se
amr_nb="no"
252 d663a1fd Michael Niedermayer
amr_wb="no"
253 bc634f6f Zdenek Kabelac
amr_nb_fixed="no"
254 2a515c08 Torsten Martinsen
amr_if2="no"
255 f80f7964 Roman Shaposhnik
sunmlib="no"
256 9c3d33d6 Michael Niedermayer
pthreads="no"
257 b2e3c528 Michael Niedermayer
gpl="no"
258 da9b170c Michael Niedermayer
memalignhack="no"
259 a9e35095 Diego Biurrun
muxers="yes"
260
demuxers="yes"
261 ef0bc4c9 François Revol
262
# OS specific
263
targetos=`uname -s`
264
case $targetos in
265
BeOS)
266
prefix="/boot/home/config"
267
# helps building libavcodec
268 04f40508 Diego Biurrun
CFLAGS="$CFLAGS -DPIC -fomit-frame-pointer"
269 31ba0b4d François Revol
# 3 gcc releases known for BeOS, each with ugly bugs
270 b2924696 Roman Shaposhnik
gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
271 31ba0b4d François Revol
case "$gcc_version" in
272
2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
273
mmx="no"
274
;;
275
*20010315*) echo "BeBits gcc"
276
CFLAGS="$CFLAGS -fno-expensive-optimizations"
277
;;
278
esac
279 e1707f52 Michael Niedermayer
SHFLAGS=-nostart
280 29799f8b Diego Biurrun
# disable Linux things
281 e1707f52 Michael Niedermayer
audio_oss="no"
282 5cbcf02c Fabrice Bellard
v4l="no"
283 0a7b514f Luca Abeni
v4l2="no"
284 8aa3ee32 Max Krasnyansky
dv1394="no"
285 29799f8b Diego Biurrun
# enable BeOS things
286 dfdfa47c François Revol
audio_beos="yes"
287 ef0bc4c9 François Revol
# no need for libm, but the inet stuff
288
# Check for BONE
289
if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then
290
extralibs="-lbind -lsocket"
291
else
292 26b35efb François Revol
netserver="yes"
293 4baca069 Philip Gladstone
need_inet_aton="yes"
294 26b35efb François Revol
extralibs="-lnet"
295 ef0bc4c9 François Revol
fi ;;
296 4baca069 Philip Gladstone
SunOS)
297
v4l="no"
298 0a7b514f Luca Abeni
v4l2="no"
299 4baca069 Philip Gladstone
audio_oss="no"
300 8aa3ee32 Max Krasnyansky
dv1394="no"
301 4baca069 Philip Gladstone
make="gmake"
302
LDFLAGS=""
303
FFSLDFLAGS=""
304
need_inet_aton="yes"
305
extralibs="$extralibs -lsocket -lnsl"
306
;;
307 b7aa4a59 Steven M. Schultz
NetBSD)
308
v4l="no"
309 0a7b514f Luca Abeni
v4l2="no"
310 6beefa40 Michael Niedermayer
bktr="yes"
311 b7aa4a59 Steven M. Schultz
audio_oss="yes"
312
dv1394="no"
313
make="gmake"
314
LDFLAGS="$LDFLAGS -export-dynamic"
315
case `uname -r` in
316 51587548 Jan Knutar
2.*) extralibs="$extralibs -lossaudio"
317 b7aa4a59 Steven M. Schultz
;;
318
esac
319
;;
320 8c802695 Jacob Meuser
OpenBSD)
321
v4l="no"
322 0a7b514f Luca Abeni
v4l2="no"
323 6beefa40 Michael Niedermayer
bktr="yes"
324 8c802695 Jacob Meuser
audio_oss="yes"
325
dv1394="no"
326
make="gmake"
327 80581e98 Michael Niedermayer
LIBOBJFLAGS="\$(PIC)"
328 8c802695 Jacob Meuser
LDFLAGS="$LDFLAGS -export-dynamic -pthread"
329 f39e56a8 Jacob Meuser
LDCONFIG="ldconfig -m \$(libdir)"
330 8c802695 Jacob Meuser
extralibs="$extralibs -lossaudio"
331
;;
332 9c938e77 Philip Gladstone
FreeBSD)
333
v4l="no"
334 0a7b514f Luca Abeni
v4l2="no"
335 6beefa40 Michael Niedermayer
bktr="yes"
336 9c938e77 Philip Gladstone
audio_oss="yes"
337 8aa3ee32 Max Krasnyansky
dv1394="no"
338 9c938e77 Philip Gladstone
make="gmake"
339 04f40508 Diego Biurrun
CFLAGS="$CFLAGS -pthread"
340 12043e1d Steven M. Schultz
LDFLAGS="$LDFLAGS -export-dynamic -pthread"
341 9c938e77 Philip Gladstone
;;
342 4a908fbc Alex Beregszaszi
BSD/OS)
343 5cbcf02c Fabrice Bellard
v4l="no"
344 0a7b514f Luca Abeni
v4l2="no"
345 6beefa40 Michael Niedermayer
bktr="yes"
346 6063bce7 Fabrice Bellard
audio_oss="yes"
347 8aa3ee32 Max Krasnyansky
dv1394="no"
348 4a908fbc Alex Beregszaszi
extralibs="-lpoll -lgnugetopt -lm"
349
make="gmake"
350 1db68540 Steven M. Schultz
strip="strip -d"
351
installstrip=""
352 4a908fbc Alex Beregszaszi
;;
353 90cee0c3 Michael Niedermayer
Darwin)
354 a43bd1d7 Heliodoro Tammaro
cc="cc"
355 90cee0c3 Michael Niedermayer
v4l="no"
356 0a7b514f Luca Abeni
v4l2="no"
357 90cee0c3 Michael Niedermayer
audio_oss="no"
358 8aa3ee32 Max Krasnyansky
dv1394="no"
359 fb3d46da Diego Biurrun
SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(libdir)/\$(SLIBNAME),-current_version,\$(SPPVERSION),-compatibility_version,\$(SPPVERSION)"
360 90cee0c3 Michael Niedermayer
extralibs=""
361 a43bd1d7 Heliodoro Tammaro
darwin="yes"
362 47930f09 Philip Gladstone
strip="strip -x"
363 da186ae2 Steven M. Schultz
installstrip=""
364 4e159595 Diego Biurrun
LDFLAGS="-Wl,-dynamic,-search_paths_first"
365
SLIBSUF=".dylib"
366 f3b60109 Diego Biurrun
SLIBNAME_WITH_FULLVERSION='$(SLIBPREF)$(NAME).$(LIBVERSION)$(SLIBSUF)'
367
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME).$(LIBMAJOR)$(SLIBSUF)'
368 4baca069 Philip Gladstone
FFSLDFLAGS=-Wl,-bind_at_load
369 90cee0c3 Michael Niedermayer
;;
370 732d9245 Bill Eldridge
MINGW32*)
371 951bf3e6 Fabrice Bellard
# Note: the rest of the mingw32 config is done afterwards as mingw32
372 29799f8b Diego Biurrun
# can be forced on the command line for Linux cross compilation.
373 732d9245 Bill Eldridge
mingw32="yes"
374
;;
375 3f027ca7 Felix Bünemann
CYGWIN*)
376
v4l="no"
377 0a7b514f Luca Abeni
v4l2="no"
378 3f027ca7 Felix Bünemann
audio_oss="yes"
379 8aa3ee32 Max Krasnyansky
dv1394="no"
380 50827fcf Diego Biurrun
vhook="no"
381 3f027ca7 Felix Bünemann
extralibs=""
382
cygwin="yes"
383 487c2fad Michael Niedermayer
EXESUF=".exe"
384 3f027ca7 Felix Bünemann
;;
385 b55e4ef4 Philip Gladstone
Linux)
386 4baca069 Philip Gladstone
LDFLAGS="$LDFLAGS -rdynamic"
387 b55e4ef4 Philip Gladstone
;;
388 99614dd4 Michel Bardiaux
IRIX*)
389
ranlib="echo ignoring ranlib"
390
v4l="no"
391 0a7b514f Luca Abeni
v4l2="no"
392 99614dd4 Michel Bardiaux
audio_oss="no"
393
make="gmake"
394
;;
395 f3ec2d46 Slavik Gnatenko
OS/2)
396
TMPE=$TMPE".exe"
397 3ca4b654 Michael Niedermayer
ar="emxomfar -p128"
398 69db4e10 Slavik Gnatenko
ranlib="echo ignoring ranlib"
399
strip="echo ignoring strip"
400 04f40508 Diego Biurrun
CFLAGS="$CFLAGS -Zomf"
401 69db4e10 Slavik Gnatenko
LDFLAGS="-Zomf -Zstack 16384 -s"
402 3ca4b654 Michael Niedermayer
SHFLAGS="-Zdll -Zomf"
403 f3ec2d46 Slavik Gnatenko
FFSLDFLAGS=""
404
LIBPREF=""
405
LIBSUF=".lib"
406
SLIBPREF=""
407
SLIBSUF=".dll"
408 951bf3e6 Fabrice Bellard
EXESUF=".exe"
409 f3ec2d46 Slavik Gnatenko
extralibs=""
410 c99dd233 j@v2v.cc
pkg_requires=""
411 f3ec2d46 Slavik Gnatenko
v4l="no"
412 0a7b514f Luca Abeni
v4l2="no"
413 f3ec2d46 Slavik Gnatenko
audio_oss="no"
414 8aa3ee32 Max Krasnyansky
dv1394="no"
415 f3ec2d46 Slavik Gnatenko
ffserver="no"
416 3ca4b654 Michael Niedermayer
vhook="no"
417 f3ec2d46 Slavik Gnatenko
os2="yes"
418 3ca4b654 Michael Niedermayer
419 f3ec2d46 Slavik Gnatenko
;;
420 ef0bc4c9 François Revol
*) ;;
421
esac
422 de6d9b64 Fabrice Bellard
423 29799f8b Diego Biurrun
# From MPlayer configure. We need TARGET_OS available
424 6852ac95 Romain Dolbeau
# to the Makefile, so it can distinguish between flavors
425 29799f8b Diego Biurrun
# of AltiVec on PowerPC.
426 6852ac95 Romain Dolbeau
TARGET_OS=`( uname -s ) 2>&1`
427
  case "$TARGET_OS" in
428 90448512 Alex Beregszaszi
  Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS)
429 6852ac95 Romain Dolbeau
    ;;
430
  IRIX*)
431
    TARGET_OS=IRIX
432
    ;;
433
  HP-UX*)
434
    TARGET_OS=HP-UX
435
    ;;
436
  [cC][yY][gG][wW][iI][nN]*)
437
    TARGET_OS=CYGWIN
438
    ;;
439
  *)
440
    TARGET_OS="$TARGET_OS-UNKNOWN"
441
    ;;
442
  esac
443
444 0f3cb305 Fabrice Bellard
# find source path
445 6942d002 Diego Biurrun
source_path="`dirname $0`"
446 0f3cb305 Fabrice Bellard
source_path_used="yes"
447
if test -z "$source_path" -o "$source_path" = "." ; then
448
    source_path=`pwd`
449
    source_path_used="no"
450 e7a4dafb Måns Rullgård
else
451
    source_path="`cd \"$source_path\"; pwd`"
452 de6d9b64 Fabrice Bellard
fi
453
454 f255e0ab Michel Bardiaux
FFMPEG_CONFIGURATION=" "
455
for opt do
456
  FFMPEG_CONFIGURATION="$FFMPEG_CONFIGURATION""$opt "
457
done
458
459 24a9ad7e Måns Rullgård
CODEC_LIST=`grep 'register_avcodec(&[a-z]' $source_path/libavcodec/allcodecs.c  | sed 's/.*&\(.*\)).*/\1/'`
460 009cf97d Michael Niedermayer
461 de6d9b64 Fabrice Bellard
for opt do
462
  case "$opt" in
463 eba9ae3c Gildas Bazin
  --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`; force_prefix=yes
464 de6d9b64 Fabrice Bellard
  ;;
465 eba9ae3c Gildas Bazin
  --libdir=*) libdir=`echo $opt | cut -d '=' -f 2`; force_libdir=yes
466 cc973ecb Luca Barbato
  ;;
467 1d67a1d4 Diego Biurrun
  --incdir=*) incdir=`echo $opt | cut -d '=' -f 2`;
468
  ;;
469 23a65308 Fabrice Bellard
  --mandir=*) mandir=`echo $opt | cut -d '=' -f 2`
470
  ;;
471 0f3cb305 Fabrice Bellard
  --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
472
  ;;
473
  --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
474
  ;;
475 eba9ae3c Gildas Bazin
  --cc=*) cc=`echo $opt | cut -d '=' -f 2-`
476 de6d9b64 Fabrice Bellard
  ;;
477 4a908fbc Alex Beregszaszi
  --make=*) make=`echo $opt | cut -d '=' -f 2`
478
  ;;
479 f4e2c4b1 Roine Gustafsson
  --extra-cflags=*) CFLAGS="$CFLAGS ${opt#--extra-cflags=}"
480 0f3cb305 Fabrice Bellard
  ;;
481 f4e2c4b1 Roine Gustafsson
  --extra-ldflags=*) LDFLAGS="$LDFLAGS ${opt#--extra-ldflags=}"
482 0f3cb305 Fabrice Bellard
  ;;
483
  --extra-libs=*) extralibs=${opt#--extra-libs=}
484
  ;;
485 eb94aca9 Charles Yates
  --build-suffix=*) BUILDSUF=${opt#--build-suffix=}
486
  ;;
487 de6d9b64 Fabrice Bellard
  --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
488
  ;;
489 a4adb608 Michael Niedermayer
  --tune=*) tune=`echo $opt | cut -d '=' -f 2`
490
  ;;
491 e45a2872 Romain Dolbeau
  --powerpc-perf-enable) powerpc_perf="yes"
492
  ;;
493 de6d9b64 Fabrice Bellard
  --disable-mmx) mmx="no"
494
  ;;
495 eba9ae3c Gildas Bazin
  --disable-iwmmxt) iwmmxt="no"
496
  ;;
497 ab6c65f6 Brian Foley
  --disable-altivec) altivec="no"
498
  ;;
499 de6d9b64 Fabrice Bellard
  --enable-gprof) gprof="yes"
500
  ;;
501 5cbcf02c Fabrice Bellard
  --disable-v4l) v4l="no"
502
  ;;
503 0a7b514f Luca Abeni
  --disable-v4l2) v4l2="no"
504
  ;;
505 6beefa40 Michael Niedermayer
  --disable-bktr) bktr="no"
506
  ;;
507 5cbcf02c Fabrice Bellard
  --disable-audio-oss) audio_oss="no"
508
  ;;
509 dfdfa47c François Revol
  --disable-audio-beos) audio_beos="no"
510
  ;;
511 8aa3ee32 Max Krasnyansky
  --disable-dv1394) dv1394="no"
512
  ;;
513 ffc0ef96 Luca Abeni
  --disable-network) network="no"; ffserver="no"
514 5cbcf02c Fabrice Bellard
  ;;
515 0147f198 François Revol
  --disable-zlib) zlib="no"
516
  ;;
517 e0f80bd7 Reimar Döffinger
  --disable-lzo) lzo="no"
518
  ;;
519 ba9261e5 Michael Niedermayer
  --enable-a52) a52="yes"
520 6ed7422a Fabrice Bellard
  ;;
521 bfd2edeb Michael Niedermayer
  --enable-a52bin) a52bin="yes"
522 57514323 Zdenek Kabelac
  ;;
523 c99dd233 j@v2v.cc
  --enable-dts) dts="yes"
524
    extralibs="$extralibs -ldts"
525 23c99253 Michael Niedermayer
  ;;
526 ba9261e5 Michael Niedermayer
  --enable-pp) pp="yes"
527 bba9b16c Michael Niedermayer
  ;;
528 bb4c2140 Michael Niedermayer
  --enable-libgsm) libgsm="yes"
529 c99dd233 j@v2v.cc
    extralibs="$extralibs -lgsm"
530 bb4c2140 Michael Niedermayer
  ;;
531 c99dd233 j@v2v.cc
  --enable-mp3lame) mp3lame="yes"
532
    extralibs="$extralibs -lmp3lame"
533 a6741398 Juanjo
  ;;
534 9146ca37 Måns Rullgård
  --enable-libogg) libogg="yes"
535 c99dd233 j@v2v.cc
    extralibs="$extralibs -logg"
536
    pkg_requires="$pkg_requires ogg >= 1.1"
537 5c5dea3f Nilesh Bansal
  ;;
538 81e0d0b4 Mark Hills
  --enable-vorbis) vorbis="yes"
539 c99dd233 j@v2v.cc
    extralibs="$extralibs -lvorbis -lvorbisenc"
540
    pkg_requires="$pkg_requires vorbis vorbisenc"
541 81e0d0b4 Mark Hills
  ;;
542 5c5dea3f Nilesh Bansal
  --enable-theora) theora="yes"
543 c99dd233 j@v2v.cc
    extralibs="$extralibs -ltheora"
544
    pkg_requires="$pkg_requires theora"
545 5c5dea3f Nilesh Bansal
  ;;
546 445ad18d Zdenek Kabelac
  --enable-faad) faad="yes"
547 c99dd233 j@v2v.cc
    extralibs="$extralibs -lfaad"
548 445ad18d Zdenek Kabelac
  ;;
549
  --enable-faadbin) faadbin="yes"
550
  ;;
551 c99dd233 j@v2v.cc
  --enable-faac) faac="yes"
552
    extralibs="$extralibs -lfaac"
553 29d48296 Michael Niedermayer
  ;;
554 1ddadfa9 Adam Thayer
  --enable-xvid) xvid="yes"
555 c99dd233 j@v2v.cc
    extralibs="$extralibs -lxvidcore"
556 1ddadfa9 Adam Thayer
  ;;
557 c99dd233 j@v2v.cc
  --enable-x264) x264="yes"
558
    extralibs="$extralibs -lx264"
559 6662ec29 Michael Niedermayer
  ;;
560 f02be79d Roman Shaposhnik
  --enable-dc1394) dc1394="yes"
561 c99dd233 j@v2v.cc
    extralibs="$extralibs -ldc1394_control -lraw1394"
562
    pkg_requires="$pkg_requires libraw1394"
563 f02be79d Roman Shaposhnik
  ;;
564 68892110 Philip Gladstone
  --disable-vhook) vhook="no"
565
  ;;
566 c02dbee1 Michael Niedermayer
  --disable-simple_idct) simpleidct="no"
567 045ed63f Zdenek Kabelac
  ;;
568 732d9245 Bill Eldridge
  --enable-mingw32) mingw32="yes"
569
  ;;
570 ac44871c Gildas Bazin
  --enable-mingwce) mingwce="yes"
571
  ;;
572 320d060a Diego Biurrun
  --enable-static) lstatic="yes"
573
  ;;
574
  --disable-static) lstatic="no"
575
  ;;
576 83286d2a Zdenek Kabelac
  --enable-shared) lshared="yes"
577 0319c531 Nick Kurshev
  ;;
578 320d060a Diego Biurrun
  --disable-shared) lshared="no"
579
  ;;
580 cddf3f45 Glenn Maynard
  --disable-debug) debug="no"
581
  ;;
582
  --disable-opts) optimize="no"
583
  ;;
584 1eb2212e Fabrice Bellard
  --disable-mpegaudio-hp) mpegaudio_hp="no"
585
  ;;
586 04f46ced Gildas Bazin
  --disable-protocols) protocols="no"; network="no"; ffserver="no"
587
  ;;
588 8154d2e0 Fabrice Bellard
  --disable-ffserver) ffserver="no"
589
  ;;
590 a86b921c Fabrice Bellard
  --disable-ffplay) ffplay="no"
591
  ;;
592 cddf3f45 Glenn Maynard
  --enable-small) optimize="small"
593 553a6284 Michael Niedermayer
  ;;
594 64eaac62 Diego Biurrun
  --enable-amr_nb) amr_nb="yes"; amr_nb_fixed="no"
595 891f64b3 joca@rixmail.se
  ;;
596 64eaac62 Diego Biurrun
  --enable-amr_nb-fixed) amr_nb_fixed="yes"; amr_nb="no"
597 bc634f6f Zdenek Kabelac
  ;;
598 64cba748 Michael Niedermayer
  --enable-amr_wb) amr_wb="yes"
599 115329f1 Diego Biurrun
  ;;
600 2a515c08 Torsten Martinsen
  --enable-amr_if2) amr_if2="yes"
601
  ;;
602 f80f7964 Roman Shaposhnik
  --enable-sunmlib) sunmlib="yes"
603
  ;;
604 9c3d33d6 Michael Niedermayer
  --enable-pthreads) pthreads="yes"
605
  ;;
606 b2e3c528 Michael Niedermayer
  --enable-gpl) gpl="yes"
607
  ;;
608 da9b170c Michael Niedermayer
  --enable-memalign-hack) memalignhack="yes"
609
  ;;
610 65d1bea2 Michel Bardiaux
  --disable-strip) dostrip="no"
611
  ;;
612 f593b273 Diego Biurrun
  --enable-encoder=*) CODEC_LIST="$CODEC_LIST ${opt#--enable-encoder=}_encoder"
613 009cf97d Michael Niedermayer
  ;;
614 f593b273 Diego Biurrun
  --enable-decoder=*) CODEC_LIST="$CODEC_LIST ${opt#--enable-decoder=}_decoder"
615
  ;;
616
  --disable-encoder=*) CODEC_LIST="`echo $CODEC_LIST | sed -e \"s#${opt#--disable-encoder=}_encoder##\"`"
617
  ;;
618
  --disable-decoder=*) CODEC_LIST="`echo $CODEC_LIST | sed -e \"s#${opt#--disable-decoder=}_decoder##\"`"
619 009cf97d Michael Niedermayer
  ;;
620
  --disable-encoders) CODEC_LIST="`echo $CODEC_LIST | sed 's/[-_a-zA-Z0-9]*encoder//g'`"
621
  ;;
622 b4cad537 Emiliano Parasassi
  --disable-decoders) CODEC_LIST="`echo $CODEC_LIST | sed 's/[-_a-zA-Z0-9]*decoder//g'`"
623
  ;;
624 04f46ced Gildas Bazin
  --disable-muxers) muxers="no"; ffserver="no"
625 a9e35095 Diego Biurrun
  ;;
626
  --disable-demuxers) demuxers="no"
627
  ;;
628 b34c63f7 Diego Biurrun
  *)
629
  echo "Unknown option \"$opt\"."
630
  echo "See $0 --help for available options."
631
  exit 1
632
  ;;
633 de6d9b64 Fabrice Bellard
  esac
634
done
635
636 320d060a Diego Biurrun
# we need to build at least one lib type
637
if test "$lstatic" = "no" && test "$lshared" = "no" ; then
638
    cat <<EOF
639
At least one library type must be built.
640
Specify --enable-static to build the static libraries or --enable-shared to
641
build the shared libraries as well. To only build the shared libraries specify
642
--disable-static in addition to --enable-shared.
643
EOF
644
    exit 1;
645
fi
646
647 5c5dea3f Nilesh Bansal
if test "$theora" = "yes" ; then
648 9146ca37 Måns Rullgård
    if test "$libogg" = "no"; then
649 29799f8b Diego Biurrun
        echo "libogg must be enabled to enable Theora."
650 5c5dea3f Nilesh Bansal
        fail="yes"
651
        theora="no"
652
    fi
653
fi
654
655
if test "$vorbis" = "yes" ; then
656 9146ca37 Måns Rullgård
    if test "$libogg" = "no"; then
657 29799f8b Diego Biurrun
        echo "libogg must be enabled to enable Vorbis."
658 5c5dea3f Nilesh Bansal
        fail="yes"
659
        vorbis="no"
660
    fi
661
fi
662
663 b2e3c528 Michael Niedermayer
if test "$gpl" != "yes"; then
664 ba64106a Diego Biurrun
    if test "$pp" != "no"; then
665 29799f8b Diego Biurrun
        echo "The Postprocessing code is under GPL and --enable-gpl is not specified."
666 b2e3c528 Michael Niedermayer
        fail="yes"
667
    fi
668
669
    if test "$a52" != "no" -o "$a52bin" != "no"; then
670 29799f8b Diego Biurrun
        echo "liba52 is under GPL and --enable-gpl is not specified."
671 b2e3c528 Michael Niedermayer
        fail="yes"
672
    fi
673 23c99253 Michael Niedermayer
674 1ddadfa9 Adam Thayer
    if test "$xvid" != "no"; then
675 29799f8b Diego Biurrun
        echo "libxvidcore is under GPL and --enable-gpl is not specified."
676 1ddadfa9 Adam Thayer
        fail="yes"
677
    fi
678
679 6662ec29 Michael Niedermayer
    if test "$x264" != "no"; then
680 29799f8b Diego Biurrun
        echo "x264 is under GPL and --enable-gpl is not specified."
681 6662ec29 Michael Niedermayer
        fail="yes"
682
    fi
683
684 23c99253 Michael Niedermayer
    if test "$dts" != "no"; then
685 29799f8b Diego Biurrun
        echo "libdts is under GPL and --enable-gpl is not specified."
686 23c99253 Michael Niedermayer
        fail="yes"
687
    fi
688 115329f1 Diego Biurrun
689 b2e3c528 Michael Niedermayer
    if test "$faad" != "no" -o "$faadbin" != "no"; then
690
        cat > $TMPC << EOF
691
            #include <faad.h>
692
            int main( void ) { return 0; }
693
EOF
694 115329f1 Diego Biurrun
695 b2e3c528 Michael Niedermayer
        if $cc $CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
696
            cat > $TMPC << EOF
697
                #include <faad.h>
698
                #ifndef FAAD2_VERSION
699
                ok faad1
700
                #endif
701
                int main( void ) { return 0; }
702
EOF
703
            if $cc $CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
704 29799f8b Diego Biurrun
                echo "FAAD2 is under GPL and --enable-gpl is not specified."
705 b2e3c528 Michael Niedermayer
                fail="yes"
706
            fi
707
        else
708
            faad="no"
709
            faadbin="no"
710 29799f8b Diego Biurrun
            echo "FAAD test failed."
711 b2e3c528 Michael Niedermayer
        fi
712
    fi
713 115329f1 Diego Biurrun
714 b2e3c528 Michael Niedermayer
715 a18b5183 Michael Niedermayer
    if test "$fail" = "yes"; then
716 b2e3c528 Michael Niedermayer
        exit 1
717
    fi
718
fi
719
720 29799f8b Diego Biurrun
# compute MMX state
721 0f3cb305 Fabrice Bellard
if test $mmx = "default"; then
722 053dea12 Aurelien Jacobs
    if test $cpu = "x86" -o $cpu = "x86_64"; then
723 0f3cb305 Fabrice Bellard
        mmx="yes"
724
    else
725
        mmx="no"
726
    fi
727
fi
728
729 eba9ae3c Gildas Bazin
# check iwmmxt support
730
if test $iwmmxt = "default" -a $cpu = "armv4l"; then
731
    cat > $TMPC << EOF
732 115329f1 Diego Biurrun
        int main(void) {
733 eba9ae3c Gildas Bazin
        __asm__ __volatile__ ("wunpckelub wr6, wr4");
734
        }
735
EOF
736
737
    iwmmxt=no
738
    if ${cross_prefix}${cc} -o $TMPO $TMPC 2> /dev/null ; then
739
        iwmmxt=yes
740
    fi
741
fi
742
743 cf9d24ad Dan Christiansen
#Darwin CC versions
744 75388c74 Michael Niedermayer
needmdynamicnopic="no"
745 cf9d24ad Dan Christiansen
if test $targetos = Darwin; then
746 b2924696 Roman Shaposhnik
    if test -n "`$cc -v 2>&1 | grep xlc`"; then
747 bb270c08 Diego Biurrun
        CFLAGS="$CFLAGS -qpdf2 -qlanglvl=extc99 -qmaxmem=-1 -qarch=auto -qtune=auto"
748 cf9d24ad Dan Christiansen
    else
749 bb270c08 Diego Biurrun
        gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
750
        case "$gcc_version" in
751
            *2.95*)
752
                CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer"
753
                ;;
754
            *[34].*)
755
                CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer -force_cpusubtype_ALL -Wno-sign-compare"
756
                if test "$lshared" = no; then
757
                   needmdynamicnopic="yes"
758
                fi
759
                ;;
760
            *)
761
                CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer"
762
                if test "$lshared" = no; then
763
                   needmdynamicnopic="yes"
764
                fi
765
                ;;
766
        esac
767 cf9d24ad Dan Christiansen
    fi
768
fi
769
770 ab6c65f6 Brian Foley
# Can only do AltiVec on PowerPC
771
if test $altivec = "default"; then
772
    if test $cpu = "powerpc"; then
773
        altivec="yes"
774
    else
775
        altivec="no"
776
    fi
777
fi
778
779 a4adb608 Michael Niedermayer
# Add processor-specific flags
780
TUNECPU="generic"
781 9007f514 Romain Dolbeau
POWERPCMODE="32bits"
782 a4adb608 Michael Niedermayer
if test $tune != "generic"; then
783
    case $tune in
784 bb270c08 Diego Biurrun
        601|ppc601|PowerPC601)
785
            CFLAGS="$CFLAGS -mcpu=601"
786
            if test $altivec = "yes"; then
787
                echo "WARNING: Tuning for PPC601 but AltiVec enabled!";
788
            fi
789
            TUNECPU=ppc601
790
        ;;
791
        603*|ppc603*|PowerPC603*)
792
            CFLAGS="$CFLAGS -mcpu=603"
793
            if test $altivec = "yes"; then
794
                echo "WARNING: Tuning for PPC603 but AltiVec enabled!";
795
            fi
796
            TUNECPU=ppc603
797
        ;;
798
        604*|ppc604*|PowerPC604*)
799
            CFLAGS="$CFLAGS -mcpu=604"
800
            if test $altivec = "yes"; then
801
                echo "WARNING: Tuning for PPC604 but AltiVec enabled!";
802
            fi
803
            TUNECPU=ppc604
804
        ;;
805
        G3|g3|75*|ppc75*|PowerPC75*)
806
            CFLAGS="$CFLAGS -mcpu=750 -mtune=750 -mpowerpc-gfxopt"
807
            if test $altivec = "yes"; then
808
                echo "WARNING: Tuning for PPC75x but AltiVec enabled!";
809
            fi
810
            TUNECPU=ppc750
811
        ;;
812
        G4|g4|745*|ppc745*|PowerPC745*)
813
            CFLAGS="$CFLAGS -mcpu=7450 -mtune=7450 -mpowerpc-gfxopt"
814
            if test $altivec = "no"; then
815
                echo "WARNING: Tuning for PPC745x but AltiVec disabled!";
816
            fi
817
            TUNECPU=ppc7450
818
        ;;
819
        74*|ppc74*|PowerPC74*)
820
            CFLAGS="$CFLAGS -mcpu=7400 -mtune=7400 -mpowerpc-gfxopt"
821
            if test $altivec = "no"; then
822
                echo "WARNING: Tuning for PPC74xx but AltiVec disabled!";
823
            fi
824
            TUNECPU=ppc7400
825
        ;;
826
        G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
827
            CFLAGS="$CFLAGS -mcpu=970 -mtune=970 -mpowerpc-gfxopt -mpowerpc64"
828
            if test $altivec = "no"; then
829
                echo "WARNING: Tuning for PPC970 but AltiVec disabled!";
830
            fi
831
            TUNECPU=ppc970
832 9007f514 Romain Dolbeau
            POWERPCMODE="64bits"
833 bb270c08 Diego Biurrun
        ;;
834
        i[3456]86|pentium|pentiumpro|pentium-mmx|pentium[234]|prescott|k6|k6-[23]|athlon|athlon-tbird|athlon-4|athlon-[mx]p|winchip-c6|winchip2|c3|nocona|athlon64|k8|opteron|athlon-fx)
835
            CFLAGS="$CFLAGS -march=$tune"
836
        ;;
837
        *)
838
        echo "WARNING: Unknown CPU \"$tune\", ignored."
839
        ;;
840 a4adb608 Michael Niedermayer
    esac
841
fi
842
843 115329f1 Diego Biurrun
# AltiVec flags: The FSF version of GCC differs from the Apple version
844 b6e52719 Magnus Damm
if test $cpu = "powerpc"; then
845
    if test $altivec = "yes"; then
846 b2924696 Roman Shaposhnik
        if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
847 49f1a349 Steven M. Schultz
            CFLAGS="$CFLAGS -faltivec"
848 b6e52719 Magnus Damm
        else
849
            CFLAGS="$CFLAGS -maltivec -mabi=altivec"
850
        fi
851
    fi
852
fi
853
854 29799f8b Diego Biurrun
# check if we have <altivec.h>
855 a9a07762 Michael Niedermayer
cat > $TMPC << EOF
856
#include <altivec.h>
857
int main( void ) { return 0; }
858
EOF
859
860
_altivec_h="no"
861 b6e52719 Magnus Damm
if $cc $CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
862 a9a07762 Michael Niedermayer
_altivec_h="yes"
863
fi
864
865 29799f8b Diego Biurrun
# check if our compiler supports Motorola AltiVec C API
866 ab6c65f6 Brian Foley
if test $altivec = "yes"; then
867 a9a07762 Michael Niedermayer
if test $_altivec_h = "yes"; then
868 ab6c65f6 Brian Foley
cat > $TMPC << EOF
869 a9a07762 Michael Niedermayer
#include <altivec.h>
870 ab6c65f6 Brian Foley
int main(void) {
871
    vector signed int v1, v2, v3;
872
    v1 = vec_add(v2,v3);
873
    return 0;
874
}
875
EOF
876 a9a07762 Michael Niedermayer
else
877
cat > $TMPC << EOF
878
int main(void) {
879
    vector signed int v1, v2, v3;
880
    v1 = vec_add(v2,v3);
881
    return 0;
882
}
883
EOF
884
fi
885 b6e52719 Magnus Damm
$cc $CFLAGS -o $TMPE $TMPC 2> /dev/null || altivec="no"
886 ab6c65f6 Brian Foley
fi
887
888 29799f8b Diego Biurrun
# mmi only available on mips
889 d46aba26 Leon van Stuivenberg
if test $mmi = "default"; then
890
    if test $cpu = "mips"; then
891
        mmi="yes"
892
    else
893
        mmi="no"
894
    fi
895
fi
896
897 29799f8b Diego Biurrun
# check if our compiler supports mmi
898 d46aba26 Leon van Stuivenberg
if test $mmi = "yes"; then
899
cat > $TMPC << EOF
900
int main(void) {
901
    __asm__ ("lq \$2, 0(\$2)");
902
    return 0;
903
}
904
EOF
905 f3ec2d46 Slavik Gnatenko
$cc -o $TMPE $TMPC 2> /dev/null || mmi="no"
906 d46aba26 Leon van Stuivenberg
fi
907
908 ac44871c Gildas Bazin
if test "$mingw32" = "yes" -o "$mingwce" = "yes"; then
909 320d060a Diego Biurrun
    if test "$lshared" = "yes" && test "$lstatic" = "yes" ; then
910
        cat <<EOF
911
You can only build one library type at once on MinGW.
912
Specify --disable-static --enable-shared to only build
913
the shared libraries. To build only the static libraries
914 65f51a41 Måns Rullgård
you do not need to pass additional options.
915 320d060a Diego Biurrun
EOF
916
        exit 1
917
    fi
918 732d9245 Bill Eldridge
    v4l="no"
919 0a7b514f Luca Abeni
    v4l2="no"
920 6beefa40 Michael Niedermayer
    bktr="no"
921 732d9245 Bill Eldridge
    audio_oss="no"
922 8aa3ee32 Max Krasnyansky
    dv1394="no"
923 f02be79d Roman Shaposhnik
    dc1394="no"
924 951bf3e6 Fabrice Bellard
    ffserver="no"
925 732d9245 Bill Eldridge
    network="no"
926 0e8b594f Gildas Bazin
if test "$mingwce" = "yes"; then
927 ac44871c Gildas Bazin
    protocols="no"
928
fi
929 951bf3e6 Fabrice Bellard
    SLIBPREF=""
930
    SLIBSUF=".dll"
931
    EXESUF=".exe"
932 eba9ae3c Gildas Bazin
    if test "$force_prefix" != yes; then prefix="/c/Program Files/FFmpeg"; fi
933
    if test "$force_libdir" != yes; then bindir="$prefix"; fi
934 732d9245 Bill Eldridge
fi
935
936 0f3cb305 Fabrice Bellard
cc="${cross_prefix}${cc}"
937
ar="${cross_prefix}${ar}"
938 be7109c1 Michael Niedermayer
ranlib="${cross_prefix}${ranlib}"
939 0f3cb305 Fabrice Bellard
strip="${cross_prefix}${strip}"
940
941 487a54d7 Fabrice Bellard
if test -z "$cross_prefix" ; then
942
943 3d204385 Nick Kurshev
# ---
944 29799f8b Diego Biurrun
# big/little-endian test
945 a3999908 Michael Niedermayer
cat > $TMPC << EOF
946
#include <inttypes.h>
947
int main(int argc, char ** argv){
948 bb270c08 Diego Biurrun
        volatile uint32_t i=0x01234567;
949
        return (*((uint8_t*)(&i))) == 0x67;
950 a3999908 Michael Niedermayer
}
951
EOF
952
953 f3ec2d46 Slavik Gnatenko
if $cc -o $TMPE $TMPC 2>/dev/null ; then
954
$TMPE && bigendian="yes"
955 a3999908 Michael Niedermayer
else
956
echo big/little test failed
957
fi
958
959 487a54d7 Fabrice Bellard
else
960
961 29799f8b Diego Biurrun
# programs cannot be launched if cross compiling, so make a static guess
962 487a54d7 Fabrice Bellard
if test "$cpu" = "powerpc" -o "$cpu" = "mips" ; then
963
    bigendian="yes"
964
fi
965
966
fi
967
968 a3999908 Michael Niedermayer
# ---
969 7f965c1c Chris Flerackers
# *inttypes.h* test
970
cat > $TMPC << EOF
971
#include <inttypes.h>
972
int main(int argc, char ** argv){
973
    return 0;
974
}
975
EOF
976
977
$cc -o $TMPE $TMPC 2>/dev/null || inttypes="no"
978
979
# ---
980 b5c950c4 Michael Niedermayer
# *int_fast* test
981
cat > $TMPC << EOF
982
#include <inttypes.h>
983
int main(int argc, char ** argv){
984 bb270c08 Diego Biurrun
        volatile uint_fast64_t i=0x01234567;
985
        return 0;
986 b5c950c4 Michael Niedermayer
}
987
EOF
988
989
$cc -o $TMPE $TMPC 2>/dev/null || emu_fast_int="yes"
990
991
# ---
992 3d204385 Nick Kurshev
# check availability of some header files
993
994
cat > $TMPC << EOF
995
#include <malloc.h>
996
int main( void ) { return 0; }
997
EOF
998
999
_memalign=no
1000
_malloc_h=no
1001 f3ec2d46 Slavik Gnatenko
if $cc -o $TMPE $TMPC 2> /dev/null ; then
1002 3d204385 Nick Kurshev
_malloc_h=yes
1003
_memalign=yes
1004
# check for memalign - atmos
1005
cat > $TMPC << EOF
1006 487c2fad Michael Niedermayer
#include <stdio.h>
1007 3d204385 Nick Kurshev
#include <malloc.h>
1008
int main ( void ) {
1009
char *string = NULL;
1010
string = memalign(64, sizeof(char));
1011
return 0;
1012
}
1013
EOF
1014 f3ec2d46 Slavik Gnatenko
$cc -o $TMPE $TMPC 2> /dev/null || _memalign=no
1015 3d204385 Nick Kurshev
fi
1016
1017 8bf5d58f Michael Niedermayer
if test "$_memalign" = "no" -a "$mmx" = "yes" -a "$memalignhack" != "yes"; then
1018 29799f8b Diego Biurrun
    echo "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
1019 8bf5d58f Michael Niedermayer
    exit 1
1020
fi
1021
1022 68892110 Philip Gladstone
cat > $TMPC << EOF
1023 5e4639e2 Glenn Maynard
#include <time.h>
1024
int main( void ) { localtime_r(NULL, NULL); }
1025
EOF
1026
1027
localtime_r=no
1028
if $cc -o $TMPE $TMPC 2> /dev/null ; then
1029
  localtime_r=yes
1030
fi
1031
1032 0147f198 François Revol
if test "$zlib" = "yes"; then
1033
# check for zlib - mmu_man
1034
cat > $TMPC << EOF
1035
#include <zlib.h>
1036
int main ( void ) {
1037
if (zlibVersion() != ZLIB_VERSION)
1038
   puts("zlib version differs !!!");
1039
   return 1;
1040
return 0;
1041
}
1042
EOF
1043 e27ca59b Michael Niedermayer
$cc $CFLAGS $LDFLAGS -o $TMPE $TMPC -lz 2> /dev/null || zlib="no"
1044 f3ec2d46 Slavik Gnatenko
# $TMPE 2> /dev/null > /dev/null || zlib="no"
1045 0147f198 François Revol
# XXX: more tests needed - runtime test
1046
fi
1047
if test "$zlib" = "yes"; then
1048
extralibs="$extralibs -lz"
1049
fi
1050
1051 e0f80bd7 Reimar Döffinger
if test "$lzo" = "yes" -a "$gpl" = "yes"; then
1052
# check for liblzo
1053
cat > $TMPC << EOF
1054
#include <lzo1x.h>
1055
int main ( void ) {
1056
lzo_init();
1057
return 0;
1058
}
1059
EOF
1060
$cc $CFLAGS $LDFLAGS -o $TMPE $TMPC -llzo 2> /dev/null || lzo="no"
1061
else
1062
lzo="no"
1063
fi
1064
if test "$lzo" = "yes"; then
1065
extralibs="$extralibs -llzo"
1066
fi
1067
1068 95e2ce4a Michael Niedermayer
# test for lrintf in math.h
1069
cat > $TMPC << EOF
1070
#define _ISOC9X_SOURCE  1
1071
#include <math.h>
1072
int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
1073
EOF
1074
1075
have_lrintf="no"
1076 96277634 Diego Pettenò
if $cc $CFLAGS $LDFLAGS -o $TMPE $TMPC $extralibs 2> /dev/null ; then
1077 95e2ce4a Michael Niedermayer
  have_lrintf="yes"
1078 c2b9685e Michael Niedermayer
  # allanc@chickenandporn.com: cannot execute cross-compiled
1079
  # code on the host.  Only execute if not cross-compiling.
1080
  if test -z "$cross_prefix" ; then
1081
    $TMPE 2> /dev/null > /dev/null || have_lrintf="no"
1082
  fi
1083 95e2ce4a Michael Niedermayer
fi
1084
1085 c13e1abd Falk Hüffner
_restrict=
1086
for restrict_keyword in restrict __restrict__ __restrict; do
1087
  echo "void foo(char * $restrict_keyword p);" > $TMPC
1088
  if $cc -c -o $TMPO $TMPC 2> /dev/null; then
1089
    _restrict=$restrict_keyword
1090
    break;
1091
  fi
1092
done
1093
1094 52b41d7f Fabrice Bellard
# test gcc version to see if vector builtins can be used
1095
# currently only used on i386 for MMX builtins
1096
cat > $TMPC << EOF
1097 053dea12 Aurelien Jacobs
#include <xmmintrin.h>
1098 115329f1 Diego Biurrun
int main(void) {
1099 52b41d7f Fabrice Bellard
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
1100
return 0;
1101
#else
1102
#error no vector builtins
1103
#endif
1104
}
1105
EOF
1106
1107
builtin_vector=no
1108 13c2469d Michael Niedermayer
if $cc -msse -o $TMPO $TMPC 2> /dev/null ; then
1109 52b41d7f Fabrice Bellard
  builtin_vector=yes
1110 a8721c09 Fabrice Bellard
fi
1111
1112 82eb4b0f Zuxy Meng
# test for mm3dnow.h
1113
cat > $TMPC << EOF
1114
#include <mm3dnow.h>
1115
int main(void) {
1116
return 0;
1117
}
1118
EOF
1119
1120
mm3dnow=no
1121
if $cc -march=athlon -o $TMPO $TMPC 2> /dev/null ; then
1122
  mm3dnow=yes
1123
fi
1124
1125 9f23a10a Michel Bardiaux
# Probe for -Wdeclaration-after-statement
1126 e3880318 Diego Biurrun
if test "$cc" = "gcc"; then
1127 9f23a10a Michel Bardiaux
  cat > $TMPC << EOF
1128
  int main( void ) { return 0; }
1129
EOF
1130
1131
  if $cc -Wdeclaration-after-statement -Werror -o $TMPE $TMPC 2> /dev/null ; then
1132
    CFLAGS="$CFLAGS -Wdeclaration-after-statement"
1133
  fi
1134
fi
1135
1136 a8721c09 Fabrice Bellard
# dlopen/dlfcn.h probing
1137
1138
cat > $TMPC << EOF
1139
#include <dlfcn.h>
1140
int main( void ) { return (int) dlopen("foo", 0); }
1141
EOF
1142
1143
ldl=-ldl
1144
1145 fd2ab74a Måns Rullgård
if $cc $CFLAGS $LDFLAGS -o $TMPE $TMPC -ldl > /dev/null 2>&1 ; then
1146 a8721c09 Fabrice Bellard
dlfcn=yes
1147
dlopen=yes
1148
fi
1149
1150 fd2ab74a Måns Rullgård
if $cc $CFLAGS $LDFLAGS -o $TMPE $TMPC > /dev/null 2>&1 ; then
1151 a8721c09 Fabrice Bellard
dlfcn=yes
1152
dlopen=yes
1153
ldl=""
1154
fi
1155
1156
cat > $TMPC << EOF
1157
int main( void ) { return (int) dlopen("foo", 0); }
1158
EOF
1159
1160 fd2ab74a Måns Rullgård
if $cc $CFLAGS $LDFLAGS -o $TMPE $TMPC -ldl > /dev/null 2>&1  ; then
1161 a8721c09 Fabrice Bellard
dlopen=yes
1162
fi
1163
1164 fd2ab74a Måns Rullgård
if $cc $CFLAGS $LDFLAGS -o $TMPE $TMPC > /dev/null 2>&1  ; then
1165 a8721c09 Fabrice Bellard
dlopen=yes
1166
ldl=""
1167
fi
1168
1169
if test "$vhook" = "default" ; then
1170
  vhook="$dlopen"
1171
fi
1172
1173 bfd2edeb Michael Niedermayer
if test "$vhook" = "yes" -o "$a52bin" = "yes" -o "$faadbin" = "yes"; then
1174
  extralibs="$extralibs $ldl"
1175
fi
1176
1177
1178 a86b921c Fabrice Bellard
##########################################
1179 29799f8b Diego Biurrun
# imlib check
1180 a86b921c Fabrice Bellard
1181 a8721c09 Fabrice Bellard
cat > $TMPC << EOF
1182
#include <X11/Xlib.h>
1183
#include <Imlib2.h>
1184
int main( void ) { return (int) imlib_load_font("foo"); }
1185
EOF
1186
1187
imlib2=no
1188 56b04ceb Niki W. Waibel
if $cc $CFLAGS $LDFLAGS -o $TMPE $TMPC -lImlib2 -lm > /dev/null 2>&1  ; then
1189 a8721c09 Fabrice Bellard
imlib2=yes
1190 52b41d7f Fabrice Bellard
fi
1191
1192 a86b921c Fabrice Bellard
##########################################
1193 29799f8b Diego Biurrun
# FreeType check
1194 a86b921c Fabrice Bellard
1195 04511d53 Philip Gladstone
cat > $TMPC << EOF
1196
#include <ft2build.h>
1197
int main( void ) { return (int) FT_Init_FreeType(0); }
1198
EOF
1199
1200
freetype2=no
1201 e2a5fd20 Michael Niedermayer
if test "x$targetos" != "xBeOS"; then
1202 e2a3cd59 Roman Shaposhnik
  if (freetype-config --version) >/dev/null 2>&1 ; then
1203 cf9d24ad Dan Christiansen
    if $cc -o $TMPE $TMPC `freetype-config --cflags` `freetype-config --libs`  > /dev/null 2>&1 ; then
1204 dee076fc François Revol
      freetype2=yes
1205 04511d53 Philip Gladstone
    fi
1206 dee076fc François Revol
  fi
1207 04511d53 Philip Gladstone
fi
1208
1209 a86b921c Fabrice Bellard
##########################################
1210 29799f8b Diego Biurrun
# SDL check
1211 a86b921c Fabrice Bellard
1212
cat > $TMPC << EOF
1213
#include <SDL.h>
1214 31319a8c Fabrice Bellard
#undef main /* We don't want SDL to override our main() */
1215 a86b921c Fabrice Bellard
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
1216
EOF
1217
1218
sdl_too_old=no
1219
sdl=no
1220 6a1a892f Frantisek Dvorak
SDL_CONFIG="${cross_prefix}sdl-config"
1221
if ("${SDL_CONFIG}" --version) >/dev/null 2>&1 ; then
1222
if $cc -o $TMPE `"${SDL_CONFIG}" --cflags` $TMPC `"${SDL_CONFIG}" --libs`  > /dev/null 2>&1  ; then
1223
_sdlversion=`"${SDL_CONFIG}" --version | sed 's/[^0-9]//g'`
1224 a86b921c Fabrice Bellard
if test "$_sdlversion" -lt 121 ; then
1225
sdl_too_old=yes
1226
else
1227
sdl=yes
1228
fi
1229
fi
1230 c3f6b472 Michael Niedermayer
fi
1231 a86b921c Fabrice Bellard
1232 146ea952 Nicolas Boos
##########################################
1233 29799f8b Diego Biurrun
# texi2html check
1234 146ea952 Nicolas Boos
1235
texi2html=no
1236 e2a3cd59 Roman Shaposhnik
if (texi2html -version) >/dev/null 2>&1; then
1237 146ea952 Nicolas Boos
texi2html=yes
1238
fi
1239
1240 7a91333f Hans Zandbelt
if test "$network" = "yes" ; then
1241
##########################################
1242 29799f8b Diego Biurrun
# IPv6 check
1243 7a91333f Hans Zandbelt
1244
cat > $TMPC << EOF
1245
#include <sys/types.h>
1246
#include <sys/socket.h>
1247
#include <netinet/in.h>
1248
#include <netdb.h>
1249
int main( void ) {
1250
  struct sockaddr_storage saddr;
1251
  struct ipv6_mreq mreq6;
1252
  getaddrinfo(0,0,0,0);
1253
  getnameinfo(0,0,0,0,0,0,0);
1254 12fe88b4 Dan Villiom Podlaski Christiansen
  IN6_IS_ADDR_MULTICAST((const struct in6_addr *)0);
1255 7a91333f Hans Zandbelt
}
1256
EOF
1257
1258
ipv6=no
1259
if $cc -o $TMPE $TMPC > /dev/null 2>&1  ; then
1260
ipv6=yes
1261
fi
1262
fi
1263
1264 47f38850 Luca Abeni
if test "$v4l2" = "yes"; then
1265
# check for video4linux2 --- V4L2_PIX_FMT_YUV420
1266
cat > $TMPC << EOF
1267 84fe9963 Alex Beregszaszi
#include <sys/time.h>
1268 47f38850 Luca Abeni
#include <linux/videodev.h>
1269
int dummy = V4L2_PIX_FMT_YUV420;
1270 490c189b Luca Abeni
struct v4l2_buffer dummy1;
1271 47f38850 Luca Abeni
EOF
1272
$cc -c -o $TMPE $TMPC 2> /dev/null || v4l2="no"
1273
fi
1274
1275 b2924696 Roman Shaposhnik
case "`$cc -v 2>&1 | grep version`" in
1276 cf9d24ad Dan Christiansen
    *gcc*)
1277 bb270c08 Diego Biurrun
        CFLAGS="-Wall -Wno-switch $CFLAGS"
1278
        ;;
1279 cf9d24ad Dan Christiansen
    *)
1280 bb270c08 Diego Biurrun
        ;;
1281 cf9d24ad Dan Christiansen
esac
1282
1283 94a3401e Fabrice Bellard
if test "$sdl" = "no" ; then
1284
   ffplay=no
1285
fi
1286
1287 cddf3f45 Glenn Maynard
if test "$debug" = "yes"; then
1288 bb270c08 Diego Biurrun
        CFLAGS="-g $CFLAGS"
1289 cddf3f45 Glenn Maynard
fi
1290
1291
if test "$optimize" = "small"; then
1292 98ca7790 Michael Niedermayer
#  CFLAGS=${CFLAGS//-O3/-Os}
1293 553a6284 Michael Niedermayer
  CFLAGS="$CFLAGS -Os"
1294
fi
1295
1296 cddf3f45 Glenn Maynard
if test "$optimize" = "yes"; then
1297 b2924696 Roman Shaposhnik
    if test -n "`$cc -v 2>&1 | grep xlc`"; then
1298 bb270c08 Diego Biurrun
        CFLAGS="$CFLAGS -O5"
1299
        LDFLAGS="$LDFLAGS -O5"
1300 cf9d24ad Dan Christiansen
    else
1301 bb270c08 Diego Biurrun
        CFLAGS="-O3 $CFLAGS"
1302 cf9d24ad Dan Christiansen
    fi
1303 cddf3f45 Glenn Maynard
fi
1304
1305 80581e98 Michael Niedermayer
# PIC flags for shared library objects where they are needed
1306
if test "$lshared" = "yes" ; then
1307
  # LIBOBJFLAGS may have already been set in the OS configuration
1308
  if test -z "$LIBOBJFLAGS" ; then
1309 9261e3eb Måns Rullgård
    if test "$cpu" = "x86_64" -o "$cpu" = "ia64" -o "$cpu" = "alpha" ; then
1310 80581e98 Michael Niedermayer
      LIBOBJFLAGS="\$(PIC)"
1311
    fi
1312
  fi
1313
fi
1314
1315 951bf3e6 Fabrice Bellard
if test x"$bindir" = x""; then
1316
bindir="${prefix}/bin"
1317
fi
1318
1319 cc973ecb Luca Barbato
if test x"$libdir" = x""; then
1320
libdir="${prefix}/lib"
1321
fi
1322
1323 1d67a1d4 Diego Biurrun
if test x"$incdir" = x""; then
1324 6fe2dcd0 Diego Biurrun
incdir="${prefix}/include/ffmpeg"
1325 1d67a1d4 Diego Biurrun
fi
1326
1327 23a65308 Fabrice Bellard
if test x"$mandir" = x""; then
1328
mandir="${prefix}/man"
1329
fi
1330
1331 29799f8b Diego Biurrun
echo "install prefix   $prefix"
1332
echo "source path      $source_path"
1333 de6d9b64 Fabrice Bellard
echo "C compiler       $cc"
1334 4a908fbc Alex Beregszaszi
echo "make             $make"
1335 a4adb608 Michael Niedermayer
echo "CPU              $cpu ($tune)"
1336 eb94aca9 Charles Yates
if test "$BUILDSUF" != ""; then
1337 29799f8b Diego Biurrun
echo "build suffix     $BUILDSUF"
1338 eb94aca9 Charles Yates
fi
1339 29799f8b Diego Biurrun
echo "big-endian       $bigendian"
1340 7f965c1c Chris Flerackers
echo "inttypes.h       $inttypes"
1341 b5c950c4 Michael Niedermayer
echo "broken inttypes.h $emu_fast_int"
1342 053dea12 Aurelien Jacobs
if test $cpu = "x86" -o $cpu = "x86_64"; then
1343 de6d9b64 Fabrice Bellard
echo "MMX enabled      $mmx"
1344 52b41d7f Fabrice Bellard
echo "Vector Builtins  $builtin_vector"
1345 82eb4b0f Zuxy Meng
echo "3DNow! Builtins  $mm3dnow"
1346 e41e8342 Fabrice Bellard
fi
1347 eba9ae3c Gildas Bazin
if test $cpu = "armv4l"; then
1348
echo "IWMMXT enabled   $iwmmxt"
1349
fi
1350 e41e8342 Fabrice Bellard
if test $cpu = "mips"; then
1351 d46aba26 Leon van Stuivenberg
echo "MMI enabled      $mmi"
1352 e41e8342 Fabrice Bellard
fi
1353
if test $cpu = "powerpc"; then
1354 ab6c65f6 Brian Foley
echo "AltiVec enabled  $altivec"
1355 e41e8342 Fabrice Bellard
fi
1356 de6d9b64 Fabrice Bellard
echo "gprof enabled    $gprof"
1357 0147f198 François Revol
echo "zlib enabled     $zlib"
1358 e0f80bd7 Reimar Döffinger
echo "lzo enabled      $lzo"
1359 bb4c2140 Michael Niedermayer
echo "libgsm enabled   $libgsm"
1360 a6741398 Juanjo
echo "mp3lame enabled  $mp3lame"
1361 9146ca37 Måns Rullgård
echo "libogg enabled   $libogg"
1362 29799f8b Diego Biurrun
echo "Vorbis enabled   $vorbis"
1363
echo "Theora enabled   $theora"
1364
echo "FAAD enabled     $faad"
1365 445ad18d Zdenek Kabelac
echo "faadbin enabled  $faadbin"
1366 29799f8b Diego Biurrun
echo "FAAC enabled     $faac"
1367
echo "XviD enabled     $xvid"
1368 6662ec29 Michael Niedermayer
echo "x264 enabled     $x264"
1369 5cbcf02c Fabrice Bellard
echo "a52 support      $a52"
1370 57514323 Zdenek Kabelac
echo "a52 dlopened     $a52bin"
1371 29799f8b Diego Biurrun
echo "DTS support      $dts"
1372 bba9b16c Michael Niedermayer
echo "pp support       $pp"
1373 cddf3f45 Glenn Maynard
echo "debug symbols    $debug"
1374 65d1bea2 Michel Bardiaux
echo "strip symbols    $dostrip"
1375 cddf3f45 Glenn Maynard
echo "optimize         $optimize"
1376 320d060a Diego Biurrun
echo "static           $lstatic"
1377 1ddf5ba1 Diego Biurrun
echo "shared           $lshared"
1378 29799f8b Diego Biurrun
echo "video hooking    $vhook"
1379 a86b921c Fabrice Bellard
echo "SDL support      $sdl"
1380
if test $sdl_too_old = "yes"; then
1381 29799f8b Diego Biurrun
echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support."
1382 a86b921c Fabrice Bellard
fi
1383 68892110 Philip Gladstone
1384
if test "$vhook" = "yes" ; then
1385 47930f09 Philip Gladstone
echo "Imlib2 support   $imlib2"
1386 29799f8b Diego Biurrun
echo "FreeType support $freetype2"
1387 68892110 Philip Gladstone
fi
1388 f80f7964 Roman Shaposhnik
echo "Sun medialib support"  $sunmlib
1389 9c3d33d6 Michael Niedermayer
echo "pthreads support"      $pthreads
1390 bc634f6f Zdenek Kabelac
echo "AMR-NB float support"  $amr_nb
1391
echo "AMR-NB fixed support"  $amr_nb_fixed
1392 d663a1fd Michael Niedermayer
echo "AMR-WB float support"  $amr_wb
1393 2a515c08 Torsten Martinsen
echo "AMR-WB IF2 support"    $amr_if2
1394 7a91333f Hans Zandbelt
echo "network support      $network"
1395
if test "$network" = "yes" ; then
1396
echo "IPv6 support         $ipv6"
1397
fi
1398 b2e3c528 Michael Niedermayer
if test "$gpl" = "no" ; then
1399
echo "License: LGPL"
1400
else
1401
echo "License: GPL"
1402
fi
1403 de6d9b64 Fabrice Bellard
1404 29799f8b Diego Biurrun
echo "Creating config.mak and config.h..."
1405 de6d9b64 Fabrice Bellard
1406 f255e0ab Michel Bardiaux
date >> config.log
1407
echo "   $0 $FFMPEG_CONFIGURATION" >> config.log
1408 29799f8b Diego Biurrun
echo "# Automatically generated by configure - do not modify!" > config.mak
1409
echo "/* Automatically generated by configure - do not modify! */" > $TMPH
1410 f255e0ab Michel Bardiaux
echo "#define FFMPEG_CONFIGURATION "'"'"$FFMPEG_CONFIGURATION"'"' >> $TMPH
1411 de6d9b64 Fabrice Bellard
1412 9a695e98 Diego Biurrun
echo "prefix=\$(DESTDIR)$prefix" >> config.mak
1413
echo "libdir=\$(DESTDIR)$libdir" >> config.mak
1414 1d67a1d4 Diego Biurrun
echo "incdir=\$(DESTDIR)$incdir" >> config.mak
1415 9a695e98 Diego Biurrun
echo "bindir=\$(DESTDIR)$bindir" >> config.mak
1416
echo "mandir=\$(DESTDIR)$mandir" >> config.mak
1417 4a908fbc Alex Beregszaszi
echo "MAKE=$make" >> config.mak
1418 980fc7b8 Fabrice Bellard
echo "CC=$cc" >> config.mak
1419
echo "AR=$ar" >> config.mak
1420 be7109c1 Michael Niedermayer
echo "RANLIB=$ranlib" >> config.mak
1421 65d1bea2 Michel Bardiaux
if test "$dostrip" = "yes" ; then
1422 0f3cb305 Fabrice Bellard
echo "STRIP=$strip" >> config.mak
1423 da186ae2 Steven M. Schultz
echo "INSTALLSTRIP=$installstrip" >> config.mak
1424 65d1bea2 Michel Bardiaux
else
1425
echo "STRIP=echo ignoring strip" >> config.mak
1426
echo "INSTALLSTRIP=" >> config.mak
1427
fi
1428 75388c74 Michael Niedermayer
1429 29799f8b Diego Biurrun
# SHCFLAGS is a copy of CFLAGS without -mdynamic-no-pic, used when building
1430 75388c74 Michael Niedermayer
# shared modules on OS/X (vhook/Makefile).
1431
SHCFLAGS=$CFLAGS
1432
if test "$needmdynamicnopic" = yes; then
1433
   CFLAGS="$CFLAGS -mdynamic-no-pic"
1434
fi
1435
1436 a9b3f630 Nick Kurshev
echo "OPTFLAGS=$CFLAGS" >> config.mak
1437 75388c74 Michael Niedermayer
echo "SHCFLAGS=$SHCFLAGS">>config.mak
1438 0f3cb305 Fabrice Bellard
echo "LDFLAGS=$LDFLAGS" >> config.mak
1439 f39e56a8 Jacob Meuser
echo "LDCONFIG=$LDCONFIG" >> config.mak
1440 4baca069 Philip Gladstone
echo "FFSLDFLAGS=$FFSLDFLAGS" >> config.mak
1441 e1707f52 Michael Niedermayer
echo "SHFLAGS=$SHFLAGS" >> config.mak
1442 80581e98 Michael Niedermayer
echo "LIBOBJFLAGS=$LIBOBJFLAGS" >> config.mak
1443 b12f8273 Diego Biurrun
echo "BUILD_STATIC=$lstatic" >> config.mak
1444 eb94aca9 Charles Yates
echo "BUILDSUF=$BUILDSUF" >> config.mak
1445 f3ec2d46 Slavik Gnatenko
echo "LIBPREF=$LIBPREF" >> config.mak
1446 eb94aca9 Charles Yates
echo "LIBSUF=\${BUILDSUF}$LIBSUF" >> config.mak
1447 320d060a Diego Biurrun
if test "$lstatic" = "yes" ; then
1448
  echo "LIB=$LIB" >> config.mak
1449 1a44a8b6 Alexander Strasser
else # Some Make complain if this variable does not exist.
1450
  echo "LIB=" >> config.mak
1451 320d060a Diego Biurrun
fi
1452 f3ec2d46 Slavik Gnatenko
echo "SLIBPREF=$SLIBPREF" >> config.mak
1453 eb94aca9 Charles Yates
echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak
1454
echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak
1455 6852ac95 Romain Dolbeau
echo "TARGET_OS=$TARGET_OS" >> config.mak
1456 57514323 Zdenek Kabelac
if test "$cpu" = "x86" ; then
1457 980fc7b8 Fabrice Bellard
  echo "TARGET_ARCH_X86=yes" >> config.mak
1458 045ed63f Zdenek Kabelac
  echo "#define ARCH_X86 1" >> $TMPH
1459 053dea12 Aurelien Jacobs
elif test "$cpu" = "x86_64" ; then
1460
  echo "TARGET_ARCH_X86_64=yes" >> config.mak
1461
  echo "#define ARCH_X86_64 1" >> $TMPH
1462 0f3cb305 Fabrice Bellard
elif test "$cpu" = "armv4l" ; then
1463 6ed7422a Fabrice Bellard
  echo "TARGET_ARCH_ARMV4L=yes" >> config.mak
1464 045ed63f Zdenek Kabelac
  echo "#define ARCH_ARMV4L 1" >> $TMPH
1465 0f3cb305 Fabrice Bellard
elif test "$cpu" = "alpha" ; then
1466 91d1f1a4 Nick Kurshev
  echo "TARGET_ARCH_ALPHA=yes" >> config.mak
1467 045ed63f Zdenek Kabelac
  echo "#define ARCH_ALPHA 1" >> $TMPH
1468 35fedfc3 Philip Gladstone
elif test "$cpu" = "sparc64" ; then
1469
  echo "TARGET_ARCH_SPARC64=yes" >> config.mak
1470
  echo "#define ARCH_SPARC64 1" >> $TMPH
1471 bb476ff3 James Morrison
  echo "TARGET_ARCH_SPARC=yes" >> config.mak
1472
  echo "#define ARCH_SPARC 1" >> $TMPH
1473
elif test "$cpu" = "sparc" ; then
1474
  echo "TARGET_ARCH_SPARC=yes" >> config.mak
1475
  echo "#define ARCH_SPARC 1" >> $TMPH
1476 0f3cb305 Fabrice Bellard
elif test "$cpu" = "powerpc" ; then
1477
  echo "TARGET_ARCH_POWERPC=yes" >> config.mak
1478
  echo "#define ARCH_POWERPC 1" >> $TMPH
1479 9007f514 Romain Dolbeau
  if test $POWERPCMODE = "32bits"; then
1480
    echo "#define POWERPC_MODE_32BITS 1" >> $TMPH
1481
  else
1482
    echo "#define POWERPC_MODE_64BITS 1" >> $TMPH
1483
  fi
1484 e45a2872 Romain Dolbeau
  if test "$powerpc_perf" = "yes"; then
1485
    echo "#define POWERPC_PERFORMANCE_REPORT 1" >> $TMPH
1486
  fi
1487 d46aba26 Leon van Stuivenberg
elif test "$cpu" = "mips" ; then
1488
  echo "TARGET_ARCH_MIPS=yes" >> config.mak
1489
  echo "#define ARCH_MIPS 1" >> $TMPH
1490 bdb2e37c Alex Beregszaszi
elif test "$cpu" = "sh4" ; then
1491
  echo "TARGET_ARCH_SH4=yes" >> config.mak
1492
  echo "#define ARCH_SH4 1" >> $TMPH
1493 67860b26 Sam Hocevar
elif test "$cpu" = "parisc" ; then
1494
  echo "TARGET_ARCH_PARISC=yes" >> config.mak
1495
  echo "#define ARCH_PARISC 1" >> $TMPH
1496
elif test "$cpu" = "s390" ; then
1497
  echo "TARGET_ARCH_S390=yes" >> config.mak
1498
  echo "#define ARCH_S390 1" >> $TMPH
1499
elif test "$cpu" = "m68k" ; then
1500
  echo "TARGET_ARCH_M68K=yes" >> config.mak
1501
  echo "#define ARCH_M68K 1" >> $TMPH
1502
elif test "$cpu" = "ia64" ; then
1503
  echo "TARGET_ARCH_IA64=yes" >> config.mak
1504
  echo "#define ARCH_IA64 1" >> $TMPH
1505 bdb2e37c Alex Beregszaszi
fi
1506 a4adb608 Michael Niedermayer
echo "#define TUNECPU $TUNECPU" >> $TMPH
1507 0f3cb305 Fabrice Bellard
if test "$bigendian" = "yes" ; then
1508
  echo "WORDS_BIGENDIAN=yes" >> config.mak
1509
  echo "#define WORDS_BIGENDIAN 1" >> $TMPH
1510 91d1f1a4 Nick Kurshev
fi
1511 d2a9bddd Michael Niedermayer
if test "$inttypes" != "yes" ; then
1512
  echo "#define EMULATE_INTTYPES 1" >> $TMPH
1513 7f965c1c Chris Flerackers
fi
1514 b5c950c4 Michael Niedermayer
if test "$emu_fast_int" = "yes" ; then
1515 19d053c5 Roman Shaposhnik
  echo "#define EMULATE_FAST_INT 1" >> $TMPH
1516 b5c950c4 Michael Niedermayer
fi
1517 57514323 Zdenek Kabelac
if test "$mmx" = "yes" ; then
1518 980fc7b8 Fabrice Bellard
  echo "TARGET_MMX=yes" >> config.mak
1519 045ed63f Zdenek Kabelac
  echo "#define HAVE_MMX 1" >> $TMPH
1520 e82c5a8c Michael Niedermayer
  echo "#define __CPU__ 586" >> $TMPH
1521 de6d9b64 Fabrice Bellard
fi
1522 52b41d7f Fabrice Bellard
if test "$builtin_vector" = "yes" ; then
1523
  echo "TARGET_BUILTIN_VECTOR=yes" >> config.mak
1524
  echo "#define HAVE_BUILTIN_VECTOR 1" >> $TMPH
1525
fi
1526 82eb4b0f Zuxy Meng
if test "$mm3dnow" = "yes" ; then
1527
  echo "TARGET_BUILTIN_3DNOW=yes" >> config.mak
1528
  echo "#define HAVE_MM3DNOW 1" >> $TMPH
1529
fi
1530 eba9ae3c Gildas Bazin
if test "$iwmmxt" = "yes" ; then
1531
  echo "TARGET_IWMMXT=yes" >> config.mak
1532
  echo "#define HAVE_IWMMXT 1" >> $TMPH
1533
fi
1534 d46aba26 Leon van Stuivenberg
if test "$mmi" = "yes" ; then
1535
  echo "TARGET_MMI=yes" >> config.mak
1536
  echo "#define HAVE_MMI 1" >> $TMPH
1537
fi
1538 ab6c65f6 Brian Foley
if test "$altivec" = "yes" ; then
1539
  echo "TARGET_ALTIVEC=yes" >> config.mak
1540
  echo "#define HAVE_ALTIVEC 1" >> $TMPH
1541 db40a39a Michael Niedermayer
  echo "// Enable the next line to use the reference C code instead of AltiVec" >> $TMPH
1542
  echo "// #define ALTIVEC_USE_REFERENCE_C_CODE 1" >> $TMPH
1543 a9a07762 Michael Niedermayer
  if test "$_altivec_h" = "yes" ; then
1544
    echo "#define HAVE_ALTIVEC_H 1" >> $TMPH
1545
  else
1546 e67e14d5 Alex Beregszaszi
    echo "#undef HAVE_ALTIVEC_H" >> $TMPH
1547 a9a07762 Michael Niedermayer
  fi
1548 ab6c65f6 Brian Foley
fi
1549 57514323 Zdenek Kabelac
if test "$gprof" = "yes" ; then
1550 980fc7b8 Fabrice Bellard
  echo "TARGET_GPROF=yes" >> config.mak
1551 045ed63f Zdenek Kabelac
  echo "#define HAVE_GPROF 1" >> $TMPH
1552 de6d9b64 Fabrice Bellard
fi
1553 5e4639e2 Glenn Maynard
if test "$localtime_r" = "yes" ; then
1554
  echo "#define HAVE_LOCALTIME_R 1" >> $TMPH
1555
fi
1556 68892110 Philip Gladstone
if test "$imlib2" = "yes" ; then
1557
  echo "HAVE_IMLIB2=yes" >> config.mak
1558
fi
1559 04511d53 Philip Gladstone
if test "$freetype2" = "yes" ; then
1560
  echo "HAVE_FREETYPE2=yes" >> config.mak
1561
fi
1562 f80f7964 Roman Shaposhnik
if test "$sunmlib" = "yes" ; then
1563
  echo "HAVE_MLIB=yes" >> config.mak
1564
  echo "#define HAVE_MLIB 1" >> $TMPH
1565
  extralibs="$extralibs -lmlib"
1566
fi
1567 9c3d33d6 Michael Niedermayer
if test "$pthreads" = "yes" ; then
1568
  echo "HAVE_PTHREADS=yes" >> config.mak
1569
  echo "#define HAVE_PTHREADS 1" >> $TMPH
1570 2450cff2 François Revol
  echo "#define HAVE_THREADS 1" >> $TMPH
1571 8c802695 Jacob Meuser
  if test $targetos != FreeBSD -a $targetos != OpenBSD ; then
1572 12043e1d Steven M. Schultz
     extralibs="$extralibs -lpthread"
1573
  fi
1574 9c3d33d6 Michael Niedermayer
fi
1575 a86b921c Fabrice Bellard
if test "$sdl" = "yes" ; then
1576
  echo "CONFIG_SDL=yes" >> config.mak
1577 6a1a892f Frantisek Dvorak
  echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak
1578
  echo "SDL_CFLAGS=`"${SDL_CONFIG}" --cflags`" >> config.mak
1579 a86b921c Fabrice Bellard
fi
1580 146ea952 Nicolas Boos
if test "$texi2html" = "yes"; then
1581
  echo "BUILD_DOC=yes" >> config.mak
1582
fi
1583 95e2ce4a Michael Niedermayer
if test "$have_lrintf" = "yes" ; then
1584
  echo "#define HAVE_LRINTF 1" >> $TMPH
1585
fi
1586 68892110 Philip Gladstone
if test "$vhook" = "yes" ; then
1587
  echo "BUILD_VHOOK=yes" >> config.mak
1588
  echo "#define HAVE_VHOOK 1" >> $TMPH
1589
fi
1590 5a872801 Luca Barbato
1591 69e9b2cf Diego Biurrun
pp_version=`grep '#define LIBPOSTPROC_VERSION ' "$source_path/libavcodec/libpostproc/postprocess.h" | sed 's/[^0-9\.]//g'`
1592 5a872801 Luca Barbato
lavc_version=`grep '#define LIBAVCODEC_VERSION ' "$source_path/libavcodec/avcodec.h" | sed 's/[^0-9\.]//g'`
1593
lavf_version=`grep '#define LIBAVFORMAT_VERSION ' "$source_path/libavformat/avformat.h" | sed 's/[^0-9\.]//g'`
1594
lavu_version=`grep '#define LIBAVUTIL_VERSION ' "$source_path/libavutil/avutil.h" | sed 's/[^0-9\.]//g'`
1595
1596
1597
1598 57514323 Zdenek Kabelac
if test "$lshared" = "yes" ; then
1599 320d060a Diego Biurrun
  echo "#define BUILD_SHARED_AV 1" >> $TMPH
1600 0319c531 Nick Kurshev
  echo "BUILD_SHARED=yes" >> config.mak
1601 97006039 Jacob Meuser
  echo "PIC=-fPIC -DPIC" >> config.mak
1602 39503a27 Diego Biurrun
  echo "SPPMAJOR=${lavc_version%%.*}" >> config.mak
1603 5a872801 Luca Barbato
  echo "SPPVERSION=$lavc_version" >> config.mak
1604 39503a27 Diego Biurrun
  echo "LAVCMAJOR=${lavc_version%%.*}" >> config.mak
1605 5a872801 Luca Barbato
  echo "LAVCVERSION=$lavc_version" >> config.mak
1606 39503a27 Diego Biurrun
  echo "LAVFMAJOR=${lavf_version%%.*}" >> config.mak
1607 5a872801 Luca Barbato
  echo "LAVFVERSION=$lavf_version" >> config.mak
1608 39503a27 Diego Biurrun
  echo "LAVUMAJOR=${lavu_version%%.*}" >> config.mak
1609 5a872801 Luca Barbato
  echo "LAVUVERSION=$lavu_version" >> config.mak
1610 4bdd05e7 Diego Biurrun
  echo "SLIBNAME=${SLIBNAME}" >> config.mak
1611 f3b60109 Diego Biurrun
  echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak
1612
  echo "SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}" >> config.mak
1613 0319c531 Nick Kurshev
fi
1614 ef0bc4c9 François Revol
echo "EXTRALIBS=$extralibs" >> config.mak
1615 281a74da Michael Niedermayer
version=`grep '#define FFMPEG_VERSION ' "$source_path/libavcodec/avcodec.h" |
1616 258207b7 Fabrice Bellard
 cut -d '"' -f 2`
1617
echo "VERSION=$version" >>config.mak
1618 29799f8b Diego Biurrun
# If you do not want to use encoders, disable them.
1619 045ed63f Zdenek Kabelac
echo "#define CONFIG_ENCODERS 1" >> $TMPH
1620 d771bcae Fabrice Bellard
echo "CONFIG_ENCODERS=yes" >> config.mak
1621
1622 29799f8b Diego Biurrun
# If you do not want to use decoders, disable them.
1623 045ed63f Zdenek Kabelac
echo "#define CONFIG_DECODERS 1" >> $TMPH
1624 d771bcae Fabrice Bellard
echo "CONFIG_DECODERS=yes" >> config.mak
1625
1626 a9e35095 Diego Biurrun
# muxers
1627
if test "$muxers" = "yes" ; then
1628
  echo "#define CONFIG_MUXERS 1" >> $TMPH
1629
  echo "CONFIG_MUXERS=yes" >> config.mak
1630
fi
1631
1632
# demuxers
1633
if test "$demuxers" = "yes" ; then
1634
  echo "#define CONFIG_DEMUXERS 1" >> $TMPH
1635
  echo "CONFIG_DEMUXERS=yes" >> config.mak
1636
fi
1637
1638 5cbcf02c Fabrice Bellard
# AC3
1639
if test "$a52" = "yes" ; then
1640
  echo "#define CONFIG_AC3 1" >> $TMPH
1641
  echo "CONFIG_AC3=yes" >> config.mak
1642 d771bcae Fabrice Bellard
1643 5cbcf02c Fabrice Bellard
  if test "$a52bin" = "yes" ; then
1644
    echo "#define CONFIG_A52BIN 1" >> $TMPH
1645
    echo "CONFIG_A52BIN=yes" >> config.mak
1646
  fi
1647
fi
1648
1649 23c99253 Michael Niedermayer
# DTS
1650
if test "$dts" = "yes" ; then
1651
  echo "#define CONFIG_DTS 1" >> $TMPH
1652
  echo "CONFIG_DTS=yes" >> config.mak
1653
fi
1654
1655 bba9b16c Michael Niedermayer
# PP
1656
if test "$pp" = "yes" ; then
1657
  echo "#define CONFIG_PP 1" >> $TMPH
1658
  echo "CONFIG_PP=yes" >> config.mak
1659
fi
1660
1661 29799f8b Diego Biurrun
# MPEG audio high precision mode
1662 1eb2212e Fabrice Bellard
if test "$mpegaudio_hp" = "yes" ; then
1663
  echo "#define CONFIG_MPEGAUDIO_HP 1" >> $TMPH
1664
fi
1665
1666 5cbcf02c Fabrice Bellard
if test "$v4l" = "yes" ; then
1667
  echo "#define CONFIG_VIDEO4LINUX 1" >> $TMPH
1668
  echo "CONFIG_VIDEO4LINUX=yes" >> config.mak
1669
fi
1670
1671 0a7b514f Luca Abeni
if test "$v4l2" = "yes" ; then
1672
  echo "#define CONFIG_VIDEO4LINUX2 1" >> $TMPH
1673
  echo "CONFIG_VIDEO4LINUX2=yes" >> config.mak
1674
fi
1675
1676 6beefa40 Michael Niedermayer
if test "$bktr" = "yes" ; then
1677
  echo "#define CONFIG_BKTR 1" >> $TMPH
1678
  echo "CONFIG_BKTR=yes" >> config.mak
1679
fi
1680
1681 8aa3ee32 Max Krasnyansky
if test "$dv1394" = "yes" ; then
1682
  echo "#define CONFIG_DV1394 1" >> $TMPH
1683
  echo "CONFIG_DV1394=yes" >> config.mak
1684
fi
1685
1686 f02be79d Roman Shaposhnik
if test "$dc1394" = "yes" ; then
1687
  echo "#define CONFIG_DC1394 1" >> $TMPH
1688
  echo "CONFIG_DC1394=yes" >> config.mak
1689
fi
1690
1691 adbc0510 Philip Gladstone
if test "$dlopen" = "yes" ; then
1692
  echo "#define CONFIG_HAVE_DLOPEN 1" >> $TMPH
1693
fi
1694
1695
if test "$dlfcn" = "yes" ; then
1696
  echo "#define CONFIG_HAVE_DLFCN 1" >> $TMPH
1697
fi
1698
1699 5cbcf02c Fabrice Bellard
if test "$audio_oss" = "yes" ; then
1700
  echo "#define CONFIG_AUDIO_OSS 1" >> $TMPH
1701
  echo "CONFIG_AUDIO_OSS=yes" >> config.mak
1702 57514323 Zdenek Kabelac
fi
1703
1704 dfdfa47c François Revol
if test "$audio_beos" = "yes" ; then
1705
  echo "#define CONFIG_AUDIO_BEOS 1" >> $TMPH
1706
  echo "CONFIG_AUDIO_BEOS=yes" >> config.mak
1707
fi
1708
1709 5cbcf02c Fabrice Bellard
if test "$network" = "yes" ; then
1710
  echo "#define CONFIG_NETWORK 1" >> $TMPH
1711
  echo "CONFIG_NETWORK=yes" >> config.mak
1712 6ed7422a Fabrice Bellard
fi
1713 daf8e955 Fabrice Bellard
1714 7a91333f Hans Zandbelt
if test "$ipv6" = "yes" ; then
1715
  echo "#define CONFIG_IPV6 1" >> $TMPH
1716
fi
1717
1718 0147f198 François Revol
if test "$zlib" = "yes" ; then
1719
  echo "#define CONFIG_ZLIB 1" >> $TMPH
1720
  echo "CONFIG_ZLIB=yes" >> config.mak
1721
fi
1722
1723 e0f80bd7 Reimar Döffinger
if test "$lzo" = "yes" ; then
1724
  echo "#define CONFIG_LZO 1" >> $TMPH
1725
  echo "CONFIG_LZO=yes" >> config.mak
1726
fi
1727
1728 bb4c2140 Michael Niedermayer
if test "$libgsm" = "yes" ; then
1729
  echo "#define CONFIG_LIBGSM 1" >> $TMPH
1730
  echo "CONFIG_LIBGSM=yes" >> config.mak
1731
fi
1732
1733 57514323 Zdenek Kabelac
if test "$mp3lame" = "yes" ; then
1734 045ed63f Zdenek Kabelac
  echo "#define CONFIG_MP3LAME 1" >> $TMPH
1735 a6741398 Juanjo
  echo "CONFIG_MP3LAME=yes" >> config.mak
1736
fi
1737
1738 9146ca37 Måns Rullgård
if test "$libogg" = "yes" ; then
1739 5c5dea3f Nilesh Bansal
  echo "#define CONFIG_LIBOGG 1" >> $TMPH
1740
  echo "CONFIG_LIBOGG=yes" >> config.mak
1741
fi
1742
1743 81e0d0b4 Mark Hills
if test "$vorbis" = "yes" ; then
1744 5c5dea3f Nilesh Bansal
  echo "#define CONFIG_LIBVORBIS 1" >> $TMPH
1745
  echo "CONFIG_LIBVORBIS=yes" >> config.mak
1746
fi
1747
1748
if test "$theora" = "yes" ; then
1749
  echo "#define CONFIG_LIBTHEORA 1" >> $TMPH
1750
  echo "CONFIG_LIBTHEORA=yes" >> config.mak
1751 81e0d0b4 Mark Hills
fi
1752
1753 0fc50e58 Zdenek Kabelac
if test "$faad" = "yes" ; then
1754
  echo "#define CONFIG_FAAD 1" >> $TMPH
1755
  echo "CONFIG_FAAD=yes" >> config.mak
1756
fi
1757
1758
if test "$faadbin" = "yes" ; then
1759
  echo "#define CONFIG_FAADBIN 1" >> $TMPH
1760 445ad18d Zdenek Kabelac
  echo "CONFIG_FAADBIN=yes" >> config.mak
1761 0fc50e58 Zdenek Kabelac
fi
1762
1763 29d48296 Michael Niedermayer
if test "$faac" = "yes" ; then
1764
  echo "#define CONFIG_FAAC 1" >> $TMPH
1765
  echo "CONFIG_FAAC=yes" >> config.mak
1766
fi
1767
1768 1ddadfa9 Adam Thayer
if test "$xvid" = "yes" ; then
1769
  echo "#define CONFIG_XVID 1" >> $TMPH
1770
  echo "CONFIG_XVID=yes" >> config.mak
1771
fi
1772
1773 6662ec29 Michael Niedermayer
if test "$x264" = "yes" ; then
1774
  echo "#define CONFIG_X264 1" >> $TMPH
1775
  echo "CONFIG_X264=yes" >> config.mak
1776
fi
1777
1778 732d9245 Bill Eldridge
if test "$mingw32" = "yes" ; then
1779
  echo "#define CONFIG_WIN32 1" >> $TMPH
1780
  echo "CONFIG_WIN32=yes" >> config.mak
1781 16806499 Michael Niedermayer
  echo "HAVE_W32THREADS=yes" >> config.mak
1782
  echo "#define HAVE_W32THREADS 1" >> $TMPH
1783 2450cff2 François Revol
  echo "#define HAVE_THREADS 1" >> $TMPH
1784 7eea5766 Fabrice Bellard
  echo "#ifndef __MINGW32__" >> $TMPH
1785 732d9245 Bill Eldridge
  echo "#define __MINGW32__ 1" >> $TMPH
1786 7eea5766 Fabrice Bellard
  echo "#endif" >> $TMPH
1787 3f027ca7 Felix Bünemann
fi
1788
1789 ac44871c Gildas Bazin
if test "$mingwce" = "yes" ; then
1790
  echo "#define CONFIG_WIN32 1" >> $TMPH
1791
  echo "CONFIG_WIN32=yes" >> config.mak
1792
  echo "#define CONFIG_WINCE 1" >> $TMPH
1793
  echo "CONFIG_WINCE=yes" >> config.mak
1794
  echo "#ifndef __MINGW32__" >> $TMPH
1795
  echo "#define __MINGW32__ 1" >> $TMPH
1796
  echo "#endif" >> $TMPH
1797
fi
1798
1799 f3ec2d46 Slavik Gnatenko
if test "$os2" = "yes" ; then
1800
  echo "#define CONFIG_OS2 1" >> $TMPH
1801
  echo "CONFIG_OS2=yes" >> config.mak
1802 e2a5fd20 Michael Niedermayer
  echo "HAVE_OS2THREADS=yes" >> config.mak
1803
  echo "#define HAVE_OS2THREADS 1" >> $TMPH
1804
  echo "#define HAVE_THREADS 1" >> $TMPH
1805 f3ec2d46 Slavik Gnatenko
fi
1806
1807 6e023978 Roman Shaposhnik
if test "$TARGET_OS" = "SunOS" ; then
1808
  echo "#define CONFIG_SUNOS 1" >> $TMPH
1809
fi
1810
1811 2450cff2 François Revol
if test "$TARGET_OS" = "BeOS" ; then
1812
  echo "HAVE_BEOSTHREADS=yes" >> config.mak
1813
  echo "#define HAVE_BEOSTHREADS 1" >> $TMPH
1814
  echo "#define HAVE_THREADS 1" >> $TMPH
1815
fi
1816
1817 90cee0c3 Michael Niedermayer
if test "$darwin" = "yes"; then
1818
  echo "#define CONFIG_DARWIN 1"  >> $TMPH
1819
  echo "CONFIG_DARWIN=yes" >> config.mak
1820
fi
1821
1822 57514323 Zdenek Kabelac
if test "$_malloc_h" = "yes" ; then
1823 045ed63f Zdenek Kabelac
  echo "#define HAVE_MALLOC_H 1" >> $TMPH
1824 3d204385 Nick Kurshev
else
1825 045ed63f Zdenek Kabelac
  echo "#undef  HAVE_MALLOC_H" >> $TMPH
1826 3d204385 Nick Kurshev
fi
1827
1828 57514323 Zdenek Kabelac
if test "$_memalign" = "yes" ; then
1829 045ed63f Zdenek Kabelac
  echo "#define HAVE_MEMALIGN 1" >> $TMPH
1830
else
1831
  echo "#undef  HAVE_MEMALIGN" >> $TMPH
1832
fi
1833
1834 da9b170c Michael Niedermayer
if test "$memalignhack" = "yes" ; then
1835
  echo "#define MEMALIGN_HACK 1" >> $TMPH
1836
fi
1837
1838
1839 26b35efb François Revol
if test "$netserver" = "yes" ; then
1840
  echo "#define CONFIG_BEOS_NETSERVER 1" >> $TMPH
1841
  echo "CONFIG_BEOS_NETSERVER=yes" >> config.mak
1842
fi
1843
1844 4baca069 Philip Gladstone
if test "$need_inet_aton" = "yes" ; then
1845
  echo "NEED_INET_ATON=yes" >> config.mak
1846
fi
1847
1848 57514323 Zdenek Kabelac
if test "$simpleidct" = "yes" ; then
1849 045ed63f Zdenek Kabelac
  echo "#define SIMPLE_IDCT 1" >> $TMPH
1850
fi
1851
1852 04f46ced Gildas Bazin
if test "$protocols" = "yes" ; then
1853
  echo "#define CONFIG_PROTOCOLS 1" >> $TMPH
1854
  echo "CONFIG_PROTOCOLS=yes" >> config.mak
1855
fi
1856
1857 8154d2e0 Fabrice Bellard
if test "$ffserver" = "yes" ; then
1858
  echo "#define CONFIG_FFSERVER 1" >> $TMPH
1859
  echo "CONFIG_FFSERVER=yes" >> config.mak
1860
fi
1861
1862 a86b921c Fabrice Bellard
if test "$ffplay" = "yes" ; then
1863
  echo "CONFIG_FFPLAY=yes" >> config.mak
1864
fi
1865
1866 b2e3c528 Michael Niedermayer
if test "$gpl" = "yes" ; then
1867
  echo "#define CONFIG_GPL 1" >> $TMPH
1868
  echo "CONFIG_GPL=yes" >> config.mak
1869
fi
1870
1871 c13e1abd Falk Hüffner
echo "#define restrict $_restrict" >> $TMPH
1872
1873 bb801c97 Michael Niedermayer
if test "$optimize" = "small"; then
1874
  echo "#define always_inline"  >> $TMPH
1875
fi
1876
1877 0f3cb305 Fabrice Bellard
# build tree in object directory if source path is different from current one
1878
if test "$source_path_used" = "yes" ; then
1879 2a4e872b Alexander Strasser
    DIRS="\
1880
         doc \
1881
         libavformat \
1882
         libavcodec \
1883
         libavcodec/alpha \
1884
         libavcodec/armv4l \
1885
         libavcodec/i386 \
1886
         libavcodec/sparc \
1887
         libavcodec/mlib \
1888
         libavcodec/ppc \
1889
         libavcodec/liba52 \
1890
         libavcodec/libpostproc \
1891
         libavutil \
1892
         tests \
1893
         vhook \
1894
         "
1895
    FILES="\
1896
          Makefile \
1897
          libavformat/Makefile \
1898
          libavcodec/Makefile \
1899
          libavcodec/libpostproc/Makefile \
1900
          libavutil/Makefile \
1901
          tests/Makefile \
1902
          vhook/Makefile \
1903
          doc/Makefile \
1904
          doc/texi2pod.pl \
1905
          "
1906 0f3cb305 Fabrice Bellard
    for dir in $DIRS ; do
1907
            mkdir -p $dir
1908
    done
1909
    for f in $FILES ; do
1910 281a74da Michael Niedermayer
        ln -sf "$source_path/$f" $f
1911 0f3cb305 Fabrice Bellard
    done
1912
fi
1913 8e955b13 Diego Biurrun
echo "SRC_PATH=$source_path" >> config.mak
1914 8b2121e3 Måns Rullgård
echo "BUILD_ROOT=$PWD" >> config.mak
1915 0f3cb305 Fabrice Bellard
1916 d663a1fd Michael Niedermayer
if test "$amr_wb" = "yes" ; then
1917
  echo "#define AMR_WB 1" >> $TMPH
1918
  echo "AMR_WB=yes" >> config.mak
1919
  echo
1920
  echo "AMR WB FLOAT NOTICE ! Make sure you have downloaded TS26.204"
1921
  echo "V5.1.0 from "
1922
  echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip"
1923
  echo "and extracted the source to libavcodec/amrwb_float"
1924
fi
1925
1926 891f64b3 joca@rixmail.se
if test "$amr_nb" = "yes" ; then
1927
  echo "#define AMR_NB 1" >> $TMPH
1928
  echo "AMR_NB=yes" >> config.mak
1929
  echo
1930 6eb07e73 Diego Biurrun
  echo "AMR NB FLOAT NOTICE ! Make sure you have downloaded TS26.104"
1931
  echo "REL-5 V5.1.0 from "
1932
  echo "http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-5??.zip"
1933
  echo "and extracted the source to libavcodec/amr_float"
1934
  echo "If you try this on alpha, you may need to change Word32 to int in amr/typedef.h"
1935
fi
1936
1937 bc634f6f Zdenek Kabelac
if test "$amr_nb_fixed" = "yes" ; then
1938
  echo "#define AMR_NB_FIXED 1" >> $TMPH
1939 28fff4c8 Diego Biurrun
  echo "AMR_NB_FIXED=yes" >> config.mak
1940 b9ca6d47 Diego Biurrun
  echo
1941 bc634f6f Zdenek Kabelac
  echo "AMR NB FIXED POINT NOTICE! Make sure you have downloaded TS26.073 "
1942
  echo "REL-5 version 5.1.0 from "
1943 184582de Michael Niedermayer
  echo "http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26073-5??.zip"
1944 891f64b3 joca@rixmail.se
  echo "and extracted src to libavcodec/amr"
1945 bc634f6f Zdenek Kabelac
  echo "You must also add -DMMS_IO and remove -pedantic-errors to/from CFLAGS in libavcodec/amr/makefile."
1946
  echo "i.e. CFLAGS = -Wall -I. \$(CFLAGS_\$(MODE)) -D\$(VAD) -DMMS_IO"
1947 891f64b3 joca@rixmail.se
fi
1948
1949 2a515c08 Torsten Martinsen
if test "$amr_if2" = "yes" ; then
1950
  echo "AMR_CFLAGS=-DIF2=1" >> config.mak
1951
fi
1952
1953 bc634f6f Zdenek Kabelac
1954 009cf97d Michael Niedermayer
for codec in $CODEC_LIST ; do
1955 ce869f59 Michael Niedermayer
    echo "#define CONFIG_`echo $codec | tr a-z A-Z` 1" >> $TMPH
1956
    echo "CONFIG_`echo $codec | tr a-z A-Z`=yes" >> config.mak
1957 009cf97d Michael Niedermayer
done
1958
1959 9cb2cf10 Diego Biurrun
# Do not overwrite config.h if unchanged to avoid superfluous rebuilds.
1960
diff $TMPH config.h >/dev/null 2>&1
1961 214c5f26 Michel Bardiaux
if test "$?" != "0" ; then
1962 9cb2cf10 Diego Biurrun
        mv -f $TMPH config.h
1963
else
1964
        echo "config.h is unchanged"
1965
fi
1966 3d204385 Nick Kurshev
1967 f3ec2d46 Slavik Gnatenko
rm -f $TMPO $TMPC $TMPE $TMPS $TMPH
1968 def4272a Aurelien Jacobs
1969
1970 29799f8b Diego Biurrun
# build pkg-config files libav*.pc and libpostproc.pc
1971 31abdc45 j@v2v.cc
# libavutil.pc
1972
cat <<EOF >libavutil.pc
1973
prefix=$prefix
1974
exec_prefix=\${prefix}
1975
libdir=\${exec_prefix}/lib
1976
includedir=\${prefix}/include
1977
1978
Name: libavutil
1979
Description: FFmpeg utility library
1980
Version: $lavu_version
1981 115329f1 Diego Biurrun
Requires:
1982 31abdc45 j@v2v.cc
Conflicts:
1983
Libs: -L\${libdir} -lavutil
1984
Cflags: -I\${includedir} -I\${includedir}/ffmpeg
1985
EOF
1986
1987
cat <<EOF >libavutil-uninstalled.pc
1988
prefix=
1989
exec_prefix=
1990
libdir=\${pcfiledir}/libavutil
1991
includedir=\${pcfiledir}/libavutil
1992
1993
Name: libavutil
1994
Description: FFmpeg utility library
1995
Version: $lavu_version
1996 115329f1 Diego Biurrun
Requires:
1997 31abdc45 j@v2v.cc
Conflicts:
1998
Libs: \${libdir}/${LIBPREF}avutil${LIBSUF}
1999
Cflags: -I\${includedir}
2000
EOF
2001 def4272a Aurelien Jacobs
2002
# libavcodec.pc
2003
cat <<EOF >libavcodec.pc
2004
prefix=$prefix
2005
exec_prefix=\${prefix}
2006
libdir=\${exec_prefix}/lib
2007
includedir=\${prefix}/include
2008
2009
Name: libavcodec
2010
Description: FFmpeg codec library
2011 31abdc45 j@v2v.cc
Version: $lavc_version
2012 c99dd233 j@v2v.cc
Requires: $pkg_requires libavutil = $lavu_version
2013 def4272a Aurelien Jacobs
Conflicts:
2014
Libs: -L\${libdir} -lavcodec $extralibs
2015
Cflags: -I\${includedir} -I\${includedir}/ffmpeg
2016
EOF
2017
2018
cat <<EOF >libavcodec-uninstalled.pc
2019
prefix=
2020
exec_prefix=
2021
libdir=\${pcfiledir}/libavcodec
2022
includedir=\${pcfiledir}/libavcodec
2023
2024
Name: libavcodec
2025
Description: FFmpeg codec library
2026 31abdc45 j@v2v.cc
Version: $lavc_version
2027 c99dd233 j@v2v.cc
Requires: $pkg_requires libavutil = $lavu_version
2028 def4272a Aurelien Jacobs
Conflicts:
2029
Libs: \${libdir}/${LIBPREF}avcodec${LIBSUF} $extralibs
2030
Cflags: -I\${includedir}
2031
EOF
2032
2033
# libavformat.pc
2034
cat <<EOF >libavformat.pc
2035
prefix=$prefix
2036
exec_prefix=\${prefix}
2037
libdir=\${exec_prefix}/lib
2038
includedir=\${prefix}/include
2039
2040
Name: libavformat
2041
Description: FFmpeg container format library
2042 31abdc45 j@v2v.cc
Version: $lavf_version
2043 c99dd233 j@v2v.cc
Requires: $pkg_requires libavcodec = $lavc_version
2044 def4272a Aurelien Jacobs
Conflicts:
2045
Libs: -L\${libdir} -lavformat $extralibs
2046
Cflags: -I\${includedir} -I\${includedir}/ffmpeg
2047
EOF
2048
2049
cat <<EOF >libavformat-uninstalled.pc
2050
prefix=
2051
exec_prefix=
2052
libdir=\${pcfiledir}/libavformat
2053
includedir=\${pcfiledir}/libavformat
2054
2055
Name: libavformat
2056
Description: FFmpeg container format library
2057 31abdc45 j@v2v.cc
Version: $lavf_version
2058 c99dd233 j@v2v.cc
Requires: $pkg_requires libavcodec = $lavc_version
2059 def4272a Aurelien Jacobs
Conflicts:
2060
Libs: \${libdir}/${LIBPREF}avformat${LIBSUF} $extralibs
2061
Cflags: -I\${includedir}
2062
EOF
2063
2064
2065
# libpostproc.pc
2066
cat <<EOF >libpostproc.pc
2067
prefix=$prefix
2068
exec_prefix=\${prefix}
2069
libdir=\${exec_prefix}/lib
2070
includedir=\${prefix}/include
2071
2072
Name: libpostproc
2073
Description: FFmpeg post processing library
2074 31abdc45 j@v2v.cc
Version: $lavc_version
2075 115329f1 Diego Biurrun
Requires:
2076 def4272a Aurelien Jacobs
Conflicts:
2077
Libs: -L\${libdir} -lpostproc
2078
Cflags: -I\${includedir} -I\${includedir}/postproc
2079
EOF
2080
2081
cat <<EOF >libpostproc-uninstalled.pc
2082
prefix=
2083
exec_prefix=
2084
libdir=\${pcfiledir}/libavcodec/libpostproc
2085
includedir=\${pcfiledir}/libavcodec/libpostproc
2086
2087
Name: libpostproc
2088
Description: FFmpeg post processing library
2089 31abdc45 j@v2v.cc
Version: $lavc_version
2090 115329f1 Diego Biurrun
Requires:
2091 def4272a Aurelien Jacobs
Conflicts:
2092
Libs: \${libdir}/${LIBPREF}postproc${LIBSUF}
2093
Cflags: -I\${includedir}
2094
EOF