summaryrefslogtreecommitdiffstats
path: root/storage/moz.build
blob: 3d8b15e9c7f3f67bc61ffc72db5f28fe2f44ba06 (plain)
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# -*- Mode: python; 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/.

with Files("**"):
    BUG_COMPONENT = ("Toolkit", "Storage")

DIRS += ["build"]

TEST_DIRS += ["test"]

XPIDL_SOURCES += [
    "mozIStorageAsyncConnection.idl",
    "mozIStorageAsyncStatement.idl",
    "mozIStorageBaseStatement.idl",
    "mozIStorageBindingParams.idl",
    "mozIStorageBindingParamsArray.idl",
    "mozIStorageCompletionCallback.idl",
    "mozIStorageConnection.idl",
    "mozIStorageError.idl",
    "mozIStorageFunction.idl",
    "mozIStoragePendingStatement.idl",
    "mozIStorageProgressHandler.idl",
    "mozIStorageResultSet.idl",
    "mozIStorageRow.idl",
    "mozIStorageService.idl",
    "mozIStorageStatement.idl",
    "mozIStorageStatementCallback.idl",
    "mozIStorageVacuumParticipant.idl",
    "mozIStorageValueArray.idl",
]

XPIDL_MODULE = "storage"

EXPORTS += [
    "mozStorageHelper.h",
]

EXPORTS.mozilla += [
    "storage.h",
]

# NOTE When adding something to this list, you probably need to add it to the
#      storage.h file too.
EXPORTS.mozilla.storage += [
    "mozStorageAsyncStatementParams.h",
    "mozStorageStatementParams.h",
    "mozStorageStatementRow.h",
    "SQLiteMutex.h",
    "StatementCache.h",
    "Variant.h",
    "Variant_inl.h",
]
# SEE ABOVE NOTE!

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",
    "ObfuscatingVFS.cpp",
    "ReadOnlyNoLockVFS.cpp",
    "SQLCollations.cpp",
    "StorageBaseStatementInternal.cpp",
    "TelemetryVFS.cpp",
    "VacuumManager.cpp",
    "Variant.cpp",
]

# These files need to be built separately because they #include variantToSQLiteT_impl.h.
SOURCES += [
    "mozStorageBindingParams.cpp",
    "mozStorageConnection.cpp",
]

include("/ipc/chromium/chromium-config.mozbuild")

FINAL_LIBRARY = "xul"

# Thunderbird needs the 2-argument version of fts3_tokenizer()
if CONFIG["MOZ_THUNDERBIRD"] or CONFIG["MOZ_SUITE"]:
    DEFINES["MOZ_SQLITE_FTS3_TOKENIZER"] = 1

# 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 += [
    "/dom/base",
    "/third_party/sqlite3/src",
]

CXXFLAGS += CONFIG["SQLITE_CFLAGS"]

REQUIRES_UNIFIED_BUILD = True