1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 config("sqlite_config") {
11 "amalgamation/sqlite3.c",
12 "amalgamation/sqlite3.h",
19 "SQLITE_DISABLE_FTS3_UNICODE",
20 "SQLITE_DISABLE_FTS4_DEFERRED",
22 "SQLITE_ENABLE_MEMORY_MANAGEMENT",
23 "SQLITE_SECURE_DELETE",
24 "SQLITE_SEPARATE_CACHE_POOLS",
30 # Despite obvious warnings about not using this flag in deployment, we
31 # are turning off sync in ChromeOS and relying on the underlying
32 # journaling filesystem to do error recovery properly. It's much faster.
38 # Allow xSleep() call on Unix to use usleep() rather than sleep(), so it
39 # will have microsecond precision. Should only affect contended databases
40 # via the busy callback. Browser profile databases are mostly exclusive,
41 # but renderer databases may allow for contention.
45 if (is_linux || is_android) {
47 # Linux provides fdatasync(), a faster equivalent of fsync().
48 "fdatasync=fdatasync",
52 include_dirs = [ "amalgamation" ]
54 configs -= [ "//build/config/compiler:chromium_code" ]
55 configs += [ "//build/config/compiler:no_chromium_code" ]
59 # SQLite doesn"t believe in compiler warnings,
61 # http://www.sqlite.org/faq.html#q17
62 "-Wno-int-to-pointer-cast",
63 "-Wno-pointer-to-int-cast",
66 } else if (is_mac || is_ios) {
67 libs = [ "CoreFoundation.framework" ]
68 } else if (is_android) {
70 "SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576",
71 "SQLITE_DEFAULT_AUTOVACUUM=1",
72 "SQLITE_TEMP_STORE=3",
73 "SQLITE_ENABLE_FTS3_BACKWARDS",
74 "DSQLITE_DEFAULT_FILE_FORMAT=4",
78 public_configs = [ ":sqlite_config" ]
86 executable("sqlite_shell") {
89 "src/src/shell_icu_linux.c",
91 # Include a dummy c++ file to force linking of libstdc++.
103 source_set("sqlite_regexp") {