summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-09-17 23:14:29 +0200
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-09-17 23:14:29 +0200
commit54e2a79b8d53c21ba49af23f0ca48daa02201939 (patch)
tree0c635dd9dc7883e8ae9859b2e5321b1bca55ad71
parent6aedab6e856497af6a4ef5d2643d7a6eded9c6ff (diff)
downloadembtoolkit-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--Kconfig2
-rw-r--r--core/toolchain/addons.mk11
-rw-r--r--core/toolchain/addons/gdb/common.mk35
-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.mk39
-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.mk42
7 files changed, 178 insertions, 78 deletions
diff --git a/Kconfig b/Kconfig
index 8c1d623..59afaa1 100644
--- a/Kconfig
+++ b/Kconfig
@@ -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