From 68a7c6bccf6b807d103fc2e1ca50cb42d2f875d2 Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Thu, 1 Jan 2015 17:34:04 +0100 Subject: Toolchain: linux headers: give ability use a git repository or and custom tarball source tree Signed-off-by: Abdoulaye Walsimou Gaye --- core/kconfig/linux-custom.kconfig | 87 +++++++++++++ core/kconfig/linux-generic.kconfig | 242 +++++++++++++++++++++++++++++++++++++ core/kconfig/linux.kconfig | 222 +++------------------------------- 3 files changed, 343 insertions(+), 208 deletions(-) create mode 100644 core/kconfig/linux-custom.kconfig create mode 100644 core/kconfig/linux-generic.kconfig (limited to 'core/kconfig') diff --git a/core/kconfig/linux-custom.kconfig b/core/kconfig/linux-custom.kconfig new file mode 100644 index 0000000..76e810d --- /dev/null +++ b/core/kconfig/linux-custom.kconfig @@ -0,0 +1,87 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2009-2015 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 linux-generic.kconfig +# \brief linux kernel custom kconfig +# \author Abdoulaye Walsimou GAYE +# \date December 2014 +################################################################################ + +choice + prompt "Custom linux kernel source from" + + config EMBTK_LINUX_SRC_CUSTOM_TARBALL + bool "tarball archive" + help + Download a remote tarball and uncompress it. + Note: If if the tarball is in the format linux-x.y.tar.gz, + the uncompressed source tree is assumed to be linux-x.y + + config EMBTK_LINUX_SRC_CUSTOM_GIT + bool "Git repository" + select EMBTK_LINUX_VERSION_GIT + help + Use linux kernel source tree from a git repository. +endchoice + +# +# Custom tarball options +# +config EMBTK_LINUX_SRC_CUSTOM_URL + string "tarball URL (mandatory)" + depends on EMBTK_LINUX_SRC_CUSTOM_TARBALL + default "https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.27.tar.xz" + help + Full URL of the tarball to download. + +config EMBTK_LINUX_VERSION_STRING + string + depends on EMBTK_LINUX_SRC_CUSTOM_TARBALL + default "custom" + +# +# GIT repository options +# +config EMBTK_LINUX_VERSION_GIT + bool + +config EMBTK_LINUX_GIT_SITE + string "Repository URL (mandatory)" + depends on EMBTK_LINUX_VERSION_GIT + default "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" + help + The the git repository URL to use. + +config EMBTK_LINUX_GIT_BRANCH + string "Branch to use" + depends on EMBTK_LINUX_VERSION_GIT + default "master" + help + The branch of the git repository to use, the default is master. + +config EMBTK_LINUX_GIT_REVISION + string "Checkout a specific revision instead of the latest" + depends on EMBTK_LINUX_VERSION_GIT + help + Chechout a specific revision instead of the latest. + +config EMBTK_LINUX_REFSPEC + string + depends on EMBTK_LINUX_VERSION_GIT + default "toolchain" diff --git a/core/kconfig/linux-generic.kconfig b/core/kconfig/linux-generic.kconfig new file mode 100644 index 0000000..a25e559 --- /dev/null +++ b/core/kconfig/linux-generic.kconfig @@ -0,0 +1,242 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2009-2015 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 linux-generic.kconfig +# \brief linux kernel generic kconfig +# \author Abdoulaye Walsimou GAYE +# \date December 2014 +################################################################################ + +choice + prompt "Generic linux version to use" + help + Here you can choose which Linux kernel headers you want to use. + + config EMBTK_LINUX_VERSION_3_16_X + bool "linux-3.16.x" + help + Use a linux-3.16.x version. + config EMBTK_LINUX_VERSION_3_15_X + bool "linux-3.15.x" + help + Use a linux-3.15.x version. + config EMBTK_LINUX_VERSION_3_14_X + bool "linux-3.14.x" + help + Use a linux-3.14.x version. + config EMBTK_LINUX_VERSION_3_13_X + bool "linux-3.13.x" + help + Use a linux-3.13.x version. + config EMBTK_LINUX_VERSION_3_12_X + bool "linux-3.12.x" + help + Use a linux-3.12.x version. + config EMBTK_LINUX_VERSION_3_11_X + bool "linux-3.11.x" + help + Use a linux-3.11.x version. + config EMBTK_LINUX_VERSION_3_10_X + bool "linux-3.10.x" + help + Use a linux-3.10.x version. + config EMBTK_LINUX_VERSION_3_9_X + bool "linux-3.9.x" + help + Use a linux-3.9.x version. + config EMBTK_LINUX_VERSION_3_8_X + bool "linux-3.8.x" + help + Use a linux-3.8.x version. + config EMBTK_LINUX_VERSION_3_7_X + bool "linux-3.7.x" + help + Use a linux-3.7.x version. + config EMBTK_LINUX_VERSION_3_6_X + bool "linux-3.6.x" + help + Use a linux-3.6.x version. + config EMBTK_LINUX_VERSION_3_5_X + bool "linux-3.5.x" + help + Use a linux-3.5.x version. + config EMBTK_LINUX_VERSION_3_4_X + bool "linux-3.4.x" + help + Use a linux-3.4.x version. + config EMBTK_LINUX_VERSION_3_3_X + bool "linux-3.3.x" + help + Use a linux-3.3.x version. + config EMBTK_LINUX_VERSION_3_2_X + bool "linux-3.2.x" + help + Use a linux-3.2.x version. + config EMBTK_LINUX_VERSION_3_1_X + bool "linux-3.1.x" + help + Use a linux-3.1.x version. + config EMBTK_LINUX_VERSION_3_0_X + bool "linux-3.0.x" + help + Use a linux-3.0.x version. + config EMBTK_LINUX_VERSION_2_6_39_X + bool "linux-2.6.39.x" + help + Use a linux-2.6.39.x version. + config EMBTK_LINUX_VERSION_2_6_38_X + bool "linux-2.6.38.x" + help + Use a linux-2.6.38.x version. + config EMBTK_LINUX_VERSION_2_6_37_X + bool "linux-2.6.37.x" + help + Use a linux-2.6.37.x version. + config EMBTK_LINUX_VERSION_2_6_36_X + bool "linux-2.6.36.x" + help + Use a linux-2.6.36.x version. + config EMBTK_LINUX_VERSION_2_6_35_X + bool "linux-2.6.35.x" + help + Use a linux-2.6.35.x version. + config EMBTK_LINUX_VERSION_2_6_34_X + bool "linux-2.6.34.x" + help + Use a linux-2.6.34.x version. + config EMBTK_LINUX_VERSION_2_6_33_X + bool "linux-2.6.33.x" + help + Use a linux-2.6.33.x version. + config EMBTK_LINUX_VERSION_2_6_32_X + bool "linux-2.6.32.x" + help + Use a linux-2.6.32.x version. +endchoice + +if EMBTK_LINUX_VERSION_3_16_X +source core/kconfig/linux-kconfigs/linux-3.16.kconfig +endif + +if EMBTK_LINUX_VERSION_3_15_X +source core/kconfig/linux-kconfigs/linux-3.15.kconfig +endif + +if EMBTK_LINUX_VERSION_3_14_X +source core/kconfig/linux-kconfigs/linux-3.14.kconfig +endif + +if EMBTK_LINUX_VERSION_3_13_X +source core/kconfig/linux-kconfigs/linux-3.13.kconfig +endif + +if EMBTK_LINUX_VERSION_3_12_X +source core/kconfig/linux-kconfigs/linux-3.12.kconfig +endif + +if EMBTK_LINUX_VERSION_3_11_X +source core/kconfig/linux-kconfigs/linux-3.11.kconfig +endif + +if EMBTK_LINUX_VERSION_3_10_X +source core/kconfig/linux-kconfigs/linux-3.10.kconfig +endif + +if EMBTK_LINUX_VERSION_3_9_X +source core/kconfig/linux-kconfigs/linux-3.9.kconfig +endif + +if EMBTK_LINUX_VERSION_3_8_X +source core/kconfig/linux-kconfigs/linux-3.8.kconfig +endif + +if EMBTK_LINUX_VERSION_3_7_X +source core/kconfig/linux-kconfigs/linux-3.7.kconfig +endif + +if EMBTK_LINUX_VERSION_3_6_X +source core/kconfig/linux-kconfigs/linux-3.6.kconfig +endif + +if EMBTK_LINUX_VERSION_3_5_X +source core/kconfig/linux-kconfigs/linux-3.5.kconfig +endif + +if EMBTK_LINUX_VERSION_3_4_X +source core/kconfig/linux-kconfigs/linux-3.4.kconfig +endif + +if EMBTK_LINUX_VERSION_3_3_X +source core/kconfig/linux-kconfigs/linux-3.3.kconfig +endif + +if EMBTK_LINUX_VERSION_3_2_X +source core/kconfig/linux-kconfigs/linux-3.2.kconfig +endif + +if EMBTK_LINUX_VERSION_3_1_X +source core/kconfig/linux-kconfigs/linux-3.1.kconfig +endif + +if EMBTK_LINUX_VERSION_3_0_X +source core/kconfig/linux-kconfigs/linux-3.0.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_39_X +source core/kconfig/linux-kconfigs/linux-2.6.39.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_38_X +source core/kconfig/linux-kconfigs/linux-2.6.38.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_37_X +source core/kconfig/linux-kconfigs/linux-2.6.37.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_36_X +source core/kconfig/linux-kconfigs/linux-2.6.36.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_35_X +source core/kconfig/linux-kconfigs/linux-2.6.35.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_34_X +source core/kconfig/linux-kconfigs/linux-2.6.34.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_33_X +source core/kconfig/linux-kconfigs/linux-2.6.33.kconfig +endif + +if EMBTK_LINUX_VERSION_2_6_32_X +source core/kconfig/linux-kconfigs/linux-2.6.32.kconfig +endif + +config EMBTK_LINUX_HAVE_MIRROR + bool "Use a linux mirror" + help + specify an alternate location where to download linux sources. +config EMBTK_LINUX_HAVE_MIRROR_SITE + depends on EMBTK_LINUX_HAVE_MIRROR + string "Mirror site" + default "ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror" + help + specify an alternate location where to download linux sources diff --git a/core/kconfig/linux.kconfig b/core/kconfig/linux.kconfig index abefb70..7abcb95 100644 --- a/core/kconfig/linux.kconfig +++ b/core/kconfig/linux.kconfig @@ -1,6 +1,6 @@ ################################################################################# # Embtoolkit -# Copyright(C) 2009-2014 Abdoulaye Walsimou GAYE. +# Copyright(C) 2009-2015 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 @@ -24,222 +24,28 @@ ################################################################################ choice - prompt "Linux series to use" + prompt "Linux kernel source" help - Here you can choose which Linux kernel headers you want to use. + Which linux kernel to use and where to find it. - config EMBTK_LINUX_VERSION_3_16_X - bool "linux-3.16.x" + config EMBTK_LINUX_SRC_GENERIC + bool "Generic" help - Use a linux-3.16.x version. - config EMBTK_LINUX_VERSION_3_15_X - bool "linux-3.15.x" + To build the toolchain, use generic kernel source tree from + kernel.org. + config EMBTK_LINUX_SRC_CUSTOM + bool "Custom" help - Use a linux-3.15.x version. - config EMBTK_LINUX_VERSION_3_14_X - bool "linux-3.14.x" - help - Use a linux-3.14.x version. - config EMBTK_LINUX_VERSION_3_13_X - bool "linux-3.13.x" - help - Use a linux-3.13.x version. - config EMBTK_LINUX_VERSION_3_12_X - bool "linux-3.12.x" - help - Use a linux-3.12.x version. - config EMBTK_LINUX_VERSION_3_11_X - bool "linux-3.11.x" - help - Use a linux-3.11.x version. - config EMBTK_LINUX_VERSION_3_10_X - bool "linux-3.10.x" - help - Use a linux-3.10.x version. - config EMBTK_LINUX_VERSION_3_9_X - bool "linux-3.9.x" - help - Use a linux-3.9.x version. - config EMBTK_LINUX_VERSION_3_8_X - bool "linux-3.8.x" - help - Use a linux-3.8.x version. - config EMBTK_LINUX_VERSION_3_7_X - bool "linux-3.7.x" - help - Use a linux-3.7.x version. - config EMBTK_LINUX_VERSION_3_6_X - bool "linux-3.6.x" - help - Use a linux-3.6.x version. - config EMBTK_LINUX_VERSION_3_5_X - bool "linux-3.5.x" - help - Use a linux-3.5.x version. - config EMBTK_LINUX_VERSION_3_4_X - bool "linux-3.4.x" - help - Use a linux-3.4.x version. - config EMBTK_LINUX_VERSION_3_3_X - bool "linux-3.3.x" - help - Use a linux-3.3.x version. - config EMBTK_LINUX_VERSION_3_2_X - bool "linux-3.2.x" - help - Use a linux-3.2.x version. - config EMBTK_LINUX_VERSION_3_1_X - bool "linux-3.1.x" - help - Use a linux-3.1.x version. - config EMBTK_LINUX_VERSION_3_0_X - bool "linux-3.0.x" - help - Use a linux-3.0.x version. - config EMBTK_LINUX_VERSION_2_6_39_X - bool "linux-2.6.39.x" - help - Use a linux-2.6.39.x version. - config EMBTK_LINUX_VERSION_2_6_38_X - bool "linux-2.6.38.x" - help - Use a linux-2.6.38.x version. - config EMBTK_LINUX_VERSION_2_6_37_X - bool "linux-2.6.37.x" - help - Use a linux-2.6.37.x version. - config EMBTK_LINUX_VERSION_2_6_36_X - bool "linux-2.6.36.x" - help - Use a linux-2.6.36.x version. - config EMBTK_LINUX_VERSION_2_6_35_X - bool "linux-2.6.35.x" - help - Use a linux-2.6.35.x version. - config EMBTK_LINUX_VERSION_2_6_34_X - bool "linux-2.6.34.x" - help - Use a linux-2.6.34.x version. - config EMBTK_LINUX_VERSION_2_6_33_X - bool "linux-2.6.33.x" - help - Use a linux-2.6.33.x version. - config EMBTK_LINUX_VERSION_2_6_32_X - bool "linux-2.6.32.x" - help - Use a linux-2.6.32.x version. + Use your own custom linux kernel source tree. endchoice -if EMBTK_LINUX_VERSION_3_16_X -source core/kconfig/linux-kconfigs/linux-3.16.kconfig -endif - -if EMBTK_LINUX_VERSION_3_15_X -source core/kconfig/linux-kconfigs/linux-3.15.kconfig -endif - -if EMBTK_LINUX_VERSION_3_14_X -source core/kconfig/linux-kconfigs/linux-3.14.kconfig -endif - -if EMBTK_LINUX_VERSION_3_13_X -source core/kconfig/linux-kconfigs/linux-3.13.kconfig -endif - -if EMBTK_LINUX_VERSION_3_12_X -source core/kconfig/linux-kconfigs/linux-3.12.kconfig -endif - -if EMBTK_LINUX_VERSION_3_11_X -source core/kconfig/linux-kconfigs/linux-3.11.kconfig -endif - -if EMBTK_LINUX_VERSION_3_10_X -source core/kconfig/linux-kconfigs/linux-3.10.kconfig -endif - -if EMBTK_LINUX_VERSION_3_9_X -source core/kconfig/linux-kconfigs/linux-3.9.kconfig -endif - -if EMBTK_LINUX_VERSION_3_8_X -source core/kconfig/linux-kconfigs/linux-3.8.kconfig -endif - -if EMBTK_LINUX_VERSION_3_7_X -source core/kconfig/linux-kconfigs/linux-3.7.kconfig -endif - -if EMBTK_LINUX_VERSION_3_6_X -source core/kconfig/linux-kconfigs/linux-3.6.kconfig -endif - -if EMBTK_LINUX_VERSION_3_5_X -source core/kconfig/linux-kconfigs/linux-3.5.kconfig -endif - -if EMBTK_LINUX_VERSION_3_4_X -source core/kconfig/linux-kconfigs/linux-3.4.kconfig -endif - -if EMBTK_LINUX_VERSION_3_3_X -source core/kconfig/linux-kconfigs/linux-3.3.kconfig -endif - -if EMBTK_LINUX_VERSION_3_2_X -source core/kconfig/linux-kconfigs/linux-3.2.kconfig -endif - -if EMBTK_LINUX_VERSION_3_1_X -source core/kconfig/linux-kconfigs/linux-3.1.kconfig -endif - -if EMBTK_LINUX_VERSION_3_0_X -source core/kconfig/linux-kconfigs/linux-3.0.kconfig -endif - -if EMBTK_LINUX_VERSION_2_6_39_X -source core/kconfig/linux-kconfigs/linux-2.6.39.kconfig -endif - -if EMBTK_LINUX_VERSION_2_6_38_X -source core/kconfig/linux-kconfigs/linux-2.6.38.kconfig -endif - -if EMBTK_LINUX_VERSION_2_6_37_X -source core/kconfig/linux-kconfigs/linux-2.6.37.kconfig -endif - -if EMBTK_LINUX_VERSION_2_6_36_X -source core/kconfig/linux-kconfigs/linux-2.6.36.kconfig +if EMBTK_LINUX_SRC_GENERIC +source "core/kconfig/linux-generic.kconfig" endif -if EMBTK_LINUX_VERSION_2_6_35_X -source core/kconfig/linux-kconfigs/linux-2.6.35.kconfig +if EMBTK_LINUX_SRC_CUSTOM +source "core/kconfig/linux-custom.kconfig" endif -if EMBTK_LINUX_VERSION_2_6_34_X -source core/kconfig/linux-kconfigs/linux-2.6.34.kconfig -endif - -if EMBTK_LINUX_VERSION_2_6_33_X -source core/kconfig/linux-kconfigs/linux-2.6.33.kconfig -endif - -if EMBTK_LINUX_VERSION_2_6_32_X -source core/kconfig/linux-kconfigs/linux-2.6.32.kconfig -endif - -config EMBTK_LINUX_HAVE_MIRROR - bool "Use a linux mirror" - help - specify an alternate location where to download linux sources. -config EMBTK_LINUX_HAVE_MIRROR_SITE - depends on EMBTK_LINUX_HAVE_MIRROR - string "Mirror site" - default "ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror" - help - specify an alternate location where to download linux sources - config EMBTK_LINUX_NEED_PATCH bool -- cgit v1.2.3