diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2014-09-17 23:14:29 +0200 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2014-09-17 23:14:29 +0200 |
commit | 54e2a79b8d53c21ba49af23f0ca48daa02201939 (patch) | |
tree | 0c635dd9dc7883e8ae9859b2e5321b1bca55ad71 | |
parent | 6aedab6e856497af6a4ef5d2643d7a6eded9c6ff (diff) | |
download | embtoolkit-54e2a79b8d53c21ba49af23f0ca48daa02201939.tar.gz embtoolkit-54e2a79b8d53c21ba49af23f0ca48daa02201939.tar.bz2 embtoolkit-54e2a79b8d53c21ba49af23f0ca48daa02201939.tar.xz |
Toolchain: move gdb to addons and split it into multiple virtual packages
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r-- | Kconfig | 2 | ||||
-rw-r--r-- | core/toolchain/addons.mk | 11 | ||||
-rw-r--r-- | core/toolchain/addons/gdb/common.mk | 35 | ||||
-rw-r--r-- | core/toolchain/addons/gdb/gdb.kconfig (renamed from packages/development/gdb/gdb.kconfig) | 62 | ||||
-rw-r--r-- | core/toolchain/addons/gdb/gdb/gdb.mk | 39 | ||||
-rw-r--r-- | core/toolchain/addons/gdb/gdb_host/gdb_host.mk (renamed from packages/development/gdb/gdb.mk) | 65 | ||||
-rw-r--r-- | core/toolchain/addons/gdb/gdbserver/gdbserver.mk | 42 |
7 files changed, 178 insertions, 78 deletions
@@ -65,7 +65,7 @@ source "core/toolchain/toolchain.kconfig" endmenu menu "Toolchain Addons - Debugging systems" -source "packages/development/gdb/gdb.kconfig" +source "core/toolchain/addons/gdb/gdb.kconfig" source "packages/misc/ncurses/ncurses.kconfig" source "core/toolchain/addons/strace/strace.kconfig" endmenu diff --git a/core/toolchain/addons.mk b/core/toolchain/addons.mk index 72e0da9..fcf4817 100644 --- a/core/toolchain/addons.mk +++ b/core/toolchain/addons.mk @@ -72,9 +72,12 @@ embtk_pkgincdir := core/toolchain/addons $(call embtk_include_xtoolpkg,strace,toolchain_addons_deps) # Addon: gdb -EMBTK_TOOLCHAIN_ADDONS_DEPS-$(CONFIG_EMBTK_HAVE_GDB) += gdb_install -EMBTK_TOOLCHAIN_ADDONS_DEPS-$(CONFIG_EMBTK_HAVE_GDBSERVER) += gdbserver_install -EMBTK_TOOLCHAIN_ADDONS_DEPS-$(CONFIG_EMBTK_HOST_HAVE_GDB) += gdb_host_install -include packages/development/gdb/gdb.mk +embtk_pkgincdir := core/toolchain/addons/gdb +ifeq ($(CONFIG_EMBTK_HAVE_GDBSERVER)$(CONFIG_EMBTK_HAVE_GDB),y) +include core/toolchain/addons/gdb/common.mk +endif +$(call embtk_include_xtoolpkg,gdbserver,toolchain_addons_deps) +$(call embtk_include_xtoolpkg,gdb,toolchain_addons_deps) +$(call embtk_include_xtoolpkg,gdb_host,toolchain_addons_deps) TOOLCHAIN_ADDONS_DEPS := $(EMBTK_TOOLCHAIN_ADDONS_DEPS-y) diff --git a/core/toolchain/addons/gdb/common.mk b/core/toolchain/addons/gdb/common.mk new file mode 100644 index 0000000..22dfb72 --- /dev/null +++ b/core/toolchain/addons/gdb/common.mk @@ -0,0 +1,35 @@ +################################################################################ +# 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 common.mk +# \brief common.mk options for gdb/gdbserver for target +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \date September 2014 +################################################################################ + +GDBCOMMON_DEPS := ncurses_install + +GDBCOMMON_CONFIGURE_OPTS := --disable-werror --disable-sim --disable-nls +GDBCOMMON_CONFIGURE_OPTS += --with-bugurl="$(EMBTK_BUGURL)" +GDBCOMMON_CONFIGURE_OPTS += --with-pkgversion="embtk-$(EMBTK_VERSION)" + +GDBCOMMON_INCLUDES := ansidecl.h bfd.h bfdlink.h dis-asm.h symcat.h gdb +GDBCOMMON_LIBS := lib*-sim.a libbfd.* libiberty.* libopcodes.* +GDBCOMMON_BINS := gdb gdbtui run + diff --git a/packages/development/gdb/gdb.kconfig b/core/toolchain/addons/gdb/gdb.kconfig index f7e80f3..1a25ccf 100644 --- a/packages/development/gdb/gdb.kconfig +++ b/core/toolchain/addons/gdb/gdb.kconfig @@ -1,6 +1,6 @@ ################################################################################ # Embtoolkit -# Copyright(C) 2009-2012 Abdoulaye Walsimou GAYE. +# 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 @@ -25,6 +25,10 @@ config EMBTK_HAVE_GDB_SYSTEM bool "Have GDB: Gnu debugging system" + select EMBTK_HAVE_NCURSES + select KEMBTK_UCLIBC_PTHREADS_DEBUG_SUPPORT if EMBTK_CLIB_UCLIBC + select KEMBTK_UCLIBC_UCLIBC_HAS_WCHAR if EMBTK_CLIB_UCLIBC + select KEMBTK_UCLIBC_UCLIBC_SUSV3_LEGACY if EMBTK_CLIB_UCLIBC help Have GNU debugger components in your embedded target and/or in your development machine. @@ -44,55 +48,81 @@ choice endchoice choice - prompt "GDB on your target embedded system" + prompt "GDB on your target system" depends on EMBTK_HAVE_GDB_SYSTEM config EMBTK_HAVE_GDBSERVER bool "Have gdbserver on target" - select EMBTK_HAVE_NCURSES - select KEMBTK_UCLIBC_PTHREADS_DEBUG_SUPPORT if EMBTK_CLIB_UCLIBC - select KEMBTK_UCLIBC_UCLIBC_HAS_WCHAR if EMBTK_CLIB_UCLIBC - select KEMBTK_UCLIBC_UCLIBC_SUSV3_LEGACY if EMBTK_CLIB_UCLIBC help Say yes if you want to have only gdbserver in your embedded system target. config EMBTK_HAVE_GDB bool "Have gdb on target" - select EMBTK_HAVE_NCURSES - select KEMBTK_UCLIBC_PTHREADS_DEBUG_SUPPORT if EMBTK_CLIB_UCLIBC - select KEMBTK_UCLIBC_UCLIBC_HAS_WCHAR if EMBTK_CLIB_UCLIBC - select KEMBTK_UCLIBC_UCLIBC_SUSV3_LEGACY if EMBTK_CLIB_UCLIBC help Say yes if you want to have full gdb in your embedded system target. endchoice config EMBTK_HOST_HAVE_GDB - bool "Have gdb on host your development machine" + bool "Have gdb on your host development machine" depends on EMBTK_HAVE_GDB_SYSTEM help Say yes if you want to have gdb in your host development machine. - +# +# GDB virtual package +# config EMBTK_GDB_VERSION_STRING string default "7.6.2" if EMBTK_GDB_VERSION_7_6_2 default "7.5.1" if EMBTK_GDB_VERSION_7_5_1 +config EMBTK_GDB_CATEGORY + string + depends on EMBTK_HAVE_GDB_SYSTEM + default "toolchain_addons" + config EMBTK_GDB_NEED_PATCH bool - select EMBTK_GDBSERVER_NEED_PATCH - select EMBTK_GDB_HOST_NEED_PATCH + select EMBTK_GDBSERVER_NEED_PATCH if EMBTK_HAVE_GDBSERVER + select EMBTK_GDB_HOST_NEED_PATCH if EMBTK_HOST_HAVE_GDB + config EMBTK_GDB_NEED_AUTORECONF bool - select EMBTK_GDBSERVER_NEED_AUTORECONF - select EMBTK_GDB_HOST_NEED_AUTORECONF + select EMBTK_GDBSERVER_NEED_AUTORECONF if EMBTK_HAVE_GDBSERVER + select EMBTK_GDB_HOST_NEED_AUTORECONF if EMBTK_HOST_HAVE_GDB + +# +# GDBSERVER virtual package +# +config EMBTK_GDBSERVER_VERSION_STRING + string + depends on EMBTK_HAVE_GDBSERVER + default EMBTK_GDB_VERSION_STRING + +config EMBTK_GDBSERVER_CATEGORY + string + depends on EMBTK_HAVE_GDBSERVER + default EMBTK_GDB_CATEGORY config EMBTK_GDBSERVER_NEED_PATCH bool config EMBTK_GDBSERVER_NEED_AUTORECONF bool +# +# GDB_HOST virtual package +# +config EMBTK_GDB_HOST_VERSION_STRING + string + depends on EMBTK_HOST_HAVE_GDB + default EMBTK_GDB_VERSION_STRING + +config EMBTK_GDB_HOST_CATEGORY + string + depends on EMBTK_HOST_HAVE_GDB + default EMBTK_GDB_CATEGORY + config EMBTK_GDB_HOST_NEED_PATCH bool config EMBTK_GDB_HOST_NEED_AUTORECONF diff --git a/core/toolchain/addons/gdb/gdb/gdb.mk b/core/toolchain/addons/gdb/gdb/gdb.mk new file mode 100644 index 0000000..89f0a56 --- /dev/null +++ b/core/toolchain/addons/gdb/gdb/gdb.mk @@ -0,0 +1,39 @@ +################################################################################ +# 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 gdb.mk +# \brief gdb.mk of Embtoolkit +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \date July 2009 +################################################################################ + +GDB_NAME := gdb +GDB_VERSION := $(call embtk_get_pkgversion,gdb) +GDB_SITE := http://ftp.gnu.org/gnu/gdb +GDB_PACKAGE := gdb-$(GDB_VERSION).tar.bz2 +GDB_SRC_DIR := $(embtk_pkgb)/gdb-$(GDB_VERSION) +GDB_BUILD_DIR := $(embtk_pkgb)/gdb-$(GDB_VERSION)-build + +GDB_DEPS := $(GDBCOMMON_DEPS) +GDB_CONFIGURE_OPTS := $(GDBCOMMON_CONFIGURE_OPTS) + +GDB_BINS := $(GDBCOMMON_BINS) +GDB_BINS += $(if $(CONFIG_EMBTK_HAVE_GDBSERVER),,gdbserver) +GDB_INCLUDES := $(if $(CONFIG_EMBTK_HAVE_GDBSERVER),,$(GDBCOMMON_INCLUDES)) +GDB_LIBS := $(if $(CONFIG_EMBTK_HAVE_GDBSERVER),,$(GDBCOMMON_LIBS)) diff --git a/packages/development/gdb/gdb.mk b/core/toolchain/addons/gdb/gdb_host/gdb_host.mk index d12cf10..1e67d3d 100644 --- a/packages/development/gdb/gdb.mk +++ b/core/toolchain/addons/gdb/gdb_host/gdb_host.mk @@ -1,6 +1,6 @@ ################################################################################ # Embtoolkit -# Copyright(C) 2009-2012 Abdoulaye Walsimou GAYE. +# 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 @@ -17,67 +17,18 @@ # ################################################################################ # -# \file gdb.mk -# \brief gdb.mk of Embtoolkit +# \file gdb_host.mk +# \brief gdb_host.mk of Embtoolkit # \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> # \date July 2009 ################################################################################ -GDB_NAME := gdb -GDB_VERSION := $(call embtk_get_pkgversion,gdb) -GDB_SITE := http://ftp.gnu.org/gnu/gdb -GDB_PACKAGE := gdb-$(GDB_VERSION).tar.bz2 -GDB_SRC_DIR := $(embtk_pkgb)/gdb-$(GDB_VERSION) -GDB_BUILD_DIR := $(embtk_pkgb)/gdb-$(GDB_VERSION)-build - -GDBSERVER_NAME := $(GDB_NAME) -GDBSERVER_VERSION := $(GDB_VERSION) -GDBSERVER_SITE := $(GDB_SITE) -GDBSERVER_PACKAGE := $(GDB_PACKAGE) -GDBSERVER_SRC_DIR := $(GDB_SRC_DIR) -GDBSERVER_BUILD_DIR := $(embtk_pkgb)/gdbserver-$(GDB_VERSION)-build - -GDB_DEPS := ncurses_install - -GDB_CONFIGURE_OPTS := --disable-werror --disable-sim --disable-nls -GDB_CONFIGURE_OPTS += --with-bugurl="$(EMBTK_BUGURL)" -GDB_CONFIGURE_OPTS += --with-pkgversion="embtk-$(EMBTK_VERSION)" - -GDBSERVER_DEPS := $(GDB_DEPS) -GDBSERVER_CONFIGURE_OPTS := $(GDB_CONFIGURE_OPTS) - -# -# gdb -# -__GDB_INCLUDES := ansidecl.h bfd.h bfdlink.h dis-asm.h symcat.h gdb -__GDB_LIBS := lib*-sim.a libbfd.* libiberty.* libopcodes.* - -GDB_BINS := gdb gdbtui run -GDB_BINS += $(if $(CONFIG_EMBTK_HAVE_GDBSERVER),,gdbserver) -GDB_INCLUDES := $(if $(CONFIG_EMBTK_HAVE_GDBSERVER),,$(__GDB_INCLUDES)) -GDB_LIBS := $(if $(CONFIG_EMBTK_HAVE_GDBSERVER),,$(__GDB_LIBS)) - -# -# gdbserver -# -GDBSERVER_BINS := $(if $(CONFIG_EMBTK_HAVE_GDB),,gdbserver) -GDBSERVER_INCLUDES := $(if $(CONFIG_EMBTK_HAVE_GDB),,$(__GDB_INCLUDES)) -GDBSERVER_LIBS := $(if $(CONFIG_EMBTK_HAVE_GDB),,$(__GDB_LIBS)) - -define embtk_postinstallonce_gdbserver - rm -rf $(addprefix $(embtk_sysroot)/usr/bin/,$(GDB_BINS)) -endef - -# -# GDB for host development machine -# GDB_HOST_NAME := gdb -GDB_HOST_VERSION := $(GDB_VERSION) -GDB_HOST_SITE := $(GDB_SITE) -GDB_HOST_SITE_MIRROR3 := $(GDB_SITE_MIRROR3) -GDB_HOST_PACKAGE := $(GDB_PACKAGE) -GDB_HOST_SRC_DIR := $(embtk_toolsb)/gdb-$(GDB_VERSION) -GDB_HOST_BUILD_DIR := $(embtk_toolsb)/gdb-$(GDB_VERSION) +GDB_HOST_VERSION := $(call embtk_pkg_version,gdb_host) +GDB_HOST_SITE := gdb-$(GDB_HOST_VERSION).tar.bz2 +GDB_HOST_PACKAGE := gdb-$(GDB_HOST_VERSION).tar.bz2 +GDB_HOST_SRC_DIR := $(embtk_toolsb)/gdb-$(GDB_HOST_VERSION) +GDB_HOST_BUILD_DIR := $(embtk_toolsb)/gdb-$(GDB_HOST_VERSION) GDB_HOST_CONFIGURE_ENV := CC=$(HOSTCC_CACHED) GDB_HOST_CONFIGURE_ENV += CXX=$(HOSTCXX_CACHED) diff --git a/core/toolchain/addons/gdb/gdbserver/gdbserver.mk b/core/toolchain/addons/gdb/gdbserver/gdbserver.mk new file mode 100644 index 0000000..0266db9 --- /dev/null +++ b/core/toolchain/addons/gdb/gdbserver/gdbserver.mk @@ -0,0 +1,42 @@ +################################################################################ +# 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 gdb.mk +# \brief gdbserver.mk of Embtoolkit +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \date July 2009 +################################################################################ + +GDBSERVER_NAME := gdb +GDBSERVER_VERSION := $(call embtk_pkg_version,gdbserver) +GDBSERVER_SITE := http://ftp.gnu.org/gnu/gdb +GDBSERVER_PACKAGE := gdb-$(GDBSERVER_VERSION).tar.bz2 +GDBSERVER_SRC_DIR := $(embtk_pkgb)/gdb-$(GDBSERVER_VERSION) +GDBSERVER_BUILD_DIR := $(embtk_pkgb)/gdbserver-$(GDBSERVER_VERSION)-build + +GDBSERVER_DEPS := $(GDBCOMMON_DEPS) +GDBSERVER_CONFIGURE_OPTS := $(GDBCOMMON_CONFIGURE_OPTS) + +GDBSERVER_BINS := $(if $(CONFIG_EMBTK_HAVE_GDB),,gdbserver) +GDBSERVER_INCLUDES := $(if $(CONFIG_EMBTK_HAVE_GDB),,$(__GDB_INCLUDES)) +GDBSERVER_LIBS := $(if $(CONFIG_EMBTK_HAVE_GDB),,$(__GDB_LIBS)) + +define embtk_postinstallonce_gdbserver + rm -rf $(addprefix $(embtk_sysroot)/usr/bin/,$(GDBCOMMON_BINS)) +endef |