Skip to content
Snippets Groups Projects
configure 126 KiB
Newer Older
  • Learn to ignore specific revisions
  •     log check_host_cflags "$@"
    
        set -- $($host_cflags_filter "$@")
    
        check_host_cc "$@" <<EOF && append host_cflags "$@"
    int x;
    EOF
    }
    
    
    apply(){
        file=$1
        shift
        "$@" < "$file" > "$file.tmp" && mv "$file.tmp" "$file" || rm "$file.tmp"
    }
    
    
        cmp -s "$1" "$2" && echo "$2 is unchanged" && return
        mkdir -p "$(dirname $2)"
    
    Mans Rullgard's avatar
    Mans Rullgard committed
        $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
    
    EXTERNAL_LIBRARY_LIST="
        avisynth
        bzlib
        frei0r
        gnutls
        libcdio
        libdc1394
        libfaac
        libfdk_aac
        libfreetype
        libgsm
        libilbc
        libmp3lame
        libopencore_amrnb
        libopencore_amrwb
        libopencv
        libopenjpeg
        libopus
        libpulse
        librtmp
        libschroedinger
        libspeex
        libtheora
        libvo_aacenc
        libvo_amrwbenc
        libvorbis
        libvpx
    
    Aurelien Jacobs's avatar
    Aurelien Jacobs committed
        hardcoded_tables
    
        runtime_cpudetect
    
    ATOMICS_LIST='
        atomics_gcc
        atomics_suncc
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        tomi
    
    ARCH_EXT_LIST_ARM='
        armv5te
        armv6
        armv6t2
        neon
    
    HAVE_LIST_PUB='
        bigendian
    
        fast_unaligned
    
        $(add_suffix _external $ARCH_EXT_LIST)
        $(add_suffix _inline   $ARCH_EXT_LIST)
    
        $ATOMICS_LIST
    
        aligned_stack
    
        alsa_asoundlib_h
    
        atomics_native
    
        attribute_may_alias
    
        attribute_packed
    
        cdio_paranoia_h
        cdio_paranoia_paranoia_h
    
    Alex Beregszaszi's avatar
    Alex Beregszaszi committed
        closesocket
    
        dev_bktr_ioctl_bt848_h
        dev_bktr_ioctl_meteor_h
        dev_ic_bt8xx_h
        dev_video_bktr_ioctl_bt848_h
    
        dev_video_meteor_ioctl_meteor_h
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        fcntl
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        fork
    
        GetProcessAffinityMask
    
        GetSystemTimeAsFileTime
    
    Ramiro Polla's avatar
    Ramiro Polla committed
        getrusage
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        ldbrx
    
        machine_ioctl_bt848_h
        machine_ioctl_meteor_h
    
        machine_rw_barrier
    
        MapViewOfFile
    
        mkstemp
    
        mprotect
    
        nanosleep
    
        posix_memalign
    
        sndio_h
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        soundcard_h
    
        strerror_r
    
        strptime
    
    Stefano Sabatini's avatar
    Stefano Sabatini committed
        strtok_r
    
        struct_group_source_req
        struct_ip_mreq_source
    
        struct_pollfd
    
        struct_v4l2_frmivalenum_discrete
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        sys_soundcard_h
    
        sys_time_h
    
    Luca Barbato's avatar
    Luca Barbato committed
        sys_un_h
    
        unistd_h
    
        windows_h
    
    Diego Biurrun's avatar
    Diego Biurrun committed
    # options emitted with CONFIG_ prefix but not available on the command line
    
        host_ldflags
        host_libs
    
    Måns Rullgård's avatar
    Måns Rullgård committed
        samples
    
        toolchain
    
    CMDLINE_APPEND="
        extra_cflags
    
    # code dependency declarations
    
    
    # architecture extensions
    
    armv5te_deps="arm"
    armv6_deps="arm"
    
    armv6t2_deps="arm"
    
    vfp_deps="arm"
    vfpv3_deps="vfp"
    
    map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM
    
    
    altivec_deps="ppc"
    ppc4xx_deps="ppc"
    
    vis_deps="sparc"
    
    
    x86_64_suggest="fast_cmov i686"
    
    amd3dnow_deps="mmx"
    amd3dnowext_deps="amd3dnow"
    
    mmx_deps="x86"
    
    mmxext_deps="mmx"
    
    sse_deps="mmxext"
    sse2_deps="sse"
    sse3_deps="sse2"
    ssse3_deps="sse3"
    sse4_deps="ssse3"
    sse42_deps="sse4"
    avx_deps="sse42"
    
    mmx_external_deps="yasm"
    mmx_inline_deps="inline_asm"
    mmx_suggest="mmx_external mmx_inline"
    
    for ext in $(filter_out mmx $ARCH_EXT_LIST_X86); do
        eval dep=\$${ext}_deps
        eval ${ext}_external_deps='"${dep}_external"'
        eval ${ext}_inline_deps='"${dep}_inline"'
        eval ${ext}_suggest='"${ext}_external ${ext}_inline"'
    done
    
    
    aligned_stack_if_any="ppc x86"
    
    fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64"
    
    fast_clz_if_any="alpha avr32 mips ppc x86"
    fast_unaligned_if_any="ppc x86"
    
    inline_asm_deps="!tms470"
    
    need_memalign="altivec neon sse"
    
    symver_if_any="symver_asm_label symver_gnu_asm"
    
    
    dct_select="rdft"
    
    error_resilience_select="dsputil"
    lpc_select="dsputil"
    
    mdct_select="fft"
    rdft_select="fft"
    
    mpegaudio_select="mpegaudiodsp"
    
    mpegvideo_select="dsputil hpeldsp videodsp"
    
    aac_decoder_select="mdct sinewin"
    
    aac_encoder_select="audio_frame_queue mdct sinewin"
    
    aac_latm_decoder_select="aac_decoder aac_latm_parser"
    
    ac3_decoder_select="mdct ac3dsp ac3_parser dsputil"
    ac3_encoder_select="mdct ac3dsp dsputil"
    ac3_fixed_encoder_select="mdct ac3dsp dsputil"
    
    aic_decoder_select="dsputil golomb"
    
    als_decoder_select="dsputil"
    
    amv_decoder_select="dsputil hpeldsp"
    
    ape_decoder_select="dsputil"
    asv1_decoder_select="dsputil"
    asv1_encoder_select="dsputil"
    asv2_decoder_select="dsputil"
    asv2_encoder_select="dsputil"
    
    atrac1_decoder_select="mdct sinewin"
    
    bink_decoder_select="dsputil hpeldsp"
    
    binkaudio_dct_decoder_select="mdct rdft dct sinewin"
    binkaudio_rdft_decoder_select="mdct rdft sinewin"
    
    cavs_decoder_select="dsputil golomb h264chroma videodsp"
    cllc_decoder_select="dsputil"
    
    comfortnoise_encoder_select="lpc"
    
    cook_decoder_select="dsputil mdct sinewin"
    
    cscd_decoder_select="lzo"
    
    cscd_decoder_suggest="zlib"
    
    dnxhd_decoder_select="dsputil"
    dnxhd_encoder_select="aandcttables dsputil mpegvideoenc"
    dvvideo_decoder_select="dsputil"
    dvvideo_encoder_select="dsputil"
    
    dxa_decoder_select="zlib"
    
    eac3_decoder_select="ac3_decoder"
    
    eac3_encoder_select="ac3_encoder"
    
    eamad_decoder_select="aandcttables dsputil mpegvideo"
    eatgq_decoder_select="aandcttables dsputil"
    
    eatqi_decoder_select="aandcttables error_resilience mpegvideo"
    
    ffv1_decoder_select="dsputil golomb rangecoder"
    ffv1_encoder_select="dsputil rangecoder"
    ffvhuff_decoder_select="dsputil"
    ffvhuff_encoder_select="dsputil huffman"
    
    flac_decoder_select="golomb"
    
    flac_encoder_select="dsputil golomb lpc"
    
    flashsv_decoder_select="zlib"
    flashsv_encoder_select="zlib"
    
    flashsv2_decoder_select="zlib"
    
    flv_decoder_select="h263_decoder"
    
    flv_encoder_select="h263_encoder"
    
    fourxm_decoder_select="dsputil"
    fraps_decoder_select="dsputil huffman"
    
    Kostya Shishkov's avatar
    Kostya Shishkov committed
    g2m_decoder_select="dsputil zlib"
    
    h261_decoder_select="error_resilience mpegvideo"
    
    h261_encoder_select="aandcttables mpegvideoenc"
    
    h263_decoder_select="error_resilience h263_parser mpegvideo"
    
    h263_encoder_select="aandcttables mpegvideoenc"
    
    h263i_decoder_select="h263_decoder"
    
    h263p_encoder_select="h263_encoder"
    
    h264_decoder_select="golomb h264chroma h264dsp h264pred h264qpel videodsp"
    h264_decoder_suggest="error_resilience"
    
    huffyuv_decoder_select="dsputil"
    huffyuv_encoder_select="dsputil huffman"
    iac_decoder_select="dsputil fft mdct sinewin"
    imc_decoder_select="dsputil fft mdct sinewin"
    
    indeo3_decoder_select="hpeldsp"
    
    interplay_video_decoder_select="hpeldsp"
    
    jpegls_decoder_select="dsputil golomb hpeldsp"
    
    jpegls_encoder_select="golomb"
    
    jv_decoder_select="dsputil"
    lagarith_decoder_select="dsputil"
    
    ljpeg_encoder_select="aandcttables mpegvideoenc"
    
    loco_decoder_select="golomb"
    
    mdec_decoder_select="dsputil error_resilience mpegvideo"
    
    mimic_decoder_select="dsputil hpeldsp"
    
    mjpeg_decoder_select="dsputil hpeldsp"
    mjpegb_decoder_select="dsputil hpeldsp"
    
    mjpeg_encoder_select="aandcttables dsputil mpegvideoenc"
    mlp_decoder_select="dsputil mlp_parser"
    motionpixels_decoder_select="dsputil"
    
    mp1_decoder_select="mpegaudio"
    mp1float_decoder_select="mpegaudio"
    mp2_decoder_select="mpegaudio"
    mp2float_decoder_select="mpegaudio"
    mp3_decoder_select="mpegaudio"
    mp3adu_decoder_select="mpegaudio"
    mp3adufloat_decoder_select="mpegaudio"
    mp3float_decoder_select="mpegaudio"
    mp3on4_decoder_select="mpegaudio"
    mp3on4float_decoder_select="mpegaudio"
    
    mpc7_decoder_select="dsputil mpegaudiodsp"
    mpc8_decoder_select="dsputil mpegaudiodsp"
    
    mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
    
    mpeg_xvmc_decoder_select="mpeg2video_decoder"
    
    mpeg1video_decoder_select="error_resilience mpegvideo"
    
    mpeg1video_encoder_select="aandcttables mpegvideoenc"
    
    mpeg2video_decoder_select="error_resilience mpegvideo"
    
    mpeg2video_encoder_select="aandcttables mpegvideoenc"
    
    mpeg4_decoder_select="h263_decoder mpeg4video_parser"
    mpeg4_encoder_select="h263_encoder"
    
    msmpeg4v1_decoder_select="h263_decoder"
    msmpeg4v2_decoder_select="h263_decoder"
    
    msmpeg4v2_encoder_select="h263_encoder"
    
    msmpeg4v3_decoder_select="h263_decoder"
    
    msmpeg4v3_encoder_select="h263_encoder"
    
    mss2_decoder_select="error_resilience vc1_decoder"
    
    mxpeg_decoder_select="dsputil hpeldsp"
    
    nellymoser_decoder_select="mdct sinewin"
    
    nellymoser_encoder_select="audio_frame_queue mdct sinewin"
    
    nuv_decoder_select="dsputil lzo"
    png_decoder_select="dsputil zlib"
    png_encoder_select="dsputil zlib"
    prores_decoder_select="dsputil"
    prores_encoder_select="dsputil"
    
    qdm2_decoder_select="mdct rdft mpegaudiodsp"
    
    ra_144_encoder_select="audio_frame_queue lpc"
    
    rv10_decoder_select="error_resilience h263_decoder"
    
    rv20_decoder_select="error_resilience h263_decoder"
    
    rv30_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpegvideo videodsp"
    rv40_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpegvideo videodsp"
    
    shorten_decoder_select="golomb"
    
    sp5x_decoder_select="dsputil hpeldsp"
    
    svq1_decoder_select="hpeldsp"
    
    svq1_encoder_select="aandcttables dsputil hpeldsp mpegvideoenc"
    
    svq3_decoder_select="golomb h264chroma h264dsp h264pred h264qpel hpeldsp mpegvideo videodsp"
    
    svq3_decoder_suggest="error_resilience zlib"
    
    tak_decoder_select="dsputil"
    
    theora_decoder_select="vp3_decoder"
    
    tiff_decoder_suggest="zlib"
    tiff_encoder_suggest="zlib"
    
    thp_decoder_select="dsputil hpeldsp"
    
    truehd_decoder_select="mlp_decoder"
    
    truemotion2_decoder_select="dsputil"
    truespeech_decoder_select="dsputil"
    
    tscc_decoder_select="zlib"
    
    twinvq_decoder_select="mdct lsp sinewin"
    
    utvideo_decoder_select="dsputil"
    utvideo_encoder_select="dsputil huffman"
    vble_decoder_select="dsputil"
    
    vc1_decoder_select="error_resilience h263_decoder h264chroma h264qpel"
    
    vc1image_decoder_select="vc1_decoder"
    
    vorbis_decoder_select="mdct"
    vorbis_encoder_select="mdct"
    
    vp3_decoder_select="hpeldsp vp3dsp videodsp"
    
    vp5_decoder_select="h264chroma hpeldsp videodsp vp3dsp"
    vp6_decoder_select="h264chroma hpeldsp huffman videodsp vp3dsp"
    
    vp6a_decoder_select="vp6_decoder"
    vp6f_decoder_select="vp6_decoder"
    
    vp8_decoder_select="h264pred videodsp"
    
    wmapro_decoder_select="mdct sinewin"
    wmav1_decoder_select="mdct sinewin"
    wmav1_encoder_select="mdct sinewin"
    wmav2_decoder_select="mdct sinewin"
    wmav2_encoder_select="mdct sinewin"
    wmavoice_decoder_select="lsp rdft dct mdct sinewin"
    
    wmv1_encoder_select="h263_encoder"
    
    wmv2_decoder_select="h263_decoder videodsp"
    
    wmv2_encoder_select="h263_encoder"
    
    wmv3_decoder_select="vc1_decoder"
    
    wmv3image_decoder_select="wmv3_decoder"
    
    Derek Buitenhuis's avatar
    Derek Buitenhuis committed
    zerocodec_decoder_select="zlib"
    
    zlib_decoder_select="zlib"
    zlib_encoder_select="zlib"
    zmbv_decoder_select="zlib"
    zmbv_encoder_select="zlib"
    
    dxva2_deps="dxva2api_h"
    
    vaapi_deps="va_va_h"
    
    vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
    
    vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore"
    
    vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
    
    
    h263_vaapi_hwaccel_deps="vaapi"
    h263_vaapi_hwaccel_select="h263_decoder"
    h263_vdpau_hwaccel_deps="vdpau"
    h263_vdpau_hwaccel_select="h263_decoder"
    
    h264_dxva2_hwaccel_deps="dxva2"
    h264_dxva2_hwaccel_select="h264_decoder"
    
    h264_vaapi_hwaccel_deps="vaapi"
    h264_vaapi_hwaccel_select="h264_decoder"
    h264_vda_hwaccel_deps="vda"
    h264_vda_hwaccel_select="h264_decoder"
    h264_vdpau_hwaccel_deps="vdpau"
    h264_vdpau_hwaccel_select="h264_decoder"
    mpeg1_vdpau_hwaccel_deps="vdpau"
    mpeg1_vdpau_hwaccel_select="mpeg1video_decoder"
    
    mpeg2_dxva2_hwaccel_deps="dxva2"
    mpeg2_dxva2_hwaccel_select="mpeg2video_decoder"
    
    mpeg2_vaapi_hwaccel_deps="vaapi"
    mpeg2_vaapi_hwaccel_select="mpeg2video_decoder"
    mpeg2_vdpau_hwaccel_deps="vdpau"
    mpeg2_vdpau_hwaccel_select="mpeg2video_decoder"
    mpeg4_vaapi_hwaccel_deps="vaapi"
    mpeg4_vaapi_hwaccel_select="mpeg4_decoder"
    mpeg4_vdpau_hwaccel_deps="vdpau"
    mpeg4_vdpau_hwaccel_select="mpeg4_decoder"
    
    vc1_dxva2_hwaccel_deps="dxva2"
    vc1_dxva2_hwaccel_select="vc1_decoder"
    
    vc1_vaapi_hwaccel_deps="vaapi"
    vc1_vaapi_hwaccel_select="vc1_decoder"
    vc1_vdpau_hwaccel_deps="vdpau"
    vc1_vdpau_hwaccel_select="vc1_decoder"
    
    wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel"
    wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
    
    wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel"
    
    h264_parser_select="golomb h264chroma h264dsp h264pred h264qpel videodsp"
    
    mpeg4video_parser_select="error_resilience mpegvideo"
    mpegvideo_parser_select="error_resilience mpegvideo"
    
    vc1_parser_select="mpegvideo"
    
    # external libraries
    
    libfaac_encoder_select="audio_frame_queue"
    
    libfdk_aac_encoder_deps="libfdk_aac"
    
    libfdk_aac_encoder_select="audio_frame_queue"
    
    libgsm_decoder_deps="libgsm"
    libgsm_encoder_deps="libgsm"
    
    libgsm_ms_decoder_deps="libgsm"
    libgsm_ms_encoder_deps="libgsm"
    
    libilbc_decoder_deps="libilbc"
    libilbc_encoder_deps="libilbc"
    
    libmp3lame_encoder_select="audio_frame_queue"
    
    libopencore_amrnb_decoder_deps="libopencore_amrnb"
    libopencore_amrnb_encoder_deps="libopencore_amrnb"
    
    libopencore_amrnb_encoder_select="audio_frame_queue"
    
    libopencore_amrwb_decoder_deps="libopencore_amrwb"
    
    libopenjpeg_decoder_deps="libopenjpeg"
    
    libopenjpeg_encoder_deps="libopenjpeg"
    
    libopus_decoder_deps="libopus"
    
    libopus_encoder_deps="libopus"
    
    libopus_encoder_select="audio_frame_queue"
    
    libschroedinger_decoder_deps="libschroedinger"
    libschroedinger_encoder_deps="libschroedinger"
    
    libspeex_decoder_deps="libspeex"
    
    libspeex_encoder_deps="libspeex"
    
    libspeex_encoder_select="audio_frame_queue"
    
    libtheora_encoder_deps="libtheora"
    
    libvo_aacenc_encoder_deps="libvo_aacenc"
    
    libvo_aacenc_encoder_select="audio_frame_queue"
    
    libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
    
    libvorbis_encoder_deps="libvorbis"
    
    libvorbis_encoder_select="audio_frame_queue"
    
    libvpx_vp8_decoder_deps="libvpx"
    libvpx_vp8_encoder_deps="libvpx"
    libvpx_vp9_decoder_deps="libvpx"
    libvpx_vp9_encoder_deps="libvpx"
    
    libwavpack_encoder_deps="libwavpack"
    
    libxavs_encoder_deps="libxavs"
    
    # demuxers / muxers
    
    ac3_demuxer_select="ac3_parser"
    
    asf_stream_muxer_select="asf_muxer"
    
    avisynth_demuxer_deps="avisynth"
    
    dirac_demuxer_select="dirac_parser"
    
    flac_demuxer_select="flac_parser"
    
    ismv_muxer_select="mov_muxer"
    
    matroska_audio_muxer_select="matroska_muxer"
    
    matroska_demuxer_suggest="bzlib lzo zlib"
    
    mov_demuxer_suggest="zlib"
    
    mov_muxer_select="rtpenc_chain"
    
    mp3_demuxer_select="mpegaudio_parser"
    
    mpegts_muxer_select="adts_muxer latm_muxer"
    
    mpegtsraw_demuxer_select="mpegts_demuxer"
    mxf_d10_muxer_select="mxf_muxer"
    
    ogg_demuxer_select="golomb"
    
    rtpdec_select="asf_demuxer rm_demuxer rtp_protocol mpegts_demuxer mov_demuxer"
    rtsp_demuxer_select="http_protocol rtpdec"
    
    rtsp_muxer_select="rtp_muxer http_protocol rtp_protocol rtpenc_chain"
    
    Martin Storsjö's avatar
    Martin Storsjö committed
    sap_demuxer_select="sdp_demuxer"
    
    sap_muxer_select="rtp_muxer rtp_protocol rtpenc_chain"
    
    smoothstreaming_muxer_select="ismv_muxer"
    
    spdif_muxer_select="aac_parser"
    
    tak_demuxer_select="tak_parser"
    
    tg2_muxer_select="mov_muxer"
    tgp_muxer_select="mov_muxer"
    
    w64_demuxer_deps="wav_demuxer"
    
    alsa_indev_deps="alsa_asoundlib_h snd_pcm_htimestamp"
    alsa_outdev_deps="alsa_asoundlib_h"
    bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
    dv1394_indev_deps="dv1394 dv_demuxer"
    
    fbdev_indev_deps="linux_fb_h"
    
    jack_indev_deps="jack_jack_h pthreads"
    
    libcdio_indev_deps="libcdio"
    
    libdc1394_indev_deps="libdc1394"
    oss_indev_deps_any="soundcard_h sys_soundcard_h"
    oss_outdev_deps_any="soundcard_h sys_soundcard_h"
    
    pulse_indev_deps="libpulse"
    
    sndio_indev_deps="sndio_h"
    sndio_outdev_deps="sndio_h"
    
    v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h"
    
    vfwcap_indev_deps="capCreateCaptureWindow vfwcap_defines"
    
    vfwcap_indev_extralibs="-lavicap32"
    
    x11grab_indev_deps="x11grab XShmCreateImage"
    
    # protocols
    
    Samuel Pitoiset's avatar
    Samuel Pitoiset committed
    ffrtmpcrypt_protocol_deps="!librtmp_protocol"
    ffrtmpcrypt_protocol_deps_any="gcrypt nettle openssl"
    ffrtmpcrypt_protocol_select="tcp_protocol"
    
    ffrtmphttp_protocol_deps="!librtmp_protocol"
    ffrtmphttp_protocol_select="http_protocol"
    
    httpproxy_protocol_select="tcp_protocol"
    
    http_protocol_select="tcp_protocol"
    
    https_protocol_select="tls_protocol"
    
    librtmp_protocol_deps="librtmp"
    librtmpe_protocol_deps="librtmp"
    librtmps_protocol_deps="librtmp"
    librtmpt_protocol_deps="librtmp"
    librtmpte_protocol_deps="librtmp"
    
    Måns Rullgård's avatar
    Måns Rullgård committed
    mmsh_protocol_select="http_protocol"
    
    rtmp_protocol_deps="!librtmp_protocol"
    
    rtmp_protocol_select="tcp_protocol"
    
    Samuel Pitoiset's avatar
    Samuel Pitoiset committed
    rtmpe_protocol_select="ffrtmpcrypt_protocol"
    
    Samuel Pitoiset's avatar
    Samuel Pitoiset committed
    rtmps_protocol_deps="!librtmp_protocol"
    rtmps_protocol_select="tls_protocol"
    
    rtmpt_protocol_select="ffrtmphttp_protocol"
    
    Samuel Pitoiset's avatar
    Samuel Pitoiset committed
    rtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol"
    
    rtmpts_protocol_select="ffrtmphttp_protocol https_protocol"
    
    rtp_protocol_select="udp_protocol"
    
    sctp_protocol_deps="struct_sctp_event_subscribe"
    sctp_protocol_select="network"
    
    srtp_protocol_select="rtp_protocol"
    
    tls_protocol_deps_any="openssl gnutls"
    tls_protocol_select="tcp_protocol"
    
    Luca Barbato's avatar
    Luca Barbato committed
    unix_protocol_deps="sys_un_h"
    unix_protocol_select="network"
    
    blackframe_filter_deps="gpl"
    
    boxblur_filter_deps="gpl"
    
    cropdetect_filter_deps="gpl"
    
    delogo_filter_deps="gpl"
    
    frei0r_filter_deps="frei0r dlopen strtok_r"
    
    frei0r_filter_extralibs='$ldl'
    
    frei0r_src_filter_deps="frei0r dlopen strtok_r"
    
    frei0r_src_filter_extralibs='$ldl'
    
    hqdn3d_filter_deps="gpl"
    
    interlace_filter_deps="gpl"
    
    resample_filter_deps="avresample"
    
    scale_filter_deps="swscale"
    
    avcodec_deps="avutil"
    avdevice_deps="avutil avcodec avformat"
    avfilter_deps="avutil"
    avformat_deps="avutil avcodec"
    avresample_deps="avutil"
    swscale_deps="avutil"
    
    # programs
    
    avconv_deps="avcodec avfilter avformat avresample swscale"
    
    avconv_select="aformat_filter anull_filter asyncts_filter atrim_filter format_filter
    
                   fps_filter null_filter resample_filter scale_filter
    
                   setpts_filter trim_filter"
    
    avplay_deps="avcodec avformat avresample swscale sdl"
    
    Anton Khirnov's avatar
    Anton Khirnov committed
    avplay_select="rdft"
    
    avprobe_deps="avcodec avformat"
    
    avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer !shared"
    
    avserver_extralibs='$ldl'
    
    Fabrice Bellard's avatar
    Fabrice Bellard committed
    # default parameters
    
    
    # installation paths
    
    prefix_default="/usr/local"
    bindir_default='${prefix}/bin'
    
    datadir_default='${prefix}/share/avconv'
    
    incdir_default='${prefix}/include'
    libdir_default='${prefix}/lib'
    mandir_default='${prefix}/share/man'
    shlibdir_default="$libdir_default"
    
    ar_default="ar"
    
    host_cc_default="gcc"
    
    Mans Rullgard's avatar
    Mans Rullgard committed
    cp_f="cp -f"
    
    nm_default="nm -g"
    
    objformat="elf"
    
    pkg_config_default=pkg-config
    
    Michael Niedermayer's avatar
    Michael Niedermayer committed
    ranlib="ranlib"
    
    yasmexe="yasm"
    
    target_os_default=$(tolower $(uname -s))
    host_os=$target_os_default
    
    
    # configurable options
    
    enable $LIBRARY_LIST $PROGRAM_LIST
    
    enable safe_bitstream_reader
    
    enable static
    
    # By default, enable only those hwaccels that have no external dependencies.
    enable dxva2 vdpau
    
    
    # build settings
    
    SHFLAGS='-shared -Wl,-soname,$$(@F)'
    
    FULLNAME='$(NAME)$(BUILDSUF)'
    LIBNAME='$(LIBPREF)$(FULLNAME)$(LIBSUF)'
    
    SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'
    
    SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
    SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
    
    Måns Rullgård's avatar
    Måns Rullgård committed
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
    
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
    SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
    
    asflags_filter=echo
    cflags_filter=echo
    
    ldflags_filter=echo
    
    
    HOSTLD_O='-o $@'
    
    host_cflags='-O3 -g'
    host_cppflags='-D_ISOC99_SOURCE -D_XOPEN_SOURCE=600'