Clean up and pin down the config options. The removed defines in
CPPFLAGS are already set by the configure script when we supply the
right configure options; and this way ./scripts/configure_helper.py is
also happy. Add a patch so that building without pthreads does not fail
with linker errors (could already be broken in previous versions, but I
didn't test).

Even if "public_domain" is not a valid SPDX license identifier (see this
discussion [1] for background), it describes the license situation best.
Pin down the license MD5 mentioning that it is public domain.

[1]: 
https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files

Cc: Clemens Gruber <[email protected]>
Signed-off-by: Roland Hieber <[email protected]>
---
 ...nfigure-make-disable-threadsafe-work.patch | 29 +++++++++++++++++++
 patches/sqlite-autoconf-3280000/autogen.sh    |  1 +
 patches/sqlite-autoconf-3280000/series        |  4 +++
 rules/sqlite.make                             | 19 ++++++++----
 4 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 
patches/sqlite-autoconf-3280000/0001-configure-make-disable-threadsafe-work.patch
 create mode 120000 patches/sqlite-autoconf-3280000/autogen.sh
 create mode 100644 patches/sqlite-autoconf-3280000/series

diff --git 
a/patches/sqlite-autoconf-3280000/0001-configure-make-disable-threadsafe-work.patch
 
b/patches/sqlite-autoconf-3280000/0001-configure-make-disable-threadsafe-work.patch
new file mode 100644
index 000000000000..1e3a641a72b6
--- /dev/null
+++ 
b/patches/sqlite-autoconf-3280000/0001-configure-make-disable-threadsafe-work.patch
@@ -0,0 +1,29 @@
+From: Roland Hieber <[email protected]>
+Date: Tue, 9 Jul 2019 12:18:52 +0200
+Subject: [PATCH] configure: make --disable-threadsafe work
+
+SQLITE_THREADSAFE can be 0, 1 or 2, and if it is not defined, it
+is defined to 1 by default in sqlite3.c.
+
+_REENTRANT only needs to be defined or undefined according to
+https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html#Feature-Test-Macros
+
+Forwarded: 
https://www.mail-archive.com/[email protected]/msg115812.html
+Signed-off-by: Roland Hieber <[email protected]>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index f0b70b96428c..3044077e93f6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,6 +91,8 @@ if test x"$enable_threadsafe" != "xno"; then
+   BUILD_CFLAGS="$BUILD_CFLAGS -D_REENTRANT=1 -DSQLITE_THREADSAFE=1"
+   AC_SEARCH_LIBS(pthread_create, pthread)
+   AC_SEARCH_LIBS(pthread_mutexattr_init, pthread)
++else
++  BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_THREADSAFE=0"
+ fi
+ #-----------------------------------------------------------------------
+ 
diff --git a/patches/sqlite-autoconf-3280000/autogen.sh 
b/patches/sqlite-autoconf-3280000/autogen.sh
new file mode 120000
index 000000000000..9f8a4cb7ddcb
--- /dev/null
+++ b/patches/sqlite-autoconf-3280000/autogen.sh
@@ -0,0 +1 @@
+../autogen.sh
\ No newline at end of file
diff --git a/patches/sqlite-autoconf-3280000/series 
b/patches/sqlite-autoconf-3280000/series
new file mode 100644
index 000000000000..516ce59bdbad
--- /dev/null
+++ b/patches/sqlite-autoconf-3280000/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-configure-make-disable-threadsafe-work.patch
+# 7c01923b9908ba74dacfdb9f965dc010  - git-ptx-patches magic
diff --git a/rules/sqlite.make b/rules/sqlite.make
index 83cf28469de1..f93d9c2f3fe7 100644
--- a/rules/sqlite.make
+++ b/rules/sqlite.make
@@ -19,27 +19,30 @@ PACKAGES-$(PTXCONF_SQLITE) += sqlite
 #
 # Paths and names
 #
-SQLITE_VERSION := 3190200
-SQLITE_MD5     := 9f006b16de2cd81f6bae9b40e91daabf
+SQLITE_VERSION := 3280000
+SQLITE_MD5     := 3c68eb400f8354605736cd55400e1572
 SQLITE         := sqlite-autoconf-$(SQLITE_VERSION)
 SQLITE_SUFFIX  := tar.gz
-SQLITE_URL     := https://www.sqlite.org/2017/$(SQLITE).$(SQLITE_SUFFIX)
+SQLITE_URL     := https://www.sqlite.org/2019/$(SQLITE).$(SQLITE_SUFFIX)
 SQLITE_SOURCE  := $(SRCDIR)/$(SQLITE).$(SQLITE_SUFFIX)
 SQLITE_DIR     := $(BUILDDIR)/$(SQLITE)
 SQLITE_LICENSE := public_domain
+SQLITE_LICENSE_FILES   := 
file://sqlite3.c;startline=29;endline=30;md5sum=43af35cab122fd0eed4d5469d0507788
 
 # ----------------------------------------------------------------------------
 # Prepare
 # ----------------------------------------------------------------------------
 
+# sqlite has an unusual config system where some defines are set by the
+# configure script, but others can still be defined on the compiler command
+# line. Pin down all configure options so that configure_helper.py is pleased,
+# but apart from that, set only the defines that we really want (or otherwise
+# our CPPFLAGS would explode).
 SQLITE_CONF_ENV := \
        $(CROSS_ENV) \
        CPPFLAGS=" \
        -DSQLITE_ENABLE_COLUMN_METADATA=1 \
        -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 \
-       -DSQLITE_ENABLE_FTS4=1 \
-       -DSQLITE_ENABLE_JSON1=1 \
-       -DSQLITE_ENABLE_RTREE=1 \
        -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 \
        -DSQLITE_SOUNDEX=1 \
        "
@@ -53,9 +56,13 @@ SQLITE_CONF_OPT              := \
        --$(call ptx/endis,PTXCONF_SQLITE_READLINE)-readline \
        --$(call ptx/endis,PTXCONF_SQLITE_THREADSAFE)-threadsafe \
        --$(call ptx/endis,PTXCONF_SQLITE_LOAD_EXTENTION)-dynamic-extensions \
+       --enable-fts4 \
+       --enable-fts3 \
        --disable-fts5 \
        --enable-json1 \
+       --enable-rtree \
        --disable-session \
+       --disable-debug \
        --disable-static-shell
 
 # ----------------------------------------------------------------------------
-- 
2.20.1


_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to