storage/src/moz.build

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

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

mercurial