Android.mk 3.01 KB
Newer Older
1 2 3 4 5 6 7 8
##
##
## Build the library
##
##

LOCAL_PATH:= $(call my-dir)

9 10 11 12
# 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
Jeff Brown's avatar
Jeff Brown committed
13 14 15
common_sqlite_flags := \
	-DNDEBUG=1 \
	-DHAVE_USLEEP=1 \
16
	-DSQLITE_HAVE_ISNAN \
Jeff Brown's avatar
Jeff Brown committed
17
	-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
18
	-DSQLITE_THREADSAFE=2 \
Jeff Brown's avatar
Jeff Brown committed
19
	-DSQLITE_TEMP_STORE=3 \
20
	-DSQLITE_POWERSAFE_OVERWRITE=1 \
21 22 23
	-DSQLITE_DEFAULT_FILE_FORMAT=4 \
	-DSQLITE_DEFAULT_AUTOVACUUM=1 \
	-DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \
Jeff Brown's avatar
Jeff Brown committed
24 25
	-DSQLITE_ENABLE_FTS3 \
	-DSQLITE_ENABLE_FTS3_BACKWARDS \
26 27 28
	-DSQLITE_ENABLE_FTS4 \
	-DSQLITE_OMIT_BUILTIN_TEST \
	-DSQLITE_OMIT_COMPILEOPTION_DIAGS \
29
	-DSQLITE_OMIT_LOAD_EXTENSION \
30 31
	-DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \
	-DHAVE_MALLOC_USABLE_SIZE
32

33 34 35 36 37 38 39 40 41 42 43
common_src_files := sqlite3.c

# the device library
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(common_src_files)

ifneq ($(TARGET_ARCH),arm)
LOCAL_LDLIBS += -lpthread -ldl
endif

44
LOCAL_CFLAGS += $(common_sqlite_flags) -DUSE_PREAD64 -Dfdatasync=fdatasync
45 46 47 48 49 50 51

LOCAL_SHARED_LIBRARIES := libdl

LOCAL_MODULE:= libsqlite
LOCAL_C_INCLUDES += $(call include-path-for, system-core)/cutils
LOCAL_SHARED_LIBRARIES += liblog \
            libicuuc \
52
            libicui18n \
Ying Wang's avatar
Ying Wang committed
53 54
            libutils \
            liblog
55 56 57 58 59 60 61

# include android specific methods
LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android


include $(BUILD_SHARED_LIBRARY)

62 63 64 65 66

ifeq ($(WITH_HOST_DALVIK),true)
    include $(CLEAR_VARS)
    LOCAL_SRC_FILES := $(common_src_files)
    LOCAL_LDLIBS += -lpthread -ldl
67
    LOCAL_CFLAGS += $(common_sqlite_flags)
68
    LOCAL_MODULE:= libsqlite
69
    LOCAL_SHARED_LIBRARIES += libicuuc-host libicui18n-host
70 71 72 73 74 75 76
    LOCAL_STATIC_LIBRARIES := liblog libutils libcutils

    # include android specific methods
    LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
    include $(BUILD_HOST_SHARED_LIBRARY)
endif

77 78 79 80 81 82 83 84 85 86 87
##
##
## 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

88
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../android $(call include-path-for, system-core)/cutils
89

90 91 92 93
LOCAL_SHARED_LIBRARIES := libsqlite \
            libicuuc \
            libicui18n \
            libutils
94 95 96 97 98

ifneq ($(TARGET_ARCH),arm)
LOCAL_LDLIBS += -lpthread -ldl
endif

Kenny Root's avatar
Kenny Root committed
99
LOCAL_CFLAGS += $(common_sqlite_flags) -DUSE_PREAD64
100 101 102

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)

103
LOCAL_MODULE_TAGS := debug
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

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

122
LOCAL_CFLAGS += $(common_sqlite_flags) -DNO_ANDROID_FUNCS=1
123 124 125 126

# sqlite3MemsysAlarm uses LOG()
LOCAL_STATIC_LIBRARIES += liblog

127
ifeq ($(strip $(USE_MINGW)),)
128 129 130 131
LOCAL_LDLIBS += -lpthread
ifneq ($(HOST_OS),freebsd)
LOCAL_LDLIBS += -ldl
endif
132
endif
133 134 135 136

LOCAL_MODULE := sqlite3

include $(BUILD_HOST_EXECUTABLE)