diff options
Diffstat (limited to 'kconfig')
-rw-r--r-- | kconfig/llvm/clang.kconfig | 77 | ||||
-rw-r--r-- | kconfig/llvm/compiler-rt.kconfig | 77 | ||||
-rw-r--r-- | kconfig/llvm/llvm.kconfig | 76 | ||||
-rw-r--r-- | kconfig/toolchain.kconfig | 70 |
4 files changed, 297 insertions, 3 deletions
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 <awg@embtoolkit.org>. +# +# 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 <http://www.gnu.org/licenses/>. +# +################################################################################ +# +# \file clang.kconfig +# \brief clang.kconfig of Embtoolkit +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \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 <awg@embtoolkit.org>. +# +# 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 <http://www.gnu.org/licenses/>. +# +################################################################################ +# +# \file compiler-rt.kconfig +# \brief compiler-rt.kconfig of Embtoolkit +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \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 <awg@embtoolkit.org>. +# +# 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 <http://www.gnu.org/licenses/>. +# +################################################################################ +# +# \file llvm.kconfig +# \brief llvm.kconfig of Embtoolkit +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \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..2c20c05 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 @@ -42,6 +42,8 @@ choice embedded systems. But compatibility with glibc is not guaranted and even between different uClibc versions. see http://www.uclibc.org for more information about uclibc. + + endchoice @@ -55,8 +57,70 @@ endif endmenu -menu "GCC compiler" -source "kconfig/gcc.kconfig" +menu "Cross Compiler environment" +choice + prompt "Cross Compiler environment setup" + help + Choose your cross compiler environment setup combination between + clang/llvm and GCC. + + config EMBTK_GCC_ONLY_TOOLCHAIN + bool "GCC only" + help + Choose this configuration if you want to use only traditional + GCC cross compiler environment. + + config EMBTK_LLVM_ONLY_TOOLCHAIN + bool "clang/llvm only (experimental)" + help + Choose this configuration if you want to use only clang/llvm + cross compiler environment. + With this configuration: + * All userspace packages will use clang as compiler. + * A bare metal gcc compiler will still be built, but you will + be able to only build linux kernel/u-boot etc. with this gcc. + + config EMBTK_GCC_AND_LLVM_TOOLCHAIN + bool "clang/llvm and GCC" + help + With this configuration you will have full clang/llvm and GGC + built and available to build your userspace packages. + +endchoice + +choice + prompt "Default cross compiler to build packages" + depends on EMBTK_GCC_AND_LLVM_TOOLCHAIN + help + Choose which cross compiler environment to use by default to build + packages. + + config EMBTK_LLVM_DEFAULT_TOOLCHAIN + bool "clang/llvm" + help + Userspace packages will be built with clang by default. + + config EMBTK_GCC_DEFAULT_TOOLCHAIN + bool "GCC" + help + Userspace packages will be built with clang by default. + +endchoice + +comment "------------------------------------------" +comment "--- GCC versions" +comment "------------------------------------------" +source kconfig/gcc.kconfig + +if EMBTK_LLVM_ONLY_TOOLCHAIN || EMBTK_GCC_AND_LLVM_TOOLCHAIN +comment "------------------------------------------" +comment "--- clang/llvm versions" +comment "------------------------------------------" +source kconfig/llvm/llvm.kconfig +source kconfig/llvm/clang.kconfig +source kconfig/llvm/compiler-rt.kconfig +endif + endmenu menu "Binutils" |