154 lines
3.6 KiB
Makefile
154 lines
3.6 KiB
Makefile
##
|
|
##
|
|
## Build the library
|
|
##
|
|
##
|
|
|
|
LOCAL_PATH:= $(call my-dir)
|
|
|
|
# NOTE the following flags,
|
|
# SQLITE_TEMP_STORE=3 causes all TEMP files to go into RAM. and thats the behavior we want
|
|
# SQLITE_ENABLE_FTS3 enables usage of FTS3 - NOT FTS1 or 2.
|
|
# SQLITE_DEFAULT_AUTOVACUUM=1 causes the databases to be subject to auto-vacuum
|
|
minimal_sqlite_flags := \
|
|
-DNDEBUG=1 \
|
|
-DHAVE_USLEEP=1 \
|
|
-DSQLITE_PRINTF_PRECISION_LIMIT=100000000 \
|
|
-DSQLITE_HAVE_ISNAN \
|
|
-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
|
|
-DSQLITE_THREADSAFE=2 \
|
|
-DSQLITE_TEMP_STORE=3 \
|
|
-DSQLITE_POWERSAFE_OVERWRITE=1 \
|
|
-DSQLITE_DEFAULT_FILE_FORMAT=4 \
|
|
-DSQLITE_DEFAULT_AUTOVACUUM=1 \
|
|
-DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \
|
|
-DSQLITE_ENABLE_FTS3 \
|
|
-DSQLITE_ENABLE_FTS3_BACKWARDS \
|
|
-DSQLITE_ENABLE_FTS4 \
|
|
-DSQLITE_OMIT_BUILTIN_TEST \
|
|
-DSQLITE_OMIT_COMPILEOPTION_DIAGS \
|
|
-DSQLITE_OMIT_LOAD_EXTENSION \
|
|
-DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
|
|
|
|
device_sqlite_flags := $(minimal_sqlite_flags) \
|
|
-DSQLITE_ENABLE_ICU \
|
|
-DUSE_PREAD64 \
|
|
-Dfdatasync=fdatasync \
|
|
-DHAVE_MALLOC_H=1 \
|
|
-DHAVE_MALLOC_USABLE_SIZE
|
|
|
|
common_src_files := sqlite3.c
|
|
|
|
# the device library
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := $(common_src_files)
|
|
|
|
LOCAL_CFLAGS += $(device_sqlite_flags)
|
|
|
|
LOCAL_SHARED_LIBRARIES := libdl
|
|
|
|
LOCAL_MODULE:= libsqlite
|
|
|
|
LOCAL_C_INCLUDES += $(call include-path-for, system-core)/cutils
|
|
|
|
LOCAL_SHARED_LIBRARIES += liblog \
|
|
libicuuc \
|
|
libicui18n \
|
|
libutils \
|
|
liblog
|
|
|
|
# include android specific methods
|
|
LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(common_src_files)
|
|
LOCAL_LDLIBS += -lpthread -ldl
|
|
LOCAL_CFLAGS += $(minimal_sqlite_flags)
|
|
LOCAL_MODULE:= libsqlite
|
|
LOCAL_SHARED_LIBRARIES += libicuuc-host libicui18n-host
|
|
LOCAL_STATIC_LIBRARIES := liblog libutils libcutils
|
|
|
|
# include android specific methods
|
|
LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
|
|
include $(BUILD_HOST_SHARED_LIBRARY)
|
|
|
|
##
|
|
##
|
|
## Build the device command line tool sqlite3
|
|
##
|
|
##
|
|
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of sqlite3
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := shell.c
|
|
|
|
LOCAL_C_INCLUDES := \
|
|
$(LOCAL_PATH)/../android \
|
|
$(call include-path-for, system-core)/cutils
|
|
|
|
LOCAL_SHARED_LIBRARIES := libsqlite \
|
|
libicuuc \
|
|
libicui18n \
|
|
liblog \
|
|
libutils
|
|
|
|
LOCAL_STATIC_LIBRARIES := libicuandroid_utils
|
|
|
|
LOCAL_CFLAGS += $(device_sqlite_flags)
|
|
|
|
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
|
|
|
|
LOCAL_MODULE_TAGS := debug
|
|
|
|
LOCAL_MODULE := sqlite3
|
|
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
endif # !SDK_ONLY
|
|
|
|
|
|
##
|
|
##
|
|
## Build the host command line tool sqlite3
|
|
##
|
|
##
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := $(common_src_files) shell.c
|
|
LOCAL_CFLAGS += $(minimal_sqlite_flags) \
|
|
-DNO_ANDROID_FUNCS=1
|
|
|
|
# sqlite3MemsysAlarm uses LOG()
|
|
LOCAL_STATIC_LIBRARIES += liblog
|
|
|
|
LOCAL_LDLIBS_darwin += -lpthread -ldl
|
|
LOCAL_LDLIBS_linux += -lpthread -ldl
|
|
|
|
LOCAL_MODULE_HOST_OS := darwin linux windows
|
|
|
|
LOCAL_MODULE := sqlite3
|
|
|
|
include $(BUILD_HOST_EXECUTABLE)
|
|
|
|
# Build a minimal version of sqlite3 without any android specific
|
|
# features against the NDK. This is used by libcore's JDBC related
|
|
# unit tests.
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(common_src_files)
|
|
LOCAL_CFLAGS += $(minimal_sqlite_flags)
|
|
LOCAL_MODULE:= libsqlite_static_minimal
|
|
LOCAL_SDK_VERSION := 23
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
# Same as libsqlite_static_minimal, except that this is for the host.
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(common_src_files)
|
|
LOCAL_CFLAGS += $(minimal_sqlite_flags)
|
|
LOCAL_MODULE:= libsqlite_static_minimal
|
|
include $(BUILD_HOST_STATIC_LIBRARY)
|