1+ load ("@bazel_skylib//rules:native_binary.bzl" , "native_binary" )
12load ("@rules_foreign_cc//foreign_cc:defs.bzl" , "cmake" )
3+ load ("@rules_cc//cc:defs.bzl" , "cc_import" )
4+ load ("@rules_rust_bindgen//:defs.bzl" , "rust_bindgen_toolchain" )
25
36filegroup (
47 name = "srcs" ,
@@ -38,7 +41,6 @@ CMAKE_FLAGS = {
3841 "SNMALLOC_OPTIMISE_FOR_CURRENT_MACHINE" : "ON" ,
3942 "SNMALLOC_USE_SELF_VENDORED_STL" : "OFF" ,
4043 "SNMALLOC_IPO" : "ON" ,
41- "USE_SNMALLOC_STATS" : "ON" ,
4244} | select ({
4345 ":release_with_debug" : {"CMAKE_BUILD_TYPE" : "RelWithDebInfo" },
4446 ":release" : {"CMAKE_BUILD_TYPE" : "Release" },
@@ -65,10 +67,11 @@ cmake(
6567 ],
6668 postfix_script = "ninja" ,
6769 visibility = ["//visibility:public" ],
70+ alwayslink = True ,
6871)
6972
7073cmake (
71- name = "snmalloc-rs " ,
74+ name = "snmalloc-rust-support " ,
7275 cache_entries = CMAKE_FLAGS | {
7376 "SNMALLOC_RUST_SUPPORT" : "ON" ,
7477 },
@@ -87,5 +90,39 @@ cmake(
8790 "libsnmalloc-new-override.a" ,
8891 ],
8992 postfix_script = "ninja" ,
93+ visibility = ["//src/snmalloc_rs:__pkg__" ],
94+ alwayslink = True ,
95+ )
96+
97+ alias (
98+ name = "snmalloc_rs" ,
99+ actual = "//src/snmalloc_rs" ,
90100 visibility = ["//visibility:public" ],
91101)
102+
103+ native_binary (
104+ name = "clang" ,
105+ src = "@llvm_toolchain_llvm//:bin/clang" ,
106+ visibility = ["//snmalloc_rs:__subpackages__" ],
107+ )
108+
109+ cc_import (
110+ name = "libclang" ,
111+ shared_library = "@llvm_toolchain_llvm//:libclang" ,
112+ visibility = ["//snmalloc_rs:__subpackages__" ],
113+ )
114+
115+ rust_bindgen_toolchain (
116+ name = "rust_bindgen_toolchain" ,
117+ bindgen = "@rules_rust_bindgen//3rdparty:bindgen" ,
118+ clang = ":clang" ,
119+ libclang = ":libclang" ,
120+ visibility = ["//snmalloc_rs:__subpackages__" ],
121+ )
122+
123+ toolchain (
124+ name = "default_bindgen_toolchain" ,
125+ toolchain = ":rust_bindgen_toolchain" ,
126+ toolchain_type = "@rules_rust_bindgen//:toolchain_type" ,
127+ visibility = ["//snmalloc_rs:__subpackages__" ],
128+ )
0 commit comments