The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
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.

76 lines
2.7KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE 7 technical preview.
  4. Copyright (c) 2022 - Raw Material Software Limited
  5. You may use this code under the terms of the GPL v3
  6. (see www.gnu.org/licenses).
  7. For the technical preview this file cannot be licensed commercially.
  8. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  9. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  10. DISCLAIMED.
  11. ==============================================================================
  12. */
  13. #if defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_M_ARM) || defined(_M_ARM64) || defined(__aarch64__) || defined(__ARM64__)
  14. #if defined(_M_ARM64) || defined(__aarch64__) || defined(__ARM64__)
  15. #error JUCE_ARCH aarch64
  16. #elif (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM == 8) || defined(__ARMv8__) || defined(__ARMv8_A__)
  17. #error JUCE_ARCH armv8l
  18. #elif (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM == 7) || defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(_ARM_ARCH_7) || defined(__CORE_CORTEXA__)
  19. #error JUCE_ARCH armv7l
  20. #elif (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM == 6) || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6M__)
  21. #error JUCE_ARCH armv6l
  22. #elif (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM == 5) || defined(__ARM_ARCH_5TEJ__)
  23. #error JUCE_ARCH armv5l
  24. #else
  25. #error JUCE_ARCH arm
  26. #endif
  27. #elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
  28. #error JUCE_ARCH i386
  29. #elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64)
  30. #error JUCE_ARCH x86_64
  31. #elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
  32. #error JUCE_ARCH ia64
  33. #elif defined(__mips) || defined(__mips__) || defined(_M_MRX000)
  34. #if defined(_MIPS_ARCH_MIPS64) || defined(__mips64)
  35. #error JUCE_ARCH mips64
  36. #else
  37. #error JUCE_ARCH mips
  38. #endif
  39. #elif defined(__ppc__) || defined(__ppc) || defined(__powerpc__) || defined(_ARCH_COM) || defined(_ARCH_PWR) || defined(_ARCH_PPC) || defined(_M_MPPC) || defined(_M_PPC)
  40. #if defined(__ppc64__) || defined(__powerpc64__) || defined(__64BIT__)
  41. #error JUCE_ARCH ppc64
  42. #else
  43. #error JUCE_ARCH ppc
  44. #endif
  45. #elif defined(__riscv)
  46. #if __riscv_xlen == 64
  47. #error JUCE_ARCH riscv64
  48. #else
  49. #error JUCE_ARCH riscv
  50. #endif
  51. #else
  52. #error JUCE_ARCH unknown
  53. #endif