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.

199 lines
5.8KB

  1. #!/bin/bash
  2. # NOTE `setup/check_target.sh` must be imported before this one
  3. # ---------------------------------------------------------------------------------------------------------------------
  4. # common URLs
  5. DROBILLA_URL=https://download.drobilla.net
  6. XIPH_URL=https://downloads.xiph.org/releases
  7. KXSTUDIO_FILES_URL=https://kx.studio/files
  8. # ---------------------------------------------------------------------------------------------------------------------
  9. # bootstrap base
  10. PKG_CONFIG_VERSION=0.28
  11. PKG_CONFIG_URL=https://pkg-config.freedesktop.org/releases
  12. # ---------------------------------------------------------------------------------------------------------------------
  13. # bootstrap common
  14. LIBOGG_VERSION=1.3.5
  15. LIBOGG_URL=${XIPH_URL}/ogg
  16. LIBVORBIS_VERSION=1.3.7
  17. LIBVORBIS_URL=${XIPH_URL}/vorbis
  18. FLAC_VERSION=1.4.2
  19. FLAC_URL=${XIPH_URL}/flac
  20. OPUS_VERSION=1.3.1
  21. OPUS_URL=${XIPH_URL}/opus
  22. LIBSNDFILE_VERSION=1.1.0
  23. LIBSNDFILE_URL=https://github.com/libsndfile/libsndfile/releases/download/${LIBSNDFILE_VERSION}
  24. LIBSAMPLERATE_VERSION=0.1.9
  25. LIBSAMPLERATE_URL=http://www.mega-nerd.com/SRC
  26. MINGW_STD_THREADS_VERSION=6c2061b7da41d6aa1b2162ff4383ec3ece864bc6
  27. MINGW_STD_THREADS_URL=https://github.com/meganz/mingw-std-threads.git
  28. ZLIB_VERSION=cacf7f1d4e3d44d871b605da3b647f07d718623f # 1.2.11
  29. ZLIB_URL=https://github.com/madler/zlib.git
  30. # ---------------------------------------------------------------------------------------------------------------------
  31. # bootstrap plugins
  32. LIBPNG_VERSION=1.6.39
  33. LIBPNG_URL=http://download.sourceforge.net/libpng
  34. LIBXML2_VERSION=2.10.3
  35. LIBXML2_URL=https://download.gnome.org/sources/libxml2/2.10
  36. PIXMAN_VERSION=0.42.2
  37. PIXMAN_URL=https://cairographics.org/releases
  38. FREETYPE_VERSION=2.12.1
  39. FREETYPE_URL=http://download.sourceforge.net/freetype
  40. FONTCONFIG_VERSION=2.13.1
  41. FONTCONFIG_URL=https://www.freedesktop.org/software/fontconfig/release
  42. CAIRO_VERSION=1.16.0
  43. CAIRO_URL=https://cairographics.org/releases
  44. FFTW_VERSION=3.3.10
  45. FFTW_URL=http://www.fftw.org
  46. PCRE_VERSION=8.45
  47. PCRE_URL=http://download.sourceforge.net/pcre
  48. if [ "${WIN32}" -eq 1 ]; then
  49. LIBFFI_VERSION=3.4.2
  50. GLIB_MVERSION=2.45
  51. GLIB_VERSION=2.45.8
  52. GLIB_TAR_EXT=tar.xz
  53. else
  54. LIBFFI_VERSION=3.3
  55. # LIBFFI_URL=https://sourceware.org/pub/libffi
  56. GLIB_MVERSION=2.22
  57. GLIB_VERSION=2.22.5
  58. GLIB_TAR_EXT=tar.gz
  59. fi
  60. LIBFFI_URL=https://github.com/libffi/libffi/releases/download/v${LIBFFI_VERSION}
  61. GLIB_URL=https://download.gnome.org/sources/glib/${GLIB_MVERSION}
  62. LIBLO_VERSION=0.31
  63. LIBLO_URL=http://download.sourceforge.net/liblo
  64. LV2_VERSION=0bcde338db1c63bbc503b4d1f6d7b55ed43154af # 1.18.10
  65. LV2_URL=https://gitlab.com/lv2/lv2.git
  66. SERD_VERSION=0.30.16
  67. SERD_URL=${DROBILLA_URL}
  68. SORD_VERSION=0.16.14
  69. SORD_URL=${DROBILLA_URL}
  70. SRATOM_VERSION=0.6.14
  71. SRATOM_URL=${DROBILLA_URL}
  72. LILV_VERSION=0.24.20
  73. LILV_URL=${DROBILLA_URL}
  74. LV2LINT_VERSION=0.16.2
  75. LV2LINT_URL=https://gitlab.com/OpenMusicKontrollers/lv2lint/-/archive/${LV2LINT_VERSION}
  76. KXSTUDIO_LV2_EXTENSIONS_VERSION=58010323797754dc6cd50084d456e5ac2e7c034c
  77. KXSTUDIO_LV2_EXTENSIONS_URL=https://github.com/KXStudio/LV2-Extensions.git
  78. MOD_SDK_VERSION=60abe7176b4e4f46f20a41cdf3d65d909c8d8a34
  79. MOD_SDK_URL=https://github.com/moddevices/mod-lv2-extensions.git
  80. FLUIDSYNTH_VERSION=f65c6ba25fb2c7e37c89fc6a4afc5aa645e208c2 # 1.1.11
  81. FLUIDSYNTH_URL=https://github.com/FluidSynth/fluidsynth.git
  82. MXML_VERSION=38b044ed8ca2a611ed9ed3e26c4b46416335194e # 3.2
  83. MXML_URL=https://github.com/michaelrsweet/mxml.git
  84. CARLA_VERSION=658b5e30c6457fe9ef9a839e06a49912bb4feee2 # 2.5.1~
  85. CARLA_URL=https://github.com/falkTX/Carla.git
  86. # ---------------------------------------------------------------------------------------------------------------------
  87. # check if lv2lint is supported
  88. LV2LINT_SUPPORTED=1
  89. if [ "${CROSS_COMPILING}" -eq 1 ]; then
  90. LV2LINT_SUPPORTED=0
  91. fi
  92. # ---------------------------------------------------------------------------------------------------------------------
  93. # bootstrap qt stuff
  94. if [ "${LINUX}" -eq 1 ] || [ "${MACOS_UNIVERSAL}" -eq 1 ] || [ "${WIN32}" -eq 1 ]; then
  95. QT5_VERSION=5.12.12
  96. QT5_MVERSION=5.12
  97. else
  98. QT5_VERSION=5.9.8
  99. QT5_MVERSION=5.9
  100. fi
  101. QT5_URL=https://download.qt.io/new_archive/qt/${QT5_MVERSION}/${QT5_VERSION}/submodules
  102. # ---------------------------------------------------------------------------------------------------------------------
  103. # bootstrap carla stuff
  104. FILE_VERSION=5.34
  105. FILE_URL=ftp://ftp.astron.com/pub/file
  106. if [ "${LINUX}" -eq 1 ] || [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
  107. CXFREEZE_VERSION=a59a0f6c476554c1a789de2a9f6f77329d6a6dd1 # 6.8.4
  108. PYTHON_VERSION=3.9.5
  109. PYLIBLO_VERSION=0.10.0
  110. PYQT5_VERSION=5.13.1
  111. SIP_VERSION=4.19.19
  112. # extra, needed for pyliblo
  113. CYTHON_VERSION=0.29.21
  114. # extra, needed for cxfreeze
  115. IMPORTLIB_METADATA_VERSION=4.10.1
  116. SETUPTOOLS_SCM_VERSION=5.0.0
  117. TOML_VERSION=0.10.2
  118. ZIPP_VERSION=3.4.0
  119. elif [ "${WIN32}" -eq 1 ]; then
  120. CXFREEZE_VERSION=6c1d6f23f401d40368d4fab5cd710a784b114a12 # 6.1
  121. PYTHON_VERSION=3.8.7
  122. PYLIBLO_VERSION=0.9.2
  123. PYQT5_VERSION=5.13.1
  124. SIP_VERSION=4.19.19
  125. else
  126. CXFREEZE_VERSION=6c1d6f23f401d40368d4fab5cd710a784b114a12 # 6.1
  127. PYTHON_VERSION=3.7.4
  128. PYLIBLO_VERSION=0.9.2
  129. PYQT5_VERSION=5.9.2
  130. SIP_VERSION=4.19.13
  131. fi
  132. # ---------------------------------------------------------------------------------------------------------------------
  133. # bootstrap jack stuff
  134. AFTEN_VERSION=0.0.8
  135. AFTEN_URL=http://downloads.sourceforge.net/aften
  136. DB_VERSION=5.3.28
  137. DB_URL=https://download.oracle.com/berkeley-db
  138. PORTAUDIO_VERSION=19.6.0
  139. PORTAUDIO_URL=http://deb.debian.org/debian/pool/main/p/portaudio19
  140. RTAUDIO_VERSION=e03448bd15c1c34e842459939d755f5f89e880ed
  141. RTAUDIO_URL=https://github.com/falkTX/rtaudio.git
  142. TRE_VERSION=6092368aabdd0dbb0fbceb2766a37b98e0ff6911
  143. TRE_URL=https://github.com/laurikari/tre.git
  144. # ---------------------------------------------------------------------------------------------------------------------