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
990f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson# NOTE the following flags,
1090f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson#   SQLITE_TEMP_STORE=3 causes all TEMP files to go into RAM. and thats the behavior we want
1190f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson#   SQLITE_ENABLE_FTS3   enables usage of FTS3 - NOT FTS1 or 2.
1290f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson#   SQLITE_DEFAULT_AUTOVACUUM=1  causes the databases to be subject to auto-vacuum
1390ed05d921d6ed7f12012d9786d53f57fafee51aJeff Browncommon_sqlite_flags := \
1490ed05d921d6ed7f12012d9786d53f57fafee51aJeff Brown	-DNDEBUG=1 \
1590ed05d921d6ed7f12012d9786d53f57fafee51aJeff Brown	-DHAVE_USLEEP=1 \
169e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_HAVE_ISNAN \
1790ed05d921d6ed7f12012d9786d53f57fafee51aJeff Brown	-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
189e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_THREADSAFE=2 \
1990ed05d921d6ed7f12012d9786d53f57fafee51aJeff Brown	-DSQLITE_TEMP_STORE=3 \
202d758ba484351cd86f3f551c3a788255d2e8d9d0Jeff Brown	-DSQLITE_POWERSAFE_OVERWRITE=1 \
219e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_DEFAULT_FILE_FORMAT=4 \
229e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_DEFAULT_AUTOVACUUM=1 \
239e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \
2490ed05d921d6ed7f12012d9786d53f57fafee51aJeff Brown	-DSQLITE_ENABLE_FTS3 \
2590ed05d921d6ed7f12012d9786d53f57fafee51aJeff Brown	-DSQLITE_ENABLE_FTS3_BACKWARDS \
269e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_ENABLE_FTS4 \
279e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_OMIT_BUILTIN_TEST \
289e7798db1bf08daf62d97021a5cf1609ee3b81d3Jeff Brown	-DSQLITE_OMIT_COMPILEOPTION_DIAGS \
29f7a94ad459bc09a49a19c6b03c32d28843d5e6d7Geremy Condra	-DSQLITE_OMIT_LOAD_EXTENSION \
30f7a94ad459bc09a49a19c6b03c32d28843d5e6d7Geremy Condra	-DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
311c9f731c5a080b9b26a36b58da954b793ad3cd3bVasu Nori
327790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectcommon_src_files := sqlite3.c
337790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
347790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project# the device library
357790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(CLEAR_VARS)
367790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
377790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SRC_FILES := $(common_src_files)
387790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
397790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(TARGET_ARCH),arm)
407790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_LDLIBS += -lpthread -ldl
417790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
427790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
433ab5bec554013c655c8d7439b708ba1380c8eef8Jeff BrownLOCAL_CFLAGS += $(common_sqlite_flags) -DUSE_PREAD64 -Dfdatasync=fdatasync
447790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
457790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SHARED_LIBRARIES := libdl
467790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
477790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE:= libsqlite
487790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_C_INCLUDES += $(call include-path-for, system-core)/cutils
497790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SHARED_LIBRARIES += liblog \
507790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project            libicuuc \
51e919af569c13d7445daf20cb06867e186afba92aDaisuke Miyakawa            libicui18n \
52532ae77972f66feecc96ae31b771cf6f68fd6556Mike Lockwood            libutils
537790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
547790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project# include android specific methods
557790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
567790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
577790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
587790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
597790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
6090f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson
6190f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilsonifeq ($(WITH_HOST_DALVIK),true)
6290f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    include $(CLEAR_VARS)
6390f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_SRC_FILES := $(common_src_files)
6490f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_LDLIBS += -lpthread -ldl
65747c5732f8165a0c53ba0e11635727ea83b3d3bbJesse Wilson    LOCAL_CFLAGS += $(common_sqlite_flags)
6690f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_MODULE:= libsqlite
6790f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_SHARED_LIBRARIES += libicuuc libicui18n
6890f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_STATIC_LIBRARIES := liblog libutils libcutils
6990f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson
7090f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    # include android specific methods
7190f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
7290f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson    include $(BUILD_HOST_SHARED_LIBRARY)
7390f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilsonendif
7490f23688416d9f4e1e5d0128dca5f26404b6898eJesse Wilson
757790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
767790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
777790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project## Build the device command line tool sqlite3
787790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
797790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
807790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(SDK_ONLY),true)  # SDK doesn't need device version of sqlite3
817790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
827790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(CLEAR_VARS)
837790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
847790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SRC_FILES := shell.c
857790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
861c9f731c5a080b9b26a36b58da954b793ad3cd3bVasu NoriLOCAL_C_INCLUDES := $(LOCAL_PATH)/../android $(call include-path-for, system-core)/cutils
877790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
881c9f731c5a080b9b26a36b58da954b793ad3cd3bVasu NoriLOCAL_SHARED_LIBRARIES := libsqlite \
891c9f731c5a080b9b26a36b58da954b793ad3cd3bVasu Nori            libicuuc \
901c9f731c5a080b9b26a36b58da954b793ad3cd3bVasu Nori            libicui18n \
911c9f731c5a080b9b26a36b58da954b793ad3cd3bVasu Nori            libutils
927790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
937790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectifneq ($(TARGET_ARCH),arm)
947790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_LDLIBS += -lpthread -ldl
957790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif
967790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
97488d783673190a2d9eece46eb0255587ebdfe6e5Kenny RootLOCAL_CFLAGS += $(common_sqlite_flags) -DUSE_PREAD64
987790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
997790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
1007790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
101b7743da3573c9fa0a726181d8f4cd7190908f27dThe Android Open Source ProjectLOCAL_MODULE_TAGS := debug
1027790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1037790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE := sqlite3
1047790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1057790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(BUILD_EXECUTABLE)
1067790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1077790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectendif # !SDK_ONLY
1087790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1097790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1107790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
1117790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
1127790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project## Build the host command line tool sqlite3
1137790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
1147790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project##
1157790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1167790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(CLEAR_VARS)
1177790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1187790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_SRC_FILES := $(common_src_files) shell.c
1197790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1201c9f731c5a080b9b26a36b58da954b793ad3cd3bVasu NoriLOCAL_CFLAGS += $(common_sqlite_flags) -DNO_ANDROID_FUNCS=1
1217790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1227790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project# sqlite3MemsysAlarm uses LOG()
1237790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_STATIC_LIBRARIES += liblog
1247790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
12571f6135e246c60c5ded00d36a0aa978521292a5eRaphaelifeq ($(strip $(USE_MINGW)),)
126e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey TarasovLOCAL_LDLIBS += -lpthread
127e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey Tarasovifneq ($(HOST_OS),freebsd)
128e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey TarasovLOCAL_LDLIBS += -ldl
129e1542198c8ea4d244fbd7e97c22b02abff1ca850Alexey Tarasovendif
13071f6135e246c60c5ded00d36a0aa978521292a5eRaphaelendif
1317790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1327790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source ProjectLOCAL_MODULE := sqlite3
1337790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Project
1347790ef5367fe6731048c3e3a1c067f94b321cb4dThe Android Open Source Projectinclude $(BUILD_HOST_EXECUTABLE)
135