# -*- 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 += [ 'mozIStorageAggregateFunction.idl', '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', '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', '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 # See Sqlite moz.build for reasoning about TEMP_STORE. # For system sqlite we cannot use the compile time option, so we use a pragma. if CONFIG['MOZ_SYSTEM_SQLITE'] and (CONFIG['OS_TARGET'] == 'Android' or CONFIG['HAVE_64BIT_BUILD']): DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True LOCAL_INCLUDES += [ '/dom/base', '/third_party/sqlite3/src', ] CXXFLAGS += CONFIG['SQLITE_CFLAGS']