blob: b44c335ef24d4a7dbd83bf85789a61b3f2457eee [file]
load("@rules_cc//cc:cc_library.bzl", "cc_library")
# The private headers under detail/ are not self-contained: the vendored copies
# of Boost.STLInterfaces and Boost.Text rely on macros and declarations their
# includer pulls in first, and the *_generated.hpp fragments are pasted into the
# middle of another header.
_TEXTUAL_HDRS = glob(["include/boost/parser/detail/**/*.hpp"])
cc_library(
name = "boost.parser",
hdrs = glob(["include/**/*.hpp"], exclude = _TEXTUAL_HDRS),
copts = select({
"@platforms//os:windows": ["/std:c++17"],
"//conditions:default": ["-std=c++17"],
}),
features = ["parse_headers"],
includes = ["include"],
textual_hdrs = _TEXTUAL_HDRS,
visibility = ["//visibility:public"],
deps = [
"@boost.assert",
"@boost.charconv",
"@boost.hana",
"@boost.type_index",
],
)