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.h",
12 "amalgamation/sqlite3.c",
14 # fts2.c currently has a lot of conflicts when added to
15 # the amalgamation. It is probably not worth fixing that.
16 "src/ext/fts2/fts2.c",
17 "src/ext/fts2/fts2.h",
18 "src/ext/fts2/fts2_hash.c",
19 "src/ext/fts2/fts2_hash.h",
20 "src/ext/fts2/fts2_icu.c",
21 "src/ext/fts2/fts2_porter.c",
22 "src/ext/fts2/fts2_tokenizer.c",
23 "src/ext/fts2/fts2_tokenizer.h",
24 "src/ext/fts2/fts2_tokenizer1.c",
30 "SQLITE_ENABLE_BROKEN_FTS2",
34 "SQLITE_ENABLE_MEMORY_MANAGEMENT",
35 "SQLITE_SECURE_DELETE",
36 "SQLITE_SEPARATE_CACHE_POOLS",
42 # Despite obvious warnings about not using this flag in deployment, we
43 # are turning off sync in ChromeOS and relying on the underlying
44 # journaling filesystem to do error recovery properly. It's much faster.
50 # Allow xSleep() call on Unix to use usleep() rather than sleep(), so it
51 # will have microsecond precision. Should only affect contended databases
52 # via the busy callback. Browser profile databases are mostly exclusive,
53 # but renderer databases may allow for contention.
60 "src/src", # Needed for fts2 to build.
63 configs -= [ "//build/config/compiler:chromium_code" ]
64 configs += [ "//build/config/compiler:no_chromium_code" ]
67 cflags += [ "/wd4267" ] # Conversion from size_t to "type".
68 } else if (is_linux) {
70 # SQLite doesn"t believe in compiler warnings,
72 # http://www.sqlite.org/faq.html#q17
73 "-Wno-int-to-pointer-cast",
74 "-Wno-pointer-to-int-cast",
77 } else if (is_mac || is_ios) {
78 libs = [ "CoreFoundation.framework" ]
79 } else if (is_android) {
81 "SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576",
82 "SQLITE_DEFAULT_AUTOVACUUM=1",
83 "SQLITE_TEMP_STORE=3",
84 "SQLITE_ENABLE_FTS3_BACKWARDS",
85 "DSQLITE_DEFAULT_FILE_FORMAT=4",
91 # sqlite does `if (*a++ && *b++);` in a non-buggy way.
94 # sqlite has some `unsigned < 0` checks.
95 "-Wno-tautological-compare",
97 # Needed because we don't have this commit yet:
98 # https://github.com/mackyle/sqlite/commit/25df0fa050dcc9be7fb937b8e25be24049b3fef0
99 "-Wno-pointer-bool-conversion",
103 public_configs = [ ":sqlite_config" ]
111 executable("sqlite_shell") {
114 "src/src/shell_icu_linux.c",
116 # Include a dummy c++ file to force linking of libstdc++.
128 source_set("sqlite_regexp") {