summaryrefslogtreecommitdiffstats
path: root/package/llvm
diff options
context:
space:
mode:
authorValentin Korenblit <valentin.korenblit@smile.fr>2018-04-04 18:31:19 +0200
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>2018-04-04 22:52:04 +0200
commit29f04d7934b46502f856bb84f91b74b0d8c066d3 (patch)
treed3f4fe39577ad0e5a48acf95c552508517719036 /package/llvm
parenta098636a6b65dd2ca08f29fd6085a46d2b491df0 (diff)
downloadbuildroot-29f04d7934b46502f856bb84f91b74b0d8c066d3.tar.gz
buildroot-29f04d7934b46502f856bb84f91b74b0d8c066d3.zip
package/llvm: enable AMDGPU
The AMDGPU backend provides ISA code generation for AMD GPU's, starting with the R600 family up until the current GCN families. It should not be confused with the AMDGPU Linux kernel DRM driver. For more info: https://llvm.org/docs/AMDGPUUsage.html Signed-off-by: Valentin Korenblit <valentin.korenblit@smile.fr> Tested-by: Jérôme Oufella <jerome.oufella@savoirfairelinux.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Diffstat (limited to 'package/llvm')
-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