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
27 USE_PARALLEL_BUILD
= yes
28 include ..
/..
/..
/make-rules
/shared-macros.mk
30 COMPONENT_NAME
= sqlite
31 COMPONENT_VERSION
= 3.47.2
33 TARBALL_VERSION
= 3470200
34 COMPONENT_SUMMARY
= in-process SQL database engine library
35 COMPONENT_SRC
= sqlite-src-
$(TARBALL_VERSION
)
36 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).zip
37 COMPONENT_ARCHIVE_HASH
= sha256
:e6a471f1238225f34c2c48c5601b54024cc538044368230f59ff0672be1fc623
38 COMPONENT_PROJECT_URL
= https
://www.sqlite.org
39 COMPONENT_ARCHIVE_URL
= $(COMPONENT_PROJECT_URL
)/2024/$(COMPONENT_ARCHIVE
)
40 COMPONENT_FMRI
= database
/sqlite-3
41 COMPONENT_CLASSIFICATION
= Development
/Databases
42 COMPONENT_LICENSE
= Public Domain
44 include $(WS_MAKE_RULES
)/common.mk
46 # 'oserror' test has too low threshold for file descriptor depletion. When it's
47 # bumped 32-bit is fine, however on 64-bit the whole test suite crashes.
48 COMPONENT_PRE_CONFIGURE_ACTION
+= $(RM
) $(SOURCE_DIR
)/test/oserror.
test ;
50 CFLAGS
+= -D_POSIX_PTHREAD_SEMANTICS
52 CFLAGS
+= -DSQLITE_SECURE_DELETE
53 CFLAGS
+= -DSQLITE_ENABLE_DBSTAT_VTAB
54 CFLAGS
+= -DSQLITE_ENABLE_FTS3
55 CFLAGS
+= -DSQLITE_ENABLE_FTS4
56 CFLAGS
+= -DSQLITE_ENABLE_FTS5
57 CFLAGS
+= -DSQLITE_ENABLE_JSON1
58 CFLAGS
+= -DSQLITE_ENABLE_RTREE
59 CFLAGS
+= -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
61 CFLAGS
+= -DHAVE_USLEEP
62 CFLAGS
+= -DHAVE_FDATASYNC
63 CFLAGS
+= -DHAVE_STATVFS
64 CFLAGS
+= -DSQLITE_ENABLE_UNLOCK_NOTIFY
65 CFLAGS
+= -DSQLITE_ENABLE_STAT2
66 CFLAGS
+= -DSQLITE_ENABLE_STMT_SCANSTATUS
67 CFLAGS
+= -DSQLITE_ENABLE_COLUMN_METADATA
69 CONFIGURE_OPTIONS
.32 += --disable-tcl
70 CONFIGURE_OPTIONS
.64 += --with-tcl
="$(USRLIBDIR64)"
71 CONFIGURE_OPTIONS
+= --sysconfdir
=$(ETCDIR
)
72 CONFIGURE_OPTIONS
+= --disable-static
73 CONFIGURE_OPTIONS
+= --enable-readline
74 CONFIGURE_OPTIONS
+= --enable-fts3
75 CONFIGURE_OPTIONS
+= --enable-fts4
76 CONFIGURE_OPTIONS
+= --enable-fts5
77 CONFIGURE_OPTIONS
+= --enable-update-limit
78 CONFIGURE_OPTIONS
+= --enable-rtree
79 CONFIGURE_OPTIONS
+= --enable-threadsafe
80 CONFIGURE_OPTIONS
+= --enable-shared
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 # Move tcl components to expected location
92 COMPONENT_POST_INSTALL_ACTION
.64 += $(MKDIR
) $(PROTO_DIR
)/usr
/lib
/tcl8.6
/sqlite3
/$(MACH64
) ; /usr
/bin
/mv
$(PROTOUSRLIBDIR
.64)/sqlite
$(COMPONENT_VERSION
)/* $(PROTO_DIR
)/usr
/lib
/tcl8.6
/sqlite3
/$(MACH64
)/ ;
94 COMPONENT_TEST_TARGETS
= test
96 COMPONENT_TEST_TRANSFORMS
= \
97 ' -e "s/in [0-9]*\.[0-9]* seconds//" ' \
98 ' -e "s/tests on .*/tests/" ' \
100 ' -e "/errors out of/p" ' \
101 ' -e "/memory allocations freed/p" ' \
102 ' -e "/^Maximum memory usage:/p" ' \
103 ' -e "/^Current memory usage:/p" ' \
104 ' -e "/^Number of malloc/p" '
106 # Auto-generated dependencies
107 REQUIRED_PACKAGES
+= library
/libedit
108 REQUIRED_PACKAGES
+= library
/zlib
109 REQUIRED_PACKAGES
+= system
/library
110 REQUIRED_PACKAGES
+= system
/library
/math