summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/Config.in3
-rw-r--r--package/Makefile.in2
-rw-r--r--package/sstrip/Config.in7
-rw-r--r--package/sstrip/sstrip.mk45
4 files changed, 56 insertions, 1 deletions
diff --git a/package/Config.in b/package/Config.in
index 225d8739f..27d802363 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -73,6 +73,9 @@ endif
source "package/pkg-config/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/sed/Config.in"
+endif
+source "package/sstrip/Config.in"
+if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/tar/Config.in"
endif
endmenu
diff --git a/package/Makefile.in b/package/Makefile.in
index 71c8dbc86..3fa98feba 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -162,7 +162,7 @@ ifeq ($(BR2_STRIP_sstrip),y)
STRIP_DISCARD_ALL:=
STRIP_STRIP_UNNEEDED:=
STRIP_STRIP_ALL:=
-TARGET_STRIP=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-sstrip
+TARGET_STRIP=$(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-sstrip
STRIPCMD=$(TARGET_STRIP)
KSTRIPCMD=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note --strip-unneeded
endif
diff --git a/package/sstrip/Config.in b/package/sstrip/Config.in
new file mode 100644
index 000000000..12a5941c5
--- /dev/null
+++ b/package/sstrip/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SSTRIP
+ bool "sstrip"
+ help
+ Small utility that removes a few bytes from an executable that
+ strip leaves behind.
+
+ http://www.muppetlabs.com/~breadbox/software/elfkickers.html
diff --git a/package/sstrip/sstrip.mk b/package/sstrip/sstrip.mk
new file mode 100644
index 000000000..2dc383d4e
--- /dev/null
+++ b/package/sstrip/sstrip.mk
@@ -0,0 +1,45 @@
+############################################################
+#
+# sstrip
+#
+############################################################
+
+SSTRIP_SITE = svn://dev.openwrt.org/openwrt/trunk/tools/sstrip
+SSTRIP_VERSION = 20154
+HOST_SSTRIP_BINARY = $(REAL_GNU_TARGET_NAME)-sstrip
+
+# This is a kludge to get host-ccache built before us or it fails
+ifeq ($(BR2_CCACHE),y)
+HOST_SSTRIP_DEPENDENCIES = host-ccache
+endif
+
+define SSTRIP_BUILD_CMDS
+ cd $(@D) ; \
+ $(TARGET_CC) $(TARGET_CFLAGS) -include endian.h -include byteswap.h \
+ -o sstrip src/sstrip.c
+endef
+
+define SSTRIP_INSTALL_TARGET_CMDS
+ $(INSTALL) -D $(@D)/sstrip $(TARGET_DIR)/usr/bin/sstrip
+endef
+
+define SSTRIP_UNINSTALL_TARGET_CMDS
+ rm -f $(TARGET_DIR)/usr/bin/sstrip
+endef
+
+define HOST_SSTRIP_BUILD_CMDS
+ cd $(@D) ; \
+ $(HOSTCC) $(HOST_CFLAGS) -include endian.h -include byteswap.h \
+ -o sstrip src/sstrip.c
+endef
+
+define HOST_SSTRIP_INSTALL_CMDS
+ $(INSTALL) -D $(@D)/sstrip $(HOST_DIR)/usr/bin/$(HOST_SSTRIP_BINARY)
+endef
+
+define HOST_SSTRIP_UNINSTALL_CMDS
+ rm -f $(HOST_DIR)/usr/bin/$(HOST_SSTRIP_BINARY)
+endef
+
+$(eval $(call GENTARGETS,package,sstrip))
+$(eval $(call GENTARGETS,package,sstrip,host))