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