blob: fd90274017a897d64aaf04806551de64a7613bde [file] [log] [blame]
# Copyright 2017 The Fuchsia 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/go_binary.gni")
import("//build/go/go_test.gni")
import("//build/package.gni")
# These go dependencies are common to wlanstack and wlanstack_test
wlan_go_dependencies = [
{
package = "wlanstack"
source = "wlanstack"
},
{
package = "wlan/wlan"
source = "wlan"
},
{
package = "wlan/keywrap"
source = "keywrap"
},
{
package = "wlan/eapol"
source = "eapol"
},
{
package = "fidl"
source = "//garnet/public/lib/fidl/go/src/fidl"
},
{
package = "netstack/link/eth"
source = "//garnet/go/src/netstack/link/eth"
},
{
package = "github.com/google/netstack"
source = "//third_party/netstack"
},
{
package = "netstack/watcher"
source = "//garnet/go/src/netstack/watcher"
},
{
package = "app"
source = "//garnet/public/lib/app/go/src/app"
},
{
package = "svc"
source = "//garnet/public/lib/svc/go/src/svc"
},
{
package = "garnet/public/lib/wlan/fidl"
source = "$root_gen_dir/go/src/garnet/public/lib/wlan/fidl"
},
{
package = "garnet/public/lib/app/fidl"
source = "$root_gen_dir/go/src/garnet/public/lib/app/fidl"
},
{
package = "garnet/public/lib/netstack/fidl"
source = "$root_gen_dir/go/src/garnet/public/lib/netstack/fidl"
},
{
source = "//third_party/golang/crypto"
package = "golang.org/x/crypto"
},
]
go_test("keywrap_test_bin") {
output_name = "keywrap_test"
gopackage = "wlan/keywrap"
# TODO(hahnr): This program has a smaller dependency set in practice, its go_dependencies list
# should be updated to match the code.
go_dependencies = wlan_go_dependencies
}
go_test("elements_test_bin") {
output_name = "elements_test"
gopackage = "wlan/wlan/elements"
go_dependencies = [ {
package = "wlan/wlan/elements"
source = "wlan/elements"
} ]
}
go_test("eapol_handshake_test_bin") {
output_name = "eapol_handshake_test"
gopackage = "wlan/eapol/handshake"
deps = [
"//garnet/public/lib/wlan/fidl",
"//garnet/public/lib/wlan/fidl:mlme",
]
go_dependencies = [
{
package = "fidl"
source = "//garnet/public/lib/fidl/go/src/fidl"
},
{
package = "garnet/public/lib/wlan/fidl"
source = "$root_gen_dir/go/src/garnet/public/lib/wlan/fidl"
},
{
package = "wlan/wlan"
source = "wlan"
},
{
package = "wlan/eapol"
source = "eapol"
},
{
package = "wlan/keywrap"
source = "keywrap"
},
{
source = "//third_party/golang/crypto"
package = "golang.org/x/crypto"
},
]
}
go_test("eapol_crypto_test_bin") {
output_name = "eapol_crypto_test"
gopackage = "wlan/eapol/crypto"
go_dependencies = [
{
package = "wlan/eapol/crypto"
source = "eapol/crypto"
},
{
source = "//third_party/golang/crypto"
package = "golang.org/x/crypto"
},
]
}
go_binary("wlanstack_bin") {
output_name = "wlanstack"
gopackage = "wlanstack"
deps = [
"//garnet/public/lib/netstack/fidl",
"//garnet/public/lib/wlan/fidl",
"//garnet/public/lib/wlan/fidl:mlme",
]
go_dependencies = wlan_go_dependencies
}
go_binary("wlantool_bin") {
output_name = "wlan"
gopackage = "wlantool"
deps = [
"//garnet/public/lib/app/fidl",
"//garnet/public/lib/netstack/fidl",
"//garnet/public/lib/wlan/fidl",
]
go_dependencies = [
{
package = "wlantool"
source = "wlantool"
},
{
package = "app"
source = "//garnet/public/lib/app/go/src/app"
},
{
package = "svc"
source = "//garnet/public/lib/svc/go/src/svc"
},
{
package = "fidl"
source = "//garnet/public/lib/fidl/go/src/fidl"
},
{
package = "garnet/public/lib/wlan/fidl"
source = "$root_gen_dir/go/src/garnet/public/lib/wlan/fidl"
},
{
package = "garnet/public/lib/app/fidl"
source = "$root_gen_dir/go/src/garnet/public/lib/app/fidl"
},
{
package = "garnet/public/lib/netstack/fidl"
source = "$root_gen_dir/go/src/garnet/public/lib/netstack/fidl"
},
]
}
go_test("wlanstack_test_bin") {
output_name = "wlanstack_test"
gopackage = "wlan/wlan"
deps = [
"//garnet/public/lib/netstack/fidl",
"//garnet/public/lib/wlan/fidl:mlme",
]
go_dependencies = wlan_go_dependencies
}
package("wlanstack") {
system_image = true
deps = [
":wlanstack_bin",
]
binaries = [ {
name = "wlanstack"
} ]
resources = [ {
path = rebase_path("default.json")
dest = "wlanstack/config.json"
} ]
}
package("wlantool") {
system_image = true
deps = [
":wlantool_bin",
]
binaries = [ {
name = "wlan"
} ]
}
package("wlanstack_test") {
system_image = true
deps = [
":eapol_crypto_test_bin",
":eapol_handshake_test_bin",
":elements_test_bin",
":keywrap_test_bin",
":wlanstack_test_bin",
]
tests = [
{
name = "elements_test"
},
{
name = "eapol_crypto_test"
},
{
name = "eapol_handshake_test"
},
{
name = "wlanstack_test"
},
{
name = "keywrap_test"
},
]
}