summaryrefslogtreecommitdiff
path: root/scripts/get_latest_amalgamation.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/get_latest_amalgamation.sh')
-rwxr-xr-xscripts/get_latest_amalgamation.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/get_latest_amalgamation.sh b/scripts/get_latest_amalgamation.sh
new file mode 100755
index 0000000..05c128c
--- /dev/null
+++ b/scripts/get_latest_amalgamation.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+# author: drebs@leap.se
+
+# Get SQLCipher amalgamation files from latest tag from git repository.
+#
+# We want latest so we can build SQLCipher with JSON1 support:
+# https://www.sqlite.org/json1.html
+
+SQLCIPHER_REPO="https://github.com/sqlcipher/sqlcipher"
+
+if [ $# -ne 1 ]; then
+ echo "Usage: ${0} AMALGAMATION_ROOT"
+ exit 1
+fi
+
+TEMP_DIR=`mktemp -d`
+REPO_DIR="${TEMP_DIR}/sqlcipher"
+SCRIPT_DIR=`pwd`
+AMALGAMATION_ROOT=${1}
+AMALGAMATION_DIR="${SCRIPT_DIR}/${AMALGAMATION_ROOT}"
+
+# clone, checkout latest tag and build amalgamation
+git clone ${SQLCIPHER_REPO} ${REPO_DIR}
+(cd ${REPO_DIR} \
+ && git checkout `git tag | tail -n 1` \
+ && ./configure \
+ && make sqlite3.c)
+
+# make sure old files are wiped from amalgamation dir
+if [ -d ${AMALGAMATION_DIR} ]; then
+ rm -rf ${AMALGAMATION_DIR}/*
+else
+ mkdir -p ${AMALGAMATION_DIR}
+fi
+
+# copy amalgamation files
+cp ${REPO_DIR}/sqlite3.{c,h} ${AMALGAMATION_DIR}/
+
+# remove leftovers
+rm -rf ${TEMP_DIR}