abinfo "Setting CONFIGURE_OPTIONS for specific architectures ..."
CONFIGURE_OPTIONS=(
    '--prefix=/usr'
    '--disable-debug'
    '--disable-static'
    '--disable-stripping'
    '--disable-htmlpages'
    '--enable-avisynth'
    '--enable-bsfs'
    '--enable-fontconfig'
    '--enable-gnutls'
    '--enable-gpl'
    '--enable-libass'
    '--enable-libbluray'
    '--enable-libfreetype'
    '--enable-libharfbuzz'
    '--enable-libfribidi'
    '--enable-libgsm'
    '--enable-libmodplug'
    '--enable-libmp3lame'
    '--enable-libopencore_amrnb'
    '--enable-libopencore_amrwb'
    '--enable-libopus'
    '--enable-libpulse'
    '--enable-libsoxr'
    '--enable-libspeex'
    '--enable-libssh'
    '--enable-libtheora'
    '--enable-libv4l2'
    '--enable-libvorbis'
    '--enable-libvpx'
    '--enable-libx264'
    '--enable-libx265'
    '--enable-libxml2'
    '--enable-libxvid'
    '--enable-runtime-cpudetect'
    '--enable-shared'
    '--enable-swresample'
    '--enable-vdpau'
    '--enable-version3'
    '--enable-vaapi'
    '--disable-libaom'
    '--enable-libdav1d'
    '--enable-libsmbclient'
    '--enable-libsvtav1'
    '--enable-libwebp'
    '--enable-vulkan'
)
CONFIGURE_OPTIONS_CUDA=(
    '--enable-nvenc'
    '--enable-nvdec'
    '--enable-cuda-llvm'
)

if ab_match_archgroup mainline; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        '--enable-lto'
    )
fi
if ab_match_arch amd64; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        "${CONFIGURE_OPTIONS_CUDA[@]}"
        '--enable-libvpl'
    )
elif ab_match_arch arm64; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        "${CONFIGURE_OPTIONS_CUDA[@]}"
    )
elif ab_match_arch loongson2f; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        '--cpu=loongson2f'
    )
elif ab_match_arch loongson3; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        '--cpu=loongson3'
        '--enable-msa'
        '--enable-mmi'
        '--disable-mipsdsp'
        '--disable-mipsdspr2'
        '--disable-mipsfpu'
    )
# Note: Our 32-bit big-endian PowerPC port does not require AltiVec.
elif ab_match_arch powerpc; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        '--disable-altivec'
    )
elif ab_match_arch ppc64; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        '--enable-altivec'
    )
elif ab_match_arch armv6hf; then
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        '--disable-armv6t2'
        '--disable-neon'
    )
fi

if ab_match_archgroup retro; then
    abinfo "Setting CONFIGURE_OPTIONS for retro ..."
    CONFIGURE_OPTIONS=(
        "${CONFIGURE_OPTIONS[@]}"
        '--enable-small'
        '--disable-avisynth'
        '--disable-libbluray'
        '--disable-libdav1d'
        '--disable-libgsm'
        '--disable-libopencore_amrnb'
        '--disable-libopencore_amrwb'
        '--disable-libopus'
        '--disable-libpulse'
        '--disable-libspeex'
        '--disable-libssh'
        '--disable-libsvtav1'
        '--disable-libv4l2'
        '--disable-libvpx'
        '--disable-libx265'
        '--disable-libwebp'
        '--disable-vulkan'
        '--disable-libsmbclient'
        '--disable-avx'
        '--disable-xop'
        '--disable-fma3'
        '--disable-fma4'
        '--disable-avx2'
        '--disable-avx512'
        '--disable-aesni'
    )
fi

abinfo "Configuring FFmpeg ..."
"$SRCDIR"/configure \
    "${CONFIGURE_OPTIONS[@]}"

abinfo "Building FFmpeg ..."
make V=1

abinfo "Installing FFmpeg ..."
make install install-man \
    DESTDIR="$PKGDIR"

# No option to disable the generation of examples.
abinfo "Removing examples ..."
rm -rv "$PKGDIR"/usr/share/ffmpeg/examples/
