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.
46 include_dirs = [ "amalgamation" ]
48 configs -= [ "//build/config/compiler:chromium_code" ]
49 configs += [ "//build/config/compiler:no_chromium_code" ]
53 # SQLite doesn"t believe in compiler warnings,
55 # http://www.sqlite.org/faq.html#q17
56 "-Wno-int-to-pointer-cast",
57 "-Wno-pointer-to-int-cast",
60 } else if (is_mac || is_ios) {
61 libs = [ "CoreFoundation.framework" ]
62 } else if (is_android) {
64 "SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576",
65 "SQLITE_DEFAULT_AUTOVACUUM=1",
66 "SQLITE_TEMP_STORE=3",
67 "SQLITE_ENABLE_FTS3_BACKWARDS",
68 "DSQLITE_DEFAULT_FILE_FORMAT=4",
72 public_configs = [ ":sqlite_config" ]
80 executable("sqlite_shell") {
83 "src/src/shell_icu_linux.c",
85 # Include a dummy c++ file to force linking of libstdc++.
97 source_set("sqlite_regexp") {