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.

77 lines
3.5 KiB

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