# 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",
    ]
    static_library_sources = [
      "c_embedder/c_embedder.cc",
      "c_embedder/c_embedder.h",
    ]
    deps = [
      "//mojo/edk/system",
    ]
  }
}
