Cargo.toml
author Andrew McCreight <continuation@gmail.com>
Wed, 24 Oct 2018 16:10:29 +0000
changeset 491183 70984251b17425dc35f140dbca8097064184afc5
parent 486980 537457dc2f47fa9436c5abb6b27977ae9727e059
permissions -rw-r--r--
Bug 1492584, part 1 - Eagerly initialize nsLayoutModule in the component manager. r=froydnj nsLayoutModule must be initialized in order to call into JS, but I don't want to have to rely on calling a service in that module. Instead, always initialize the module very early in component manager initialization. This also makes initialization more consistent, so things like errors in manifests won't affect when it happens, which can result in different behavior in different builds. I also made nsLayoutModule initialization infallible, because I can't imagine that we can do much that is useful without it. Another change I made is that gInitialized is set to true even in a GPU process. This simplifies checking whether initialization has happened already when we start up the layout module. Differential Revision: https://phabricator.services.mozilla.com/D9583

[workspace]

# These are the "root" crates, which we build and test as top-level targets.
# Their transitive dependencies and dev-dependencies are included automatically
# and do not need to be listed here. Their external dependencies are vendored
# into `third_party/rust` by `mach vendor rust`.
members = [
  "js/src",
  "js/src/rust",
  "js/src/wasm/cranelift",
  "js/rust",
  "js/src/frontend/binsource", # Code generator.
  "testing/geckodriver",
  "toolkit/crashreporter/rust",
  "toolkit/library/gtest/rust",
  "toolkit/library/rust/",
]

# Excluded crates may be built as dependencies, but won't be considered members
# of the workspace and their dev-dependencies won't be included.
exclude = [
  # Exclude third-party code vendored into mozilla-central.
  "gfx/webrender",
  "gfx/webrender_api",
  "gfx/webrender_bindings",
  "servo",
  "third_party/rust",

  # Excluded because this is a standalone tool for developers and not intended
  # to be built as part of mozilla-central and is not shipped to users.
  "gfx/wrench",

  # Excluded because these crates have their own Cargo workspaces so they can't
  # be included in the top-level one.
  "media/audioipc",
  "media/cubeb-rs",

  # Excluded because they are used only as dependencies, not top-level targets,
  # so we don't need to vendor their dev-dependencies.
  "dom/webauthn/u2f-hid-rs",
  "media/mp4parse-rust/mp4parse",
  "media/mp4parse-rust/mp4parse_capi",
  "media/mp4parse-rust/mp4parse_fallible",
]

# Explicitly specify what our profiles use.  The opt-level setting here is
# a total fiction; see the setup of MOZ_RUST_DEFAULT_FLAGS for what the
# opt-level setting will be as a result of various other configure flags.
[profile.dev]
opt-level = 1
rpath = false
lto = false
debug-assertions = true
panic = "abort"

[profile.release]
opt-level = 2
rpath = false
debug-assertions = false
panic = "abort"
codegen-units = 1

[patch.crates-io]
libudev-sys = { path = "dom/webauthn/libudev-sys" }
serde_derive = { git = "https://github.com/servo/serde", branch = "deserialize_from_enums8" }