| config BR2_PACKAGE_LLVM_ARCH_SUPPORTS |
| bool |
| default y if BR2_i386 |
| default y if BR2_x86_64 |
| default y if BR2_aarch64 |
| default y if BR2_arm || BR2_armeb |
| |
| config BR2_PACKAGE_LLVM_TARGET_ARCH |
| string |
| default "AArch64" if BR2_aarch64 |
| default "ARM" if BR2_arm || BR2_armeb |
| default "X86" if BR2_i386 || BR2_x86_64 |
| |
| config BR2_PACKAGE_LLVM |
| bool "llvm" |
| depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS |
| depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 |
| depends on BR2_TOOLCHAIN_HAS_THREADS |
| depends on BR2_INSTALL_LIBSTDCPP |
| depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future |
| depends on !BR2_STATIC_LIBS |
| depends on BR2_USE_WCHAR # std::wstring |
| help |
| The LLVM Project is a collection of modular and reusable |
| compiler and toolchain technologies. |
| |
| http://llvm.org |
| |
| if BR2_PACKAGE_LLVM |
| |
| config BR2_PACKAGE_LLVM_AMDGPU |
| bool "AMDGPU backend" |
| help |
| Build AMDGPU target. Select this option if you are going |
| to install mesa3d with llvm and use Gallium Radeon driver. |
| |
| config BR2_PACKAGE_LLVM_RTTI |
| bool "enable rtti" |
| help |
| Build LLVM with run-time type information. LLVM can be built |
| without rtti, but turning it off changes the ABI of C++ |
| programs. |
| |
| This features is needed to build the Gallium Nouveau driver |
| or the Clover OpenCL state tracker when llvm support is |
| enabled. |
| |
| https://llvm.org/docs/HowToSetUpLLVMStyleRTTI.html |
| |
| endif |
| |
| comment "llvm needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, dynamic library" |
| depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS |
| depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ |
| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ |
| || BR2_STATIC_LIBS || !BR2_USE_WCHAR |
| |
| comment "llvm needs a toolchain not affected by GCC bug 64735" |
| depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS |
| depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 |