add a config option to select the binary stripping method to use (between none, strip...
authorNicolas Thill <nico@openwrt.org>
Tue, 7 Jul 2009 02:34:58 +0000 (02:34 +0000)
committerNicolas Thill <nico@openwrt.org>
Tue, 7 Jul 2009 02:34:58 +0000 (02:34 +0000)
SVN-Revision: 16728

Config.in
rules.mk
toolchain/Config.in

index 4d75896..d7ce63e 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -88,7 +88,7 @@ config ALL
        bool "Select all packages by default"
        default n
 
        bool "Select all packages by default"
        default n
 
-comment "Features"
+comment "General build options"
 
 config CLEAN_IPKG
        bool
 
 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
 
        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
 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
 
                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
 comment "Kernel build options"
 
 config KERNEL_KALLSYMS
index 15d62bc..05609b9 100644 (file)
--- 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)
 
 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
 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 an entire directory
 ifneq ($(CONFIG_NO_STRIP),)
   RSTRIP:=:
+  STRIP:=:
 else
 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)" \
   RSTRIP:= \
     NM="$(TARGET_CROSS)nm" \
     STRIP="$(STRIP)" \
index 5b5ad37..3ff0801 100644 (file)
@@ -54,12 +54,10 @@ choice
        config USE_EGLIBC
                bool "Use eglibc"
                depends !avr32
        config USE_EGLIBC
                bool "Use eglibc"
                depends !avr32
-               select NO_STRIP
        
        config USE_GLIBC
                bool "Use glibc"
                depends !avr32
        
        config USE_GLIBC
                bool "Use glibc"
                depends !avr32
-               select NO_STRIP
        
        config USE_UCLIBC
                bool "Use uClibc"
        
        config USE_UCLIBC
                bool "Use uClibc"