Index: third_party/sqlite/BUILD.gn |
diff --git a/third_party/sqlite/BUILD.gn b/third_party/sqlite/BUILD.gn |
index 866c2449101283f3c98644074a7f009372f102b1..9745c5778724328ba4715f19472b7047b7ef932c 100644 |
--- a/third_party/sqlite/BUILD.gn |
+++ b/third_party/sqlite/BUILD.gn |
@@ -11,10 +11,15 @@ declare_args() { |
if (!use_system_sqlite) { |
config("sqlite_config") { |
+ if (is_component_build && is_win) { |
+ defines += [ |
+ "SQLITE_API=__declspec(dllimport)", |
+ ] |
+ } |
include_dirs = [ "." ] |
} |
- source_set("sqlite") { |
+ component("sqlite") { |
sources = [ |
"amalgamation/sqlite3.c", |
"amalgamation/sqlite3.h", |
@@ -31,6 +36,17 @@ if (!use_system_sqlite) { |
"SQLITE_SEPARATE_CACHE_POOLS", |
"THREADSAFE", |
] |
+ if (is_component_build) { |
+ if (is_win) { |
+ defines += [ |
+ "SQLITE_API=__declspec(dllexport)", |
+ ] |
+ } else { |
+ defines += [ |
+ "SQLITE_API=__attribute__((visibility(\"default\")))", |
+ ] |
+ } |
+ } |
if (is_chromeos) { |
defines += [ |
# Despite obvious warnings about not using this flag in deployment, we |
@@ -85,6 +101,7 @@ if (!use_system_sqlite) { |
libs = [ "dl" ] |
} else if (is_mac || is_ios) { |
libs = [ "CoreFoundation.framework" ] |
+ libs = [ "CoreServices.framework" ] |
} else if (is_android) { |
defines += [ |
"SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576", |