# Ref: https://github.com/LizardByte/build-deps/blob/c22118fbfcaad3530b4ad6291e8039c16385b52f/cmake/ffmpeg/ffmpeg.cmake#L242
abinfo "Building libcbs.a ..."
CBS_FILES=$(find "${SRCDIR}/libavcodec" -name "cbs*.o")
CBS_SOURCE=(
    ${CBS_FILES}
    "${SRCDIR}/libavcodec/bitstream.o"
    "${SRCDIR}/libavcodec/h264_levels.o"
    "${SRCDIR}/libavcodec/h2645_parse.o"
    "${SRCDIR}/libavcodec/vp8data.o"
    "${SRCDIR}/libavutil/intmath.o"
)
if ab_match_arch riscv64; then
    CBS_SOURCE+=("${SRCDIR}/libavutil/riscv/cpu_common.o")
fi
ar -crv "${SRCDIR}/libcbs.a" "${CBS_SOURCE[@]}"

# Ref: https://github.com/LizardByte/build-deps/blob/c22118fbfcaad3530b4ad6291e8039c16385b52f/cmake/ffmpeg/ffmpeg.cmake#L206
# Note: Only include files that are not part of `ffmpeg` package.
abinfo "Installing headers and static libs ..."
install -Dvm644 "${SRCDIR}"/libcbs.a -t "${PKGDIR}"/usr/lib/
install -Dvm644 "${SRCDIR}"/libavcodec/cbs.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/cbs_h264.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/cbs_sei.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/cbs_h265.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/cbs_h2645.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/h2645_parse.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/get_bits.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/mathops.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/h264_levels.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavutil/attributes_internal.h -t "${PKGDIR}"/usr/include/libavutil/
install -Dvm644 "${SRCDIR}"/libavutil/intmath.h -t "${PKGDIR}"/usr/include/libavutil/
install -Dvm644 "${SRCDIR}"/config.h -t "${PKGDIR}"/usr/include/
# mathops incl. x86/arm/mips/ppc/riscv
install -Dvm644 "${SRCDIR}"/libavcodec/x86/mathops.h -t "${PKGDIR}"/usr/include/libavcodec/x86/
install -Dvm644 "${SRCDIR}"/libavcodec/arm/mathops.h -t "${PKGDIR}"/usr/include/libavcodec/arm/
install -Dvm644 "${SRCDIR}"/libavcodec/mips/mathops.h -t "${PKGDIR}"/usr/include/libavcodec/mips/
install -Dvm644 "${SRCDIR}"/libavcodec/ppc/mathops.h -t "${PKGDIR}"/usr/include/libavcodec/ppc/
install -Dvm644 "${SRCDIR}"/libavcodec/riscv/mathops.h -t "${PKGDIR}"/usr/include/libavcodec/riscv/
# avutil's asm.h only x86
install -Dvm644 "${SRCDIR}"/libavutil/x86/asm.h -t "${PKGDIR}"/usr/include/libavutil/x86/
install -Dvm644 "${SRCDIR}"/libavcodec/vlc.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/sei.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/h264.h -t "${PKGDIR}"/usr/include/libavcodec/
install -Dvm644 "${SRCDIR}"/libavcodec/hevc/hevc.h -t "${PKGDIR}"/usr/include/libavcodec/hevc/
install -Dvm644 "${SRCDIR}"/libavutil/riscv/cpu.h -t "${PKGDIR}"/usr/include/libavutil/riscv/
