From bcd99d9443ce8b3159909ebb8420ec21384dab12 Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Sat, 17 Nov 2012 22:21:55 +0100 Subject: Toolchain: add initial infrastructure to support llvm/clang Signed-off-by: Abdoulaye Walsimou Gaye --- kconfig/llvm/clang.kconfig | 77 ++++++++++++++++++++++++++++++++++++++++ kconfig/llvm/compiler-rt.kconfig | 77 ++++++++++++++++++++++++++++++++++++++++ kconfig/llvm/llvm.kconfig | 76 +++++++++++++++++++++++++++++++++++++++ kconfig/toolchain.kconfig | 8 ++++- 4 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 kconfig/llvm/clang.kconfig create mode 100644 kconfig/llvm/compiler-rt.kconfig create mode 100644 kconfig/llvm/llvm.kconfig (limited to 'kconfig') diff --git a/kconfig/llvm/clang.kconfig b/kconfig/llvm/clang.kconfig new file mode 100644 index 0000000..4525ac2 --- /dev/null +++ b/kconfig/llvm/clang.kconfig @@ -0,0 +1,77 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2012 Abdoulaye Walsimou GAYE . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +################################################################################ +# +# \file clang.kconfig +# \brief clang.kconfig of Embtoolkit +# \author Abdoulaye Walsimou GAYE +# \date October 2012 +################################################################################ + +config EMTK_HAVE_CLANG + bool + default y + +# +# clang version +# +choice + prompt "Version of clang you wish" + help + Version of clang you wish + + config EMBTK_CLANG_VERSION_GIT + bool "Use clang git repository" + help + Answer Y here if you want to build your toolchain based on + clang sources from its GIT repository. +endchoice + +# +# GIT repository options +# +config EMBTK_CLANG_GIT_BRANCH + string "Branch to use" + default "master" + depends on EMBTK_CLANG_VERSION_GIT + help + The branch of the git repository to use, the default is master. + +config EMBTK_CLANG_GIT_REVISION + string "Checkout a specific revision instead of the latest" + depends on EMBTK_CLANG_VERSION_GIT + help + Chechout a specific revision instead of the latest. + +config EMBTK_CLANG_REFSPEC + string + default "toolchain" + +# +# Versions strings for tarball packages. +# +config EMBTK_CLANG_VERSION_STRING + string + default "git" if EMBTK_CLANG_VERSION_GIT + + +config EMBTK_CLANG_NEED_PATCH + bool +config EMBTK_CLANG_NEED_AUTORECONF + bool + diff --git a/kconfig/llvm/compiler-rt.kconfig b/kconfig/llvm/compiler-rt.kconfig new file mode 100644 index 0000000..4823786 --- /dev/null +++ b/kconfig/llvm/compiler-rt.kconfig @@ -0,0 +1,77 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2012 Abdoulaye Walsimou GAYE . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +################################################################################ +# +# \file compiler-rt.kconfig +# \brief compiler-rt.kconfig of Embtoolkit +# \author Abdoulaye Walsimou GAYE +# \date October 2012 +################################################################################ + +config EMTK_HAVE_COMPILER-RT + bool + default y + +# +# compiler-rt version +# +choice + prompt "Version of compiler-rt you wish" + help + Version of compiler-rt you wish + + config EMBTK_COMPILER-RT_VERSION_GIT + bool "Use compiler-rt git repository" + help + Answer Y here if you want to build your toolchain based on + compiler-rt sources from its GIT repository. +endchoice + +# +# GIT repository options +# +config EMBTK_COMPILER-RT_GIT_BRANCH + string "Branch to use" + default "master" + depends on EMBTK_COMPILER-RT_VERSION_GIT + help + The branch of the git repository to use, the default is master. + +config EMBTK_COMPILER-RT_GIT_REVISION + string "Checkout a specific revision instead of the latest" + depends on EMBTK_COMPILER-RT_VERSION_GIT + help + Chechout a specific revision instead of the latest. + +config EMBTK_COMPILER-RT_REFSPEC + string + default "toolchain" + +# +# Versions strings for tarball packages. +# +config EMBTK_COMPILER-RT_VERSION_STRING + string + default "git" if EMBTK_COMPILER-RT_VERSION_GIT + + +config EMBTK_COMPILER-RT_NEED_PATCH + bool +config EMBTK_COMPILER-RT_NEED_AUTORECONF + bool + diff --git a/kconfig/llvm/llvm.kconfig b/kconfig/llvm/llvm.kconfig new file mode 100644 index 0000000..c85b1a8 --- /dev/null +++ b/kconfig/llvm/llvm.kconfig @@ -0,0 +1,76 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2012 Abdoulaye Walsimou GAYE . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +################################################################################ +# +# \file llvm.kconfig +# \brief llvm.kconfig of Embtoolkit +# \author Abdoulaye Walsimou GAYE +# \date October 2012 +################################################################################ + +config EMTK_HAVE_LLVM + bool + default y + +# +# llvm version +# +choice + prompt "Version of llvm you wish" + help + Version of llvm you wish + + config EMBTK_LLVM_VERSION_GIT + bool "Use llvm git repository" + help + Answer Y here if you want to build your toolchain based on + llvm sources from its GIT repository. +endchoice + +# +# GIT repository options +# +config EMBTK_LLVM_GIT_BRANCH + string "Branch to use" + default "master" + depends on EMBTK_LLVM_VERSION_GIT + help + The branch of the git repository to use, the default is master. + +config EMBTK_LLVM_GIT_REVISION + string "Checkout a specific revision instead of the latest" + depends on EMBTK_LLVM_VERSION_GIT + help + Chechout a specific revision instead of the latest. + +config EMBTK_LLVM_REFSPEC + string + default "toolchain" + +# +# Versions strings for tarball packages. +# +config EMBTK_LLVM_VERSION_STRING + string + default "git" if EMBTK_LLVM_VERSION_GIT + + +config EMBTK_LLVM_NEED_PATCH + bool +config EMBTK_LLVM_NEED_AUTORECONF + bool diff --git a/kconfig/toolchain.kconfig b/kconfig/toolchain.kconfig index bd5029c..2ac5776 100644 --- a/kconfig/toolchain.kconfig +++ b/kconfig/toolchain.kconfig @@ -1,6 +1,6 @@ ################################################################################ # Embtoolkit -# Copyright(C) 2009-2011 Abdoulaye Walsimou GAYE. +# Copyright(C) 2009-2012 Abdoulaye Walsimou GAYE. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -59,6 +59,12 @@ menu "GCC compiler" source "kconfig/gcc.kconfig" endmenu +menu "LLVM/clang compiler infrastructure" +source kconfig/llvm/llvm.kconfig +source kconfig/llvm/clang.kconfig +source kconfig/llvm/compiler-rt.kconfig +endmenu + menu "Binutils" source "kconfig/binutils.kconfig" endmenu -- cgit v1.2.3