blob: 7f2d82d71acd7e62bff86cf21ecdd5cf4ad635c0 [file] [log] [blame] [edit]
# 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("rules.gni")
go_library("bindings") {
sources = [
"//mojo/public/go/bindings/async_waiter.go",
"//mojo/public/go/bindings/connector.go",
"//mojo/public/go/bindings/decoder.go",
"//mojo/public/go/bindings/encoder.go",
"//mojo/public/go/bindings/interface.go",
"//mojo/public/go/bindings/invalid_handle.go",
"//mojo/public/go/bindings/message.go",
"//mojo/public/go/bindings/router.go",
"//mojo/public/go/bindings/stub.go",
"//mojo/public/go/bindings/util.go",
]
deps = [
":system",
]
}
go_library("system") {
sources = [
"//mojo/public/go/system/core.go",
"//mojo/public/go/system/data_pipe.go",
"//mojo/public/go/system/handle.go",
"//mojo/public/go/system/message_pipe.go",
"//mojo/public/go/system/mojo_types.go",
"//mojo/public/go/system/shared_buffer.go",
"//mojo/public/go/system/system.go",
"//mojo/public/go/system/system_android.go",
"//mojo/public/go/system/system_linux.go",
"//mojo/public/go/system/system_nacl.go",
]
}
go_library("platform_cgo") {
sources = [
"//mojo/public/platform/native_cgo/system_cgo.go",
]
}
if (is_android) {
group("go") {
deps = [
":go_sample_app",
]
}
go_shared_library("go_sample_app") {
sources = [
"sample_app/app.go",
]
deps = [
":bindings",
":platform_cgo",
"//mojo/public/c/system",
"//mojo/public/platform/native:system",
]
}
} else if (is_linux) {
group("go") {
testonly = true
deps = [
":system_test",
]
}
go_test_binary("system_test") {
sources = [
"tests/async_waiter_test.go",
"tests/encoding_test.go",
"tests/interface_test.go",
"tests/message_test.go",
"tests/router_test.go",
"tests/system_test.go",
"tests/testutil.go",
"tests/testutil_test.go",
"tests/validation_test.go",
]
static_library_sources = [
"c_embedder/c_embedder.cc",
"c_embedder/c_embedder.h",
]
deps = [
":bindings",
":platform_cgo",
"//mojo/edk/system",
"//mojo/public/interfaces/bindings/tests:test_interfaces",
]
}
}