1config BR2_PACKAGE_LLVM_ARCH_SUPPORTS 2 bool 3 default y if BR2_i386 4 default y if BR2_x86_64 5 default y if BR2_aarch64 6 default y if BR2_arm || BR2_armeb 7 8config BR2_PACKAGE_LLVM_TARGET_ARCH 9 string 10 default "AArch64" if BR2_aarch64 11 default "ARM" if BR2_arm || BR2_armeb 12 default "X86" if BR2_i386 || BR2_x86_64 13 14config BR2_PACKAGE_LLVM 15 bool "llvm" 16 depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS 17 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 18 depends on BR2_TOOLCHAIN_HAS_THREADS 19 depends on BR2_INSTALL_LIBSTDCPP 20 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future 21 depends on !BR2_STATIC_LIBS 22 depends on BR2_USE_WCHAR # std::wstring 23 help 24 The LLVM Project is a collection of modular and reusable 25 compiler and toolchain technologies. 26 27 http://llvm.org 28 29if BR2_PACKAGE_LLVM 30 31config BR2_PACKAGE_LLVM_AMDGPU 32 bool "AMDGPU backend" 33 help 34 Build AMDGPU target. Select this option if you are going 35 to install mesa3d with llvm and use Gallium Radeon driver. 36 37config BR2_PACKAGE_LLVM_RTTI 38 bool "enable rtti" 39 help 40 Build LLVM with run-time type information. LLVM can be built 41 without rtti, but turning it off changes the ABI of C++ 42 programs. 43 44 This features is needed to build the Gallium Nouveau driver 45 or the Clover OpenCL state tracker when llvm support is 46 enabled. 47 48 https://llvm.org/docs/HowToSetUpLLVMStyleRTTI.html 49 50config BR2_PACKAGE_LLVM_BPF 51 bool "BPF backend" 52 help 53 Build BPF target. Select this option if you are going 54 to install bcc on the target. 55 56endif 57 58comment "llvm needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, dynamic library" 59 depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS 60 depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ 61 !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ 62 || BR2_STATIC_LIBS || !BR2_USE_WCHAR 63 64comment "llvm needs a toolchain not affected by GCC bug 64735" 65 depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS 66 depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 67