From 7ac6cb804083a67d31a16b910dabfb76b30150a3 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Thu, 2 Jul 2015 11:05:27 -0700 Subject: [PATCH] Add LOCAL_NO_LIBGCC. This can be used to compile independent libraries without the need for libgcc.a. Change-Id: I924200995569d9a978ddbaa6ec321d80734f1374 (cherry picked from commit 75011b2003733edc483a45d61f5cb1a23f64bfbf) --- core/clear_vars.mk | 1 + core/executable_internal.mk | 4 ++++ core/shared_library_internal.mk | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 7b3f1c5fe..076fb78e9 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -141,6 +141,7 @@ LOCAL_PROTOC_OPTIMIZE_TYPE:= # lite(default),micro,nano,full,nanopb-c,nanopb-c-e LOCAL_PROTOC_FLAGS:= LOCAL_PROTO_JAVA_OUTPUT_PARAMS:= LOCAL_NO_CRT:= +LOCAL_NO_LIBGCC:= LOCAL_PROPRIETARY_MODULE:= LOCAL_OEM_MODULE:= LOCAL_ODM_MODULE:= diff --git a/core/executable_internal.mk b/core/executable_internal.mk index 2684d514c..cdaf293d1 100644 --- a/core/executable_internal.mk +++ b/core/executable_internal.mk @@ -37,7 +37,11 @@ endif my_target_global_ld_dirs := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_LD_DIRS) my_target_libprofile_rt := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBPROFILE_RT) my_target_libgcov := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBGCOV) +ifeq ($(LOCAL_NO_LIBGCC),true) +my_target_libgcc := +else my_target_libgcc := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBGCC) +endif my_target_libatomic := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBATOMIC) my_target_crtbegin_dynamic_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTBEGIN_DYNAMIC_O) my_target_crtbegin_static_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTBEGIN_STATIC_O) diff --git a/core/shared_library_internal.mk b/core/shared_library_internal.mk index 2487fbb02..e21cf5d25 100644 --- a/core/shared_library_internal.mk +++ b/core/shared_library_internal.mk @@ -42,7 +42,11 @@ include $(BUILD_SYSTEM)/dynamic_binary.mk my_target_global_ld_dirs := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_LD_DIRS) my_target_libprofile_rt := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBPROFILE_RT) my_target_libgcov := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBGCOV) +ifeq ($(LOCAL_NO_LIBGCC),true) +my_target_libgcc := +else my_target_libgcc := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBGCC) +endif my_target_libatomic := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBATOMIC) my_target_crtbegin_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTBEGIN_SO_O) my_target_crtend_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTEND_SO_O)