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.

91 lines
2.2KB

  1. #!/bin/bash
  2. CROSS_COMPILING=0
  3. INVALID_TARGET=0
  4. LINUX=0
  5. MACOS=0
  6. MACOS_OLD=0
  7. MACOS_UNIVERSAL=0
  8. WIN32=0
  9. WIN64=0
  10. function check_target() {
  11. case "${target}" in
  12. "macos"|"Darwin")
  13. MACOS=1
  14. ;;
  15. "macos-old")
  16. MACOS=1
  17. MACOS_OLD=1
  18. CROSS_COMPILING=1
  19. ;;
  20. "macos-universal")
  21. MACOS=1
  22. MACOS_UNIVERSAL=1
  23. ;;
  24. "win32"|"MINGW32"*)
  25. WIN32=1
  26. CROSS_COMPILING=1
  27. if [ "$(uname -o)" != "Msys" ] && [ "$(uname -o)" != "Cygwin" ]; then
  28. CROSS_COMPILING=1
  29. fi
  30. ;;
  31. "win64"|"MINGW64"*)
  32. WIN32=1
  33. WIN64=1
  34. if [ "$(uname -o)" != "Msys" ] && [ "$(uname -o)" != "Cygwin" ]; then
  35. CROSS_COMPILING=1
  36. fi
  37. ;;
  38. "CYGWIN"*|"MSYS"*)
  39. WIN32=1
  40. if [ "$(uname -m)" = "x86_64" ]; then
  41. WIN64=1
  42. fi
  43. ;;
  44. "linux"|"Linux")
  45. LINUX=1
  46. ;;
  47. "linux-aarch64")
  48. LINUX=1
  49. CROSS_COMPILING=1
  50. TOOLCHAIN_PREFIX="aarch64-linux-gnu"
  51. TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-"
  52. ;;
  53. "linux-armhf")
  54. LINUX=1
  55. CROSS_COMPILING=1
  56. TOOLCHAIN_PREFIX="arm-linux-gnueabihf"
  57. TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-"
  58. ;;
  59. "linux-i686")
  60. LINUX=1
  61. TOOLCHAIN_PREFIX="i686-linux-gnu"
  62. TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-"
  63. ;;
  64. "native")
  65. target=$(uname -s)
  66. check_target
  67. if [ "${target}" = "Darwin" ] && [ "$(uname -m)" = "arm64" ]; then
  68. MACOS_UNIVERSAL=1
  69. fi
  70. ;;
  71. default|*)
  72. echo "Invalid target '${target}', possible values are:"
  73. echo "\tmacos"
  74. echo "\tmacos-old"
  75. echo "\tmacos-universal"
  76. echo "\twin32"
  77. echo "\twin64"
  78. echo "\tnative"
  79. if [ -z "${SOURCING_FILES}" ]; then
  80. exit 2
  81. else
  82. INVALID_TARGET=1
  83. fi
  84. ;;
  85. esac
  86. }
  87. check_target