Split CONFIG_DEBUG from CONFIG_DEBUG_PESSIMIZE, and consolidate some Rules.mak

stuff along the way.
This commit is contained in:
Rob Landley 2006-05-09 22:08:56 +00:00
parent 2431830018
commit c503df5bdd
2 changed files with 31 additions and 13 deletions

View File

@ -288,17 +288,27 @@ endmenu
menu 'Debugging Options'
config CONFIG_DEBUG
bool "Build BusyBox with Debugging symbols"
bool "Build BusyBox with extra Debugging symbols"
default n
help
Say Y here if you wish to compile BusyBox with debugging symbols.
This will allow you to use a debugger to examine BusyBox internals
while applets are running. This increases the size of the binary
considerably and should only be used when doing development.
If you are doing development and want to debug BusyBox, answer Y.
Say Y here if you wish to examine BusyBox internals while applets are
running. This increases the size of the binary considerably, and
should only be used when doing development. If you are doing
development and want to debug BusyBox, answer Y.
Most people should answer N.
config CONFIG_DEBUG_PESSIMIZE
bool "Disable compiler optimizations."
default n
depends on CONFIG_DEBUG
help
The compiler's optimization of source code can eliminate and reorder
code, resulting in an executable that's hard to understand when
stepping through it with a debugger. This switches it off, resulting
in a much bigger executable that more closely matches the source
code.
choice
prompt "Additional debugging library"
default CONFIG_NO_DEBUG_LIB

View File

@ -75,13 +75,14 @@ CFLAGS_EXTRA=$(subst ",, $(strip $(EXTRA_CFLAGS_OPTIONS)))
# This must bind late because srcdir is reset for every source subdirectory.
INCS:=-I$(top_builddir)/include -I$(top_srcdir)/include
CFLAGS=$(INCS) -I$(srcdir)
CFLAGS=$(INCS) -I$(srcdir) -D_GNU_SOURCE
CFLAGS+=$(CHECKED_CFLAGS)
ARFLAGS=cru
# Warnings
CFLAGS+=-Wall -Wstrict-prototypes -Wshadow
CFLAGS += -Wall -Wstrict-prototypes -Wshadow
LDFLAGS += $(call check_ld,--warn-common,)
# gcc centric. Perhaps fiddle with findstring gcc,$(CC) for the rest
# get the CC MAJOR/MINOR version
@ -183,7 +184,7 @@ ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0)
OPTIMIZATION+=$(call check_gcc,-fno-branch-count-reg,)
endif # gcc-4.1 and beyond
endif
OPTIMIZATIONS:=$(OPTIMIZATION) $(call check_gcc,-fomit-frame-pointer,)
OPTIMIZATION+=$(call check_gcc,-fomit-frame-pointer,)
#
#--------------------------------------------------------
@ -207,14 +208,21 @@ else
LIBRARIES:=-lefence
endif
endif
# Debugging info
ifeq ($(strip $(CONFIG_DEBUG)),y)
CFLAGS +=-g -D_GNU_SOURCE
LDFLAGS += $(call check_ld,--warn-common,)
CFLAGS +=-g
else
CFLAGS+=$(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG
LDFLAGS += $(call check_ld,--warn-common,)
CFLAGS +=-DNDEBUG
LDFLAGS += $(call check_ld,--sort-common,)
endif
ifneq ($(strip $(CONFIG_DEBUG_PESSIMIZE)),y)
else
CFLAGS += $(OPTIMIZATION)
endif
# warn a bit more verbosely for non-release versions
ifneq ($(EXTRAVERSION),)
CHECKED_CFLAGS+=$(call check_gcc,-Wstrict-prototypes,)