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