# 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/go/rules.gni")

if (is_android) {
  group("go") {
    deps = [
      ":go_sample_app",
    ]
  }
  go_shared_library("go_sample_app") {
    sources = [
      "sample_app/app.go",
    ]
    deps = [
      "//mojo/public/c/system",
      "//mojo/public/platform/native:system",
    ]
  }
} else if (is_linux) {
  group("go") {
    deps = [
      ":system_test",
    ]
  }
  go_test_binary("system_test") {
    sources = [
      "tests/message_test.go",
      "tests/system_test.go",
      "tests/testutil.go",
      "tests/testutil_test.go",
    ]
    static_library_sources = [
      "c_embedder/c_embedder.cc",
      "c_embedder/c_embedder.h",
    ]
    deps = [
      "//mojo/edk/system",
    ]
  }
}
