moz.build (3342B)
1 # -*- Mode: python; 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 with Files("**"): 8 BUG_COMPONENT = ("Core", "SQLite and Embedded Database Bindings") 9 10 DIRS += ["build"] 11 12 TEST_DIRS += ["test"] 13 14 XPIDL_SOURCES += [ 15 "mozIStorageAsyncConnection.idl", 16 "mozIStorageAsyncStatement.idl", 17 "mozIStorageBaseStatement.idl", 18 "mozIStorageBindingParams.idl", 19 "mozIStorageBindingParamsArray.idl", 20 "mozIStorageCompletionCallback.idl", 21 "mozIStorageConnection.idl", 22 "mozIStorageError.idl", 23 "mozIStorageFunction.idl", 24 "mozIStoragePendingStatement.idl", 25 "mozIStorageProgressHandler.idl", 26 "mozIStorageResultSet.idl", 27 "mozIStorageRow.idl", 28 "mozIStorageService.idl", 29 "mozIStorageStatement.idl", 30 "mozIStorageStatementCallback.idl", 31 "mozIStorageVacuumParticipant.idl", 32 "mozIStorageValueArray.idl", 33 ] 34 35 XPIDL_MODULE = "storage" 36 37 EXPORTS += [ 38 "mozStorageHelper.h", 39 ] 40 41 EXPORTS.mozilla += [ 42 "storage.h", 43 ] 44 45 # NOTE When adding something to this list, you probably need to add it to the 46 # storage.h file too. 47 EXPORTS.mozilla.storage += [ 48 "mozStorageAsyncStatementParams.h", 49 "mozStorageStatementParams.h", 50 "mozStorageStatementRow.h", 51 "SQLiteMutex.h", 52 "StatementCache.h", 53 "Variant.h", 54 "Variant_inl.h", 55 ] 56 # SEE ABOVE NOTE! 57 58 UNIFIED_SOURCES += [ 59 "BaseVFS.cpp", 60 "FileSystemModule.cpp", 61 "mozStorageArgValueArray.cpp", 62 "mozStorageAsyncStatement.cpp", 63 "mozStorageAsyncStatementExecution.cpp", 64 "mozStorageAsyncStatementJSHelper.cpp", 65 "mozStorageAsyncStatementParams.cpp", 66 "mozStorageBindingParamsArray.cpp", 67 "mozStorageError.cpp", 68 "mozStoragePrivateHelpers.cpp", 69 "mozStorageResultSet.cpp", 70 "mozStorageRow.cpp", 71 "mozStorageService.cpp", 72 "mozStorageSQLFunctions.cpp", 73 "mozStorageStatement.cpp", 74 "mozStorageStatementJSHelper.cpp", 75 "mozStorageStatementParams.cpp", 76 "mozStorageStatementRow.cpp", 77 "ObfuscatingVFS.cpp", 78 "QuotaVFS.cpp", 79 "ReadOnlyNoLockVFS.cpp", 80 "SQLCollations.cpp", 81 "StorageBaseStatementInternal.cpp", 82 "VacuumManager.cpp", 83 "Variant.cpp", 84 ] 85 86 # These files need to be built separately because they #include variantToSQLiteT_impl.h. 87 SOURCES += [ 88 "mozStorageBindingParams.cpp", 89 "mozStorageConnection.cpp", 90 ] 91 92 include("/ipc/chromium/chromium-config.mozbuild") 93 94 FINAL_LIBRARY = "xul" 95 96 # Thunderbird needs the 2-argument version of fts3_tokenizer() 97 if CONFIG["MOZ_THUNDERBIRD"] or CONFIG["MOZ_SUITE"]: 98 DEFINES["MOZ_SQLITE_FTS3_TOKENIZER"] = 1 99 100 # Disable auxiliary files persistence if requested. 101 if not CONFIG["MOZ_AVOID_DISK_REMNANT_ON_CLOSE"]: 102 DEFINES["MOZ_SQLITE_PERSIST_AUXILIARY_FILES"] = 1 103 104 # The vector extension is enabled only for Firefox, it could be opened up 105 # to other products in the future. 106 if CONFIG["MOZ_BUILD_APP"] == "browser": 107 DEFINES["MOZ_SQLITE_VEC0_EXT"] = 1 108 109 LOCAL_INCLUDES += [ 110 "/dom/base", 111 "/third_party/sqlite3/ext", 112 "/third_party/sqlite3/src", 113 ] 114 115 if CONFIG["MOZ_FOLD_LIBS"]: 116 DEFINES["MOZ_FOLD_LIBS"] = True 117 118 CXXFLAGS += CONFIG["SQLITE_CFLAGS"] 119 120 SPHINX_TREES["/storage"] = "docs"