From b52e039a556f4cc81436ab240e5fe054ee30aa54 Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Sat, 15 Mar 2014 15:53:20 +0100 Subject: Toolchain: binutils: move kconfig and makefile under toolchain/bintuils Signed-off-by: Abdoulaye Walsimou Gaye --- toolchain/binutils/binutils.kconfig | 82 +++++++++++++++++++++++++++++++++++++ toolchain/binutils/binutils.mk | 56 +++++++++++++++++++++++++ toolchain/toolchain.kconfig | 2 +- toolchain/toolchain.mk | 6 ++- 4 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 toolchain/binutils/binutils.kconfig create mode 100644 toolchain/binutils/binutils.mk (limited to 'toolchain') 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 . +# +################################################################################ +# +# \file binutils.kconfig +# \brief binutils.kconfig of Embtoolkit +# \author Abdoulaye Walsimou GAYE +# \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 . +# +################################################################################ +# +# \file binutils.mk +# \brief binutils.mk of Embtoolkit +# \author Abdoulaye Walsimou GAYE +# \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 -- cgit v1.2.3