Cross-Platform build scripts for audio plugins
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.

build-audacity.sh 3.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/bash
  2. set -e
  3. cd $(dirname ${0})
  4. PAWPAW_ROOT="${PWD}"
  5. # ---------------------------------------------------------------------------------------------------------------------
  6. target="${1}"
  7. if [ -z "${target}" ]; then
  8. echo "usage: ${0} <target>"
  9. exit 1
  10. fi
  11. using_qt=0
  12. # ---------------------------------------------------------------------------------------------------------------------
  13. # run bootstrap dependency
  14. ./bootstrap-audacity.sh "${target}"
  15. # ---------------------------------------------------------------------------------------------------------------------
  16. source setup/check_target.sh
  17. source setup/env.sh
  18. source setup/functions.sh
  19. source setup/versions.sh
  20. # ---------------------------------------------------------------------------------------------------------------------
  21. # common flags
  22. audacity_args=""
  23. audacity_args+=" -DwxWidgets_EXCLUDE_COMMON_LIBRARIES=YES"
  24. audacity_args+=" -DwxWidgets_FIND_COMPONENTS=mono" # FIXME needs forcing
  25. audacity_args+=" -DwxWidgets_USE_REL_AND_DBG=NO"
  26. audacity_args+=" -Daudacity_use_pch=no"
  27. audacity_args+=" -Daudacity_use_libflac=system"
  28. audacity_args+=" -Daudacity_use_libogg=system"
  29. audacity_args+=" -Daudacity_use_libsndfile=system"
  30. audacity_args+=" -Daudacity_use_libvorbis=system"
  31. audacity_args+=" -Daudacity_use_wxwidgets=system"
  32. # TODO build these locally
  33. audacity_args+=" -Daudacity_use_expat=local"
  34. audacity_args+=" -Daudacity_use_lame=local"
  35. audacity_args+=" -Daudacity_use_libid3tag=local"
  36. audacity_args+=" -Daudacity_use_libmad=local"
  37. audacity_args+=" -Daudacity_use_libnyquist=local"
  38. audacity_args+=" -Daudacity_use_libsbsms=local"
  39. audacity_args+=" -Daudacity_use_libsoxr=local"
  40. audacity_args+=" -Daudacity_use_libvamp=local"
  41. audacity_args+=" -Daudacity_use_lv2=local"
  42. audacity_args+=" -Daudacity_use_portaudio-v19=local"
  43. audacity_args+=" -Daudacity_use_portmidi=local"
  44. audacity_args+=" -Daudacity_use_portmixer=local"
  45. audacity_args+=" -Daudacity_use_portsmf=local"
  46. audacity_args+=" -Daudacity_use_soundtouch=local"
  47. audacity_args+=" -Daudacity_use_sqlite=local"
  48. audacity_args+=" -Daudacity_use_twolame=local"
  49. # FIXME
  50. audacity_args+=" -Daudacity_use_ffmpeg=loaded"
  51. audacity_args+=" -Daudacity_use_pa_jack=off"
  52. if [ "${WIN32}" -eq 1 ]; then
  53. audacity_args+=" -DwxWidgets_FIND_STYLE=win32" # FIXME needs forcing
  54. audacity_args+=" -DwxWidgets_ROOT_DIR=${PAWPAW_PREFIX}"
  55. if [ "${WIN64}" -eq 1 ]; then
  56. audacity_args+=" -DwxWidgets_LIB_DIR=${PAWPAW_PREFIX}/lib/gcc_x64_dll"
  57. else
  58. audacity_args+=" -DwxWidgets_LIB_DIR=${PAWPAW_PREFIX}/lib/gcc_dll"
  59. fi
  60. audacity_args+=" -DwxWidgets_CONFIGURATION=mswu"
  61. audacity_args+=" -DWX_ROOT_DIR=${PAWPAW_PREFIX}"
  62. win32_target=_WIN32_WINNT_WIN7
  63. export EXTRA_CXXFLAGS="-DWINVER=${win32_target} -D_WIN32_WINNT=${win32_target} -D_WIN32_IE=${win32_target}"
  64. fi
  65. if [ ${using_qt} -eq 1 ]; then
  66. audacity_args+=" -DwxWidgets_CONFIGURATION=qtu"
  67. export EXTRA_CXXFLAGS+=" -I${PAWPAW_PREFIX}/include/qt5"
  68. fi
  69. if [ ! -e ${PAWPAW_PREFIX}/include/mutex ]; then
  70. cp patches/audacity/mingw/* ${PAWPAW_PREFIX}/include/
  71. fi
  72. download audacity "e93fdd16c50d9d4630bc64595990e2ee0f96bc17" "https://github.com/KXStudio/audacity.git" "" "git"
  73. build_cmake audacity "e93fdd16c50d9d4630bc64595990e2ee0f96bc17" "${audacity_args}"
  74. # ---------------------------------------------------------------------------------------------------------------------