4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
21 # Copyright (c) 2013 Louis M. Picciano. All rights reserved.
22 # Copyright (c) 2020 Michal Nowak
26 USE_PARALLEL_BUILD
= yes
27 include ..
/..
/..
/make-rules
/shared-macros.mk
29 COMPONENT_NAME
= sqlite
30 COMPONENT_VERSION
= 3.46.1
31 TARBALL_VERSION
= 3460100
32 COMPONENT_SUMMARY
= in-process SQL database engine library
33 COMPONENT_SRC
= sqlite-src-
$(TARBALL_VERSION
)
34 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).zip
35 COMPONENT_ARCHIVE_HASH
= sha256
:def3fc292eb9ecc444f6c1950e5c79d8462ed5e7b3d605fd6152d145e1d5abb4
36 COMPONENT_PROJECT_URL
= https
://www.sqlite.org
37 COMPONENT_ARCHIVE_URL
= $(COMPONENT_PROJECT_URL
)/2024/$(COMPONENT_ARCHIVE
)
38 COMPONENT_FMRI
= database
/sqlite-3
39 COMPONENT_CLASSIFICATION
= Development
/Databases
40 COMPONENT_LICENSE
= Public Domain
42 include $(WS_MAKE_RULES
)/common.mk
44 # 'oserror' test has too low threshold for file descriptor depletion. When it's
45 # bumped 32-bit is fine, however on 64-bit the whole test suite crashes.
46 COMPONENT_PRE_CONFIGURE_ACTION
+= $(RM
) $(SOURCE_DIR
)/test/oserror.
test ;
48 CFLAGS
+= -D_POSIX_PTHREAD_SEMANTICS
50 CFLAGS
+= -DSQLITE_SECURE_DELETE
51 CFLAGS
+= -DSQLITE_ENABLE_DBSTAT_VTAB
52 CFLAGS
+= -DSQLITE_ENABLE_FTS3
53 CFLAGS
+= -DSQLITE_ENABLE_FTS4
54 CFLAGS
+= -DSQLITE_ENABLE_FTS5
55 CFLAGS
+= -DSQLITE_ENABLE_JSON1
56 CFLAGS
+= -DSQLITE_ENABLE_RTREE
57 CFLAGS
+= -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
59 CFLAGS
+= -DHAVE_USLEEP
60 CFLAGS
+= -DHAVE_FDATASYNC
61 CFLAGS
+= -DHAVE_STATVFS
62 CFLAGS
+= -DSQLITE_ENABLE_UNLOCK_NOTIFY
63 CFLAGS
+= -DSQLITE_ENABLE_STAT2
64 CFLAGS
+= -DSQLITE_ENABLE_STMT_SCANSTATUS
65 CFLAGS
+= -DSQLITE_ENABLE_COLUMN_METADATA
67 CONFIGURE_OPTIONS
.32 += --disable-tcl
68 CONFIGURE_OPTIONS
.64 += --with-tcl
="$(USRLIBDIR64)"
69 CONFIGURE_OPTIONS
+= --sysconfdir
=$(ETCDIR
)
70 CONFIGURE_OPTIONS
+= --disable-static
71 CONFIGURE_OPTIONS
+= --enable-readline
72 CONFIGURE_OPTIONS
+= --enable-fts3
73 CONFIGURE_OPTIONS
+= --enable-fts4
74 CONFIGURE_OPTIONS
+= --enable-fts5
75 CONFIGURE_OPTIONS
+= --enable-json1
76 CONFIGURE_OPTIONS
+= --enable-update-limit
77 CONFIGURE_OPTIONS
+= --enable-rtree
78 CONFIGURE_OPTIONS
+= --enable-threadsafe
79 CONFIGURE_OPTIONS
+= --enable-shared
80 CONFIGURE_OPTIONS
+= --enable-dynamic-extensions
82 CONFIGURE_ENV
.64 += TCLLIBDIR
=$(USRLIBDIR
)/tcl8.6
/sqlite3
/$(MACH64
)
84 # Build and install should be able to find some basic tools like cp, cat, rm, or mkdir.
85 COMPONENT_BUILD_ENV
+= PATH
=$(PATH
)
86 COMPONENT_INSTALL_ENV
+= PATH
=$(PATH
)
88 # Install sqlite3(1) man page
89 COMPONENT_POST_INSTALL_ACTION
+= $(MKDIR
) $(PROTO_DIR
)$(USRSHAREMAN1DIR
) ; $(CP
) $(SOURCE_DIR
)/sqlite3.1
$(PROTO_DIR
)$(USRSHAREMAN1DIR
)/
91 COMPONENT_TEST_TARGETS
= test
93 COMPONENT_TEST_TRANSFORMS
= \
94 ' -e "s/in [0-9]*\.[0-9]* seconds//" ' \
95 ' -e "s/tests on .*/tests/" ' \
97 ' -e "/errors out of/p" ' \
98 ' -e "/memory allocations freed/p" ' \
99 ' -e "/^Maximum memory usage:/p" ' \
100 ' -e "/^Current memory usage:/p" ' \
101 ' -e "/^Number of malloc/p" '
103 # Auto-generated dependencies
104 REQUIRED_PACKAGES
+= library
/libedit
105 REQUIRED_PACKAGES
+= library
/zlib
106 REQUIRED_PACKAGES
+= system
/library
107 REQUIRED_PACKAGES
+= system
/library
/math