blob: 4f865a0e135d223eddd49d972d4d1c2c729c1476 [file] [log] [blame]
#!/bin/sh
#
# Copyright (c) 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -o errexit # Stop the script on the first error.
set -o nounset # Catch un-initialized variables.
cd patched
mkdir build
cd build
# The compile flags here should match the defines in BUILD.gn.
BUILD_GN_FLAGS="\
-DSQLITE_DISABLE_FTS3_UNICODE \
-DSQLITE_DISABLE_FTS4_DEFERRED \
-DSQLITE_ENABLE_FTS3 \
-DSQLITE_ENABLE_ICU \
-DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \
-DSQLITE_DEFAULT_LOOKASIDE=0,0 \
-DSQLITE_DEFAULT_MEMSTATUS=1 \
-DSQLITE_DEFAULT_PAGE_SIZE=4096 \
-DSQLITE_DEFAULT_PCACHE_INITSZ=0 \
-DSQLITE_LIKE_DOESNT_MATCH_BLOBS \
-DSQLITE_HAVE_ISNAN \
-DSQLITE_MAX_WORKER_THREADS=0 \
-DSQLITE_MAX_MMAP_SIZE=268435456 \
-DSQLITE_OMIT_ANALYZE \
-DSQLITE_OMIT_AUTOINIT \
-DSQLITE_OMIT_AUTORESET \
-DSQLITE_OMIT_COMPILEOPTION_DIAGS \
-DSQLITE_OMIT_COMPLETE \
-DSQLITE_OMIT_DECLTYPE \
-DSQLITE_OMIT_DEPRECATED \
-DSQLITE_OMIT_EXPLAIN \
-DSQLITE_OMIT_GET_TABLE \
-DSQLITE_OMIT_LOAD_EXTENSION \
-DSQLITE_OMIT_LOOKASIDE \
-DSQLITE_OMIT_TCL_VARIABLE \
-DSQLITE_OMIT_PROGRESS_CALLBACK \
-DSQLITE_OMIT_REINDEX \
-DSQLITE_OMIT_SHARED_CACHE \
-DSQLITE_OMIT_TRACE \
-DSQLITE_OMIT_UPSERT \
-DSQLITE_OMIT_WINDOWFUNC \
-DSQLITE_SECURE_DELETE \
-DSQLITE_THREADSAFE=1 \
-DSQLITE_USE_ALLOCA \
"
../configure \
CFLAGS="-Os $BUILD_GN_FLAGS $(icu-config --cppflags)" \
LDFLAGS="$(icu-config --ldflags)" \
--disable-load-extension \
--enable-amalgamation \
--enable-threadsafe
make shell.c sqlite3.h sqlite3.c
cp -f sqlite3.h sqlite3.c ../../amalgamation
# shell.c must be placed in a different directory from sqlite3.h, because it
# contains an '#include "sqlite3.h"' that we want to resolve to our custom
# //third_party/sqlite/sqlite3.h, not to the sqlite3.h produced here.
mkdir -p ../../amalgamation/shell/
cp -f shell.c ../../amalgamation/shell/
cd ..
rm -rf build
../scripts/extract_sqlite_api.py ../amalgamation/sqlite3.h \
../amalgamation/rename_exports.h