Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Unified Diff: third_party/sqlite/sqlite.gyp

Issue 694353003: Get `gn gen` to succeed on Windows (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: remove GYP_DEFINES code Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/sqlite/sqlite.gyp
diff --git a/third_party/sqlite/sqlite.gyp b/third_party/sqlite/sqlite.gyp
new file mode 100644
index 0000000000000000000000000000000000000000..26bc36d4f0b00d667a2df865ddbd51bba88f3e70
--- /dev/null
+++ b/third_party/sqlite/sqlite.gyp
@@ -0,0 +1,222 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'use_system_sqlite%': 0,
+ 'required_sqlite_version': '3.6.1',
+ },
+ 'target_defaults': {
+ 'defines': [
+ 'SQLITE_CORE',
+ 'SQLITE_ENABLE_FTS3',
+ 'SQLITE_ENABLE_ICU',
+ 'SQLITE_ENABLE_MEMORY_MANAGEMENT',
+ 'SQLITE_SECURE_DELETE',
+ 'SQLITE_SEPARATE_CACHE_POOLS',
+ 'THREADSAFE',
+ '_HAS_EXCEPTIONS=0',
+ ],
+ },
+ 'targets': [
+ {
+ 'target_name': 'sqlite',
+ 'conditions': [
+ [ 'chromeos==1' , {
+ 'defines': [
+ # Despite obvious warnings about not using this flag
+ # in deployment, we are turning off sync in ChromeOS
+ # and relying on the underlying journaling filesystem
+ # to do error recovery properly. It's much faster.
+ 'SQLITE_NO_SYNC',
+ ],
+ },
+ ],
+ ['use_system_sqlite', {
+ 'type': 'none',
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'USE_SYSTEM_SQLITE',
+ ],
+ },
+
+ 'conditions': [
+ ['OS == "ios"', {
+ 'dependencies': [
+ 'sqlite_regexp',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/usr/lib/libsqlite3.dylib',
+ ],
+ },
+ }],
+ ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
+ 'direct_dependent_settings': {
+ 'cflags': [
+ # This next command produces no output but it it will fail
+ # (and cause GYP to fail) if we don't have a recent enough
+ # version of sqlite.
+ '<!@(pkg-config --atleast-version=<(required_sqlite_version) sqlite3)',
+
+ '<!@(pkg-config --cflags sqlite3)',
+ ],
+ },
+ 'link_settings': {
+ 'ldflags': [
+ '<!@(pkg-config --libs-only-L --libs-only-other sqlite3)',
+ ],
+ 'libraries': [
+ '<!@(pkg-config --libs-only-l sqlite3)',
+ ],
+ },
+ }],
+ ],
+ }, { # !use_system_sqlite
+ 'product_name': 'sqlite3',
+ 'type': 'static_library',
+ 'sources': [
+ 'amalgamation/sqlite3.h',
+ 'amalgamation/sqlite3.c',
+ ],
+
+ # TODO(shess): Previously fts1 and rtree files were
+ # explicitly excluded from the build. Make sure they are
+ # logically still excluded.
+
+ # TODO(shess): Should all of the sources be listed and then
+ # excluded? For editing purposes?
+
+ 'include_dirs': [
+ 'amalgamation',
+ ],
+ 'dependencies': [
+ '../icu/icu.gyp:icui18n',
+ '../icu/icu.gyp:icuuc',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '.',
+ '../..',
+ ],
+ },
+ 'msvs_disabled_warnings': [
+ 4018, 4244, 4267,
+ ],
+ 'variables': {
+ 'clang_warning_flags': [
+ # sqlite does `if (*a++ && *b++);` in a non-buggy way.
+ '-Wno-empty-body',
+ # sqlite has some `unsigned < 0` checks.
+ '-Wno-tautological-compare',
+ ],
+ },
+ 'conditions': [
+ ['OS=="linux"', {
+ 'link_settings': {
+ 'libraries': [
+ '-ldl',
+ ],
+ },
+ }],
+ ['OS == "mac" or OS == "ios"', {
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
+ ],
+ },
+ }],
+ ['OS == "android"', {
+ 'defines': [
+ 'HAVE_USLEEP=1',
+ 'SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576',
+ 'SQLITE_DEFAULT_AUTOVACUUM=1',
+ 'SQLITE_TEMP_STORE=3',
+ 'SQLITE_ENABLE_FTS3_BACKWARDS',
+ 'DSQLITE_DEFAULT_FILE_FORMAT=4',
+ ],
+ }],
+ ['os_posix == 1 and OS != "mac" and OS != "android"', {
+ 'cflags': [
+ # SQLite doesn't believe in compiler warnings,
+ # preferring testing.
+ # http://www.sqlite.org/faq.html#q17
+ '-Wno-int-to-pointer-cast',
+ '-Wno-pointer-to-int-cast',
+ ],
+ }],
+ # Enable feedback-directed optimisation for sqlite when building in android.
+ ['android_webview_build == 1', {
+ 'aosp_build_settings': {
+ 'LOCAL_FDO_SUPPORT': 'true',
+ },
+ }],
+ ['sqlite_enable_fts2', {
+ 'defines': [
+ 'SQLITE_ENABLE_BROKEN_FTS2',
+ 'SQLITE_ENABLE_FTS2',
+ ],
+ 'sources': [
+ # fts2.c currently has a lot of conflicts when added to
+ # the amalgamation. It is probably not worth fixing that.
+ 'src/ext/fts2/fts2.c',
+ 'src/ext/fts2/fts2.h',
+ 'src/ext/fts2/fts2_hash.c',
+ 'src/ext/fts2/fts2_hash.h',
+ 'src/ext/fts2/fts2_icu.c',
+ 'src/ext/fts2/fts2_porter.c',
+ 'src/ext/fts2/fts2_tokenizer.c',
+ 'src/ext/fts2/fts2_tokenizer.h',
+ 'src/ext/fts2/fts2_tokenizer1.c',
+ ],
+ 'include_dirs': [
+ 'src/src',
+ ],
+ }],
+ ],
+ }],
+ ],
+ 'includes': [
+ # Disable LTO due to ELF section name out of range
+ # crbug.com/422251
+ '../../build/android/disable_lto.gypi',
+ ],
+ },
+ ],
+ 'conditions': [
+ ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android" and not use_system_sqlite', {
+ 'targets': [
+ {
+ 'target_name': 'sqlite_shell',
+ 'type': 'executable',
+ 'dependencies': [
+ '../icu/icu.gyp:icuuc',
+ 'sqlite',
+ ],
+ 'sources': [
+ 'src/src/shell.c',
+ 'src/src/shell_icu_linux.c',
+ # Include a dummy c++ file to force linking of libstdc++.
+ 'build_as_cpp.cc',
+ ],
+ },
+ ],
+ },],
+ ['OS == "ios"', {
+ 'targets': [
+ {
+ 'target_name': 'sqlite_regexp',
+ 'type': 'static_library',
+ 'dependencies': [
+ '../icu/icu.gyp:icui18n',
+ '../icu/icu.gyp:icuuc',
+ ],
+ 'sources': [
+ 'src/ext/icu/icu.c',
+ ],
+ },
+ ],
+ }],
+ ],
+}

Powered by Google App Engine
This is Rietveld 408576698