2020-02-25 00:07:13 -08:00
|
|
|
load("//tools/bazel:rust.bzl", "rust_library", "rust_test")
|
2020-02-22 22:46:03 -08:00
|
|
|
|
|
|
|
rust_test(
|
|
|
|
name = "test",
|
2020-09-24 08:49:03 -04:00
|
|
|
size = "small",
|
2020-02-22 22:46:03 -08:00
|
|
|
srcs = ["test.rs"],
|
|
|
|
deps = [":cxx_test_suite"],
|
|
|
|
)
|
|
|
|
|
|
|
|
rust_library(
|
|
|
|
name = "cxx_test_suite",
|
2020-05-08 02:16:29 -07:00
|
|
|
srcs = [
|
|
|
|
"ffi/lib.rs",
|
|
|
|
"ffi/module.rs",
|
|
|
|
],
|
2020-02-22 22:46:03 -08:00
|
|
|
deps = [
|
|
|
|
":impl",
|
|
|
|
"//:cxx",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "impl",
|
|
|
|
srcs = [
|
|
|
|
"ffi/tests.cc",
|
2020-05-08 02:16:29 -07:00
|
|
|
":gen-lib-source",
|
|
|
|
":gen-module-source",
|
2020-02-22 22:46:03 -08:00
|
|
|
],
|
|
|
|
hdrs = ["ffi/tests.h"],
|
2020-09-01 22:35:24 -07:00
|
|
|
include_prefix = "cxx-test-suite",
|
|
|
|
strip_include_prefix = "ffi",
|
2020-02-22 22:46:03 -08:00
|
|
|
deps = [
|
2020-05-08 02:16:29 -07:00
|
|
|
":lib-include",
|
2020-02-22 22:46:03 -08:00
|
|
|
"//:core",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
2020-05-08 02:16:29 -07:00
|
|
|
name = "gen-lib-header",
|
2020-02-22 22:46:03 -08:00
|
|
|
srcs = ["ffi/lib.rs"],
|
2020-03-17 19:09:29 -07:00
|
|
|
outs = ["lib.rs.h"],
|
2020-02-22 22:46:03 -08:00
|
|
|
cmd = "$(location //:codegen) --header $< > $@",
|
|
|
|
tools = ["//:codegen"],
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
2020-05-08 02:16:29 -07:00
|
|
|
name = "gen-lib-source",
|
2020-02-22 22:46:03 -08:00
|
|
|
srcs = ["ffi/lib.rs"],
|
2020-05-08 02:16:29 -07:00
|
|
|
outs = ["lib.rs.cc"],
|
2020-02-22 22:46:03 -08:00
|
|
|
cmd = "$(location //:codegen) $< > $@",
|
|
|
|
tools = ["//:codegen"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
2020-05-08 02:16:29 -07:00
|
|
|
name = "lib-include",
|
|
|
|
hdrs = [":gen-lib-header"],
|
2020-09-01 22:35:24 -07:00
|
|
|
include_prefix = "cxx-test-suite",
|
2020-02-22 22:46:03 -08:00
|
|
|
)
|
2020-05-08 02:16:29 -07:00
|
|
|
|
|
|
|
genrule(
|
|
|
|
name = "gen-module-source",
|
|
|
|
srcs = ["ffi/module.rs"],
|
|
|
|
outs = ["module.rs.cc"],
|
|
|
|
cmd = "$(location //:codegen) $< > $@",
|
|
|
|
tools = ["//:codegen"],
|
|
|
|
)
|