blob: 92591528319db1b5092fb57feefbe9f41ad796d7 [file] [log] [blame]
# pybind11 - Seamless operability between C++11 and Python.
load("@rules_cc//cc:defs.bzl", "cc_library")
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
exports_files(["LICENSE"])
OPTIONS = select({
":msvc_compiler": [],
"//conditions:default": [
"-fexceptions",
# Useless warnings
"-Xclang-only=-Wno-undefined-inline",
"-Xclang-only=-Wno-pragma-once-outside-header",
"-Xgcc-only=-Wno-error", # no way to just disable the pragma-once warning in gcc
],
})
INCLUDES = [
"include/pybind11/**/*.h",
]
EXCLUDES = [
# Deprecated file that just emits a warning
"include/pybind11/common.h",
]
cc_library(
name = "pybind11",
hdrs = glob(
INCLUDES,
exclude = EXCLUDES,
),
copts = OPTIONS,
includes = ["include"],
deps = ["@local_config_python//:python_headers"],
)
cc_library(
name = "pybind11_embed",
hdrs = glob(
INCLUDES,
exclude = EXCLUDES,
),
copts = OPTIONS,
includes = ["include"],
deps = ["@local_config_python//:python_embed"],
)
config_setting(
name = "msvc_compiler",
flag_values = {"@bazel_tools//tools/cpp:compiler": "msvc-cl"},
)
config_setting(
name = "osx",
constraint_values = ["@platforms//os:osx"],
)