summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules.mk1
-rw-r--r--target/config/Config.in.compiler13
-rw-r--r--toolchain/llvm/Makefile21
-rw-r--r--toolchain/llvm/Makefile.inc6
4 files changed, 37 insertions, 4 deletions
diff --git a/rules.mk b/rules.mk
index d3f9a27cb..315a6a8ca 100644
--- a/rules.mk
+++ b/rules.mk
@@ -54,6 +54,7 @@ ADK_TARGET_ABI_RISCV:= $(strip $(subst ",, $(ADK_TARGET_ABI_RISCV)))
ADK_TARGET_IP:= $(strip $(subst ",, $(ADK_TARGET_IP)))
ADK_TARGET_SUFFIX:= $(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
ADK_TARGET_CMDLINE:= $(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
+ADK_TOOLCHAIN_LLVM_VERSION:= $(strip $(subst ",, $(ADK_TOOLCHAIN_LLVM_VERSION)))
ADK_QEMU_ARGS:= $(strip $(subst ",, $(ADK_QEMU_ARGS)))
ADK_RUNTIME_TMPFS_SIZE:= $(strip $(subst ",, $(ADK_RUNTIME_TMPFS_SIZE)))
ADK_RUNTIME_CONSOLE_SERIAL_SPEED:= $(strip $(subst ",, $(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)))
diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler
index 76741a259..da9af38bd 100644
--- a/target/config/Config.in.compiler
+++ b/target/config/Config.in.compiler
@@ -14,6 +14,19 @@ config ADK_BUILD_COMPILER_LLVM
endchoice
choice
+prompt "LLVM version"
+depends on ADK_BUILD_COMPILER_LLVM
+
+config ADK_TOOLCHAIN_LLVM_5
+ bool "5.0.1"
+
+endchoice
+
+config ADK_TOOLCHAIN_LLVM_VERSION
+ string
+ default "5.0.1" if ADK_TOOLCHAIN_LLVM_5
+
+choice
prompt "GCC version"
depends on ADK_BUILD_COMPILER_GCC
default ADK_TOOLCHAIN_GCC_AVR32 if ADK_TARGET_ARCH_AVR32
diff --git a/toolchain/llvm/Makefile b/toolchain/llvm/Makefile
index be5e4dab8..de6492454 100644
--- a/toolchain/llvm/Makefile
+++ b/toolchain/llvm/Makefile
@@ -10,8 +10,12 @@ include ${ADK_TOPDIR}/mk/buildhlp.mk
BUILD_DIR_INITIAL:= $(WRKBUILD)-initial
BUILD_DIR_FINAL:= $(WRKBUILD)-final
-LLVM_VERSION:=4.0.0
+LLVM_VERSION:= $(ADK_TOOLCHAIN_LLVM_VERSION)
+LLVM_TRIPLE:= $(ADK_TARGET_ARCH)-linux
+ifeq ($(ADK_TARGET_ARCH_AARCH64),y)
+LLVM_TARGETS:=AArch64
+endif
ifeq ($(ADK_TARGET_ARCH_ARM),y)
LLVM_TARGETS:=ARM
ifeq ($(ADK_TARGET_SOFT_FLOAT),y)
@@ -21,6 +25,21 @@ ifeq ($(ADK_TARGET_HARD_FLOAT),y)
LLVM_TRIPLE:=arm-linux-eabihf
endif
endif
+ifeq ($(ADK_TARGET_ARCH_MIPS)$(ADK_TARGET_ARCH_MIPS64),y)
+LLVM_TARGETS:=Mips
+endif
+ifeq ($(ADK_TARGET_ARCH_PPC)$(ADK_TARGET_ARCH_PPC64),y)
+LLVM_TARGETS:=PowerPC
+endif
+ifeq ($(ADK_TARGET_ARCH_SPARC)$(ADK_TARGET_ARCH_SPARC64),y)
+LLVM_TARGETS:=Sparc
+endif
+ifeq ($(ADK_TARGET_ARCH_S390),y)
+LLVM_TARGETS:=SystemZ
+endif
+ifeq ($(ADK_TARGET_ARCH_X86)$(ADK_TARGET_ARCH_X86_64),y)
+LLVM_TARGETS:=X86
+endif
$(BUILD_DIR_INITIAL)/.configured:
(cd $(DL_DIR); \
diff --git a/toolchain/llvm/Makefile.inc b/toolchain/llvm/Makefile.inc
index fe41a1d93..e33edd478 100644
--- a/toolchain/llvm/Makefile.inc
+++ b/toolchain/llvm/Makefile.inc
@@ -2,9 +2,9 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= llvm
-PKG_VERSION:= 4.0.0
-PKG_HASH:= 8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be
-PKG_SITES:= http://llvm.org/releases/4.0.0/
+PKG_VERSION:= 5.0.1
+PKG_HASH:= 5fa7489fc0225b11821cab0362f5813a05f2bcf2533e8a4ea9c9c860168807b0
+PKG_SITES:= http://llvm.org/releases/5.0.1/
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.src.tar.xz
WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}.src