summaryrefslogtreecommitdiff
path: root/third-party/benchmark/bindings/python/build_defs.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'third-party/benchmark/bindings/python/build_defs.bzl')
-rw-r--r--third-party/benchmark/bindings/python/build_defs.bzl25
1 files changed, 25 insertions, 0 deletions
diff --git a/third-party/benchmark/bindings/python/build_defs.bzl b/third-party/benchmark/bindings/python/build_defs.bzl
new file mode 100644
index 000000000000..45907aaa5e2d
--- /dev/null
+++ b/third-party/benchmark/bindings/python/build_defs.bzl
@@ -0,0 +1,25 @@
+_SHARED_LIB_SUFFIX = {
+ "//conditions:default": ".so",
+ "//:windows": ".dll",
+}
+
+def py_extension(name, srcs, hdrs = [], copts = [], features = [], deps = []):
+ for shared_lib_suffix in _SHARED_LIB_SUFFIX.values():
+ shared_lib_name = name + shared_lib_suffix
+ native.cc_binary(
+ name = shared_lib_name,
+ linkshared = 1,
+ linkstatic = 1,
+ srcs = srcs + hdrs,
+ copts = copts,
+ features = features,
+ deps = deps,
+ )
+
+ return native.py_library(
+ name = name,
+ data = select({
+ platform: [name + shared_lib_suffix]
+ for platform, shared_lib_suffix in _SHARED_LIB_SUFFIX.items()
+ }),
+ )