chromium/chromeos/services/machine_learning/public/mojom/BUILD.gn

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

import("//mojo/public/tools/bindings/mojom.gni")

mojom_component("mojom") {
  sources = [
    "document_scanner.mojom",
    "grammar_checker.mojom",
    "graph_executor.mojom",
    "handwriting_recognizer.mojom",
    "heatmap_palm_rejection.mojom",
    "image_content_annotation.mojom",
    "machine_learning_service.mojom",
    "model.mojom",
    "tensor.mojom",
    "text_classifier.mojom",
    "text_suggester.mojom",
    "web_platform_handwriting.mojom",
  ]

  public_deps = [
    ":document_scanner_param_types",
    ":soda",
    "//mojo/public/mojom/base",
  ]

  deps = [
    "//components/ml/mojom",
    "//ui/gfx/geometry/mojom",
  ]

  output_prefix = "mlservice_mojom"
  macro_prefix = "MLSERVICE_MOJOM"
}

mojom("soda") {
  sources = [ "soda.mojom" ]

  deps = [ "//mojo/public/mojom/base" ]

  webui_module_path = "/"

  # ChromeOS relies heavily on old legacy bindings.
  generate_legacy_js_bindings = true

  export_class_attribute = "COMPONENT_EXPORT(MLSERVICE_MOJOM)"
  export_define = "IS_MLSERVICE_MOJOM_IMPL=1"
  export_header = "base/component_export.h"

  export_class_attribute_shared = "COMPONENT_EXPORT(MLSERVICE_MOJOM_SHARED)"
  export_define_shared = "IS_MLSERVICE_MOJOM_SHARED_IMPL=1"
}

mojom("document_scanner_param_types") {
  sources = [ "document_scanner_param_types.mojom" ]
  webui_module_path = "/chromeos/services/machine_learning/public/mojom"

  # ChromeOS relies heavily on old legacy bindings.
  generate_legacy_js_bindings = true
}