summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/llvm/Config.in10
-rw-r--r--package/llvm/llvm.mk9
2 files changed, 19 insertions, 0 deletions
diff --git a/package/llvm/Config.in b/package/llvm/Config.in
index 408fde2e39..70f73f4858 100644
--- a/package/llvm/Config.in
+++ b/package/llvm/Config.in
@@ -24,6 +24,16 @@ config BR2_PACKAGE_LLVM
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.
+
+endif
+
comment "llvm needs a toolchain w/ threads, C++, gcc >= 4.8, host gcc >= 4.8"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 525e0f98f8..9c8bf5c820 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -45,6 +45,15 @@ LLVM_CONF_OPTS = -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_B
HOST_LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH)
LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH)
+# Build AMDGPU backend
+# We need to build AMDGPU backend for both host and target because
+# llvm-config --targets built (host variant installed in STAGING) will
+# output only $(LLVM_TARGET_ARCH) if not, and mesa3d won't build as
+# it thinks AMDGPU backend is not installed on the target.
+ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
+LLVM_TARGETS_TO_BUILD += AMDGPU
+endif
+
# Use native llvm-tblgen from host-llvm (needed for cross-compilation)
LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
OpenPOWER on IntegriCloud