chromium/chrome/android/modules/cablev2_authenticator/internal/BUILD.gn

# Copyright 2020 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/android/rules.gni")
import("//chrome/android/modules/buildflags.gni")
import("//third_party/jni_zero/jni_zero.gni")

android_library("java") {
  sources = [ "java/src/org/chromium/chrome/modules/cablev2_authenticator/ModuleImpl.java" ]
  deps = [
    "//chrome/android/features/cablev2_authenticator:java",
    "//chrome/android/modules/cablev2_authenticator/public:java",
    "//third_party/androidx:androidx_fragment_fragment_java",
  ]
}

# This group is effectively alias representing the module's native code,
# allowing it to be named "native" for clarity in module descriptors. The
# component target must be named according to the feature, so that the
# component build's .cr.co library is named properly (ie.
# libcablev2_authenticator.cr.so).
group("native") {
  deps = [ ":cablev2_authenticator" ]
}

component_with_jni("cablev2_authenticator") {
  java_targets = [ ":java" ]
  sources = [ "entrypoints.cc" ]
  deps = [
    "//base",
    "//chrome/android/features/cablev2_authenticator:native",
    "//third_party/jni_zero",
  ]

  # caBLE v2 authenticator native entrypoints belong in the partition.
  if (use_native_partitions) {
    cflags = [ "-fsymbol-partition=cablev2_authenticator_partition" ]
  }
  manual_jni_registration = true
  namespace = "cablev2_authenticator"
  module_name = "cablev2_authenticator"
}