gecko-dev/toolkit/library/rust/gkrust-features.mozbuild
Lina Cambridge 8caa2f7986 Bug 1634191 - Wire up Golden Gate to the new Rust extension storage interface. r=markh
This commit adds syncing support to the `StorageSyncArea` class, via
the Golden Gate library.

It also changes the `BridgedEngine` trait: `initialize` and `finalize`
haven't been useful in practice, since that's managed by the storage
service, and the `LazyStore` takes care of setting up the storage
connection on first use. But, what we do need is a way to signal a
sync is starting, so that the engine can set up temp tables. That's
handled by the new `sync_started`.

Finally, this commit changes `BridgedEngine::set_uploaded` to take a
`sync15_traits::Guid` instead of a `String`.

Differential Revision: https://phabricator.services.mozilla.com/D73415
2020-05-05 06:59:32 +00:00

84 lines
2.5 KiB
Python

# -*- Mode: python; c-basic-offset: 4; 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/.
gkrust_features = []
if CONFIG['MOZ_DEBUG']:
gkrust_features += [
'gecko_debug',
'gecko_refcount_logging',
]
gkrust_features += ['quantum_render', 'webgpu']
if CONFIG['MOZ_WEBRENDER_DEBUGGER']:
gkrust_features += ['webrender_debugger']
if CONFIG['MOZ_PULSEAUDIO']:
gkrust_features += ['cubeb_pulse_rust']
if CONFIG['MOZ_AUDIOUNIT_RUST']:
gkrust_features += ['cubeb_coreaudio_rust']
if CONFIG['MOZ_RUST_SIMD']:
gkrust_features += ['simd-accel']
# This feature is not yet supported on all platforms, and this check needs to
# match MOZ_CUBEB_REMOTING in CubebUtils.cpp.
if (CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TARGET'] != 'Android') or CONFIG['OS_ARCH'] == 'Darwin' or (CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['CPU_ARCH'] != 'aarch64'):
gkrust_features += ['cubeb-remoting']
if CONFIG['MOZ_MEMORY']:
gkrust_features += ['moz_memory']
if CONFIG['MOZ_PLACES']:
gkrust_features += ['moz_places']
if CONFIG['ENABLE_WASM_CRANELIFT']:
gkrust_features += ['spidermonkey_rust']
if CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
gkrust_features += ['cranelift_x86']
elif CONFIG['JS_CODEGEN_ARM']:
gkrust_features += ['cranelift_arm32']
elif CONFIG['JS_CODEGEN_ARM64']:
gkrust_features += ['cranelift_arm64']
else:
gkrust_features += ['cranelift_none']
if CONFIG['JS_ENABLE_SMOOSH']:
gkrust_features += ['smoosh']
if CONFIG['MOZ_GECKO_PROFILER']:
gkrust_features += ['gecko_profiler']
if CONFIG['MOZ_GECKO_PROFILER_PARSE_ELF']:
gkrust_features += ['gecko_profiler_parse_elf']
if CONFIG['MOZ_BITS_DOWNLOAD']:
gkrust_features += ['bitsdownload']
if CONFIG['MOZ_NEW_XULSTORE']:
gkrust_features += ['new_xulstore']
if CONFIG['MOZ_NEW_CERT_STORAGE']:
gkrust_features += ['new_cert_storage']
if CONFIG['FUZZING_INTERFACES']:
gkrust_features += ['fuzzing_interfaces']
if CONFIG['MOZ_WEBRTC']:
gkrust_features += ['webrtc']
if CONFIG['ENABLE_REMOTE_AGENT']:
gkrust_features += ['remote_agent']
if CONFIG['MOZ_GLEAN']:
gkrust_features += ['glean']
if CONFIG['MOZ_USING_WASM_SANDBOXING']:
gkrust_features += ['wasm_library_sandboxing']
if CONFIG['MOZ_NEW_WEBEXT_STORAGE']:
gkrust_features += ['new_webext_storage']