Skip to content
Snippets Groups Projects
configure 84.4 KiB
Newer Older
  • Learn to ignore specific revisions
  • # FFmpeg configure script
    #
    
    Diego Biurrun's avatar
    Diego Biurrun committed
    # Copyright (c) 2000-2002 Fabrice Bellard
    # Copyright (c) 2005-2008 Diego Biurrun
    # Copyright (c) 2005-2008 Mans Rullgard
    
    # Prevent locale nonsense from breaking basic text processing.
    
    # make sure we are running under a compatible shell
    
    # try to make this part work with most shells
    
    try_exec(){
    
        echo "Trying shell $1"
    
        type "$1" > /dev/null 2>&1 && exec "$@"
    
    unset foo
    
    (: ${foo%%bar}) 2> /dev/null
    
    (: ${foo?}) 2> /dev/null
    
    E2="$?"
    
    if test "$E1" != 0 || test "$E2" = 0; then
        echo "Broken shell detected.  Trying alternatives."
    
        export FF_CONF_EXEC
        if test "0$FF_CONF_EXEC" -lt 1; then
            FF_CONF_EXEC=1
            try_exec bash "$0" "$@"
        fi
        if test "0$FF_CONF_EXEC" -lt 2; then
            FF_CONF_EXEC=2
            try_exec ksh "$0" "$@"
        fi
        if test "0$FF_CONF_EXEC" -lt 3; then
            FF_CONF_EXEC=3
            try_exec /usr/xpg4/bin/sh "$0" "$@"
    
        fi
        echo "No compatible shell script interpreter found."
    
    Diego Biurrun's avatar
    Diego Biurrun committed
        echo "This configure script requires a POSIX-compatible shell"
    
        echo "THIS IS NOT A BUG IN FFMPEG, DO NOT REPORT IT AS SUCH."
        echo "Instead, install a working POSIX-compatible shell."
        echo "Disabling this configure test will create a broken FFmpeg."
    
        if test "$BASH_VERSION" = '2.04.0(1)-release'; then
            echo "This bash version ($BASH_VERSION) is broken on your platform."
            echo "Upgrade to a later version if available."
        fi
    
    cat <<EOF
    Usage: configure [options]
    Options: [defaults in brackets after descriptions]
    
    Standard options:
      --help                   print this message
      --logfile=FILE           log tests and output to FILE [config.err]
      --disable-logging        do not log configure debug information
      --prefix=PREFIX          install in PREFIX [$prefix]
      --bindir=DIR             install binaries in DIR [PREFIX/bin]
      --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]
      --libdir=DIR             install libs in DIR [PREFIX/lib]
      --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]
      --incdir=DIR             install includes in DIR [PREFIX/include]
      --mandir=DIR             install man page in DIR [PREFIX/share/man]
    
    Configuration options:
      --disable-static         do not build static libraries [no]
      --enable-shared          build shared libraries [no]
      --enable-gpl             allow use of GPL code, the resulting libs
                               and binaries will be under GPL [no]
      --enable-version3        upgrade (L)GPL to version 3 [no]
      --enable-nonfree         allow use of nonfree code, the resulting libs
                               and binaries will be unredistributable [no]
      --disable-doc            do not build documentation
      --disable-ffmpeg         disable ffmpeg build
      --disable-ffplay         disable ffplay build
      --disable-ffserver       disable ffserver build
      --enable-postproc        enable GPLed postprocessing support [no]
      --enable-avfilter        video filter support [no]
      --enable-avfilter-lavf   video filters dependent on avformat [no]
      --enable-beosthreads     use BeOS threads [no]
      --enable-os2threads      use OS/2 threads [no]
      --enable-pthreads        use pthreads [no]
      --enable-w32threads      use Win32 threads [no]
      --enable-x11grab         enable X11 grabbing [no]
      --disable-network        disable network support [no]
      --disable-ipv6           disable IPv6 support [no]
      --disable-mpegaudio-hp   faster (but less accurate) MPEG audio decoding [no]
      --enable-gray            enable full grayscale support (slower color)
      --disable-swscale-alpha  disable alpha channel support in swscale
      --disable-fastdiv        disable table-based division
      --enable-small           optimize for size instead of speed
      --disable-aandct         disable AAN DCT code
      --disable-fft            disable FFT code
      --disable-golomb         disable Golomb code
      --disable-lpc            disable LPC code
      --disable-mdct           disable MDCT code
      --disable-rdft           disable RDFT code
      --disable-vaapi          disable VAAPI code
      --disable-vdpau          disable VDPAU code
      --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)
      --enable-hardcoded-tables use hardcoded tables instead of runtime generation
      --enable-memalign-hack   emulate memalign, interferes with memory debuggers
      --enable-beos-netserver  enable BeOS netserver
      --disable-encoder=NAME   disable encoder NAME
      --enable-encoder=NAME    enable encoder NAME
      --disable-encoders       disable all encoders
      --disable-decoder=NAME   disable decoder NAME
      --enable-decoder=NAME    enable decoder NAME
      --disable-decoders       disable all decoders
      --disable-hwaccel=NAME   disable hwaccel NAME
      --enable-hwaccel=NAME    enable hwaccel NAME
      --disable-hwaccels       disable all hwaccels
      --disable-muxer=NAME     disable muxer NAME
      --enable-muxer=NAME      enable muxer NAME
      --disable-muxers         disable all muxers
      --disable-demuxer=NAME   disable demuxer NAME
      --enable-demuxer=NAME    enable demuxer NAME
      --disable-demuxers       disable all demuxers
      --enable-parser=NAME     enable parser NAME
      --disable-parser=NAME    disable parser NAME
      --disable-parsers        disable all parsers
      --enable-bsf=NAME        enable bitstream filter NAME
      --disable-bsf=NAME       disable bitstream filter NAME
      --disable-bsfs           disable all bitstream filters
      --enable-protocol=NAME   enable protocol NAME
      --disable-protocol=NAME  disable protocol NAME
      --disable-protocols      disable all protocols
      --disable-indev=NAME     disable input device NAME
      --disable-outdev=NAME    disable output device NAME
      --disable-indevs         disable input devices
      --disable-outdevs        disable output devices
      --disable-devices        disable all devices
      --enable-filter=NAME     enable filter NAME
      --disable-filter=NAME    disable filter NAME
      --disable-filters        disable all filters
      --list-decoders          show all available decoders
      --list-encoders          show all available encoders
      --list-hwaccels          show all available hardware accelerators
      --list-muxers            show all available muxers
      --list-demuxers          show all available demuxers
      --list-parsers           show all available parsers
      --list-protocols         show all available protocols
      --list-bsfs              show all available bitstream filters
      --list-indevs            show all available input devices
      --list-outdevs           show all available output devices
      --list-filters           show all available filters
    
    External library support:
      --enable-avisynth        enable reading of AVISynth script files [no]
      --enable-bzlib           enable bzlib [autodetect]
      --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
      --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
      --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394
                               and libraw1394 [no]
      --enable-libdirac        enable Dirac support via libdirac [no]
      --enable-libfaac         enable FAAC support via libfaac [no]
      --enable-libfaad         enable FAAD support via libfaad [no]
      --enable-libfaadbin      open libfaad.so.0 at runtime [no]
      --enable-libgsm          enable GSM support via libgsm [no]
      --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
      --enable-libnut          enable NUT (de)muxing via libnut,
                               native (de)muxer exists [no]
      --enable-libopenjpeg     enable JPEG 2000 decoding via OpenJPEG [no]
      --enable-libschroedinger enable Dirac support via libschroedinger [no]
      --enable-libspeex        enable Speex decoding via libspeex [no]
      --enable-libtheora       enable Theora encoding via libtheora [no]
      --enable-libvorbis       enable Vorbis encoding via libvorbis,
                               native implementation exists [no]
      --enable-libx264         enable H.264 encoding via x264 [no]
      --enable-libxvid         enable Xvid encoding via xvidcore,
                               native MPEG-4/Xvid encoder exists [no]
      --enable-mlib            enable Sun medialib [no]
      --enable-zlib            enable zlib [autodetect]
    
    Advanced options (experts only):
      --source-path=PATH       path to source code [$source_path]
      --cross-prefix=PREFIX    use PREFIX for compilation tools [$cross_prefix]
      --enable-cross-compile   assume a cross-compiler is used
      --sysroot=PATH           root of cross-build tree
      --sysinclude=PATH        location of cross-build system headers
      --target-os=OS           compiler targets OS [$target_os]
      --target-exec=CMD        command to run executables on target
      --target-path=DIR        path to view of build directory on target
      --nm=NM                  use nm tool
      --as=AS                  use assembler AS [$as_default]
      --cc=CC                  use C compiler CC [$cc_default]
      --ld=LD                  use linker LD
      --host-cc=HOSTCC         use host C compiler HOSTCC
      --host-cflags=HCFLAGS    use HCFLAGS when compiling for host
      --host-ldflags=HLDFLAGS  use HLDFLAGS when linking for host
      --host-libs=HLIBS        use libs HLIBS when linking for host
      --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS [$CFLAGS]
      --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]
      --extra-libs=ELIBS       add ELIBS [$ELIBS]
      --extra-version=STRING   version string suffix []
      --build-suffix=SUFFIX    library name suffix []
      --arch=ARCH              select architecture [$arch]
      --cpu=CPU                select the minimum required CPU (affects
                               instruction selection, may crash on older CPUs)
      --enable-powerpc-perf    enable performance report on PPC
                               (requires enabling PMC)
    
      --disable-asm            disable all assembler optimizations
    
      --disable-altivec        disable AltiVec optimizations
      --disable-amd3dnow       disable 3DNow! optimizations
      --disable-amd3dnowext    disable 3DNow! extended optimizations
      --disable-mmx            disable MMX optimizations
      --disable-mmx2           disable MMX2 optimizations
      --disable-sse            disable SSE optimizations
      --disable-ssse3          disable SSSE3 optimizations
      --disable-armv5te        disable armv5te optimizations
      --disable-armv6          disable armv6 optimizations
      --disable-armv6t2        disable armv6t2 optimizations
      --disable-armvfp         disable ARM VFP optimizations
      --disable-iwmmxt         disable iwmmxt optimizations
      --disable-mmi            disable MMI optimizations
      --disable-neon           disable neon optimizations
      --disable-vis            disable VIS optimizations
      --disable-yasm           disable use of yasm assembler
      --enable-pic             build position-independent code
    
    Developer options (useful when working on FFmpeg itself):
      --disable-debug          disable debugging symbols
      --enable-debug=LEVEL     set the debug level [$debuglevel]
      --enable-gprof           enable profiling with gprof [$gprof]
      --disable-optimizations  disable compiler optimizations
      --enable-extra-warnings  enable more compiler warnings
      --disable-stripping      disable stripping of executables and shared libraries
    
    NOTE: Object files are built at the place where configure is launched.
    EOF
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        log BEGIN $1
    
        pr -n -t $1 >> $logfile
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        log END $1
    }
    
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        log "$@"
    
    If you think configure made a mistake, make sure you are using the latest
    version from SVN.  If the latest version fails, report the problem to the
    
    ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
    
    Rerun configure with logging enabled (do not use --disable-logging), and
    include the log this produces with your report.
    
    Include the log file "$logfile" produced by configure as this will help
    solving the problem.
    
    # Avoid locale weirdness, besides we really just want to translate ASCII.
    
        echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
    
    tolower(){
    
        echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
    
    c_escape(){
        echo "$*" | sed 's/["\\]/\\\0/g'
    }
    
    
    sh_quote(){
        v=$(echo "$1" | sed "s/'/'\\\\''/g")
        test "$v" = "${v#*[ |&;<>()$\`\\\"\'*?\[\]#~=%]}" || v="'$v'"
        echo "$v"
    }
    
    
            eval "case $v in $pat) echo $v ;; esac"
    
    set_all(){
        value=$1
        shift
        for var in $*; do
            eval $var=$value
        done
    }
    
    
    set_weak(){
        value=$1
        shift
        for var; do
            eval : \${$var:=$value}
        done
    }
    
    
    pushvar(){
        for var in $*; do
            eval level=\${${var}_level:=0}
            eval ${var}_${level}="\$$var"
            eval ${var}_level=$(($level+1))
        done
    }
    
    popvar(){
        for var in $*; do
            eval level=\${${var}_level:-0}
            test $level = 0 && continue
            eval level=$(($level-1))
            eval $var="\${${var}_${level}}"
            eval ${var}_level=$level
            eval unset ${var}_${level}
        done
    }
    
    
    enable(){
        set_all yes $*
    }
    
    disable(){
        set_all no $*
    }
    
    
    enable_weak(){
        set_weak yes $*
    }
    
    disable_weak(){
        set_weak no $*
    }
    
    
        for var; do
            enable $(echo "$var" | sed 's/[^A-Za-z0-9_]/_/g')
        done
    
        for var; do
            disable $(echo "$var" | sed 's/[^A-Za-z0-9_]/_/g')
        done
    
    do_enable_deep(){
        for var; do
            enabled $var && continue
            eval sel="\$${var}_select"
    
            eval sgs="\$${var}_suggest"
            pushvar var sgs
    
            popvar sgs
            enable_deep_weak $sgs
    
            popvar var
        done
    }
    
    enable_deep(){
        do_enable_deep $*
        enable $*
    }
    
    
    enable_deep_weak(){
        do_enable_deep $*
        enable_weak $*
    }
    
    
        test "${1#!}" = "$1" && op== || op=!=
        eval test "x\$${1#!}" $op "xyes"
    
        test "${1#!}" = "$1" && op== || op=!=
        eval test "x\$${1#!}" $op "xno"
    
    enabled_all(){
        for opt; do
            enabled $opt || return 1
        done
    }
    
    
    disabled_all(){
        for opt; do
            disabled $opt || return 1
        done
    }
    
    
    enabled_any(){
        for opt; do
            enabled $opt && return 0
        done
    }
    
    
    disabled_any(){
        for opt; do
            disabled $opt && return 0
        done
    
    set_default(){
        for opt; do
    
            eval : \${$opt:=\$${opt}_default}
    
    is_in(){
        value=$1
        shift
        for var in $*; do
            [ $var = $value ] && return 0
        done
        return 1
    }
    
    
            enabled ${cfg}_checking && die "Circular dependency for $cfg."
            disabled ${cfg}_checking && continue
            enable ${cfg}_checking
    
    
            eval dep_all="\$${cfg}_deps"
            eval dep_any="\$${cfg}_deps_any"
    
            eval dep_sel="\$${cfg}_select"
    
            eval dep_sgs="\$${cfg}_suggest"
    
            eval dep_ifa="\$${cfg}_if"
            eval dep_ifn="\$${cfg}_if_any"
    
            pushvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn
            check_deps $dep_all $dep_any $dep_sel $dep_sgs $dep_ifa $dep_ifn
            popvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn
    
            [ -n "$dep_ifa" ] && { enabled_all $dep_ifa && enable_weak $cfg; }
            [ -n "$dep_ifn" ] && { enabled_any $dep_ifn && enable_weak $cfg; }
    
    Måns Rullgård's avatar
    Måns Rullgård committed
            enabled_all  $dep_all || disable $cfg
            enabled_any  $dep_any || disable $cfg
    
            disabled_any $dep_sel && disable $cfg
    
            if enabled $cfg; then
                eval dep_extralibs="\$${cfg}_extralibs"
                test -n "$dep_extralibs" && add_extralibs $dep_extralibs
    
                enable_deep $dep_sel
    
                enable_deep_weak $dep_sgs
    
            disable ${cfg}_checking
    
    print_config(){
        pfx=$1
        header=$2
        makefile=$3
        shift 3
        for cfg; do
    
            if enabled $cfg; then
    
                echo "#define ${pfx}${ucname} 1" >> $header
                echo "${pfx}${ucname}=yes" >> $makefile
            else
    
                echo "#define ${pfx}${ucname} 0" >> $header
    
                echo "!${pfx}${ucname}=yes" >> $makefile
    
        (: ${SAVE_CFLAGS?}) 2> /dev/null
    
        SAVE_CFLAGS="$CFLAGS"
        SAVE_LDFLAGS="$LDFLAGS"
        SAVE_extralibs="$extralibs"
    }
    
    restore_flags(){
    
        CFLAGS="$SAVE_CFLAGS"
        LDFLAGS="$SAVE_LDFLAGS"
        extralibs="$SAVE_extralibs"
        unset SAVE_CFLAGS
        unset SAVE_LDFLAGS
        unset SAVE_extralibs
    }
    
    temp_cflags(){
        save_flags
        CFLAGS="$CFLAGS $*"
    }
    
    temp_ldflags(){
        save_flags
        LDFLAGS="$LDFLAGS $*"
    }
    
    temp_extralibs(){
        save_flags
        extralibs="$extralibs $*"
    }
    
    
    append(){
        var=$1
        shift
        flags_saved && eval "SAVE_$var=\"\$SAVE_$var $*\""
        eval "$var=\"\$$var $*\""
    }
    
    
        append CPPFLAGS $($filter_cppflags "$@")
    
        append CFLAGS $($filter_cflags "$@")
    
        append ASFLAGS $($filter_asflags "$@")
    
    add_ldflags(){
        append LDFLAGS "$@"
    }
    
    add_extralibs(){
        append extralibs "$@"
    }
    
    
        log "$@"
    
        check_cmd $cc $CPPFLAGS $CFLAGS "$@" -c -o $TMPO $TMPC
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        check_cmd $cc $CPPFLAGS $CFLAGS "$@" -E -o $TMPO $TMPC
    
    check_as(){
        log check_as "$@"
        cat > $TMPC
        log_file $TMPC
    
        check_cmd $as $CPPFLAGS $ASFLAGS "$@" -c -o $TMPO $TMPC
    
    check_asm(){
        log check_asm "$@"
        name="$1"
    
        disable $name
        check_as "$@" <<EOF && enable $name
    
    void foo(void){ __asm__ volatile($code); }
    
    Loren Merritt's avatar
    Loren Merritt committed
    check_yasm(){
        log check_yasm "$@"
        echo "$1" > $TMPS
        log_file $TMPS
        shift 1
        check_cmd $yasmexe $YASMFLAGS "$@" -o $TMPO $TMPS
    }
    
    
        flags=''
        libs=''
        for f; do
            test "${f}" = "${f#-l}" && flags="$flags $f" || libs="$libs $f"
        done
    
        check_cc $($filter_cflags $flags) || return
    
        check_cmd $ld $LDFLAGS $flags -o $TMPE $TMPO $extralibs $libs
    
    check_cppflags(){
        log check_cppflags "$@"
    
        set -- $($filter_cppflags "$@")
        check_cc "$@" <<EOF && append CPPFLAGS "$@"
    
    check_cflags(){
    
        set -- $($filter_cflags "$@")
        check_cc "$@" <<EOF && append CFLAGS "$@"
    
    test_ldflags(){
        log test_ldflags "$@"
        check_ld "$@" <<EOF
    
    check_ldflags(){
        log check_ldflags "$@"
        test_ldflags "$@" && add_ldflags "$@"
    }
    
    
    check_header(){
    
        disable_safe $header
        check_cpp "$@" <<EOF && enable_safe $header
    
    #include <$header>
    int x;
    EOF
    }
    
    check_func(){
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        disable $func
        check_ld "$@" <<EOF && enable $func
    
    extern int $func();
    
    check_func_headers(){
        log check_func_headers "$@"
    
        headers=$1
        func=$2
        shift 2
        disable $func
        incs=""
        for hdr in $headers; do
            incs="$incs
    #include <$hdr>"
        done
    
        check_ld "$@" <<EOF && enable $func && enable_safe $headers
    
    int main(int argc, char **argv){
    
    check_cpp_condition(){
        log check_cpp_condition "$@"
        header=$1
        condition=$2
    
        shift 2
        check_cpp $($filter_cppflags "$@") <<EOF
    
    #include <$header>
    #if !($condition)
    #error "unsatisfied condition: $condition"
    #endif
    EOF
    }
    
    
    check_lib(){
        log check_lib "$@"
        header="$1"
        func="$2"
        shift 2
    
        temp_extralibs "$@"
        check_header $header && check_func $func && add_extralibs "$@"
        err=$?
        restore_flags
        return $err
    
    check_lib2(){
        log check_lib2 "$@"
        headers="$1"
        func="$2"
        shift 2
    
        check_func_headers "$headers" $func "$@" && add_extralibs "$@"
    
        check_ld "$@" && { enabled cross_compile || $TMPE >> $logfile 2>&1; }
    
    check_exec_crash(){
    
    
        # exit() is not async signal safe.  _Exit (C99) and _exit (POSIX)
        # are safe but may not be available everywhere.  Thus we use
        # raise(SIGTERM) instead.  The check is run in a subshell so we
        # can redirect the "Terminated" message from the shell.  SIGBUS
        # is not defined by standard C so it is used conditionally.
    
    
        (check_exec "$@") >> $logfile 2>&1 <<EOF
    
    #include <signal.h>
    static void sighandler(int sig){
        raise(SIGTERM);
    }
    
    Diego Biurrun's avatar
    Diego Biurrun committed
    int main(void){
    
        signal(SIGILL, sighandler);
        signal(SIGFPE, sighandler);
        signal(SIGSEGV, sighandler);
    #ifdef SIGBUS
        signal(SIGBUS, sighandler);
    #endif
        { $code }
    }
    EOF
    }
    
    
    check_type(){
        log check_type "$@"
        headers=$1
        type=$2
        shift 2
    
        incs=""
        for hdr in $headers; do
            incs="$incs
    #include <$hdr>"
        done
    
        check_cc "$@" <<EOF && enable_safe "$type"
    
    check_struct(){
        log check_type "$@"
        headers=$1
        struct=$2
        member=$3
        shift 3
        disable_safe "${struct}_${member}"
        incs=""
        for hdr in $headers; do
            incs="$incs
    #include <$hdr>"
        done
        check_cc "$@" <<EOF && enable_safe "${struct}_${member}"
    $incs
    const void *p = &(($struct *)0)->$member;
    EOF
    }
    
    
    require(){
        name="$1"
        header="$2"
        func="$3"
        shift 3
        check_lib $header $func "$@" || die "ERROR: $name not found"
    
    require2(){
        name="$1"
        headers="$2"
        func="$3"
        shift 3
        check_lib2 "$headers" $func "$@" || die "ERROR: $name not found"
    }
    
    
    check_foo_config(){
        cfg=$1
        pkg=$2
        header=$3
        func=$4
        shift 4
        disable $cfg
        check_cmd ${pkg}-config --version
        err=$?
        if test "$err" = 0; then
    
            temp_cflags $(${pkg}-config --cflags)
            temp_extralibs $(${pkg}-config --libs)
    
            check_lib "$@" $header $func && enable $cfg
        fi
        return $err
    }
    
    
    check_host_cc(){
        log check_host_cc "$@"
        cat > $TMPC
        log_file $TMPC
        check_cmd $host_cc $host_cflags "$@" -c -o $TMPO $TMPC
    }
    
    check_host_cflags(){
        log check_host_cflags "$@"
        check_host_cc "$@" <<EOF && append host_cflags "$@"
    int x;
    EOF
    }
    
    
    apply(){
        file=$1
        shift
        "$@" < "$file" > "$file.tmp" && mv "$file.tmp" "$file" || rm "$file.tmp"
    }
    
    
    cp_if_changed(){
        cmp -s "$1" "$2" &&
            echo "$2 is unchanged" ||
            cp -f "$1" "$2"
    }
    
    
    # CONFIG_LIST contains configurable options, while HAVE_LIST is for
    # system-dependent things.
    
    
    COMPONENT_LIST="
        bsfs
        decoders
        demuxers
        encoders
    
    Vitor Sessak's avatar
    Vitor Sessak committed
        filters
    
        parsers
        protocols
    "
    
    CONFIG_LIST="
        $COMPONENT_LIST
    
    Aurelien Jacobs's avatar
    Aurelien Jacobs committed
        hardcoded_tables
    
    Ramiro Polla's avatar
    Ramiro Polla committed
        libdc1394
    
        libopencore_amrnb
        libopencore_amrwb
    
        libopenjpeg
    
        libspeex
    
        libtheora
    
        runtime_cpudetect
    
        os2threads
    
        armvfp
    
        alsa_asoundlib_h
    
        attribute_packed
    
    Alex Beregszaszi's avatar
    Alex Beregszaszi committed
        closesocket
    
        dev_bktr_ioctl_bt848_h
        dev_bktr_ioctl_meteor_h
        dev_ic_bt8xx_h
        dev_video_meteor_ioctl_meteor_h
        dev_video_bktr_ioctl_bt848_h
    
        fast_unaligned
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        fork
    
    Ramiro Polla's avatar
    Ramiro Polla committed
        getrusage