diff options
Diffstat (limited to 'libs/utils')
-rw-r--r-- | libs/utils/Android.mk | 10 | ||||
-rw-r--r-- | libs/utils/String8.cpp | 9 |
2 files changed, 15 insertions, 4 deletions
diff --git a/libs/utils/Android.mk b/libs/utils/Android.mk index d0eedb4..afecdcb 100644 --- a/libs/utils/Android.mk +++ b/libs/utils/Android.mk @@ -104,3 +104,13 @@ endif # sim LOCAL_MODULE:= libutils include $(BUILD_SHARED_LIBRARY) +ifneq ($(TARGET_SIMULATOR),true) +ifeq ($(TARGET_OS),linux) +include $(CLEAR_VARS) +LOCAL_C_INCLUDES += external/zlib external/icu4c/common +LOCAL_LDLIBS := -lrt -ldl -lpthread +LOCAL_MODULE := libutils +LOCAL_SRC_FILES := $(commonSources) BackupData.cpp BackupHelpers.cpp +include $(BUILD_STATIC_LIBRARY) +endif +endif diff --git a/libs/utils/String8.cpp b/libs/utils/String8.cpp index 3a34838..636cd83 100644 --- a/libs/utils/String8.cpp +++ b/libs/utils/String8.cpp @@ -136,10 +136,11 @@ static inline char* getEmptyString() void initialize_string8() { -#ifdef LIBUTILS_NATIVE - // Bite me, Darwin! - gDarwinIsReallyAnnoying = gDarwinCantLoadAllObjects; -#endif + // HACK: This dummy dependency forces linking libutils Static.cpp, + // which is needed to initialize String8/String16 classes. + // These variables are named for Darwin, but are needed elsewhere too, + // including static linking on any platform. + gDarwinIsReallyAnnoying = gDarwinCantLoadAllObjects; SharedBuffer* buf = SharedBuffer::alloc(1); char* str = (char*)buf->data(); |