summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-03-15 15:53:20 +0100
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-03-15 15:53:20 +0100
commitb52e039a556f4cc81436ab240e5fe054ee30aa54 (patch)
tree41f8e87f44d3dfcf8fa5cde6b25a7817043f0833 /toolchain
parent3668bdcaa07335ffb0451ecaefde0fd04dab3818 (diff)
downloadembtoolkit-b52e039a556f4cc81436ab240e5fe054ee30aa54.tar.gz
embtoolkit-b52e039a556f4cc81436ab240e5fe054ee30aa54.tar.bz2
embtoolkit-b52e039a556f4cc81436ab240e5fe054ee30aa54.tar.xz
Toolchain: binutils: move kconfig and makefile under toolchain/bintuils
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/binutils/binutils.kconfig82
-rw-r--r--toolchain/binutils/binutils.mk56
-rw-r--r--toolchain/toolchain.kconfig2
-rw-r--r--toolchain/toolchain.mk6
4 files changed, 144 insertions, 2 deletions
diff --git a/toolchain/binutils/binutils.kconfig b/toolchain/binutils/binutils.kconfig
new file mode 100644
index 0000000..63b934a
--- /dev/null
+++ b/toolchain/binutils/binutils.kconfig
@@ -0,0 +1,82 @@
+################################################################################
+# Embtoolkit
+# Copyright(C) 2009-2014 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 <http://www.gnu.org/licenses/>.
+#
+################################################################################
+#
+# \file binutils.kconfig
+# \brief binutils.kconfig of Embtoolkit
+# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org>
+# \date May 2009
+###############################################################################
+
+config EMBTK_HAVE_BINUTILS
+ bool
+ default y
+
+choice
+ prompt "Version of binutils you wish"
+ depends on EMBTK_HAVE_BINUTILS
+ help
+ Here you can choose which version of binutils your toochain
+ will use.
+
+ config EMBTK_BINUTILS_VERSION_2_23_2
+ bool "binutils-2.23.2"
+ select EMBTK_BINUTILS_NEED_PATCH
+ config EMBTK_BINUTILS_VERSION_2_22
+ bool "binutils-2.22"
+ select EMBTK_BINUTILS_NEED_PATCH
+ config EMBTK_BINUTILS_VERSION_GIT
+ bool "Use binutils git repository"
+ help
+ Answer Y here if you want to build your toolchain based
+ on binutils sources from its GIT repository.
+ See http://sourceware.org/git/?p=binutils.git
+endchoice
+
+#
+# GIT repository options
+#
+config EMBTK_BINUTILS_GIT_BRANCH
+ string "Branch to use"
+ default "master"
+ depends on EMBTK_BINUTILS_VERSION_GIT
+ help
+ The branch of the git repository to use, the default is master.
+
+config EMBTK_BINUTILS_GIT_REVISION
+ string "Checkout a specific revision instead of the latest"
+ depends on EMBTK_BINUTILS_VERSION_GIT
+ help
+ Chechout a specific revision instead of the latest.
+
+config EMBTK_BINUTILS_REFSPEC
+ string
+ default "toolchain"
+
+#
+# Versions strings
+#
+config EMBTK_BINUTILS_VERSION_STRING
+ string
+ default "2.23.2" if EMBTK_BINUTILS_VERSION_2_23_2
+ default "2.22" if EMBTK_BINUTILS_VERSION_2_22
+
+config EMBTK_BINUTILS_NEED_PATCH
+ bool
+config EMBTK_BINUTILS_NEED_AUTORECONF
+ bool
diff --git a/toolchain/binutils/binutils.mk b/toolchain/binutils/binutils.mk
new file mode 100644
index 0000000..1d648da
--- /dev/null
+++ b/toolchain/binutils/binutils.mk
@@ -0,0 +1,56 @@
+################################################################################
+# Embtoolkit
+# Copyright(C) 2009-2014 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 <http://www.gnu.org/licenses/>.
+#
+################################################################################
+#
+# \file binutils.mk
+# \brief binutils.mk of Embtoolkit
+# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org>
+# \date May 2009
+################################################################################
+
+BINUTILS_NAME := binutils
+BINUTILS_VERSION := $(call embtk_get_pkgversion,binutils)
+BINUTILS_SITE := http://ftp.gnu.org/gnu/binutils
+BINUTILS_GIT_SITE := git://sourceware.org/git/binutils.git
+BINUTILS_PACKAGE := binutils-$(BINUTILS_VERSION).tar.bz2
+BINUTILS_SRC_DIR := $(embtk_toolsb)/binutils-$(BINUTILS_VERSION)
+BINUTILS_BUILD_DIR := $(embtk_toolsb)/binutils-build
+
+BINUTILS_KEEP_SRC_DIR := $(embtk_toolchain_has_llvm-y)
+
+BINUTILS_CONFIGURE_OPTS := --disable-werror --with-sysroot=$(embtk_sysroot)
+BINUTILS_CONFIGURE_OPTS += --disable-nls --disable-multilib
+BINUTILS_CONFIGURE_OPTS += --enable-gold --enable-plugins
+BINUTILS_CONFIGURE_OPTS += --target=$(STRICT_GNU_TARGET)
+
+BINUTILS_PREFIX := $(embtk_tools)
+
+define embtk_beforeinstall_binutils
+ $(if $(CONFIG_EMBTK_CLIB_MUSL),$(call __embtk_fixgconfigsfor_pkg,binutils))
+ $(if $(findstring freebsd,$(embtk_buildhost_os)),
+ bfdmk=$(call __embtk_pkg_srcdir,binutils)/bfd/Makefile.in; \
+ goldmk=$(call __embtk_pkg_srcdir,binutils)/gold/Makefile.in; \
+ sed -e 's/-ldl//g' < $$bfdmk > $$bfdmk.tmp; \
+ mv $$bfdmk.tmp $$bfdmk; \
+ sed -e 's/-ldl//g' < $$goldmk > $$goldmk.tmp; \
+ mv $$goldmk.tmp $$goldmk;)
+endef
+
+define embtk_install_binutils
+ $(call __embtk_install_hostpkg,binutils)
+endef
diff --git a/toolchain/toolchain.kconfig b/toolchain/toolchain.kconfig
index 0538ed7..b550f80 100644
--- a/toolchain/toolchain.kconfig
+++ b/toolchain/toolchain.kconfig
@@ -162,7 +162,7 @@ endif
endmenu
menu "Binutils"
-source "kconfig/binutils.kconfig"
+source "toolchain/binutils/binutils.kconfig"
endmenu
menu "Linux kernel headers"
diff --git a/toolchain/toolchain.mk b/toolchain/toolchain.mk
index f60f48f..d53e88f 100644
--- a/toolchain/toolchain.mk
+++ b/toolchain/toolchain.mk
@@ -22,6 +22,8 @@
# \date May 2009
################################################################################
+embtk_pkgincdir := toolchain
+
#
# Toolchain variables
#
@@ -39,8 +41,10 @@ include mk/mpfr.mk
# MPC
include mk/mpc.mk
+#
# binutils
-include mk/binutils.mk
+#
+$(call embtk_include_hostpkg,binutils)
# GCC
include mk/gcc.mk