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.

92 lines
3.3KB

  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. audacity_args+=" -DwxWidgets_LIB_DIR=${PAWPAW_PREFIX}/lib/gcc_x64_dll"
  56. audacity_args+=" -DwxWidgets_CONFIGURATION=mswu"
  57. audacity_args+=" -DWX_ROOT_DIR=${PAWPAW_PREFIX}"
  58. win32_target=_WIN32_WINNT_WIN7
  59. export EXTRA_CXXFLAGS="-DWINVER=${win32_target} -D_WIN32_WINNT=${win32_target} -D_WIN32_IE=${win32_target}"
  60. export EXTRA_LDFLAGS="-lpthread -lz" # FIXME not working!
  61. fi
  62. if [ ${using_qt} -eq 1 ]; then
  63. audacity_args+=" -DwxWidgets_CONFIGURATION=qtu"
  64. export EXTRA_CXXFLAGS+=" -I${PAWPAW_PREFIX}/include/qt5"
  65. fi
  66. # TODO
  67. # 1. linker flags end up with -lLIB_m-NOTFOUND
  68. # 2. win32 build requires copying std mingw mutex workarounds
  69. download audacity "e93fdd16c50d9d4630bc64595990e2ee0f96bc17" "https://github.com/KXStudio/audacity.git" "" "git"
  70. build_cmake audacity "e93fdd16c50d9d4630bc64595990e2ee0f96bc17" "${audacity_args}"
  71. # ---------------------------------------------------------------------------------------------------------------------