1SUMMARY = "Embeddable SQL database engine"
2DESCRIPTION = "A library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bundled inside countless other applications that people use every day"
3HOMEPAGE = "http://www.sqlite.org"
4SECTION = "libs"
5
6PE = "3"
7
8def sqlite_download_version(d):
9    pvsplit = d.getVar('PV').split('.')
10    if len(pvsplit) < 4:
11        pvsplit.append('0')
12    return pvsplit[0] + ''.join([part.rjust(2,'0') for part in pvsplit[1:]])
13
14SQLITE_PV = "${@sqlite_download_version(d)}"
15
16S = "${WORKDIR}/sqlite-autoconf-${SQLITE_PV}"
17
18UPSTREAM_CHECK_URI = "http://www.sqlite.org/"
19UPSTREAM_CHECK_REGEX = "releaselog/(?P<pver>(\d+[\.\-_]*)+)\.html"
20
21CVE_PRODUCT = "sqlite"
22
23inherit autotools pkgconfig siteinfo
24
25# enable those which are enabled by default in configure
26PACKAGECONFIG ?= "fts4 fts5 rtree dyn_ext"
27PACKAGECONFIG:class-native ?= "fts4 fts5 rtree dyn_ext"
28
29PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit"
30PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline ncurses"
31PACKAGECONFIG[fts3] = "--enable-fts3,--disable-fts3"
32PACKAGECONFIG[fts4] = "--enable-fts4,--disable-fts4"
33PACKAGECONFIG[fts5] = "--enable-fts5,--disable-fts5"
34PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree"
35PACKAGECONFIG[session] = "--enable-session,--disable-session"
36PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions"
37PACKAGECONFIG[zlib] = ",,zlib"
38
39CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'zlib', '', 'ac_cv_search_deflate=no',d)}"
40
41EXTRA_OECONF = " \
42    --enable-shared \
43    --enable-threadsafe \
44    --disable-static-shell \
45"
46
47# pread() is in POSIX.1-2001 so any reasonable system must surely support it
48CFLAGS:append = " -DUSE_PREAD"
49
50# Provide column meta-data API
51CFLAGS:append = " -DSQLITE_ENABLE_COLUMN_METADATA"
52
53# Unless SQLITE_BYTEORDER is predefined, the code falls back to build time
54# huristics, which are not always correct
55CFLAGS:append = " ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}"
56
57PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN}-dbg lib${BPN}-staticdev ${PN}"
58
59FILES:${PN} = "${bindir}/*"
60FILES:lib${BPN} = "${libdir}/*.so.*"
61FILES:lib${BPN}-dev = "${libdir}/*.la ${libdir}/*.so \
62                       ${libdir}/pkgconfig ${includedir}"
63FILES:lib${BPN}-doc = "${docdir} ${mandir} ${infodir}"
64FILES:lib${BPN}-staticdev = "${libdir}/lib*.a"
65
66AUTO_LIBNAME_PKGS = "${MLPREFIX}lib${BPN}"
67
68BBCLASSEXTEND = "native nativesdk"
69