# Copyright 2014 The Chromium Authors. All rights reserved.
# 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")

# GYP: //testing/android/native_test.gyp:native_test_native_code
source_set("native_test_native_code") {
  testonly = true
  sources = [
    "native_test_launcher.cc"
  ]
  deps = [
    ":native_test_jni_headers",
    ":native_test_util",
    "//base",
    "//base/test:test_support",
    "//base/third_party/dynamic_annotations",
    "//testing/gtest",
  ]
}

# GYP: //testing/android/native_test.gyp:native_test_jni_headers
generate_jni("native_test_jni_headers") {
  sources = [
    "java/src/org/chromium/native_test/ChromeNativeTestActivity.java",
  ]
  jni_package = "testing"
}

# GYP: //testing/android/native_test.gyp:native_test_util
source_set("native_test_util") {
  sources = [
    "native_test_util.cc",
    "native_test_util.h",
  ]
  deps = [
    "//base"
  ]
}
