chromium/mojo/features.gni

# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/features.gni")
import("//build/config/sanitizers/sanitizers.gni")

declare_args() {
  mojo_use_apple_channel = is_mac || (is_ios && use_blink)

  # Builds non-ipcz-based Mojo Core. No longer supported anywhere but Chrome OS.
  # We check target_os instead of is_chromeos since this also needs to be set
  # when building NaCl binaries (is_nacl) for Chrome OS.
  #
  # When this is true, ipcz-based Mojo Core can be disabled by disabling the
  # MojoIpcz feature flag; and it's disabled by default on Chrome OS. When this
  # is false, ipcz-based Mojo Core is used unconditionally.
  #
  # We also enable this by default for fuzzer builds, since some active fuzzers
  # require the legacy implementation.
  mojo_support_legacy_core = target_os == "chromeos" || use_libfuzzer
}