cxx 0.2.2

Safe interop between Rust and C++
Documentation
rust_test(
    name = "test",
    srcs = ["test.rs"],
    deps = [":ffi"],
)

rust_library(
    name = "ffi",
    srcs = ["ffi/lib.rs"],
    crate = "cxx_test_suite",
    deps = [
        ":impl",
        "//:cxx",
    ],
)

cxx_library(
    name = "impl",
    srcs = [
        "ffi/tests.cc",
        ":gen-source",
    ],
    headers = {
        "ffi/lib.rs.h": ":gen-header",
        "ffi/tests.h": "ffi/tests.h",
    },
    deps = ["//:core"],
)

genrule(
    name = "gen-header",
    srcs = ["ffi/lib.rs"],
    cmd = "$(exe //:codegen) --header ${SRCS} > ${OUT}",
    out = "generated.h",
)

genrule(
    name = "gen-source",
    srcs = ["ffi/lib.rs"],
    cmd = "$(exe //:codegen) ${SRCS} > ${OUT}",
    out = "generated.cc",
)