summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-07-07 02:34:58 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-07-07 02:34:58 +0000
commit9a319f4c479163ac7114c72c1e8c25697cb65e5e (patch)
tree0a58ff22218d8e162d29c02d73fd2aac89d28844
parent768a38de0f1d2c703b619791417304a213c420c2 (diff)
add a config option to select the binary stripping method to use (between none, strip & sstrip)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16728 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--Config.in35
-rw-r--r--rules.mk9
-rw-r--r--toolchain/Config.in2
3 files changed, 38 insertions, 8 deletions
diff --git a/Config.in b/Config.in
index 4d75896d8d..d7ce63e462 100644
--- a/Config.in
+++ b/Config.in
@@ -88,7 +88,7 @@ config ALL
bool "Select all packages by default"
default n
-comment "Features"
+comment "General build options"
config CLEAN_IPKG
bool
@@ -97,6 +97,35 @@ config CLEAN_IPKG
help
This removes all ipkg data from the target directory before building the root fs
+choice
+ prompt "Binary stripping method"
+ default USE_STRIP if USE_GLIBC || USE_EGLIBC
+ default USE_SSTRIP
+ help
+ Select the binary stripping method you wish to use.
+
+ config NO_STRIP
+ bool "none"
+ help
+ This will install unstripped binaries (useful for native compiling/debugging)
+
+ config USE_STRIP
+ bool "strip"
+ depends !DEBUG
+ help
+ This will install binaries stripped using strip from binutils
+
+
+ config USE_SSTRIP
+ bool "sstrip"
+ depends !DEBUG
+ depends !USE_GLIBC
+ depends !USE_EGLIBC
+ help
+ This will install binaries stripped using sstrip
+
+endchoice
+
comment "Package build options"
config DEBUG
@@ -113,10 +142,6 @@ config DEBUG_DIR
This will install all compiled package binaries into build_dir/target-*/debug-*/,
useful for cross-debugging via gdb/gdbserver
-config NO_STRIP
- bool "Install unstripped binary on the target (useful for native compiling/debugging)"
- default n
-
comment "Kernel build options"
config KERNEL_KALLSYMS
diff --git a/rules.mk b/rules.mk
index 15d62bc269..05609b9ac0 100644
--- a/rules.mk
+++ b/rules.mk
@@ -104,7 +104,6 @@ HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib
TARGET_CC:=$(TARGET_CROSS)gcc
TARGET_CXX:=$(if $(CONFIG_INSTALL_LIBSTDCPP),$(TARGET_CROSS)g++,no)
-STRIP:=$(STAGING_DIR_HOST)/bin/sstrip
PATCH:=$(SCRIPT_DIR)/patch-kernel.sh
SED:=$(STAGING_DIR_HOST)/bin/sed -i -e
CP:=cp -fpR
@@ -137,7 +136,15 @@ TARGET_CONFIGURE_OPTS:= \
# strip an entire directory
ifneq ($(CONFIG_NO_STRIP),)
RSTRIP:=:
+ STRIP:=:
else
+ ifneq ($(CONFIG_USE_STRIP),)
+ STRIP:=$(TARGET_CROSS)strip
+ else
+ ifneq ($(CONFIG_USE_SSTRIP),)
+ STRIP:=$(STAGING_DIR_HOST)/bin/sstrip
+ endif
+ endif
RSTRIP:= \
NM="$(TARGET_CROSS)nm" \
STRIP="$(STRIP)" \
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 5b5ad37a1b..3ff0801369 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -54,12 +54,10 @@ choice
config USE_EGLIBC
bool "Use eglibc"
depends !avr32
- select NO_STRIP
config USE_GLIBC
bool "Use glibc"
depends !avr32
- select NO_STRIP
config USE_UCLIBC
bool "Use uClibc"