-
Notifications
You must be signed in to change notification settings - Fork 379
/
Copy pathadd_build_file.patch
65 lines (65 loc) · 1.66 KB
/
add_build_file.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
--- /dev/null
+++ BUILD.bazel
@@ -0,0 +1,62 @@
+config_setting(
+ name = "msvc_compiler",
+ flag_values = {"@bazel_tools//tools/cpp:compiler": "msvc-cl"},
+)
+
+config_setting(
+ name = "macos",
+ constraint_values = ["@platforms//os:macos"],
+ visibility = ["//visibility:public"],
+)
+
+cc_library(
+ name = "nanobind",
+ hdrs = glob(
+ include = [
+ "include/nanobind/*.h",
+ "include/nanobind/stl/*.h",
+ "include/nanobind/stl/detail/*.h",
+ ],
+ ),
+ srcs = [
+ "include/nanobind/stl/detail/nb_dict.h",
+ "include/nanobind/stl/detail/nb_list.h",
+ "include/nanobind/stl/detail/traits.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": ["/std:c++17"],
+ "//conditions:default": [
+ "--std=c++17",
+ "-fexceptions",
+ "-Os", # size optimization
+ "-flto", # enable LTO
+ ],
+ }),
+ linkopts = select({
+ ":macos": [
+ "-undefined dynamic_lookup",
+ "-Wl,-no_fixup_chains",
+ "-Wl,-dead_strip",
+ ],
+ "//conditions:default": [],
+ }),
+ includes = ["include"],
+ strip_include_prefix = "include",
+ deps = [
+ "@nanobind_python3_8//:python_headers",
+ "@robin-map//:robin-map",
+ ],
+ visibility = ["//visibility:public"],
+)
+