commit d591cdb0df2b1d4689579bc10de25af4df550e55 Author: Alexander Færøy ahf@torproject.org Date: Sun Oct 29 22:56:52 2017 -0400
Don't strip binaries when doing a debug build.
This patch allows the developer to build the external binaries with DEBUG=1 which ensures that the final binaries are not stripped from any debug symbols.
This makes the binaries useful together with Google's simpleperf profiler for Android. --- external/Makefile | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/external/Makefile b/external/Makefile index ea62aa95..3d05250b 100644 --- a/external/Makefile +++ b/external/Makefile @@ -11,6 +11,11 @@ export ac_cv_func_setpgrp_void=yes
EXTERNAL_ROOT := $(shell pwd)
+DEBUG ?= 0 + +# No-op command. +NOOP = true + # Android now has 64-bit and 32-bit versions of the NDK for GNU/Linux. We # assume that the build platform uses the appropriate version, otherwise the # user building this will have to manually set NDK_PROCESSOR or NDK_TOOLCHAIN. @@ -71,8 +76,12 @@ CPP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-cpp --sysroot=$(NDK_SYSROOT) LD := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ld AR := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ar RANLIB := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ranlib -STRIP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip \ - --strip-unneeded -R .note -R .comment --strip-debug + +ifeq ($(DEBUG), 1) + STRIP := $(NOOP) +else + STRIP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip --strip-unneeded -R .note -R .comment --strip-debug +endif
CFLAGS = -DANDROID $(TARGET_CFLAGS) $(PIEFLAGS)