summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Kconfig1
-rw-r--r--kconfig/strace.kconfig30
-rw-r--r--mk/packages.mk6
-rw-r--r--mk/strace.mk72
4 files changed, 109 insertions, 0 deletions
diff --git a/Kconfig b/Kconfig
index 8d6bb23..f926924 100644
--- a/Kconfig
+++ b/Kconfig
@@ -68,6 +68,7 @@ endmenu
menu "Debugging system"
source "kconfig/gdb.kconfig"
+source "kconfig/strace.kconfig"
endmenu
config EMBTK_HAVE_ROOTFS
diff --git a/kconfig/strace.kconfig b/kconfig/strace.kconfig
new file mode 100644
index 0000000..1f38cb6
--- /dev/null
+++ b/kconfig/strace.kconfig
@@ -0,0 +1,30 @@
+################################################################################
+# GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# Copyright(C) 2009 GAYE Abdoulaye Walsimou. All rights reserved.
+#
+# This program is free software; you can distribute it and/or modify it
+# under the terms of the GNU General Public License
+# (Version 2 or later) published by the Free Software Foundation.
+#
+# This program is distributed in the hope 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, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+################################################################################
+#
+# \file strace.kconfig
+# \brief strace.kconfig of Embtoolkit
+# \author GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# \date August 2009
+################################################################################
+
+config EMBTK_ROOTFS_HAVE_STRACE
+ depends on EMBTK_HAVE_ROOTFS
+ bool "Have strace in target"
+ help
+ strace is a system call tracer, i.e. a debugging tool which prints out
+ a trace of all the system calls made by a another process/program.
diff --git a/mk/packages.mk b/mk/packages.mk
index 879043e..098b69a 100644
--- a/mk/packages.mk
+++ b/mk/packages.mk
@@ -55,6 +55,12 @@ ROOTFS_COMPONENTS += mtd-utils_target_install
ROOTFS_COMPONENTS_CLEAN += mtd-utils_target_clean
endif
+#strace
+ifeq ($(CONFIG_EMBTK_ROOTFS_HAVE_STRACE),y)
+include $(EMBTK_ROOT)/mk/strace.mk
+ROOTFS_COMPONENTS += strace_install
+endif
+
########################## Packages for HOST MACHINE ###########################
#gdb
diff --git a/mk/strace.mk b/mk/strace.mk
new file mode 100644
index 0000000..3223cc7
--- /dev/null
+++ b/mk/strace.mk
@@ -0,0 +1,72 @@
+################################################################################
+# GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# Copyright(C) 2009 GAYE Abdoulaye Walsimou. All rights reserved.
+#
+# This program is free software; you can distribute it and/or modify it
+# under the terms of the GNU General Public License
+# (Version 2 or later) published by the Free Software Foundation.
+#
+# This program is distributed in the hope 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, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+################################################################################
+#
+# \file strace.mk
+# \brief strace.mk of Embtoolkit.
+# \author GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# \date August 2009
+################################################################################
+
+STRACE_VERSION:= 4.5.18
+STRACE_SITE:=http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VERSION)
+STRACE_PATCH_SITE := ftp://ftp.embtoolkit.org/embtoolkit.org/strace
+STRACE_PACKAGE := strace-$(STRACE_VERSION).tar.bz2
+STRACE_PATCH := strace.patch
+STRACE_BUILD_DIR := $(PACKAGES_BUILD)/strace
+
+strace_install: $(STRACE_BUILD_DIR)/.installed
+
+$(STRACE_BUILD_DIR)/.installed: download_starce \
+ $(STRACE_BUILD_DIR)/.decompressed $(STRACE_BUILD_DIR)/.configured
+ $(call EMBTK_GENERIC_MESSAGE,"Compiling and installing \
+ strace-$(STRACE_VERSION) in target...")
+ @$(MAKE) -C $(STRACE_BUILD_DIR)
+ cd $(STRACE_BUILD_DIR); \
+ test -z $(ROOTFS)/usr/bin || mkdir -p $(ROOTFS)/usr/bin; \
+ install -c strace $(ROOTFS)/usr/bin
+ @touch $@
+
+$(STRACE_BUILD_DIR)/.decompressed:
+ @tar -C $(PACKAGES_BUILD) -xjf $(DOWNLOAD_DIR)/$(STRACE_PACKAGE)
+ @cd $(PACKAGES_BUILD)/strace-$(STRACE_VERSION); \
+ patch -p1 < $(DOWNLOAD_DIR)/$(STRACE_PATCH)
+ @mkdir -p $(STRACE_BUILD_DIR)
+ @touch $@
+download_starce:
+ $(call EMBTK_GENERIC_MESSAGE,"Downloading strace-$(STRACE_VERSION) if \
+ necessary ...")
+ @test -e $(DOWNLOAD_DIR)/$(STRACE_PACKAGE) || \
+ wget $(STRACE_SITE)/$(STRACE_PACKAGE) \
+ -O $(DOWNLOAD_DIR)/$(STRACE_PACKAGE)
+ @test -e $(DOWNLOAD_DIR)/$(STRACE_PATCH) || \
+ wget -O $(DOWNLOAD_DIR)/$(STRACE_PATCH) \
+ $(STRACE_PATCH_SITE)/$(STRACE_PATCH)
+
+$(STRACE_BUILD_DIR)/.configured:
+ $(call EMBTK_GENERIC_MESSAGE,"Configuring \
+ strace-$(STRACE_VERSION) for target...")
+ @cd $(STRACE_BUILD_DIR); \
+ $(PACKAGES_BUILD)/strace-$(STRACE_VERSION)/configure \
+ --prefix=$(ROOTFS)/usr \
+ --build=$(HOST_BUILD) --host=$(STRICT_GNU_TARGET) \
+ CC=$(TARGETCC_CACHED) \
+ CFLAGS=$(TARGET_CFLAGS) \
+ LDFLAGS="-L$(SYSROOT)/lib" \
+ CPPFLAGS="-I$(SYSROOT)/usr/include"
+ @touch $@
+