You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
3.6 KiB

  1. #!/bin/bash
  2. # 全局变量
  3. #
  4. # Config
  5. CONFIG_SUPPORT_ALSA=true
  6. CONFIG_SUPPORT_FFMPEG=true
  7. CONFIG_SUPPORT_IFLYTOP_VOICE_PROCESS=true
  8. CONFIG_SUPPORT_IXWEBSOCKET=true
  9. # Code Begin
  10. function prepare_ifytop_librelease_libs() {
  11. cd ${IFLYBUILD_TARGET_LIBS_DIR}
  12. libname=$1
  13. linklibs=$2
  14. url=$3
  15. wget -c $3
  16. tarname=$(basename $3)
  17. # unpackname=tarname 去掉.tar.gz, 例如iflytopv1.3.0.tar.gz -> iflytopv1.3.0
  18. unpackname=${tarname%.tar.gz}
  19. tar -xvf $tarname >/dev/null
  20. rm -rf ${LIBSDIR}/$libname
  21. mv $unpackname ${LIBSDIR}/$libname
  22. IFLYBUILD_TARGET_PUBLIC_LINK_DIRECTORIES="${IFLYBUILD_TARGET_PUBLIC_LINK_DIRECTORIES};${LIBSDIR}/$libname/lib"
  23. IFLYBUILD_TARGET_PUBLIC_INCLUDE_DIRECTORIES="${IFLYBUILD_TARGET_PUBLIC_INCLUDE_DIRECTORIES};${LIBSDIR}/$libname/include"
  24. IFLYBUILD_TARGET_PUBLIC_LINK_LIBS="${IFLYBUILD_TARGET_PUBLIC_LINK_LIBS};$linklibs"
  25. }
  26. cd ${IFLYBUILD_TARGET_LIBS_DIR}
  27. # 下载依赖库
  28. # CONFIG_SUPPORT_ALSA
  29. if [ "$CONFIG_SUPPORT_ALSA" = true ]; then
  30. wget -c "192.168.1.2:8021/sdk_firefly_rk3328_v2.5.1/buildtools/libasound2_dev1.1.3-5ubuntu0.6.tar.gz"
  31. wget -c "192.168.1.2:8021/sdk_firefly_rk3328_v2.5.1/buildtools/libz.tar.gz"
  32. rm -rf ${LIBSDIR}/alsa
  33. rm -rf libasound2_dev1.1.3-5ubuntu0.6
  34. tar -xvf libasound2_dev1.1.3-5ubuntu0.6.tar.gz >/dev/null
  35. tar -xvf libz.tar.gz >/dev/null
  36. mkdir -p ${LIBSDIR}/alsa/pkgconfig/
  37. mkdir -p ${LIBSDIR}/alsa/include/sys/
  38. mkdir -p ${LIBSDIR}/alsa/lib/
  39. mkdir -p ${LIBSDIR}/alsa/include/sys/
  40. mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/lib/aarch64-linux-gnu/libasound.* ${LIBSDIR}/alsa/lib/
  41. mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/lib/aarch64-linux-gnu/pkgconfig/alsa.pc ${LIBSDIR}/alsa/pkgconfig/
  42. mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/include/alsa ${LIBSDIR}/alsa/include/
  43. mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/include/sys/* ${LIBSDIR}/alsa/include/sys/
  44. mv libz.so.1 ${LIBSDIR}/alsa/lib/
  45. IFLYBUILD_TARGET_PUBLIC_LINK_DIRECTORIES="${IFLYBUILD_TARGET_PUBLIC_LINK_DIRECTORIES};${LIBSDIR}/alsa/lib"
  46. IFLYBUILD_TARGET_PUBLIC_INCLUDE_DIRECTORIES="${IFLYBUILD_TARGET_PUBLIC_INCLUDE_DIRECTORIES};${LIBSDIR}/alsa/include"
  47. IFLYBUILD_TARGET_PUBLIC_LINK_LIBS="${IFLYBUILD_TARGET_PUBLIC_LINK_LIBS};asound"
  48. fi
  49. # CONFIG_SUPPORT_FFMPEG
  50. if [ "$CONFIG_SUPPORT_FFMPEG" = true ]; then
  51. wget -c "192.168.1.2:8021/sdk_firefly_rk3328_v2.5.1/buildtools/ffmpeg-4.1.10-aarch64-20230301.tar.gz"
  52. rm -rf ${LIBSDIR}/ffmpeg
  53. tar -xvf ffmpeg-4.1.10-aarch64-20230301.tar.gz >/dev/null
  54. mv ffmpeg-4.1.10-aarch64-20230301 ${LIBSDIR}/ffmpeg
  55. IFLYBUILD_TARGET_PUBLIC_LINK_DIRECTORIES="${IFLYBUILD_TARGET_PUBLIC_LINK_DIRECTORIES};${LIBSDIR}/ffmpeg/lib"
  56. IFLYBUILD_TARGET_PUBLIC_INCLUDE_DIRECTORIES="${IFLYBUILD_TARGET_PUBLIC_INCLUDE_DIRECTORIES};${LIBSDIR}/ffmpeg/include"
  57. IFLYBUILD_TARGET_PUBLIC_LINK_LIBS="${IFLYBUILD_TARGET_PUBLIC_LINK_LIBS};avcodec;avdevice;avfilter;avformat;avutil;swresample;swscale"
  58. fi
  59. # CONFIG_SUPPORT_IFLYTOP_VOICE_PROCESS
  60. if [ "$CONFIG_SUPPORT_IFLYTOP_VOICE_PROCESS" = true ]; then
  61. prepare_ifytop_librelease_libs libiflytop_voice_process "iflytopvoice;NE10_static" "http://iflytop.local:8021/zlibrelease/libiflytop_voice_process/libiflytop_voice_process_v1.0_aarch64_ubuntu18.04_static_0.tar.gz"
  62. fi
  63. if [ "$CONFIG_SUPPORT_IXWEBSOCKET" = true ]; then
  64. prepare_ifytop_librelease_libs libixwebsocket "ixwebsocket" "http://iflytop.local:8021/zlibrelease/libixwebsocket/libixwebsocket_v11.4.3_aarch64_static_ubuntu18.04_0.tar.gz"
  65. fi
  66. IFLYBUILD_TARGET_C_COMPILER=aarch64-linux-gnu-gcc
  67. IFLYBUILD_TARGET_CXX_COMPILER=aarch64-linux-gnu-g++