Files
2020-07-24 00:37:46 +09:00

499 lines
16 KiB
Plaintext

# Makefile for building a drop-in replacement of SQLite using
# @DB_VERSION_FULL_STRING@
###################################################################
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
###################################################################
# build libsqlite replacement
LOCAL_MODULE := libsqlite
# BDB_TOP will change with release numbers
BDB_TOP := db-@DB_VERSION@
BDB_PATH := $(LOCAL_PATH)/$(BDB_TOP)/src
# This directive results in arm (vs thumb) code. It's necessary to
# allow some BDB assembler code (for mutexes) to compile.
LOCAL_ARM_MODE := arm
# basic includes for BDB 11gR2
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android \
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(BDB_TOP)/src
# this is needed for sqlite3.c
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(BDB_TOP)/build_android/sql
# Source files
LOCAL_SRC_FILES := \
@SOURCE_FILES@
$(BDB_TOP)/src/common/crypto_stub.c \
$(BDB_TOP)/lang/sql/generated/sqlite3.c
# Common source files for command line tools
COMMON_TOOL_SRCS := \
$(BDB_TOP)/src/common/util_arg.c \
$(BDB_TOP)/src/common/util_cache.c \
$(BDB_TOP)/src/common/util_env.c \
$(BDB_TOP)/src/common/util_log.c \
$(BDB_TOP)/src/common/util_sig.c \
$(BDB_TOP)/src/common/util_ver_check.c
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
#
# flags -- most of these are from the SQLite build, some are not.
# Here are some that may be changed for tuning or behavior:
# SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT -- default size of BDB log file in bytes
# SQLITE_DEFAULT_PAGE_SIZE -- explicit control over page size for cache
# and databases
# SQLITE_DEFAULT_CACHE_SIZE -- sizes the BDB cache, in pages
# BDBSQL_SHARE_PRIVATE -- uses private environments but still shares databases
# among processes using external synchronization.
# BDBSQL_CONVERT_SQLITE -- define this to convert SQLite databases to BDB SQL
# format -- this has other requirements so do not do this without consulting
# Oracle.
#
LOCAL_CFLAGS += -Wall -DHAVE_USLEEP=1 \
-DSQLITE_DEFAULT_PAGE_SIZE=4096 \
-DBDBSQL_SHARE_PRIVATE=1 \
-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=524288 \
-DSQLITE_DEFAULT_CACHE_SIZE=128 \
-DSQLITE_THREADSAFE=1 -DNDEBUG=1 -DSQLITE_TEMP_STORE=3 \
-DSQLITE_OMIT_TRUNCATE_OPTIMIZATION -DSQLITE_OS_UNIX=1 \
-D_HAVE_SQLITE_CONFIG_H -DSQLITE_THREAD_OVERRIDE_LOCK=-1 \
-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_BACKWARDS -Dfdatasync=fsync
# LOCAL_CFLAGS that are not used at this time
# -DSQLITE_ENABLE_POISON
# -DSQLITE_ENABLE_MEMORY_MANAGEMENT
ifneq ($(TARGET_SIMULATOR),true)
LOCAL_SHARED_LIBRARIES := libdl
endif
LOCAL_C_INCLUDES += $(call include-path-for, system-core)/cutils
LOCAL_SHARED_LIBRARIES += liblog libicuuc libicui18n libutils
# This links in some static symbols from Android
LOCAL_WHOLE_STATIC_LIBRARIES := libsqlite3_android
include $(BUILD_SHARED_LIBRARY)
################################################################################
##device commande line tool:sqlite3
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of sqlite3
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := $(BDB_TOP)/lang/sql/sqlite/src/shell.c
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := sqlite3
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_archive
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_archive
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_archive.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_archive
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_checkpoint
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_checkpoint
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_checkpoint.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_checkpoint
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_deadlock
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_deadlock
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_deadlock.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_deadlock
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_dump
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_dump
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_dump.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_dump
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_hotbackup
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_hotbackup
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_hotbackup.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_hotbackup
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_load
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_load
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_load.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_load
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_printlog
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_printlog
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_printlog.c \
$(COMMON_TOOL_SRCS) \
$(BDB_TOP)/src/btree/btree_autop.c \
$(BDB_TOP)/src/db/crdel_autop.c \
$(BDB_TOP)/src/db/db_autop.c \
$(BDB_TOP)/src/dbreg/dbreg_autop.c \
$(BDB_TOP)/src/fileops/fileops_autop.c \
$(BDB_TOP)/src/hash/hash_autop.c \
$(BDB_TOP)/src/heap/heap_autop.c \
$(BDB_TOP)/src/qam/qam_autop.c \
$(BDB_TOP)/src/repmgr/repmgr_autop.c \
$(BDB_TOP)/src/txn/txn_autop.c
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_printlog
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_recover
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_recover
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_recover.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_recover
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_replicate
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_replicate
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_replicate.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_replicate
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_stat
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_stat
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_stat.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_stat
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_tuner
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_tuner
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_tuner.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_tuner
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_upgrade
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_upgrade
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_upgrade.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_upgrade
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_verify
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_verify
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_verify.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_verify
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
################################################################################
##device commande line tool:db_log_verify
################################################################################
ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_log_verify
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
$(BDB_TOP)/util/db_log_verify.c \
$(COMMON_TOOL_SRCS)
LOCAL_SHARED_LIBRARIES := libsqlite
LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
$(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
ifneq ($(TARGET_ARCH),arm)
ifneq ($(TARGET_ARCH),arm64)
LOCAL_LDLIBS += -lpthread -ldl
endif
endif
LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := db_log_verify
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY