Android.mk revision 90f23688416d9f4e1e5d0128dca5f26404b6898e
17790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
27790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
37790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project## Build the library
47790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
57790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
67790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
77790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_PATH:= $(call my-dir)
87790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
97790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectcommon_src_files := sqlite3.c
107790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1190f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson# NOTE the following flags,
1290f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson#   SQLITE_TEMP_STORE=3 causes all TEMP files to go into RAM. and thats the behavior we want
1390f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson#   SQLITE_ENABLE_FTS3   enables usage of FTS3 - NOT FTS1 or 2.
1490f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson#   SQLITE_DEFAULT_AUTOVACUUM=1  causes the databases to be subject to auto-vacuum
1590f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilsonsqlite_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
1690f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson
177790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project# the device library
187790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(CLEAR_VARS)
197790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
207790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SRC_FILES := $(common_src_files)
217790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
227790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(TARGET_ARCH),arm)
237790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_LDLIBS += -lpthread -ldl
247790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
257790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
2690f23688416d9f4e1e5d0128dca5f26404b6898eJesse WilsonLOCAL_CFLAGS += $(sqlite_cflags)
277790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
287790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(TARGET_SIMULATOR),true)
297790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SHARED_LIBRARIES := libdl
307790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
317790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
327790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE:= libsqlite
337790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_C_INCLUDES += $(call include-path-for, system-core)/cutils
347790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SHARED_LIBRARIES += liblog \
357790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project            libicuuc \
36e919af569c13d7445daf20cb06867e186afba92aDaisuke Miyakawa            libicui18n \
37e919af569c13d7445daf20cb06867e186afba92aDaisuke Miyakawa            libutils
387790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
397790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project# include android specific methods
407790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
417790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
427790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project## Choose only one of the allocator systems below
437790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project# new sqlite 3.5.6 no longer support external allocator 
447790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project#LOCAL_SRC_FILES += mem_malloc.c
457790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project#LOCAL_SRC_FILES += mem_mspace.c
467790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
477790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
487790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
497790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
5090f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson
5190f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilsonifeq ($(WITH_HOST_DALVIK),true)
5290f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    include $(CLEAR_VARS)
5390f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_SRC_FILES := $(common_src_files)
5490f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_LDLIBS += -lpthread -ldl
5590f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_CFLAGS += $(sqlite_cflags)
5690f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_MODULE:= libsqlite
5790f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_SHARED_LIBRARIES += libicuuc libicui18n
5890f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_STATIC_LIBRARIES := liblog libutils libcutils
5990f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson
6090f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    # include android specific methods
6190f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
6290f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    include $(BUILD_HOST_SHARED_LIBRARY)
6390f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilsonendif
6490f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson
657790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
667790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
677790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project## Build the device command line tool sqlite3
687790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
697790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
707790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(SDK_ONLY),true)  # SDK doesn't need device version of sqlite3
717790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
727790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(CLEAR_VARS)
737790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
747790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SRC_FILES := shell.c
757790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
767790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SHARED_LIBRARIES := libsqlite
777790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
787790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_C_INCLUDES := $(LOCAL_PATH)/../android
797790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
807790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
817790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(TARGET_ARCH),arm)
827790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_LDLIBS += -lpthread -ldl
837790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
847790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
857790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
867790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
877790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
887790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
89b7743da3573c9fa0a726181d8f4cd7190908f27dThe Android Open Source ProjectLOCAL_MODULE_TAGS := debug
907790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
917790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE := sqlite3
927790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
937790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(BUILD_EXECUTABLE)
947790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
957790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif # !SDK_ONLY
967790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
977790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
987790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
997790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
1007790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project## Build the host command line tool sqlite3
1017790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
1027790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
1037790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1047790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(CLEAR_VARS)
1057790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1067790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SRC_FILES := $(common_src_files) shell.c
1077790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1082ea3148cdef0350e4b7283b54dc47138e64ce418Vasu NoriLOCAL_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
1097790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1107790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_C_INCLUDES := $(LOCAL_PATH)/../android
1117790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1127790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project# sqlite3MemsysAlarm uses LOG()
1137790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_STATIC_LIBRARIES += liblog
1147790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1157790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1167790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projecthave_readline := $(wildcard /usr/include/readline/readline.h)
1177790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projecthave_history := $(wildcard /usr/lib/libhistory*)
1187790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(strip $(have_readline)),)
1197790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_CFLAGS += -DHAVE_READLINE=1
1207790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
1217790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
12271f6135e246c60c5ded00d36a0aa978521292a5eRaphaelifeq ($(strip $(USE_MINGW)),)
123e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey TarasovLOCAL_LDLIBS += -lpthread
124e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey Tarasovifneq ($(HOST_OS),freebsd)
125e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey TarasovLOCAL_LDLIBS += -ldl
126e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey Tarasovendif
12771f6135e246c60c5ded00d36a0aa978521292a5eRaphaelendif
1287790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1297790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(strip $(have_readline)),)
130c548c5973ee191715d118a442c496982ca2ff484Jay Freeman (saurik)LOCAL_LDLIBS += -lreadline -lncurses
1317790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
1327790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(strip $(have_history)),)
1337790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_LDLIBS += -lhistory
1347790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
1357790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1367790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE := sqlite3
1377790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1387790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(BUILD_HOST_EXECUTABLE)
1397790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
140