1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
EXPORTS.mozilla.storage += [
'Variant.h',
'Variant_inl.h',
]
UNIFIED_SOURCES += [
'FileSystemModule.cpp',
'mozStorageArgValueArray.cpp',
'mozStorageAsyncStatement.cpp',
'mozStorageAsyncStatementExecution.cpp',
'mozStorageAsyncStatementJSHelper.cpp',
'mozStorageAsyncStatementParams.cpp',
'mozStorageBindingParamsArray.cpp',
'mozStorageError.cpp',
'mozStoragePrivateHelpers.cpp',
'mozStorageResultSet.cpp',
'mozStorageRow.cpp',
'mozStorageService.cpp',
'mozStorageSQLFunctions.cpp',
'mozStorageStatement.cpp',
'mozStorageStatementJSHelper.cpp',
'mozStorageStatementParams.cpp',
'mozStorageStatementRow.cpp',
'SQLCollations.cpp',
'StorageBaseStatementInternal.cpp',
'TelemetryVFS.cpp',
'VacuumManager.cpp',
]
# These files need to be built separately because they #include variantToSQLiteT_impl.h.
SOURCES += [
'mozStorageBindingParams.cpp',
'mozStorageConnection.cpp',
]
FAIL_ON_WARNINGS = True
FINAL_LIBRARY = 'xul'
# Don't use the jemalloc allocator on Android, because we can't guarantee
# that Goanna will configure sqlite before it is first used (bug 730495).
#
# Don't use the jemalloc allocator when using system sqlite. Linked in libraries
# (such as NSS) might trigger an initialization of sqlite and allocation
# of memory using the default allocator, prior to the storage service
# registering its allocator, causing memory management failures (bug 938730).
# However, this is not an issue if both the jemalloc allocator and the default
# allocator are the same thing.
#
# Note: On Windows our sqlite build assumes we use jemalloc. If you disable
# MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef
# MOZ_MEMORY" options in db/sqlite3/src/Makefile.in.
if CONFIG['MOZ_MEMORY'] and (not CONFIG['MOZ_NATIVE_SQLITE']
or CONFIG['MOZ_NATIVE_JEMALLOC']):
if CONFIG['OS_TARGET'] != 'Android':
DEFINES['MOZ_STORAGE_MEMORY'] = True
# This is the default value. If we ever change it when compiling sqlite, we
# will need to change it here as well.
DEFINES['SQLITE_MAX_LIKE_PATTERN_LENGTH'] = 50000
LOCAL_INCLUDES += [
'/db/sqlite3/src',
'/dom/base',
]
CXXFLAGS += CONFIG['SQLITE_CFLAGS']
|