1## 2## 3## Build the library 4## 5## 6 7LOCAL_PATH:= $(call my-dir) 8 9# NOTE the following flags, 10# SQLITE_TEMP_STORE=3 causes all TEMP files to go into RAM. and thats the behavior we want 11# SQLITE_ENABLE_FTS3 enables usage of FTS3 - NOT FTS1 or 2. 12# SQLITE_DEFAULT_AUTOVACUUM=1 causes the databases to be subject to auto-vacuum 13common_sqlite_flags := -DHAVE_USLEEP=1 -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 -DSQLITE_THREADSAFE=1 -DNDEBUG=1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 -DSQLITE_DEFAULT_AUTOVACUUM=1 -DSQLITE_TEMP_STORE=3 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_BACKWARDS -DSQLITE_DEFAULT_FILE_FORMAT=4 14 15common_src_files := sqlite3.c 16 17# the device library 18include $(CLEAR_VARS) 19 20LOCAL_SRC_FILES := $(common_src_files) 21 22ifneq ($(TARGET_ARCH),arm) 23LOCAL_LDLIBS += -lpthread -ldl 24endif 25 26LOCAL_CFLAGS += $(common_sqlite_flags) -DUSE_PREAD64 27 28LOCAL_SHARED_LIBRARIES := libdl 29 30LOCAL_MODULE:= libsqlite 31LOCAL_C_INCLUDES += $(call include-path-for, system-core)/cutils 32LOCAL_SHARED_LIBRARIES += liblog \ 33 libicuuc \ 34 libicui18n \ 35 libutils 36 37# include android specific methods 38LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android 39 40## Choose only one of the allocator systems below 41# new sqlite 3.5.6 no longer support external allocator 42#LOCAL_SRC_FILES += mem_malloc.c 43#LOCAL_SRC_FILES += mem_mspace.c 44 45 46include $(BUILD_SHARED_LIBRARY) 47 48 49ifeq ($(WITH_HOST_DALVIK),true) 50 include $(CLEAR_VARS) 51 LOCAL_SRC_FILES := $(common_src_files) 52 LOCAL_LDLIBS += -lpthread -ldl 53 LOCAL_CFLAGS += $(common_sqlite_flags) 54 LOCAL_MODULE:= libsqlite 55 LOCAL_SHARED_LIBRARIES += libicuuc libicui18n 56 LOCAL_STATIC_LIBRARIES := liblog libutils libcutils 57 58 # include android specific methods 59 LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android 60 include $(BUILD_HOST_SHARED_LIBRARY) 61endif 62 63## 64## 65## Build the device command line tool sqlite3 66## 67## 68ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of sqlite3 69 70include $(CLEAR_VARS) 71 72LOCAL_SRC_FILES := shell.c 73 74LOCAL_C_INCLUDES := $(LOCAL_PATH)/../android $(call include-path-for, system-core)/cutils 75 76LOCAL_SHARED_LIBRARIES := libsqlite \ 77 libicuuc \ 78 libicui18n \ 79 libutils 80 81ifneq ($(TARGET_ARCH),arm) 82LOCAL_LDLIBS += -lpthread -ldl 83endif 84 85LOCAL_CFLAGS += $(common_sqlite_flags) -DUSE_PREAD64 86 87LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) 88 89LOCAL_MODULE_TAGS := debug 90 91LOCAL_MODULE := sqlite3 92 93include $(BUILD_EXECUTABLE) 94 95endif # !SDK_ONLY 96 97 98## 99## 100## Build the host command line tool sqlite3 101## 102## 103 104include $(CLEAR_VARS) 105 106LOCAL_SRC_FILES := $(common_src_files) shell.c 107 108LOCAL_CFLAGS += $(common_sqlite_flags) -DNO_ANDROID_FUNCS=1 109 110# sqlite3MemsysAlarm uses LOG() 111LOCAL_STATIC_LIBRARIES += liblog 112 113ifeq ($(strip $(USE_MINGW)),) 114LOCAL_LDLIBS += -lpthread 115ifneq ($(HOST_OS),freebsd) 116LOCAL_LDLIBS += -ldl 117endif 118endif 119 120LOCAL_MODULE := sqlite3 121 122include $(BUILD_HOST_EXECUTABLE) 123