From 373e5f5e8dec0e8eae528eee0fd64608af456c9e Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sat, 13 Sep 2008 08:31:15 +0000
Subject: [PATCH] add new option for enabling debugging symbols

SVN-Revision: 12591
---
 Config.in | 16 ++++++++++++----
 rules.mk  |  4 ++--
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/Config.in b/Config.in
index b9716e8b2c1..f1b72caa693 100644
--- a/Config.in
+++ b/Config.in
@@ -106,6 +106,18 @@ menuconfig BUILDOPTS
 	bool
 	prompt "Build Options" if DEVEL
 
+config DEBUG
+	bool
+	prompt "Enable debugging" if BUILDOPTS
+	select NO_STRIP
+	default n
+	help
+		Disables stripping and adds -g3 to the CFLAGS
+
+config NO_STRIP
+	bool "Do not strip generated binaries (enable for native compiling)" if DEVEL
+	default n
+
 config CLEAN_IPKG
 	bool
 	prompt "Clean all ipkg files before building the rootfs" if BUILDOPTS
@@ -142,10 +154,6 @@ config EXTERNAL_KERNEL_TREE
 	prompt "Use external kernel tree" if DEVEL
 	default ""
 
-config BUILD_DEVELOPER_SYSTEM
-	bool "build a non-stripped system, so gcc can be run natively on target" if DEVEL
-	default n
-
 source "toolchain/Config.in"
 menuconfig BUILDSYSTEM_SETTINGS
     bool "Buildsystem settings" 
diff --git a/rules.mk b/rules.mk
index 22144334067..c8180dc1b30 100644
--- a/rules.mk
+++ b/rules.mk
@@ -63,7 +63,7 @@ TARGET_DIR:=$(BUILD_DIR)/root-$(BOARD)
 IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/ipkg
 
 TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(STAGING_DIR_HOST)/bin:$(STAGING_DIR)/host/bin:$(PATH)
-TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)
+TARGET_CFLAGS:=$(TARGET_OPTIMIZATION) $(if $(CONFIG_DEBUG),-g3)
 TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
 TARGET_LDFLAGS:=-L$(TOOLCHAIN_DIR)/lib -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
 
@@ -129,7 +129,7 @@ TARGET_CONFIGURE_OPTS:= \
   SIZE=$(TARGET_CROSS)size
 
 # strip an entire directory
-ifneq ($(CONFIG_BUILD_DEVELOPER_SYSTEM),)
+ifneq ($(CONFIG_NO_STRIP),)
   RSTRIP:=:
 else
   RSTRIP:= \
-- 
GitLab