xref: /OK3568_Linux_fs/buildroot/package/sqlite/sqlite.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# sqlite
4#
5################################################################################
6
7SQLITE_VERSION = 3.39.2
8SQLITE_TAR_VERSION = 3390200
9SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_TAR_VERSION).tar.gz
10SQLITE_SITE = https://www.sqlite.org/2022
11SQLITE_LICENSE = Public domain
12SQLITE_LICENSE_FILES = tea/license.terms
13SQLITE_CPE_ID_VENDOR = sqlite
14SQLITE_INSTALL_STAGING = YES
15
16ifeq ($(BR2_PACKAGE_SQLITE_STAT4),y)
17SQLITE_CFLAGS += -DSQLITE_ENABLE_STAT4
18endif
19
20ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA),y)
21SQLITE_CFLAGS += -DSQLITE_ENABLE_COLUMN_METADATA
22endif
23
24ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_FTS3),y)
25SQLITE_CFLAGS += -DSQLITE_ENABLE_FTS3
26endif
27
28ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_JSON1),y)
29SQLITE_CFLAGS += -DSQLITE_ENABLE_JSON1
30endif
31
32ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY),y)
33SQLITE_CFLAGS += -DSQLITE_ENABLE_UNLOCK_NOTIFY
34endif
35
36ifeq ($(BR2_PACKAGE_SQLITE_SECURE_DELETE),y)
37SQLITE_CFLAGS += -DSQLITE_SECURE_DELETE
38endif
39
40ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y)
41SQLITE_CFLAGS += -DSQLITE_NO_SYNC
42endif
43
44# Building with Microblaze Gcc 4.9 makes compiling to hang.
45# Work around using -O0
46ifeq ($(BR2_microblaze):$(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y:)
47SQLITE_CFLAGS += $(TARGET_CFLAGS) -O0
48else
49# fallback to standard -O3 when -Ofast is present to avoid -ffast-math
50SQLITE_CFLAGS += $(subst -Ofast,-O3,$(TARGET_CFLAGS))
51endif
52
53SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)"
54
55ifeq ($(BR2_STATIC_LIBS),y)
56SQLITE_CONF_OPTS += --enable-dynamic-extensions=no
57else
58SQLITE_CONF_OPTS += --disable-static-shell
59endif
60
61ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
62SQLITE_CONF_OPTS += --enable-threadsafe
63else
64SQLITE_CONF_OPTS += --disable-threadsafe
65SQLITE_CFLAGS += -DSQLITE_THREADSAFE=0
66endif
67
68ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy)
69SQLITE_DEPENDENCIES += ncurses readline
70SQLITE_CONF_OPTS += --disable-editline --enable-readline
71else ifeq ($(BR2_PACKAGE_LIBEDIT),y)
72SQLITE_DEPENDENCIES += libedit
73SQLITE_CONF_OPTS += --enable-editline --disable-readline
74else
75SQLITE_CONF_OPTS += --disable-editline --disable-readline
76endif
77
78$(eval $(autotools-package))
79$(eval $(host-autotools-package))
80