OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 declare_args() { | 5 declare_args() { |
6 # Controls whether the build should uses the version of sqlite3 library | 6 # Controls whether the build should uses the version of sqlite3 library |
7 # shipped with the system (currently only supported on iOS) or the one | 7 # shipped with the system (currently only supported on iOS) or the one |
8 # shipped with Chromium source. | 8 # shipped with Chromium source. |
9 use_system_sqlite = is_ios | 9 use_system_sqlite = is_ios |
10 } | 10 } |
11 | 11 |
12 if (!use_system_sqlite) { | 12 if (!use_system_sqlite) { |
13 config("sqlite_config") { | 13 config("sqlite_config") { |
14 if (is_component_build && is_win) { | |
15 defines += [ | |
16 "SQLITE_API=__declspec(dllimport)", | |
17 ] | |
18 } | |
19 include_dirs = [ "." ] | 14 include_dirs = [ "." ] |
20 } | 15 } |
21 | 16 |
22 component("sqlite") { | 17 source_set("sqlite") { |
23 sources = [ | 18 sources = [ |
24 "amalgamation/sqlite3.c", | 19 "amalgamation/sqlite3.c", |
25 "amalgamation/sqlite3.h", | 20 "amalgamation/sqlite3.h", |
26 ] | 21 ] |
27 | 22 |
28 cflags = [] | 23 cflags = [] |
29 defines = [ | 24 defines = [ |
30 "SQLITE_ENABLE_FTS3", | 25 "SQLITE_ENABLE_FTS3", |
31 "SQLITE_DISABLE_FTS3_UNICODE", | 26 "SQLITE_DISABLE_FTS3_UNICODE", |
32 "SQLITE_DISABLE_FTS4_DEFERRED", | 27 "SQLITE_DISABLE_FTS4_DEFERRED", |
33 "SQLITE_ENABLE_ICU", | 28 "SQLITE_ENABLE_ICU", |
34 "SQLITE_ENABLE_MEMORY_MANAGEMENT", | 29 "SQLITE_ENABLE_MEMORY_MANAGEMENT", |
35 "SQLITE_SECURE_DELETE", | 30 "SQLITE_SECURE_DELETE", |
36 "SQLITE_SEPARATE_CACHE_POOLS", | 31 "SQLITE_SEPARATE_CACHE_POOLS", |
37 "THREADSAFE", | 32 "THREADSAFE", |
38 ] | 33 ] |
39 if (is_component_build) { | |
40 if (is_win) { | |
41 defines += [ | |
42 "SQLITE_API=__declspec(dllexport)", | |
43 ] | |
44 } else { | |
45 defines += [ | |
46 "SQLITE_API=__attribute__((visibility(\"default\")))", | |
47 ] | |
48 } | |
49 } | |
50 if (is_chromeos) { | 34 if (is_chromeos) { |
51 defines += [ | 35 defines += [ |
52 # Despite obvious warnings about not using this flag in deployment, we | 36 # Despite obvious warnings about not using this flag in deployment, we |
53 # are turning off sync in ChromeOS and relying on the underlying | 37 # are turning off sync in ChromeOS and relying on the underlying |
54 # journaling filesystem to do error recovery properly. It's much faster. | 38 # journaling filesystem to do error recovery properly. It's much faster. |
55 "SQLITE_NO_SYNC", | 39 "SQLITE_NO_SYNC", |
56 ] | 40 ] |
57 } | 41 } |
58 if (is_posix) { | 42 if (is_posix) { |
59 defines += [ | 43 defines += [ |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 } | 78 } |
95 } | 79 } |
96 configs -= [ "//build/config/compiler:chromium_code" ] | 80 configs -= [ "//build/config/compiler:chromium_code" ] |
97 configs += [ "//build/config/compiler:no_chromium_code" ] | 81 configs += [ "//build/config/compiler:no_chromium_code" ] |
98 configs += [ ":sqlite_warnings" ] | 82 configs += [ ":sqlite_warnings" ] |
99 | 83 |
100 if (is_linux) { | 84 if (is_linux) { |
101 libs = [ "dl" ] | 85 libs = [ "dl" ] |
102 } else if (is_mac || is_ios) { | 86 } else if (is_mac || is_ios) { |
103 libs = [ "CoreFoundation.framework" ] | 87 libs = [ "CoreFoundation.framework" ] |
104 libs = [ "CoreServices.framework" ] | |
105 } else if (is_android) { | 88 } else if (is_android) { |
106 defines += [ | 89 defines += [ |
107 "SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576", | 90 "SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576", |
108 "SQLITE_DEFAULT_AUTOVACUUM=1", | 91 "SQLITE_DEFAULT_AUTOVACUUM=1", |
109 "SQLITE_TEMP_STORE=3", | 92 "SQLITE_TEMP_STORE=3", |
110 "SQLITE_ENABLE_FTS3_BACKWARDS", | 93 "SQLITE_ENABLE_FTS3_BACKWARDS", |
111 "DSQLITE_DEFAULT_FILE_FORMAT=4", | 94 "DSQLITE_DEFAULT_FILE_FORMAT=4", |
112 ] | 95 ] |
113 } | 96 } |
114 | 97 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 "//third_party/icu", | 164 "//third_party/icu", |
182 ] | 165 ] |
183 if (is_clang) { | 166 if (is_clang) { |
184 # src/ext/icu/icu.c uses assert(!"string") which causes warnings about | 167 # src/ext/icu/icu.c uses assert(!"string") which causes warnings about |
185 # conversion from string literal to bool. | 168 # conversion from string literal to bool. |
186 configs -= [ "//build/config/clang:extra_warnings" ] | 169 configs -= [ "//build/config/clang:extra_warnings" ] |
187 } | 170 } |
188 } | 171 } |
189 } | 172 } |
190 } | 173 } |
OLD | NEW |