diff options
Diffstat (limited to 'libc/Android.mk')
-rw-r--r-- | libc/Android.mk | 78 |
1 files changed, 60 insertions, 18 deletions
diff --git a/libc/Android.mk b/libc/Android.mk index 078be5942..765f4d2a0 100644 --- a/libc/Android.mk +++ b/libc/Android.mk @@ -107,8 +107,9 @@ libc_bionic_src_files := \ bionic/clearenv.cpp \ bionic/clock.cpp \ bionic/clone.cpp \ - bionic/cmsg_nxthdr.cpp \ + bionic/__cmsg_nxthdr.cpp \ bionic/connect.cpp \ + bionic/ctype.cpp \ bionic/__cxa_guard.cpp \ bionic/__cxa_pure_virtual.cpp \ bionic/dirent.cpp \ @@ -205,10 +206,16 @@ libc_bionic_src_files := \ bionic/socket.cpp \ bionic/stat.cpp \ bionic/statvfs.cpp \ + bionic/strcoll_l.cpp \ bionic/strerror.cpp \ bionic/strerror_r.cpp \ + bionic/strftime_l.cpp \ bionic/strsignal.cpp \ bionic/strtold.cpp \ + bionic/strtold_l.cpp \ + bionic/strtoll_l.cpp \ + bionic/strtoull_l.cpp \ + bionic/strxfrm_l.cpp \ bionic/stubs.cpp \ bionic/symlink.cpp \ bionic/sysconf.cpp \ @@ -491,6 +498,12 @@ libc_common_cflags := \ -D_LIBC=1 \ -Wall -Wextra -Wunused \ +ifneq ($(TARGET_USES_LOGD),false) +libc_common_cflags += -DTARGET_USES_LOGD +endif + +use_clang := false + # Try to catch typical 32-bit assumptions that break with 64-bit pointers. libc_common_cflags += \ -Werror=pointer-to-int-cast \ @@ -502,12 +515,13 @@ ifeq ($(strip $(DEBUG_BIONIC_LIBC)),true) libc_common_cflags += -DDEBUG endif -ifeq ($(MALLOC_IMPL),jemalloc) - libc_common_cflags += -DUSE_JEMALLOC - libc_malloc_src := bionic/jemalloc_wrapper.cpp -else +ifeq ($(MALLOC_IMPL),dlmalloc) libc_common_cflags += -DUSE_DLMALLOC libc_malloc_src := bionic/dlmalloc.c +else + libc_common_cflags += -DUSE_JEMALLOC + libc_malloc_src := bionic/jemalloc_wrapper.cpp + libc_common_c_includes += external/jemalloc/include endif # To customize dlmalloc's alignment, set BOARD_MALLOC_ALIGNMENT in @@ -534,14 +548,10 @@ libc_common_cppflags := \ # Define some common includes # ======================================================== -libc_common_c_includes := \ +libc_common_c_includes += \ $(LOCAL_PATH)/stdlib \ $(LOCAL_PATH)/stdio \ -ifeq ($(MALLOC_IMPL),jemalloc) - libc_common_c_includes += external/jemalloc/include -endif - # ======================================================== # Add in the arch-specific flags. # Must be called with $(eval). @@ -571,6 +581,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_stack_protector +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -608,6 +619,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) $(LOCAL_PATH)/tzcode/ LOCAL_MODULE := libc_tzcode +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -642,6 +654,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_dns +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -670,6 +683,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_freebsd +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -699,6 +713,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_netbsd +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -729,6 +744,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_openbsd +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -759,6 +775,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_gdtoa +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -780,13 +797,10 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_bionic +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := -ifneq ($(TARGET_USES_LOGD),false) -LOCAL_CFLAGS += -DTARGET_USES_LOGD -endif - $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) $(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_bionic_src_files)) include $(BUILD_STATIC_LIBRARY) @@ -803,6 +817,7 @@ ifdef TARGET_2ND_ARCH LOCAL_SRC_FILES_$(TARGET_2ND_ARCH) := $(call all-S-files-under,arch-$(TARGET_2ND_ARCH)/syscalls) endif LOCAL_MODULE := libc_syscalls +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -810,6 +825,24 @@ include $(BUILD_STATIC_LIBRARY) # ======================================================== +# libc_aeabi.a +# This is an LP32 ARM-only library that needs to be built with -fno-builtin +# to avoid infinite recursion. For the other architectures we just build an +# empty library to keep this makefile simple. +# ======================================================== + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES_arm := arch-arm/bionic/__aeabi.c +LOCAL_MODULE := libc_aeabi +LOCAL_CLANG := $(use_clang) +LOCAL_CFLAGS := $(libc_common_cflags) -fno-builtin +LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_SYSTEM_SHARED_LIBRARIES := + +include $(BUILD_STATIC_LIBRARY) + +# ======================================================== # libc_common.a # ======================================================== @@ -821,6 +854,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_common +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_WHOLE_STATIC_LIBRARIES := \ libc_bionic \ @@ -834,7 +868,9 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ libc_syscalls \ libc_tzcode \ -ifeq ($(MALLOC_IMPL),jemalloc) +LOCAL_WHOLE_STATIC_LIBRARIES_arm := libc_aeabi + +ifneq ($(MALLOC_IMPL),dlmalloc) LOCAL_WHOLE_STATIC_LIBRARIES += libjemalloc endif @@ -874,6 +910,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_MODULE := libc_nomalloc +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_WHOLE_STATIC_LIBRARIES := libc_common LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -896,6 +933,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_malloc +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) include $(BUILD_STATIC_LIBRARY) @@ -918,6 +956,7 @@ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_WHOLE_STATIC_LIBRARIES := libc_common LOCAL_SYSTEM_SHARED_LIBRARIES := @@ -946,6 +985,7 @@ LOCAL_SRC_FILES := \ bionic/NetdClient.cpp \ LOCAL_MODULE := libc +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_REQUIRED_MODULES := tzdata @@ -1011,14 +1051,15 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_SRC_FILES := \ bionic/debug_mapinfo.cpp \ bionic/debug_stacktrace.cpp \ + bionic/libc_logging.cpp \ bionic/malloc_debug_leak.cpp \ bionic/malloc_debug_check.cpp \ LOCAL_MODULE := libc_malloc_debug_leak +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SHARED_LIBRARIES := libc libdl -LOCAL_WHOLE_STATIC_LIBRARIES := libc_common LOCAL_SYSTEM_SHARED_LIBRARIES := LOCAL_ALLOW_UNDEFINED_SYMBOLS := true @@ -1044,13 +1085,14 @@ LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_SRC_FILES := \ - bionic/malloc_debug_qemu.cpp + bionic/libc_logging.cpp \ + bionic/malloc_debug_qemu.cpp \ LOCAL_MODULE := libc_malloc_debug_qemu +LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SHARED_LIBRARIES := libc libdl -LOCAL_WHOLE_STATIC_LIBRARIES := libc_common LOCAL_SYSTEM_SHARED_LIBRARIES := # Don't install on release build |