|
|
-
- config_setting(
- name = "msvc_compiler",
- flag_values = {"@bazel_tools//tools/cpp:compiler": "msvc-cl"},
- )
-
- cc_library(
- name = "nanobind",
- hdrs = glob(
- include = [
- "include/nanobind/*.h",
- "include/nanobind/stl/*.h",
- "include/nanobind/detail/*.h",
- ],
- exclude = [],
- ),
- srcs = [
- "include/nanobind/stl/detail/nb_dict.h",
- "include/nanobind/stl/detail/nb_list.h",
- "include/nanobind/stl/detail/traits.h",
- "ext/robin_map/include/tsl/robin_map.h",
- "ext/robin_map/include/tsl/robin_hash.h",
- "ext/robin_map/include/tsl/robin_growth_policy.h",
- "ext/robin_map/include/tsl/robin_set.h",
- "src/buffer.h",
- "src/common.cpp",
- "src/error.cpp",
- "src/implicit.cpp",
- "src/nb_enum.cpp",
- "src/nb_func.cpp",
- "src/nb_internals.cpp",
- "src/nb_internals.h",
- "src/nb_ndarray.cpp",
- "src/nb_type.cpp",
- "src/trampoline.cpp",
- ],
- copts = select({
- ":msvc_compiler": [],
- "//conditions:default": [
- "-fexceptions",
- "-Os", # size optimization
- "-flto", # enable LTO
- ],
- }),
- linkopts = select({
- "@com_github_google_benchmark//:macos": [
- "-undefined dynamic_lookup",
- "-Wl,-no_fixup_chains",
- "-Wl,-dead_strip",
- ],
- "//conditions:default": [],
- }),
- includes = ["include", "ext/robin_map/include"],
- deps = ["@python_headers"],
- visibility = ["//visibility:public"],
- )
|