toxcore/BUILD.bazel
jfreegman 7a6d50ebe3
Install header for private/experimental API functions
This allows client developers to use the private API without
needing to manually specify the header path in the source
code, which may vary from system to system.
2023-12-07 13:02:18 -05:00

40 lines
1.1 KiB
Python

load("@rules_cc//cc:defs.bzl", "cc_library")
load("//tools/project:build_defs.bzl", "project")
project()
genrule(
name = "public_headers",
srcs = [
"//c-toxcore/toxav:toxav.h",
"//c-toxcore/toxcore:tox.h",
"//c-toxcore/toxcore:tox_private.h",
"//c-toxcore/toxencryptsave:toxencryptsave.h",
],
outs = [
"tox/toxav.h",
"tox/tox.h",
"tox/tox_private.h",
"tox/toxencryptsave.h",
],
cmd = """
cp $(location //c-toxcore/toxav:toxav.h) $(GENDIR)/c-toxcore/tox/toxav.h
cp $(location //c-toxcore/toxcore:tox.h) $(GENDIR)/c-toxcore/tox/tox.h
cp $(location //c-toxcore/toxcore:tox_private.h) $(GENDIR)/c-toxcore/tox/tox_private.h
cp $(location //c-toxcore/toxencryptsave:toxencryptsave.h) $(GENDIR)/c-toxcore/tox/toxencryptsave.h
""",
visibility = ["//visibility:public"],
)
cc_library(
name = "c-toxcore",
hdrs = [":public_headers"],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
"//c-toxcore/toxav",
"//c-toxcore/toxcore",
"//c-toxcore/toxencryptsave",
],
)