configure 30.5 KB
Newer Older
F
Fabrice Bellard 已提交
1
#!/bin/sh
2
#
F
Fabrice Bellard 已提交
3
# ffmpeg configure script (c) 2000, 2001, 2002 Fabrice Bellard
4
#
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
cat << EOF

Usage: configure [options]
Options: [defaults in brackets after descriptions]

EOF
echo "Standard options:"
echo "  --help                   print this message"
echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
echo "  --mandir=DIR             man documentation in DIR [PREFIX/man]"
echo "  --enable-mp3lame         enable mp3 encoding via libmp3lame [default=no]"
echo "  --enable-vorbis          enable vorbis support via libvorbisenc [default=no]"
echo "  --enable-faad            enable faad support via libfaad [default=no]"
echo "  --enable-faadbin         build faad support with runtime linking [default=no]"
echo "  --enable-faac            enable faac support via libfaac [default=no]"
echo "  --enable-mingw32         enable mingw32 native/cross windows compile"
echo "  --enable-a52             enable GPL'ed A52 support [default=no]"
echo "  --enable-a52bin          open liba52.so.0 at runtime [default=no]"
echo "  --enable-pp              enable GPL'ed post processing support [default=no]"
echo "  --enable-shared-pp       use libpostproc.so [default=no]"
echo "  --enable-shared          build shared libraries [default=no]"
echo "  --enable-amr_nb          enable amr_nb float audio codec"
echo "  --enable-amr_nb-fixed    use fixed point for amr-nb codec"
30
echo "  --enable-amr_wb          enable amr_wb float audio codec"
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
echo "  --enable-sunmlib         use Sun medialib [default=no]"
echo ""
echo "Advanced options (experts only):"
echo "  --source-path=PATH       path of source code [$source_path]"
echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
echo "  --cc=CC                  use C compiler CC [$cc]"
echo "  --make=MAKE              use specified make [$make]"
echo "  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS [$CFLAGS]"
echo "  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]"
echo "  --extra-libs=ELIBS       add ELIBS [$ELIBS]"
echo "  --cpu=CPU                force cpu to CPU  [$cpu]"
echo "  --tune=PROCESSOR         tune code for a particular CPU (may fails or misperforms on other CPUs)"
echo "  --powerpc-perf-enable    enable performance report on PPC (requires enabling PMC)"
echo "  --disable-mmx            disable mmx usage"
echo "  --disable-altivec        disable AltiVec usage"
echo "  --disable-audio-oss      disable OSS audio support [default=no]"
echo "  --disable-audio-beos     disable BeOS audio support [default=no]"
echo "  --disable-v4l            disable video4linux grabbing [default=no]"
echo "  --disable-dv1394         disable DV1394 grabbing [default=no]"
echo "  --disable-network        disable network support [default=no]"
echo "  --disable-zlib           disable zlib [default=no]"
echo "  --disable-simple_idct    disable simple IDCT routines [default=no]"
echo "  --disable-vhook          disable video hooking support"
echo "  --enable-gprof           enable profiling with gprof [$gprof]"
echo "  --disable-debug          disable debugging symbols"
echo "  --disable-opts           disable compiler optimizations"
echo "  --disable-mpegaudio-hp   faster (but less accurate)"
echo "                           mpegaudio decoding [default=no]"
echo "  --disable-ffserver       disable ffserver build"
echo "  --disable-ffplay         disable ffplay build"
echo "  --disable-risky          disables patent encumbered codecs"
echo "  --enable-small           optimize for size instead of speed"
echo ""
echo "NOTE: The object files are build at the place where configure is launched"
exit 1
fi

68
# set temporary file name
Z
Zdenek Kabelac 已提交
69
if test ! -z "$TMPDIR" ; then
70
    TMPDIR1="${TMPDIR}"
Z
Zdenek Kabelac 已提交
71
elif test ! -z "$TEMPDIR" ; then
72
    TMPDIR1="${TEMPDIR}"
N
Nick Kurshev 已提交
73
else
74
    TMPDIR1="/tmp"
N
Nick Kurshev 已提交
75 76
fi

77 78
TMPC="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.c"
TMPO="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.o"
79
TMPE="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}"
80 81 82
TMPS="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.S"
TMPH="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.h"

F
Fabrice Bellard 已提交
83 84
# default parameters
prefix="/usr/local"
F
Fabrice Bellard 已提交
85
mandir=""
F
Fabrice Bellard 已提交
86
bindir=""
87
cross_prefix=""
F
Fabrice Bellard 已提交
88 89
cc="gcc"
ar="ar"
M
Michael Niedermayer 已提交
90
ranlib="ranlib"
91
make="make"
92
strip="strip"
F
Fabrice Bellard 已提交
93
cpu=`uname -m`
94
tune="generic"
95
powerpc_perf="no"
96
mmx="default"
97
altivec="default"
98
mmi="default"
F
Fabrice Bellard 已提交
99
case "$cpu" in
100
  i386|i486|i586|i686|i86pc|BePC)
F
Fabrice Bellard 已提交
101 102
    cpu="x86"
  ;;
103 104
  # armv4l is a subset of armv5tel
  armv4l|armv5tel)
105 106
    cpu="armv4l"
  ;;
107 108 109
  alpha)
    cpu="alpha"
  ;;
110
  "Power Macintosh"|ppc)
111 112
    cpu="powerpc"
  ;;
113 114 115
  mips)
    cpu="mips"
  ;;
116 117 118
  sun4u)
    cpu="sparc64"
  ;;
A
Alex Beregszaszi 已提交
119 120 121
  sh4)
    cpu="sh4"
  ;;
F
Fabrice Bellard 已提交
122
  *)
123
    cpu="unknown"
F
Fabrice Bellard 已提交
124 125 126
  ;;
esac
gprof="no"
F
Fabrice Bellard 已提交
127 128
v4l="yes"
audio_oss="yes"
129
audio_beos="no"
130
dv1394="yes"
F
Fabrice Bellard 已提交
131
network="yes"
132
zlib="yes"
133
mp3lame="no"
134
vorbis="no"
135 136
faad="no"
faadbin="no"
137
faac="no"
138
a52="no"
Z
Zdenek Kabelac 已提交
139
a52bin="no"
140
pp="no"
141
shared_pp="no"
142
mingw32="no"
143
cygwin="no"
144
os2="no"
145
lshared="no"
146 147
optimize="yes"
debug="yes"
148
extralibs="-lm"
149
simpleidct="yes"
150
bigendian="no"
151
inttypes="yes"
152
emu_fast_int="no"
153
vhook="default"
154 155
dlfcn="no"
dlopen="no"
156
mpegaudio_hp="yes"
157
SHFLAGS=-shared
158
netserver="no"
159
need_inet_aton="no"
160
ffserver="yes"
161
ffplay="yes"
162 163
LDFLAGS=-Wl,--warn-common
FFSLDFLAGS=-Wl,-E
164 165 166 167
LIBPREF="lib"
LIBSUF=".a"
SLIBPREF="lib"
SLIBSUF=".so"
F
Fabrice Bellard 已提交
168
EXESUF=""
M
Michael Niedermayer 已提交
169
risky="yes"
170
amr_nb="no"
171
amr_wb="no"
Z
Zdenek Kabelac 已提交
172
amr_nb_fixed="no"
173
sunmlib="no"
174 175 176 177 178 179 180

# OS specific
targetos=`uname -s`
case $targetos in
BeOS)
prefix="/boot/home/config"
# helps building libavcodec
181
CFLAGS="-DPIC -fomit-frame-pointer"
182
# 3 gcc releases known for BeOS, each with ugly bugs
183
gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
184 185 186 187 188 189 190 191
case "$gcc_version" in
2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
mmx="no"
;;
*20010315*) echo "BeBits gcc"
CFLAGS="$CFLAGS -fno-expensive-optimizations"
;;
esac
192 193 194
SHFLAGS=-nostart
# disable linux things
audio_oss="no"
F
Fabrice Bellard 已提交
195
v4l="no"
196
dv1394="no"
197 198
# enable beos things
audio_beos="yes"
199 200 201 202 203
# no need for libm, but the inet stuff
# Check for BONE
if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then
extralibs="-lbind -lsocket"
else
204
netserver="yes"
205
need_inet_aton="yes"
206
extralibs="-lnet"
207
fi ;;
208 209 210
SunOS)
v4l="no"
audio_oss="no"
211
dv1394="no"
212 213 214 215 216 217
make="gmake"
LDFLAGS=""
FFSLDFLAGS=""
need_inet_aton="yes"
extralibs="$extralibs -lsocket -lnsl"
;;
218 219 220
FreeBSD)
v4l="no"
audio_oss="yes"
221
dv1394="no"
222
make="gmake"
223
LDFLAGS="$LDFLAGS -export-dynamic"
224
;;
225
BSD/OS)
F
Fabrice Bellard 已提交
226
v4l="no"
F
Fabrice Bellard 已提交
227
audio_oss="yes"
228
dv1394="no"
229 230 231
extralibs="-lpoll -lgnugetopt -lm"
make="gmake"
;;
232
Darwin)
233
cc="cc"
234 235
v4l="no"
audio_oss="no"
236
dv1394="no"
237
ffserver="no"
238
SHFLAGS="-dynamiclib"
239
extralibs=""
240
darwin="yes"
241
strip="strip -x"
242
LDFLAGS="-Wl,-d"
243
FFSLDFLAGS=-Wl,-bind_at_load
244
;;
245
MINGW32*)
F
Fabrice Bellard 已提交
246 247
# Note: the rest of the mingw32 config is done afterwards as mingw32
# can be forced on command line for linux cross compilation
248 249
mingw32="yes"
;;
250 251 252
CYGWIN*)
v4l="no"
audio_oss="yes"
253
dv1394="no"
254 255 256 257 258 259 260
extralibs=""
cygwin="yes"
test -f /usr/include/inttypes.h || \
test -f /usr/local/include/inttypes.h || \
echo "Missing inttypes.h, please copy cygwin_inttypes.h to" \
     "/usr/include/inttypes.h !!!"
;;
261
Linux)
262
LDFLAGS="$LDFLAGS -rdynamic"
263
;;
264 265 266 267 268 269
IRIX*)
ranlib="echo ignoring ranlib"
v4l="no"
audio_oss="no"
make="gmake"
;;
270 271
OS/2)
TMPE=$TMPE".exe"
272 273 274
ar="emxomfar -p64"
ranlib="echo ignoring ranlib"
strip="echo ignoring strip"
275
CFLAGS="-Zomf"
276
LDFLAGS="-Zomf -Zstack 16384 -s"
277 278 279 280 281 282
SHFLAGS=""
FFSLDFLAGS=""
LIBPREF=""
LIBSUF=".lib"
SLIBPREF=""
SLIBSUF=".dll"
F
Fabrice Bellard 已提交
283
EXESUF=".exe"
284 285 286
extralibs=""
v4l="no"
audio_oss="no"
287
dv1394="no"
288 289 290 291
network="no"
ffserver="no"
os2="yes"
;;
292 293
*) ;;
esac
F
Fabrice Bellard 已提交
294

295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
# From mplayer configure. We need TARGET_OS available
# to the Makefile, so it can distinguish between flavors
# of AltiVec on PowerPC
TARGET_OS=`( uname -s ) 2>&1`
  case "$TARGET_OS" in
  Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU)
    ;;
  IRIX*)
    TARGET_OS=IRIX
    ;;
  HP-UX*)
    TARGET_OS=HP-UX
    ;;
  [cC][yY][gG][wW][iI][nN]*)
    TARGET_OS=CYGWIN
    ;;
  *)
    TARGET_OS="$TARGET_OS-UNKNOWN"
    ;;
  esac

316 317 318
# find source path
# XXX: we assume an absolute path is given when launching configure, 
# except in './configure' case.
319
source_path="`echo $0 | sed -e 's#/configure##'`"
320 321 322 323
source_path_used="yes"
if test -z "$source_path" -o "$source_path" = "." ; then
    source_path=`pwd`
    source_path_used="no"
F
Fabrice Bellard 已提交
324 325 326 327 328 329
fi

for opt do
  case "$opt" in
  --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
  ;;
F
Fabrice Bellard 已提交
330 331
  --mandir=*) mandir=`echo $opt | cut -d '=' -f 2`
  ;;
332 333 334 335
  --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
  ;;
  --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
  ;;
F
Fabrice Bellard 已提交
336 337
  --cc=*) cc=`echo $opt | cut -d '=' -f 2`
  ;;
338 339
  --make=*) make=`echo $opt | cut -d '=' -f 2`
  ;;
340 341 342 343 344 345
  --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
  ;;
  --extra-ldflags=*) LDFLAGS=${opt#--extra-ldflags=}
  ;;
  --extra-libs=*) extralibs=${opt#--extra-libs=}
  ;;
F
Fabrice Bellard 已提交
346 347
  --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
  ;;
348 349
  --tune=*) tune=`echo $opt | cut -d '=' -f 2`
  ;;
350 351
  --powerpc-perf-enable) powerpc_perf="yes"
  ;;
F
Fabrice Bellard 已提交
352 353
  --disable-mmx) mmx="no"
  ;;
354 355
  --disable-altivec) altivec="no"
  ;;
F
Fabrice Bellard 已提交
356 357
  --enable-gprof) gprof="yes"
  ;;
F
Fabrice Bellard 已提交
358 359 360 361
  --disable-v4l) v4l="no"
  ;;
  --disable-audio-oss) audio_oss="no"
  ;;
362 363
  --disable-audio-beos) audio_beos="no"
  ;;
364 365
  --disable-dv1394) dv1394="no"
  ;;
F
Fabrice Bellard 已提交
366 367
  --disable-network) network="no"
  ;;
368 369
  --disable-zlib) zlib="no"
  ;;
370
  --enable-a52) a52="yes"
371
  ;;
372
  --enable-a52bin) a52bin="yes" ; extralibs="$ldl $extralibs"
Z
Zdenek Kabelac 已提交
373
  ;;
374
  --enable-pp) pp="yes"
375 376 377
  ;;
  --enable-shared-pp) shared_pp="yes"
  ;;
378 379
  --enable-mp3lame) mp3lame="yes"
  ;;
380 381
  --enable-vorbis) vorbis="yes"
  ;;
Z
Zdenek Kabelac 已提交
382 383 384 385
  --enable-faad) faad="yes"
  ;;
  --enable-faadbin) faadbin="yes"
  ;;
386 387
  --enable-faac) faac="yes"
  ;;
388 389
  --disable-vhook) vhook="no"
  ;;
390
  --disable-simple_idct) simpleidct="no"
391
  ;;
392 393
  --enable-mingw32) mingw32="yes"
  ;;
394
  --enable-shared) lshared="yes"
N
Nick Kurshev 已提交
395
  ;;
396 397 398 399
  --disable-debug) debug="no"
  ;;
  --disable-opts) optimize="no"
  ;;
400 401
  --disable-mpegaudio-hp) mpegaudio_hp="no"
  ;;
402 403
  --disable-ffserver) ffserver="no"
  ;;
404 405
  --disable-ffplay) ffplay="no"
  ;;
M
Michael Niedermayer 已提交
406 407
  --disable-risky) risky="no"
  ;;
408
  --enable-small) optimize="small"
409
  ;;
410 411
  --enable-amr_nb) amr_nb="yes"
  ;;
Z
Zdenek Kabelac 已提交
412 413
  --enable-amr_nb-fixed) amr_nb_fixed="yes"
  ;;
414 415
  --enable-amr_wb) amr_wb="yes"
  ;; 
416 417
  --enable-sunmlib) sunmlib="yes"
  ;;
F
Fabrice Bellard 已提交
418 419 420
  esac
done

421 422 423 424 425 426 427 428 429
# compute mmx state
if test $mmx = "default"; then
    if test $cpu = "x86"; then
        mmx="yes"
    else
        mmx="no"
    fi
fi

430
#Darwin CC versions
431
needmdynamicnopic="no"
432
if test $targetos = Darwin; then
433
    if test -n "`$cc -v 2>&1 | grep xlc`"; then
434
	CFLAGS="$CFLAGS -qpdf2 -qlanglvl=extc99 -qmaxmem=-1 -qarch=auto -qtune=auto"
435
    else
436
	gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
437 438
	case "$gcc_version" in
	    *2.95*) 
439
		CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer"
440
		;;
441
	    *3.*)
442
		CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer -force_cpusubtype_ALL -Wno-sign-compare"
443 444 445
		if test "$lshared" = no; then
		   needmdynamicnopic="yes"
		fi
446 447
		;;
	    *)
448
		CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer"
449 450 451
		if test "$lshared" = no; then
		   needmdynamicnopic="yes"
		fi
452 453 454 455 456
		;;
	esac
    fi
fi

457 458 459 460 461 462 463 464 465
# Can only do AltiVec on PowerPC
if test $altivec = "default"; then
    if test $cpu = "powerpc"; then
        altivec="yes"
    else
        altivec="no"
    fi
fi

466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
# Add processor-specific flags
TUNECPU="generic"
if test $tune != "generic"; then
    case $tune in
	601|ppc601|PowerPC601)
	    CFLAGS="$CFLAGS -mcpu=601"
	    if test $altivec = "yes"; then
		echo "WARNING: tuning for PPC601 but altivec enabled !";
	    fi
	    TUNECPU=ppc601
	;;
	603*|ppc603*|PowerPC603*)
	    CFLAGS="$CFLAGS -mcpu=603"
	    if test $altivec = "yes"; then
		echo "WARNING: tuning for PPC603 but altivec enabled !";
	    fi
	    TUNECPU=ppc603
	;;
	604*|ppc604*|PowerPC604*)
	    CFLAGS="$CFLAGS -mcpu=604"
	    if test $altivec = "yes"; then
		echo "WARNING: tuning for PPC604 but altivec enabled !";
	    fi
	    TUNECPU=ppc604
	;;
491
	G3|g3|75*|ppc75*|PowerPC75*)
492
	    CFLAGS="$CFLAGS -mcpu=750 -mtune=750 -mpowerpc-gfxopt"
493 494 495 496 497
	    if test $altivec = "yes"; then
		echo "WARNING: tuning for PPC75x but altivec enabled !";
	    fi
	    TUNECPU=ppc750
	;;
498
	G4|g4|745*|ppc745*|PowerPC745*)
499
	    CFLAGS="$CFLAGS -mcpu=7450 -mtune=7450 -mpowerpc-gfxopt"
500 501 502 503 504 505
	    if test $altivec = "no"; then
		echo "WARNING: tuning for PPC745x but altivec disabled !";
	    fi
	    TUNECPU=ppc7450
	;;
	74*|ppc74*|PowerPC74*)
506
	    CFLAGS="$CFLAGS -mcpu=7400 -mtune=7400 -mpowerpc-gfxopt"
507 508 509
	    if test $altivec = "no"; then
		echo "WARNING: tuning for PPC74xx but altivec disabled !";
	    fi
510
	    TUNECPU=ppc7400
511
	;;
512
	G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
513 514 515 516 517 518 519 520 521 522 523 524
	    CFLAGS="$CFLAGS -mcpu=970 -mtune=970 -mpowerpc64 -force_cpusubtype_ALL "
	    if test $altivec = "no"; then
		echo "WARNING: tuning for PPC970 but altivec disabled !";
	    fi
	    TUNECPU=ppc970
	;;
	*)
	echo "WARNING: unknown CPU "$tune", ignored"
	;;
    esac
fi

525
# AltiVec flags: The FSF version of GCC differs from the Apple version 
526 527
if test $cpu = "powerpc"; then
    if test $altivec = "yes"; then
528
        if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
529 530 531 532 533 534 535
            CFLAGS="$CFLAGS -faltivec"
        else
            CFLAGS="$CFLAGS -maltivec -mabi=altivec"
        fi
    fi
fi

536 537 538 539 540 541 542
# See if we have <altivec.h>
cat > $TMPC << EOF
#include <altivec.h>
int main( void ) { return 0; }
EOF

_altivec_h="no"
543
if $cc $CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
544 545 546
_altivec_h="yes"
fi

547 548
# See does our compiler support Motorola AltiVec C API
if test $altivec = "yes"; then
549
if test $_altivec_h = "yes"; then
550
cat > $TMPC << EOF
551
#include <altivec.h>
552 553 554 555 556 557
int main(void) {
    vector signed int v1, v2, v3;
    v1 = vec_add(v2,v3);
    return 0;
}
EOF
558 559 560 561 562 563 564 565 566
else
cat > $TMPC << EOF
int main(void) {
    vector signed int v1, v2, v3;
    v1 = vec_add(v2,v3);
    return 0;
}
EOF
fi
567
$cc $CFLAGS -o $TMPE $TMPC 2> /dev/null || altivec="no"
568 569
fi

570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586
# Can only do mmi on mips
if test $mmi = "default"; then
    if test $cpu = "mips"; then
        mmi="yes"
    else
        mmi="no"
    fi
fi

# See does our compiler support mmi
if test $mmi = "yes"; then
cat > $TMPC << EOF
int main(void) {
    __asm__ ("lq \$2, 0(\$2)");
    return 0;
}
EOF
587
$cc -o $TMPE $TMPC 2> /dev/null || mmi="no"
588 589
fi

590 591 592
if test "$mingw32" = "yes" ; then
    v4l="no"
    audio_oss="no"
593
    dv1394="no"
F
Fabrice Bellard 已提交
594
    ffserver="no"
595
    network="no"
F
Fabrice Bellard 已提交
596 597 598 599 600 601 602
    LIBPREF=""
    LIBSUF=".lib"
    SLIBPREF=""
    SLIBSUF=".dll"
    EXESUF=".exe"
    prefix="/c/Program Files/FFmpeg"
    bindir="$prefix"
603 604
fi

605 606
cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}"
M
Michael Niedermayer 已提交
607
ranlib="${cross_prefix}${ranlib}"
608 609
strip="${cross_prefix}${strip}"

F
Fabrice Bellard 已提交
610 611
if test -z "$cross_prefix" ; then

612 613 614 615 616 617 618 619 620 621
# ---
# big/little endian test
cat > $TMPC << EOF
#include <inttypes.h>
int main(int argc, char ** argv){
	volatile uint32_t i=0x01234567;
	return (*((uint8_t*)(&i))) == 0x67;
}
EOF

622 623
if $cc -o $TMPE $TMPC 2>/dev/null ; then
$TMPE && bigendian="yes"
624 625 626 627
else
echo big/little test failed
fi

F
Fabrice Bellard 已提交
628 629 630 631 632 633 634 635 636
else

# if cross compiling, cannot launch a program, so make a static guess
if test "$cpu" = "powerpc" -o "$cpu" = "mips" ; then
    bigendian="yes"
fi

fi

637 638 639 640 641 642 643 644 645 646 647
# ---
# *inttypes.h* test
cat > $TMPC << EOF
#include <inttypes.h>
int main(int argc, char ** argv){
    return 0;
}
EOF

$cc -o $TMPE $TMPC 2>/dev/null || inttypes="no"

648 649 650 651 652 653 654 655 656 657 658 659
# ---
# *int_fast* test
cat > $TMPC << EOF
#include <inttypes.h>
int main(int argc, char ** argv){
	volatile uint_fast64_t i=0x01234567;
	return 0;
}
EOF

$cc -o $TMPE $TMPC 2>/dev/null || emu_fast_int="yes"

N
Nick Kurshev 已提交
660 661 662 663 664 665 666 667 668 669
# ---
# check availability of some header files

cat > $TMPC << EOF
#include <malloc.h>
int main( void ) { return 0; }
EOF

_memalign=no
_malloc_h=no
670
if $cc -o $TMPE $TMPC 2> /dev/null ; then
N
Nick Kurshev 已提交
671 672 673 674 675 676 677 678 679 680 681
_malloc_h=yes
_memalign=yes
# check for memalign - atmos
cat > $TMPC << EOF
#include <malloc.h>
int main ( void ) {
char *string = NULL;
string = memalign(64, sizeof(char));
return 0;
}
EOF
682
$cc -o $TMPE $TMPC 2> /dev/null || _memalign=no
N
Nick Kurshev 已提交
683 684
fi

685 686 687 688 689 690 691 692 693 694
cat > $TMPC << EOF
#include <time.h>
int main( void ) { localtime_r(NULL, NULL); }
EOF

localtime_r=no
if $cc -o $TMPE $TMPC 2> /dev/null ; then
  localtime_r=yes
fi

695 696 697 698 699 700 701 702 703 704 705
if test "$zlib" = "yes"; then
# check for zlib - mmu_man
cat > $TMPC << EOF
#include <zlib.h>
int main ( void ) {
if (zlibVersion() != ZLIB_VERSION)
   puts("zlib version differs !!!");
   return 1;
return 0;
}
EOF
706 707
$cc -o $TMPE $TMPC -lz 2> /dev/null || zlib="no"
# $TMPE 2> /dev/null > /dev/null || zlib="no"
708 709 710 711 712 713
# XXX: more tests needed - runtime test
fi
if test "$zlib" = "yes"; then
extralibs="$extralibs -lz"
fi

714 715 716 717 718 719 720 721
# test for lrintf in math.h
cat > $TMPC << EOF
#define _ISOC9X_SOURCE  1
#include <math.h>
int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
EOF

have_lrintf="no"
722
if $cc $extralibs -o $TMPE $TMPC 2> /dev/null ; then
723
  have_lrintf="yes"
724
  $TMPE 2> /dev/null > /dev/null || have_lrintf="no"
725 726
fi

F
Falk Hüffner 已提交
727 728 729 730 731 732 733 734 735
_restrict=
for restrict_keyword in restrict __restrict__ __restrict; do
  echo "void foo(char * $restrict_keyword p);" > $TMPC
  if $cc -c -o $TMPO $TMPC 2> /dev/null; then
    _restrict=$restrict_keyword
    break;
  fi
done

736 737 738 739 740 741 742 743 744 745 746 747 748 749 750
# test gcc version to see if vector builtins can be used
# currently only used on i386 for MMX builtins
cat > $TMPC << EOF
int main(void) { 
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
return 0;
#else
#error no vector builtins
#endif
}
EOF

builtin_vector=no
if $cc -o $TMPO $TMPC 2> /dev/null ; then
  builtin_vector=yes
751 752 753 754 755 756 757 758 759 760 761
fi

# dlopen/dlfcn.h probing

cat > $TMPC << EOF
#include <dlfcn.h>
int main( void ) { return (int) dlopen("foo", 0); }
EOF

ldl=-ldl

762
if $cc -o $TMPE $TMPC -ldl > /dev/null 2>&1 ; then
763 764 765 766
dlfcn=yes
dlopen=yes
fi

767
if $cc -o $TMPE $TMPC > /dev/null 2>&1 ; then
768 769 770 771 772 773 774 775 776
dlfcn=yes
dlopen=yes
ldl=""
fi

cat > $TMPC << EOF
int main( void ) { return (int) dlopen("foo", 0); }
EOF

777
if $cc -o $TMPE $TMPC -ldl > /dev/null 2>&1  ; then
778 779 780
dlopen=yes
fi

781
if $cc -o $TMPE $TMPC > /dev/null 2>&1  ; then
782 783 784 785 786 787 788 789
dlopen=yes
ldl=""
fi

if test "$vhook" = "default" ; then
  vhook="$dlopen"
fi

790 791 792
##########################################
# imlib probe

793 794 795 796 797 798 799
cat > $TMPC << EOF
#include <X11/Xlib.h>
#include <Imlib2.h>
int main( void ) { return (int) imlib_load_font("foo"); }
EOF

imlib2=no
800
if $cc -o $TMPE $TMPC -lImlib2 > /dev/null 2>&1  ; then
801
imlib2=yes
802 803
fi

804 805 806
##########################################
# freetype probe

807 808 809 810 811 812
cat > $TMPC << EOF
#include <ft2build.h>
int main( void ) { return (int) FT_Init_FreeType(0); }
EOF

freetype2=no
813
if test "x$targetos" != "xBeOS" && test "$os2" != "yes"; then
814
  if test "`which freetype-config`" != ""; then
815
    if $cc -o $TMPE $TMPC `freetype-config --cflags` `freetype-config --libs`  > /dev/null 2>&1 ; then
816
      freetype2=yes
817
    fi
818
  fi
819 820
fi

821 822 823 824 825
##########################################
# SDL probe

cat > $TMPC << EOF
#include <SDL.h>
826
#undef main /* We don't want SDL to override our main() */
827 828 829 830 831
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
EOF

sdl_too_old=no
sdl=no
832
if $cc -o $TMPE `sdl-config --cflags` $TMPC `sdl-config --libs`  > /dev/null 2>&1  ; then
833 834 835 836 837 838 839 840
_sdlversion=`sdl-config --version | sed 's/[^0-9]//g'`
if test "$_sdlversion" -lt 121 ; then
sdl_too_old=yes
else
sdl=yes
fi
fi

841
case "`$cc -v 2>&1 | grep version`" in
842 843 844 845 846 847 848
    *gcc*)
	CFLAGS="-Wall $CFLAGS"
	;;
    *)
	;;
esac

F
Fabrice Bellard 已提交
849 850 851 852
if test "$sdl" = "no" ; then
   ffplay=no
fi

853 854 855 856 857
if test "$debug" = "yes"; then
	CFLAGS="$CFLAGS -g"
fi

if test "$optimize" = "small"; then
858
#  CFLAGS=${CFLAGS//-O3/-Os}
859 860 861
  CFLAGS="$CFLAGS -Os"
fi

862
if test "$optimize" = "yes"; then
863
    if test -n "`$cc -v 2>&1 | grep xlc`"; then
864 865 866
	CFLAGS="$CFLAGS -O5"
	LDFLAGS="$LDFLAGS -O5"
    else
867
	CFLAGS="$CFLAGS -O3"
868
    fi
869 870
fi

F
Fabrice Bellard 已提交
871 872 873 874
if test x"$bindir" = x""; then
bindir="${prefix}/bin"
fi

F
Fabrice Bellard 已提交
875 876 877 878
if test x"$mandir" = x""; then
mandir="${prefix}/man"
fi

F
Fabrice Bellard 已提交
879
echo "Install prefix   $prefix"
880
echo "Source path      $source_path"
F
Fabrice Bellard 已提交
881
echo "C compiler       $cc"
882
echo "make             $make"
883
echo "CPU              $cpu ($tune)"
884
echo "Big Endian       $bigendian"
885
echo "inttypes.h       $inttypes"
886
echo "broken inttypes.h $emu_fast_int"
F
Fabrice Bellard 已提交
887
if test $cpu = "x86"; then
F
Fabrice Bellard 已提交
888
echo "MMX enabled      $mmx"
889
echo "Vector Builtins  $builtin_vector"
F
Fabrice Bellard 已提交
890 891
fi
if test $cpu = "mips"; then
892
echo "MMI enabled      $mmi"
F
Fabrice Bellard 已提交
893 894
fi
if test $cpu = "powerpc"; then
895
echo "AltiVec enabled  $altivec"
F
Fabrice Bellard 已提交
896
fi
F
Fabrice Bellard 已提交
897
echo "gprof enabled    $gprof"
898
echo "zlib enabled     $zlib"
899
echo "mp3lame enabled  $mp3lame"
900
echo "vorbis enabled   $vorbis"
Z
Zdenek Kabelac 已提交
901 902
echo "faad enabled     $faad"
echo "faadbin enabled  $faadbin"
903
echo "faac enabled     $faac"
F
Fabrice Bellard 已提交
904
echo "a52 support      $a52"
Z
Zdenek Kabelac 已提交
905
echo "a52 dlopened     $a52bin"
906
echo "pp support       $pp"
907 908
echo "debug symbols    $debug"
echo "optimize         $optimize"
909
echo "shared pp        $shared_pp"
910
echo "Video hooking    $vhook"
911 912 913 914
echo "SDL support      $sdl"
if test $sdl_too_old = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support"
fi
M
Michael Niedermayer 已提交
915
echo "risky / patent encumbered codecs $risky"
916 917

if test "$vhook" = "yes" ; then
918
echo "Imlib2 support   $imlib2"
919
echo "freetype support $freetype2"
920
fi
921
echo "Sun medialib support"  $sunmlib
Z
Zdenek Kabelac 已提交
922 923
echo "AMR-NB float support"  $amr_nb
echo "AMR-NB fixed support"  $amr_nb_fixed
924
echo "AMR-WB float support"  $amr_wb
F
Fabrice Bellard 已提交
925

926
echo "Creating config.mak and config.h"
F
Fabrice Bellard 已提交
927

928
echo "# Automatically generated by configure - do not modify" > config.mak
929
echo "/* Automatically generated by configure - do not modify */" > $TMPH
F
Fabrice Bellard 已提交
930

931
echo "prefix=$prefix" >> config.mak
F
Fabrice Bellard 已提交
932
echo "bindir=$bindir" >> config.mak
F
Fabrice Bellard 已提交
933
echo "mandir=$mandir" >> config.mak
934
echo "MAKE=$make" >> config.mak
935 936
echo "CC=$cc" >> config.mak
echo "AR=$ar" >> config.mak
M
Michael Niedermayer 已提交
937
echo "RANLIB=$ranlib" >> config.mak
938
echo "STRIP=$strip" >> config.mak
939 940 941 942 943 944 945 946

# SHCFLAGS is a copy of CFLAGS without -mdynamic-no-pic.  Used when building 
# shared modules on OS/X (vhook/Makefile).
SHCFLAGS=$CFLAGS
if test "$needmdynamicnopic" = yes; then
   CFLAGS="$CFLAGS -mdynamic-no-pic"
fi

N
Nick Kurshev 已提交
947
echo "OPTFLAGS=$CFLAGS" >> config.mak
948
echo "SHCFLAGS=$SHCFLAGS">>config.mak
949
echo "LDFLAGS=$LDFLAGS" >> config.mak
950
echo "FFSLDFLAGS=$FFSLDFLAGS" >> config.mak
951
echo "SHFLAGS=$SHFLAGS" >> config.mak
952 953 954 955
echo "LIBPREF=$LIBPREF" >> config.mak
echo "LIBSUF=$LIBSUF" >> config.mak
echo "SLIBPREF=$SLIBPREF" >> config.mak
echo "SLIBSUF=$SLIBSUF" >> config.mak
F
Fabrice Bellard 已提交
956
echo "EXESUF=$EXESUF" >> config.mak
957
echo "TARGET_OS=$TARGET_OS" >> config.mak
Z
Zdenek Kabelac 已提交
958
if test "$cpu" = "x86" ; then
959
  echo "TARGET_ARCH_X86=yes" >> config.mak
960
  echo "#define ARCH_X86 1" >> $TMPH
961
elif test "$cpu" = "armv4l" ; then
962
  echo "TARGET_ARCH_ARMV4L=yes" >> config.mak
963
  echo "#define ARCH_ARMV4L 1" >> $TMPH
964
elif test "$cpu" = "alpha" ; then
965
  echo "TARGET_ARCH_ALPHA=yes" >> config.mak
966
  echo "#define ARCH_ALPHA 1" >> $TMPH
967 968 969
elif test "$cpu" = "sparc64" ; then
  echo "TARGET_ARCH_SPARC64=yes" >> config.mak
  echo "#define ARCH_SPARC64 1" >> $TMPH
970 971 972
elif test "$cpu" = "powerpc" ; then
  echo "TARGET_ARCH_POWERPC=yes" >> config.mak
  echo "#define ARCH_POWERPC 1" >> $TMPH
973 974 975
  if test "$powerpc_perf" = "yes"; then
    echo "#define POWERPC_PERFORMANCE_REPORT 1" >> $TMPH
  fi
976 977 978
elif test "$cpu" = "mips" ; then
  echo "TARGET_ARCH_MIPS=yes" >> config.mak
  echo "#define ARCH_MIPS 1" >> $TMPH
A
Alex Beregszaszi 已提交
979 980 981 982
elif test "$cpu" = "sh4" ; then
  echo "TARGET_ARCH_SH4=yes" >> config.mak
  echo "#define ARCH_SH4 1" >> $TMPH
fi
983
echo "#define TUNECPU $TUNECPU" >> $TMPH
984 985 986
if test "$bigendian" = "yes" ; then
  echo "WORDS_BIGENDIAN=yes" >> config.mak
  echo "#define WORDS_BIGENDIAN 1" >> $TMPH
987
fi
988 989
if test "$inttypes" != "yes" ; then
  echo "#define EMULATE_INTTYPES 1" >> $TMPH
990
fi
991
if test "$emu_fast_int" = "yes" ; then
992
  echo "#define EMULATE_FAST_INT 1" >> $TMPH
993
fi
Z
Zdenek Kabelac 已提交
994
if test "$mmx" = "yes" ; then
995
  echo "TARGET_MMX=yes" >> config.mak
996
  echo "#define HAVE_MMX 1" >> $TMPH
M
Michael Niedermayer 已提交
997
  echo "#define __CPU__ 586" >> $TMPH
F
Fabrice Bellard 已提交
998
fi
999 1000 1001 1002
if test "$builtin_vector" = "yes" ; then
  echo "TARGET_BUILTIN_VECTOR=yes" >> config.mak
  echo "#define HAVE_BUILTIN_VECTOR 1" >> $TMPH
fi
1003 1004 1005 1006
if test "$mmi" = "yes" ; then
  echo "TARGET_MMI=yes" >> config.mak
  echo "#define HAVE_MMI 1" >> $TMPH
fi
1007 1008 1009
if test "$altivec" = "yes" ; then
  echo "TARGET_ALTIVEC=yes" >> config.mak
  echo "#define HAVE_ALTIVEC 1" >> $TMPH
1010 1011
  echo "// Enable the next line to use the reference C code instead of AltiVec" >> $TMPH
  echo "// #define ALTIVEC_USE_REFERENCE_C_CODE 1" >> $TMPH
1012 1013 1014
  if test "$_altivec_h" = "yes" ; then
    echo "#define HAVE_ALTIVEC_H 1" >> $TMPH
  else
A
1l  
Alex Beregszaszi 已提交
1015
    echo "#undef HAVE_ALTIVEC_H" >> $TMPH
1016
  fi
1017
fi
Z
Zdenek Kabelac 已提交
1018
if test "$gprof" = "yes" ; then
1019
  echo "TARGET_GPROF=yes" >> config.mak
1020
  echo "#define HAVE_GPROF 1" >> $TMPH
F
Fabrice Bellard 已提交
1021
fi
1022 1023 1024
if test "$localtime_r" = "yes" ; then
  echo "#define HAVE_LOCALTIME_R 1" >> $TMPH
fi
1025 1026 1027
if test "$imlib2" = "yes" ; then
  echo "HAVE_IMLIB2=yes" >> config.mak
fi
1028 1029 1030
if test "$freetype2" = "yes" ; then
  echo "HAVE_FREETYPE2=yes" >> config.mak
fi
1031 1032 1033 1034 1035
if test "$sunmlib" = "yes" ; then
  echo "HAVE_MLIB=yes" >> config.mak
  echo "#define HAVE_MLIB 1" >> $TMPH
  extralibs="$extralibs -lmlib"
fi
1036 1037 1038 1039 1040
if test "$sdl" = "yes" ; then
  echo "CONFIG_SDL=yes" >> config.mak
  echo "SDL_LIBS=`sdl-config --libs`" >> config.mak
  echo "SDL_CFLAGS=`sdl-config --cflags`" >> config.mak
fi
1041 1042 1043
if test "$have_lrintf" = "yes" ; then
  echo "#define HAVE_LRINTF 1" >> $TMPH
fi
1044 1045 1046
if test "$vhook" = "yes" ; then
  echo "BUILD_VHOOK=yes" >> config.mak
  echo "#define HAVE_VHOOK 1" >> $TMPH
1047
  extralibs="$extralibs $ldl"
1048
fi
Z
Zdenek Kabelac 已提交
1049
if test "$lshared" = "yes" ; then
N
Nick Kurshev 已提交
1050
  echo "BUILD_SHARED=yes" >> config.mak
F
Fabrice Bellard 已提交
1051
  echo "PIC=-fPIC" >> config.mak
N
Nick Kurshev 已提交
1052
fi
1053
echo "EXTRALIBS=$extralibs" >> config.mak
1054 1055 1056
version=`grep '#define FFMPEG_VERSION ' $source_path/libavcodec/avcodec.h |
 cut -d '"' -f 2`
echo "VERSION=$version" >>config.mak
1057
# if you do not want to use encoders, disable that.
1058
echo "#define CONFIG_ENCODERS 1" >> $TMPH
1059 1060 1061
echo "CONFIG_ENCODERS=yes" >> config.mak

# if you do not want to use decoders, disable that.
1062
echo "#define CONFIG_DECODERS 1" >> $TMPH
1063 1064
echo "CONFIG_DECODERS=yes" >> config.mak

F
Fabrice Bellard 已提交
1065 1066 1067 1068
# AC3
if test "$a52" = "yes" ; then
  echo "#define CONFIG_AC3 1" >> $TMPH
  echo "CONFIG_AC3=yes" >> config.mak
1069

F
Fabrice Bellard 已提交
1070 1071 1072 1073 1074 1075
  if test "$a52bin" = "yes" ; then
    echo "#define CONFIG_A52BIN 1" >> $TMPH
    echo "CONFIG_A52BIN=yes" >> config.mak
  fi
fi

1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086
# PP
if test "$pp" = "yes" ; then
  echo "#define CONFIG_PP 1" >> $TMPH
  echo "CONFIG_PP=yes" >> config.mak

  if test "$shared_pp" = "yes" ; then
    echo "#define SHARED_PP 1" >> $TMPH
    echo "SHARED_PP=yes" >> config.mak
  fi
fi

1087 1088 1089 1090 1091
# mpeg audio high precision mode
if test "$mpegaudio_hp" = "yes" ; then
  echo "#define CONFIG_MPEGAUDIO_HP 1" >> $TMPH
fi

F
Fabrice Bellard 已提交
1092 1093 1094 1095 1096
if test "$v4l" = "yes" ; then
  echo "#define CONFIG_VIDEO4LINUX 1" >> $TMPH
  echo "CONFIG_VIDEO4LINUX=yes" >> config.mak
fi

1097 1098 1099 1100 1101
if test "$dv1394" = "yes" ; then
  echo "#define CONFIG_DV1394 1" >> $TMPH
  echo "CONFIG_DV1394=yes" >> config.mak
fi

1102 1103 1104 1105 1106 1107 1108 1109
if test "$dlopen" = "yes" ; then
  echo "#define CONFIG_HAVE_DLOPEN 1" >> $TMPH
fi

if test "$dlfcn" = "yes" ; then
  echo "#define CONFIG_HAVE_DLFCN 1" >> $TMPH
fi

F
Fabrice Bellard 已提交
1110 1111 1112
if test "$audio_oss" = "yes" ; then
  echo "#define CONFIG_AUDIO_OSS 1" >> $TMPH
  echo "CONFIG_AUDIO_OSS=yes" >> config.mak
Z
Zdenek Kabelac 已提交
1113 1114
fi

1115 1116 1117 1118 1119
if test "$audio_beos" = "yes" ; then
  echo "#define CONFIG_AUDIO_BEOS 1" >> $TMPH
  echo "CONFIG_AUDIO_BEOS=yes" >> config.mak
fi

F
Fabrice Bellard 已提交
1120 1121 1122
if test "$network" = "yes" ; then
  echo "#define CONFIG_NETWORK 1" >> $TMPH
  echo "CONFIG_NETWORK=yes" >> config.mak
1123
fi
1124

1125 1126 1127 1128 1129
if test "$zlib" = "yes" ; then
  echo "#define CONFIG_ZLIB 1" >> $TMPH
  echo "CONFIG_ZLIB=yes" >> config.mak
fi

Z
Zdenek Kabelac 已提交
1130
if test "$mp3lame" = "yes" ; then
1131
  echo "#define CONFIG_MP3LAME 1" >> $TMPH
1132 1133 1134
  echo "CONFIG_MP3LAME=yes" >> config.mak
fi

1135 1136 1137 1138 1139
if test "$vorbis" = "yes" ; then
  echo "#define CONFIG_VORBIS 1" >> $TMPH
  echo "CONFIG_VORBIS=yes" >> config.mak
fi

1140 1141 1142 1143 1144 1145 1146
if test "$faad" = "yes" ; then
  echo "#define CONFIG_FAAD 1" >> $TMPH
  echo "CONFIG_FAAD=yes" >> config.mak
fi

if test "$faadbin" = "yes" ; then
  echo "#define CONFIG_FAADBIN 1" >> $TMPH
Z
Zdenek Kabelac 已提交
1147
  echo "CONFIG_FAADBIN=yes" >> config.mak
1148 1149
fi

1150 1151 1152 1153 1154
if test "$faac" = "yes" ; then
  echo "#define CONFIG_FAAC 1" >> $TMPH
  echo "CONFIG_FAAC=yes" >> config.mak
fi

1155 1156 1157
if test "$mingw32" = "yes" ; then
  echo "#define CONFIG_WIN32 1" >> $TMPH
  echo "CONFIG_WIN32=yes" >> config.mak
1158
  echo "#ifndef __MINGW32__" >> $TMPH
1159
  echo "#define __MINGW32__ 1" >> $TMPH
1160
  echo "#endif" >> $TMPH
1161 1162
fi

1163 1164 1165 1166 1167
if test "$os2" = "yes" ; then
  echo "#define CONFIG_OS2 1" >> $TMPH
  echo "CONFIG_OS2=yes" >> config.mak
fi

1168 1169 1170 1171
if test "$TARGET_OS" = "SunOS" ; then
  echo "#define CONFIG_SUNOS 1" >> $TMPH
fi

1172 1173 1174 1175 1176
if test "$darwin" = "yes"; then
  echo "#define CONFIG_DARWIN 1"  >> $TMPH
  echo "CONFIG_DARWIN=yes" >> config.mak
fi

Z
Zdenek Kabelac 已提交
1177
if test "$_malloc_h" = "yes" ; then
1178
  echo "#define HAVE_MALLOC_H 1" >> $TMPH
N
Nick Kurshev 已提交
1179
else
1180
  echo "#undef  HAVE_MALLOC_H" >> $TMPH
N
Nick Kurshev 已提交
1181 1182
fi

Z
Zdenek Kabelac 已提交
1183
if test "$_memalign" = "yes" ; then
1184 1185 1186 1187 1188
  echo "#define HAVE_MEMALIGN 1" >> $TMPH
else
  echo "#undef  HAVE_MEMALIGN" >> $TMPH
fi

1189 1190 1191 1192 1193
if test "$netserver" = "yes" ; then
  echo "#define CONFIG_BEOS_NETSERVER 1" >> $TMPH
  echo "CONFIG_BEOS_NETSERVER=yes" >> config.mak
fi

1194 1195 1196 1197
if test "$need_inet_aton" = "yes" ; then
  echo "NEED_INET_ATON=yes" >> config.mak
fi

Z
Zdenek Kabelac 已提交
1198
if test "$simpleidct" = "yes" ; then
1199 1200 1201
  echo "#define SIMPLE_IDCT 1" >> $TMPH
fi

1202 1203 1204 1205 1206
if test "$ffserver" = "yes" ; then
  echo "#define CONFIG_FFSERVER 1" >> $TMPH
  echo "CONFIG_FFSERVER=yes" >> config.mak
fi

1207 1208 1209 1210
if test "$ffplay" = "yes" ; then
  echo "CONFIG_FFPLAY=yes" >> config.mak
fi

M
Michael Niedermayer 已提交
1211 1212 1213 1214 1215
if test "$risky" = "yes" ; then
  echo "#define CONFIG_RISKY 1" >> $TMPH
  echo "CONFIG_RISKY=yes" >> config.mak
fi

F
Falk Hüffner 已提交
1216 1217
echo "#define restrict $_restrict" >> $TMPH

1218 1219
# build tree in object directory if source path is different from current one
if test "$source_path_used" = "yes" ; then
F
Fabrice Bellard 已提交
1220
    DIRS="libavformat libavcodec libavcodec/alpha libavcodec/armv4l libavcodec/i386 \
1221 1222
          libavcodec/ppc libavcodec/liba52 libavcodec/mlib libavcodec/libpostproc tests vhook"
    FILES="Makefile libavformat/Makefile libavcodec/Makefile libavcodec/libpostproc/Makefile tests/Makefile vhook/Makefile"
1223 1224 1225 1226 1227 1228 1229 1230 1231
    for dir in $DIRS ; do
            mkdir -p $dir
    done
    for f in $FILES ; do
        ln -sf $source_path/$f $f
    done
fi
echo "SRC_PATH=$source_path" >> config.mak

1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242
if test "$amr_wb" = "yes" ; then
  echo "#define AMR_WB 1" >> $TMPH
  echo "AMR_WB=yes" >> config.mak
  echo
  echo "AMR WB FLOAT NOTICE ! Make sure you have downloaded TS26.204"
  echo "V5.1.0 from "
  echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip"
  echo "and extracted the source to libavcodec/amrwb_float"
  echo
fi

1243 1244 1245 1246
if test "$amr_nb" = "yes" ; then
  echo "#define AMR_NB 1" >> $TMPH
  echo "AMR_NB=yes" >> config.mak
  echo
Z
Zdenek Kabelac 已提交
1247 1248 1249 1250 1251
if test "$amr_nb_fixed" = "yes" ; then
  echo "AMR_NB_FIXED=yes" >> config.mak
  echo "#define AMR_NB_FIXED 1" >> $TMPH
  echo "AMR NB FIXED POINT NOTICE! Make sure you have downloaded TS26.073 "
  echo "REL-5 version 5.1.0 from "
1252 1253
  echo "http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26073-510.zip"
  echo "and extracted src to libavcodec/amr"
Z
Zdenek Kabelac 已提交
1254 1255 1256 1257 1258 1259 1260 1261
  echo "You must also add -DMMS_IO and remove -pedantic-errors to/from CFLAGS in libavcodec/amr/makefile."
  echo "i.e. CFLAGS = -Wall -I. \$(CFLAGS_\$(MODE)) -D\$(VAD) -DMMS_IO"
  echo
else
  echo "AMR NB FLOAT NOTICE ! Make sure you have downloaded TS26.104"
  echo "REL-5 V5.1.0 from "
  echo "http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-510.zip"
  echo "and extracted the source to libavcodec/amr_float"
M
Michael Niedermayer 已提交
1262
  echo "and if u try this on an alpha, u may need to change Word32 to int in amr/typedef.h"
1263 1264 1265
  echo
fi

Z
Zdenek Kabelac 已提交
1266 1267
fi

Z
Zdenek Kabelac 已提交
1268
diff $TMPH config.h >/dev/null 2>&1
1269 1270
if test $? -ne 0 ; then
	mv -f $TMPH config.h
N
Nick Kurshev 已提交
1271
else
1272
	echo "config.h is unchanged"
N
Nick Kurshev 已提交
1273 1274
fi

1275
rm -f $TMPO $TMPC $TMPE $TMPS $TMPH