Added support for building with prof. (#1)

This commit is contained in:
Vincent Tsao 2025-04-25 16:22:10 -07:00 committed by Connor McEntee
parent 8949bbe68a
commit 48e68dfc84
9 changed files with 191 additions and 56 deletions

View file

@ -1,10 +1,11 @@
load("@bazel_skylib//rules:common_settings.bzl", "bool_setting", "string_setting")
package(default_visibility = ["//:__subpackages__"])
# JEMALLOC_JET - Explicitly used for testing
bool_setting(
name = "enable_jet",
build_setting_default = False,
visibility = ["//:__subpackages__"],
)
config_setting(
@ -17,7 +18,6 @@ config_setting(
bool_setting(
name = "enable_no_private_namespace",
build_setting_default = False,
visibility = ["//:__subpackages__"],
)
config_setting(
@ -35,7 +35,6 @@ string_setting(
"integration",
"integration_cpp",
],
visibility = ["//:__subpackages__"],
)
# JEMALLOC_UNIT_TEST

View file

@ -1,5 +1,7 @@
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "int_flag", "string_flag", "string_setting")
package(default_visibility = ["//:__subpackages__"])
### Bazel-ification of optional flags accepted by ./configure ###
# JEMALLOC_CACHE_OBLIVIOUS
@ -135,7 +137,6 @@ string_setting(
name = "jemalloc_cprefix",
build_setting_default = "",
make_variable = "JEMALLOC_CPREFIX",
visibility = ["//:__subpackages__"],
)
# LG_QUANTUM Base 2 log of minimum allocation alignment (--with-lg-quantum), -1 is undefined for resolution internal
@ -180,3 +181,51 @@ config_setting(
name = "zone_allocator",
flag_values = {":enable_zone_allocator": "yes"},
)
# JEMALLOC_PROF
bool_flag(
name = "enable_prof",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "prof",
flag_values = {":enable_prof": "True"},
)
# JEMALLOC_PROF_LIBUNWIND
bool_flag(
name = "enable_prof_libunwind",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "prof_libunwind",
flag_values = {":enable_prof_libunwind": "True"},
)
# JEMALLOC_PROF_LIBGCC
bool_flag(
name = "enable_prof_libgcc",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "prof_libgcc",
flag_values = {":enable_prof_libgcc": "True"},
)
# JEMALLOC_PROF_GCC
bool_flag(
name = "enable_prof_gcc",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "prof_gcc",
flag_values = {":enable_prof_gcc": "True"},
)