blob: ade91e2d69aea30abc9e88c4d48fcf74a91050cd [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2006-2014 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=sqlite
11PKG_VERSION:=3460100
12PKG_RELEASE:=1
13
14PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz
15PKG_SOURCE_URL:=https://www.sqlite.org/2024/
16PKG_HASH:=67d3fe6d268e6eaddcae3727fce58fcc8e9c53869bdd07a0c61e38ddf2965071
17
18PKG_CPE_ID:=cpe:/a:sqlite:sqlite
19PKG_LICENSE:=PUBLICDOMAIN
20PKG_LICENSE_FILES:=
21PKG_MAINTAINER:=
22
23PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-autoconf-$(PKG_VERSION)
24PKG_BUILD_PARALLEL:=1
25PKG_FIXUP:=autoreconf
26PKG_INSTALL:=1
27
28PKG_CONFIG_DEPENDS := \
29 CONFIG_SQLITE3_BATCH_ATOMIC_WRITE \
30 CONFIG_SQLITE3_COLUMN_METADATA \
31 CONFIG_SQLITE3_DYNAMIC_EXTENSIONS \
32 CONFIG_SQLITE3_FTS3 \
33 CONFIG_SQLITE3_FTS4 \
34 CONFIG_SQLITE3_FTS5 \
35 CONFIG_SQLITE3_LIBEDIT \
36 CONFIG_SQLITE3_READLINE \
37 CONFIG_SQLITE3_RTREE \
38 CONFIG_SQLITE3_SESSION
39
40include $(INCLUDE_DIR)/package.mk
41
42define Package/sqlite3/Default
43 SUBMENU:=Database
44 TITLE:=SQLite (v3.x) database engine
45 URL:=https://www.sqlite.org/
46endef
47
48define Package/sqlite3/Default/description
49 SQLite is a small C library that implements a self-contained, embeddable,
50 zero-configuration SQL database engine.
51endef
52
53define Package/libsqlite3
54 $(call Package/sqlite3/Default)
55 SECTION:=libs
56 CATEGORY:=Libraries
57 DEPENDS:=+libpthread +zlib
58 TITLE+= (library)
59 ABI_VERSION:=0
60endef
61
62define Package/libsqlite3/description
63$(call Package/sqlite3/Default/description)
64 This package contains the SQLite (v3.x) shared library, used by other
65 programs.
66endef
67
68define Package/libsqlite3/config
69 source "$(SOURCE)/Config-lib.in"
70endef
71
72define Package/sqlite3-cli
73 $(call Package/sqlite3/Default)
74 SECTION:=utils
75 CATEGORY:=Utilities
76 DEPENDS := \
77 +libsqlite3 \
78 +SQLITE3_LIBEDIT:libedit \
79 +SQLITE3_READLINE:libreadline \
80 +SQLITE3_READLINE:libncursesw
81 TITLE+= (cli)
82endef
83
84define Package/sqlite3-cli/description
85$(call Package/sqlite3/Default/description)
86 This package contains a terminal-based front-end to the SQLite (v3.x) library
87 that can evaluate queries interactively and display the results in multiple
88 formats.
89endef
90
91define Package/sqlite3-cli/config
92 source "$(SOURCE)/Config-cli.in"
93endef
94
95TARGET_CFLAGS += \
96 -DHAVE_ISNAN \
97 -DHAVE_MALLOC_USABLE_SIZE \
98 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
99 $(if $(CONFIG_SQLITE3_BATCH_ATOMIC_WRITE),-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE) \
100 $(if $(CONFIG_SQLITE3_COLUMN_METADATA),-DSQLITE_ENABLE_COLUMN_METADATA)
101
102CONFIGURE_ARGS += \
103 --disable-debug \
104 --disable-static-shell \
105 --enable-shared \
106 --enable-static \
107 --enable-threadsafe \
108 $(if $(CONFIG_SQLITE3_DYNAMIC_EXTENSIONS),--enable-dynamic-extensions,--disable-dynamic-extensions) \
109 $(if $(CONFIG_SQLITE3_FTS3),--enable-fts3,--disable-fts3) \
110 $(if $(CONFIG_SQLITE3_FTS4),--enable-fts4,--disable-fts4) \
111 $(if $(CONFIG_SQLITE3_FTS5),--enable-fts5,--disable-fts5) \
112 $(if $(CONFIG_SQLITE3_RTREE),--enable-rtree,--disable-rtree) \
113 $(if $(CONFIG_SQLITE3_SESSION),--enable-session,--disable-session)
114
115ifeq ($(CONFIG_SQLITE3_LIBEDIT),y)
116CONFIGURE_ARGS+=--disable-readline
117else ifeq ($(CONFIG_SQLITE3_READLINE),y)
118CONFIGURE_ARGS+=--disable-editline
119else
120CONFIGURE_ARGS+=--disable-editline --disable-readline
121endif
122
123define Build/InstallDev
124 $(INSTALL_DIR) $(1)/usr/include
125 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
126 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsqlite3.{a,so*} $(1)/usr/lib
127 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/sqlite3{,ext}.h $(1)/usr/include
128 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/sqlite3.pc $(1)/usr/lib/pkgconfig
129endef
130
131define Package/libsqlite3/install
132 $(INSTALL_DIR) $(1)/usr/lib
133 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsqlite3.so.$(ABI_VERSION)* $(1)/usr/lib
134endef
135
136define Package/sqlite3-cli/install
137 $(INSTALL_DIR) $(1)/usr/bin
138 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sqlite3 $(1)/usr/bin
139endef
140
141$(eval $(call BuildPackage,libsqlite3))
142$(eval $(call BuildPackage,sqlite3-cli))