Android.mk revision ddfa5a7ff6afc7f4e2c7d26d29527e375e36da11
1##
2##
3## Build the library
4##
5##
6
7LOCAL_PATH:= $(call my-dir)
8
9common_src_files := sqlite3.c
10
11# NOTE the following flags,
12#   SQLITE_TEMP_STORE=3 causes all TEMP files to go into RAM. and thats the behavior we want
13#   SQLITE_ENABLE_FTS3   enables usage of FTS3 - NOT FTS1 or 2.
14#   SQLITE_DEFAULT_AUTOVACUUM=1  causes the databases to be subject to auto-vacuum
15sqlite_cflags :=  -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
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 += $(sqlite_cflags)
27
28ifneq ($(TARGET_SIMULATOR),true)
29LOCAL_SHARED_LIBRARIES := libdl
30endif
31
32LOCAL_MODULE:= libsqlite
33LOCAL_C_INCLUDES += $(call include-path-for, system-core)/cutils
34LOCAL_SHARED_LIBRARIES += liblog \
35            libicuuc \
36            libicui18n \
37            libutils
38
39# include android specific methods
40LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
41
42## Choose only one of the allocator systems below
43# new sqlite 3.5.6 no longer support external allocator 
44#LOCAL_SRC_FILES += mem_malloc.c
45#LOCAL_SRC_FILES += mem_mspace.c
46
47
48include $(BUILD_SHARED_LIBRARY)
49
50
51ifeq ($(WITH_HOST_DALVIK),true)
52    include $(CLEAR_VARS)
53    LOCAL_SRC_FILES := $(common_src_files)
54    LOCAL_LDLIBS += -lpthread -ldl
55    LOCAL_CFLAGS += $(sqlite_cflags)
56    LOCAL_MODULE:= libsqlite
57    LOCAL_SHARED_LIBRARIES += libicuuc libicui18n
58    LOCAL_STATIC_LIBRARIES := liblog libutils libcutils
59
60    # include android specific methods
61    LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
62    include $(BUILD_HOST_SHARED_LIBRARY)
63endif
64
65##
66##
67## Build the device command line tool sqlite3
68##
69##
70ifneq ($(SDK_ONLY),true)  # SDK doesn't need device version of sqlite3
71
72include $(CLEAR_VARS)
73
74LOCAL_SRC_FILES := shell.c
75
76LOCAL_SHARED_LIBRARIES := libsqlite
77
78LOCAL_C_INCLUDES := $(LOCAL_PATH)/../android
79
80
81ifneq ($(TARGET_ARCH),arm)
82LOCAL_LDLIBS += -lpthread -ldl
83endif
84
85LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
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 += -DHAVE_USLEEP=1 -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 -DSQLITE_THREADSAFE=1 -DNDEBUG=1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 -DNO_ANDROID_FUNCS=1 -DSQLITE_TEMP_STORE=3 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_BACKWARDS
109
110LOCAL_C_INCLUDES := $(LOCAL_PATH)/../android
111
112# sqlite3MemsysAlarm uses LOG()
113LOCAL_STATIC_LIBRARIES += liblog
114
115
116ifeq ($(TARGET_PRODUCT),sdk)
117have_readline :=
118have_history :=
119else
120have_readline := $(wildcard /usr/include/readline/readline.h)
121have_history := $(wildcard /usr/lib/libhistory*)
122endif
123
124ifneq ($(strip $(have_readline)),)
125LOCAL_CFLAGS += -DHAVE_READLINE=1
126endif
127
128ifeq ($(strip $(USE_MINGW)),)
129LOCAL_LDLIBS += -lpthread
130ifneq ($(HOST_OS),freebsd)
131LOCAL_LDLIBS += -ldl
132endif
133endif
134
135ifneq ($(strip $(have_readline)),)
136LOCAL_LDLIBS += -lreadline -lncurses
137endif
138ifneq ($(strip $(have_history)),)
139LOCAL_LDLIBS += -lhistory
140endif
141
142LOCAL_MODULE := sqlite3
143
144include $(BUILD_HOST_EXECUTABLE)
145
146