summaryrefslogtreecommitdiff
path: root/core/toolchain/addons
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 /core/toolchain/addons
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>
Diffstat (limited to 'core/toolchain/addons')
-rw-r--r--core/toolchain/addons/gdb/common.mk35
-rw-r--r--core/toolchain/addons/gdb/gdb.kconfig129
-rw-r--r--core/toolchain/addons/gdb/gdb/gdb.mk39
-rw-r--r--core/toolchain/addons/gdb/gdb_host/gdb_host.mk52
-rw-r--r--core/toolchain/addons/gdb/gdbserver/gdbserver.mk42
5 files changed, 297 insertions, 0 deletions
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/core/toolchain/addons/gdb/gdb.kconfig b/core/toolchain/addons/gdb/gdb.kconfig
new file mode 100644
index 0000000..1a25ccf
--- /dev/null
+++ b/core/toolchain/addons/gdb/gdb.kconfig
@@ -0,0 +1,129 @@
+################################################################################
+# 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.kconfig
+# \brief gdb.kconfig of Embtoolkit
+# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org>
+# \date July 2009
+################################################################################
+
+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.
+
+choice
+ prompt "GDB version to use"
+ depends on EMBTK_HAVE_GDB_SYSTEM
+ help
+ Choose which version of gdb to use.
+
+ config EMBTK_GDB_VERSION_7_6_2
+ bool "gdb-7.6.2"
+ select EMBTK_GDB_NEED_PATCH
+ config EMBTK_GDB_VERSION_7_5_1
+ bool "gdb-7.5.1"
+ select EMBTK_GDB_NEED_PATCH
+endchoice
+
+choice
+ prompt "GDB on your target system"
+ depends on EMBTK_HAVE_GDB_SYSTEM
+ config EMBTK_HAVE_GDBSERVER
+ bool "Have gdbserver on target"
+ help
+ Say yes if you want to have only gdbserver in your embedded
+ system target.
+
+ config EMBTK_HAVE_GDB
+ bool "Have gdb on target"
+ 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 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 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 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
+ bool
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/core/toolchain/addons/gdb/gdb_host/gdb_host.mk b/core/toolchain/addons/gdb/gdb_host/gdb_host.mk
new file mode 100644
index 0000000..1e67d3d
--- /dev/null
+++ b/core/toolchain/addons/gdb/gdb_host/gdb_host.mk
@@ -0,0 +1,52 @@
+################################################################################
+# 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_host.mk
+# \brief gdb_host.mk of Embtoolkit
+# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org>
+# \date July 2009
+################################################################################
+
+GDB_HOST_NAME := gdb
+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)
+GDB_HOST_CONFIGURE_ENV += CC_FOR_TARGET=$(TARGETCC_CACHED)
+GDB_HOST_CONFIGURE_ENV += CXX_FOR_TARGET=$(TARGETCXX_CACHED)
+GDB_HOST_CONFIGURE_ENV += AR_FOR_TARGET=$(TARGETAR)
+GDB_HOST_CONFIGURE_ENV += LD_FOR_TARGET=$(TARGETLD)
+GDB_HOST_CONFIGURE_ENV += NM_FOR_TARGET=$(TARGETNM)
+GDB_HOST_CONFIGURE_ENV += RANLIB_FOR_TARGET=$(TARGETRANLIB)
+GDB_HOST_CONFIGURE_ENV += STRIP_FOR_TARGET=$(TARGETSTRIP)
+GDB_HOST_CONFIGURE_ENV += OBJDUMP_FOR_TARGET=$(TARGETOBJDUMP)
+
+GDB_HOST_CONFIGURE_OPTS := --disable-werror --enable-sim --disable-nls
+GDB_HOST_CONFIGURE_OPTS += --with-bugurl="$(EMBTK_BUGURL)"
+GDB_HOST_CONFIGURE_OPTS += --with-pkgversion="embtk-$(EMBTK_VERSION)"
+GDB_HOST_CONFIGURE_OPTS += --target=$(STRICT_GNU_TARGET)
+GDB_HOST_PREFIX := $(embtk_tools)
+
+define embtk_cleanup_gdb_host
+ rm -rf $(GDB_HOST_BUILD_DIR)
+endef
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