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