diff options
-rw-r--r-- | Android.bp | 4 | ||||
-rw-r--r-- | android/Android.bp | 31 | ||||
-rw-r--r-- | android/Android.mk | 33 | ||||
-rw-r--r-- | android/sqlite3_android.cpp | 2 | ||||
-rw-r--r-- | dist/Android.bp | 167 | ||||
-rw-r--r-- | dist/Android.mk | 180 |
6 files changed, 203 insertions, 214 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..7b2e7da --- /dev/null +++ b/Android.bp @@ -0,0 +1,4 @@ +subdirs = [ + "android", + "dist", +] diff --git a/android/Android.bp b/android/Android.bp new file mode 100644 index 0000000..7c17c6a --- /dev/null +++ b/android/Android.bp @@ -0,0 +1,31 @@ +cc_library_static { + name: "libsqlite3_android", + host_supported: true, + srcs: [ + "PhoneNumberUtils.cpp", + "OldPhoneNumberUtils.cpp", + "sqlite3_android.cpp", + ], + include_dirs: ["external/sqlite/dist"], + static_libs: ["liblog"], + shared_libs: [ + "libicuuc", + "libicui18n", + ], + export_include_dirs: ["."], +} + +// The formal test for phone_number_compare() is in DataBaseGeneralTest.java +// (as of 2009-08-02), in which phone_number_compare() is tested via sqlite's custom +// function "PHONE_NUMBER_COMPARE". +cc_test { + name: "libsqlite3_phone_number_utils_test", + cflags: [ + "-Wall", + "-Werror", + ], + srcs: [ + "PhoneNumberUtils.cpp", + "PhoneNumberUtilsTest.cpp", + ], +} diff --git a/android/Android.mk b/android/Android.mk deleted file mode 100644 index 9ba06c3..0000000 --- a/android/Android.mk +++ /dev/null @@ -1,33 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - -libsqlite3_android_local_src_files := \ - PhoneNumberUtils.cpp \ - OldPhoneNumberUtils.cpp \ - sqlite3_android.cpp - -libsqlite3_android_c_includes := external/sqlite/dist - -include $(CLEAR_VARS) -LOCAL_SRC_FILES:= $(libsqlite3_android_local_src_files) -LOCAL_C_INCLUDES += $(libsqlite3_android_c_includes) -LOCAL_STATIC_LIBRARIES := liblog -LOCAL_SHARED_LIBRARIES := libicuuc libicui18n -LOCAL_MODULE:= libsqlite3_android -include $(BUILD_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_SRC_FILES:= $(libsqlite3_android_local_src_files) -LOCAL_C_INCLUDES += $(libsqlite3_android_c_includes) -LOCAL_STATIC_LIBRARIES := liblog -LOCAL_SHARED_LIBRARIES := libicuuc libicui18n -LOCAL_MODULE:= libsqlite3_android -include $(BUILD_HOST_STATIC_LIBRARY) - -# The formal test for phone_number_compare() is in DataBaseGeneralTest.java -# (as of 2009-08-02), in which phone_number_compare() is tested via sqlite's custom -# function "PHONE_NUMBER_COMPARE". -include $(CLEAR_VARS) -LOCAL_MODULE:= libsqlite3_phone_number_utils_test -LOCAL_CFLAGS += -Wall -Werror -LOCAL_SRC_FILES := PhoneNumberUtils.cpp PhoneNumberUtilsTest.cpp -include $(BUILD_NATIVE_TEST) diff --git a/android/sqlite3_android.cpp b/android/sqlite3_android.cpp index 7356f9d..4174a13 100644 --- a/android/sqlite3_android.cpp +++ b/android/sqlite3_android.cpp @@ -25,7 +25,7 @@ #include <unicode/uiter.h> #include <unicode/ustring.h> #include <unicode/utypes.h> -#include <cutils/log.h> +#include <log/log.h> #include "sqlite3_android.h" #include "PhoneNumberUtils.h" diff --git a/dist/Android.bp b/dist/Android.bp new file mode 100644 index 0000000..67f48dd --- /dev/null +++ b/dist/Android.bp @@ -0,0 +1,167 @@ +// +// +// Build the library +// +// + +cc_defaults { + name: "sqlite-minimal-defaults", + host_supported: true, + + // b/31938382, disable most clang-tidy checks to avoid segmentation fault. + tidy_checks: [ + "-*", + "google-*", + "-google-readability-*", + ], + + // 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 + cflags: [ + "-DNDEBUG=1", + "-DHAVE_USLEEP=1", + "-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", + "-DSQLITE_SECURE_DELETE", + "-Wno-unused-parameter", + "-Werror", + ], + + target: { + linux: { + cflags: ["-DHAVE_POSIX_FALLOCATE=1"], + }, + }, +} + +cc_defaults { + name: "sqlite-defaults", + defaults: ["sqlite-minimal-defaults"], + target: { + android: { + cflags: [ + "-DSQLITE_ENABLE_ICU", + "-DUSE_PREAD64", + "-Dfdatasync=fdatasync", + "-DHAVE_MALLOC_H=1", + "-DHAVE_MALLOC_USABLE_SIZE", + ], + }, + }, +} + +cc_library { + name: "libsqlite", + defaults: ["sqlite-defaults"], + + srcs: ["sqlite3.c"], + + target: { + android: { + shared_libs: [ + "libdl", + "liblog", + "libutils", + "libicuuc", + "libicui18n", + ], + + // include android specific methods + whole_static_libs: ["libsqlite3_android"], + }, + host: { + static_libs: [ + "liblog", + "libutils", + ], + }, + not_windows: { + shared_libs: [ + "libicuuc", + "libicui18n", + ], + + // include android specific methods + whole_static_libs: ["libsqlite3_android"], + }, + windows: { + enabled: true, + }, + }, + + export_include_dirs: ["."], +} + +// +// +// Build the device command line tool sqlite3 +// +// + +cc_binary { + name: "sqlite3", + defaults: ["sqlite-defaults"], + + srcs: ["shell.c"], + + tags: ["debug"], + + target: { + android: { + shared_libs: [ + "libsqlite", + "libicuuc", + "libicui18n", + "liblog", + "libutils", + ], + static_libs: [ + "libicuandroid_utils", + ], + }, + host: { + cflags: ["-DNO_ANDROID_FUNCS=1"], + static_libs: [ + "libsqlite", + // sqlite3MemsysAlarm uses LOG() + "liblog", + ], + }, + not_windows: { + host_ldlibs: [ + "-lpthread", + "-ldl", + ], + }, + + windows: { + enabled: true, + }, + }, +} + +// Build a minimal version of sqlite3 without any android specific +// features against the NDK. This is used by libcore's JDBC related +// unit tests. +cc_library_static { + name: "libsqlite_static_minimal", + defaults: ["sqlite-minimal-defaults"], + srcs: ["sqlite3.c"], + sdk_version: "23", + export_include_dirs: ["."], +} diff --git a/dist/Android.mk b/dist/Android.mk deleted file mode 100644 index 5f7a63b..0000000 --- a/dist/Android.mk +++ /dev/null @@ -1,180 +0,0 @@ -## -## -## 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_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 \ - -DSQLITE_SECURE_DELETE \ - -Wno-unused-parameter \ - -Werror - -minimal_linux_flags := \ - -DHAVE_POSIX_FALLOCATE=1 \ - -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 - -# b/31938382, disable most clang-tidy checks to avoid segmentation fault. -common_local_tidy_checks := -*,google-*,-google-readability-* - -# the device library -include $(CLEAR_VARS) - -LOCAL_TIDY_CHECKS := $(common_local_tidy_checks) -LOCAL_SRC_FILES := $(common_src_files) - -LOCAL_CFLAGS += $(device_sqlite_flags) -LOCAL_CFLAGS_linux += $(minimal_linux_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 -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) - -include $(BUILD_SHARED_LIBRARY) - - -include $(CLEAR_VARS) -LOCAL_TIDY_CHECKS := $(common_local_tidy_checks) -LOCAL_SRC_FILES := $(common_src_files) -LOCAL_LDLIBS += -lpthread -ldl -LOCAL_CFLAGS += $(minimal_sqlite_flags) -LOCAL_CFLAGS_linux += $(minimal_linux_flags) -LOCAL_MODULE:= libsqlite -LOCAL_SHARED_LIBRARIES += libicuuc libicui18n -LOCAL_STATIC_LIBRARIES := liblog libutils libcutils - -# include android specific methods -LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) - -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_CFLAGS_linux += $(minimal_linux_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_TIDY_CHECKS := $(common_local_tidy_checks) -LOCAL_SRC_FILES := $(common_src_files) shell.c -LOCAL_CFLAGS += $(minimal_sqlite_flags) \ - -DNO_ANDROID_FUNCS=1 -LOCAL_CFLAGS_linux += $(minimal_linux_flags) - -# 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_TIDY_CHECKS := $(common_local_tidy_checks) -LOCAL_SRC_FILES := $(common_src_files) -LOCAL_CFLAGS += $(minimal_sqlite_flags) -LOCAL_CFLAGS_linux += $(minimal_linux_flags) -LOCAL_MODULE:= libsqlite_static_minimal -LOCAL_SDK_VERSION := 23 -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) - -include $(BUILD_STATIC_LIBRARY) - -# Same as libsqlite_static_minimal, except that this is for the host. -include $(CLEAR_VARS) -LOCAL_TIDY_CHECKS := $(common_local_tidy_checks) -LOCAL_SRC_FILES := $(common_src_files) -LOCAL_CFLAGS += $(minimal_sqlite_flags) -LOCAL_CFLAGS_linux += $(minimal_linux_flags) -LOCAL_MODULE:= libsqlite_static_minimal -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) - -include $(BUILD_HOST_STATIC_LIBRARY) |