1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-16 04:14:01 +02:00
openwrt-packages/libs/sqlite3/Makefile
Jan Hoffmann 4bc7ba7fe8 sqlite3: add option for batch-atomic write support
This allows to build SQLite with support for the batch-atomic write
optimization. It makes use of atomic write support provided by the
underlying file system. Currently, this is only supported on F2FS. It
it does not work with overlayfs.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2021-02-26 17:31:24 -05:00

148 lines
3.9 KiB
Makefile

#
# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sqlite
PKG_VERSION:=3330000
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz
PKG_HASH:=106a2c48c7f75a298a7557bcc0d5f4f454e5b43811cc738b7ca294d6956bbb15
PKG_SOURCE_URL:=https://www.sqlite.org/2020/
PKG_LICENSE:=PUBLICDOMAIN
PKG_LICENSE_FILES:=
PKG_MAINTAINER:=
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-autoconf-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
PKG_CPE_ID:=cpe:/a:sqlite:sqlite
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_CONFIG_DEPENDS := \
CONFIG_SQLITE3_BATCH_ATOMIC_WRITE \
CONFIG_SQLITE3_DYNAMIC_EXTENSIONS \
CONFIG_SQLITE3_FTS3 \
CONFIG_SQLITE3_FTS4 \
CONFIG_SQLITE3_FTS5 \
CONFIG_SQLITE3_JSON1 \
CONFIG_SQLITE3_LIBEDIT \
CONFIG_SQLITE3_READLINE \
CONFIG_SQLITE3_RTREE \
CONFIG_SQLITE3_SESSION
include $(INCLUDE_DIR)/package.mk
define Package/sqlite3/Default
SUBMENU:=Database
TITLE:=SQLite (v3.x) database engine
URL:=http://www.sqlite.org/
endef
define Package/sqlite3/Default/description
SQLite is a small C library that implements a self-contained, embeddable,
zero-configuration SQL database engine.
endef
define Package/libsqlite3
$(call Package/sqlite3/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libpthread +zlib
TITLE+= (library)
ABI_VERSION:=0
endef
define Package/libsqlite3/description
$(call Package/sqlite3/Default/description)
This package contains the SQLite (v3.x) shared library, used by other
programs.
endef
define Package/libsqlite3/config
source "$(SOURCE)/Config-lib.in"
endef
define Package/sqlite3-cli
$(call Package/sqlite3/Default)
SECTION:=utils
CATEGORY:=Utilities
DEPENDS := \
+libsqlite3 \
+SQLITE3_LIBEDIT:libedit \
+SQLITE3_READLINE:libreadline \
+SQLITE3_READLINE:libncursesw
TITLE+= (cli)
endef
define Package/sqlite3-cli/description
$(call Package/sqlite3/Default/description)
This package contains a terminal-based front-end to the SQLite (v3.x) library
that can evaluate queries interactively and display the results in multiple
formats.
endef
define Package/sqlite3-cli/config
source "$(SOURCE)/Config-cli.in"
endef
TARGET_CFLAGS += \
-DHAVE_ISNAN \
-DHAVE_MALLOC_USABLE_SIZE \
-DSQLITE_ENABLE_UNLOCK_NOTIFY \
$(if $(CONFIG_SQLITE3_BATCH_ATOMIC_WRITE),-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE)
CONFIGURE_ARGS += \
--disable-debug \
--disable-static-shell \
--enable-shared \
--enable-static \
--enable-threadsafe \
$(if $(CONFIG_SQLITE3_DYNAMIC_EXTENSIONS),--enable-dynamic-extensions,--disable-dynamic-extensions) \
$(if $(CONFIG_SQLITE3_FTS3),--enable-fts3,--disable-fts3) \
$(if $(CONFIG_SQLITE3_FTS3),--enable-fts4,--disable-fts4) \
$(if $(CONFIG_SQLITE3_FTS3),--enable-fts5,--disable-fts5) \
$(if $(CONFIG_SQLITE3_JSON1),--enable-json1,--disable-json1) \
$(if $(CONFIG_SQLITE3_RTREE),--enable-rtree,--disable-rtree) \
$(if $(CONFIG_SQLITE3_SESSION),--enable-session,--disable-session)
ifeq ($(CONFIG_SQLITE3_LIBEDIT),y)
CONFIGURE_ARGS+=--disable-readline
else ifeq ($(CONFIG_SQLITE3_READLINE),y)
CONFIGURE_ARGS+=--disable-editline
else
CONFIGURE_ARGS+=--disable-editline --disable-readline
endif
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsqlite3.{a,so*} $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/sqlite3{,ext}.h $(1)/usr/include
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/sqlite3.pc $(1)/usr/lib/pkgconfig
endef
define Package/libsqlite3/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsqlite3.so.$(ABI_VERSION)* $(1)/usr/lib
endef
define Package/sqlite3-cli/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sqlite3 $(1)/usr/bin
endef
$(eval $(call BuildPackage,libsqlite3))
$(eval $(call BuildPackage,sqlite3-cli))