1212
1313package (default_visibility = ["//visibility:public" ])
1414
15+ load ("@bazel_skylib//lib:selects.bzl" , "selects" )
1516load ("@bazel_skylib//rules:common_settings.bzl" , "string_flag" )
1617
1718exports_files ([
@@ -22,6 +23,7 @@ exports_files([
2223#
2324# Config & Platform support
2425#
26+
2527config_setting (
2628 name = "linux" ,
2729 constraint_values = ["@platforms//os:linux" ],
@@ -39,11 +41,91 @@ config_setting(
3941 flag_values = {"@bazel_tools//tools/cpp:compiler" : "msvc-cl" },
4042)
4143
44+ #
45+ # Rust Feature Flags
46+ #
47+
4248string_flag (
4349 name = "feature_dev_permissions" ,
4450 build_setting_default = "auto" ,
4551 visibility = ["//visibility:public" ],
4652)
53+ config_setting (
54+ name = "dev_permissions_auto" ,
55+ flag_values = {
56+ "//:feature_dev_permissions" : "auto" ,
57+ },
58+ )
59+ config_setting (
60+ name = "dev_permissions_enabled" ,
61+ flag_values = {
62+ "//:feature_dev_permissions" : "on" ,
63+ },
64+ )
65+ # NOTE: while this seems superfluous, it is the pattern for cases where *_auto is on by default;
66+ # therefore this target is introduced to keep all feature flags consistent
67+ selects .config_setting_group (
68+ name = "cfg_feature_dev_permissions" ,
69+ match_any = [
70+ "//:dev_permissions_enabled" ,
71+ ],
72+ )
73+
74+ string_flag (
75+ name = "feature_logger_log" ,
76+ build_setting_default = "auto" ,
77+ visibility = ["//visibility:public" ],
78+ )
79+ config_setting (
80+ name = "logger_log_auto" ,
81+ flag_values = {
82+ "//:feature_logger_log" : "auto" ,
83+ },
84+ )
85+ config_setting (
86+ name = "logger_log_enabled" ,
87+ flag_values = {
88+ "//:feature_logger_log" : "on" ,
89+ },
90+ )
91+ # NOTE: while this seems superfluous, it is the pattern for cases where *_auto is on by default;
92+ # therefore this target is introduced to keep all feature flags consistent
93+ selects .config_setting_group (
94+ name = "cfg_feature_logger_log" ,
95+ match_any = [
96+ ":logger_log_enabled" ,
97+ ],
98+ )
99+
100+ string_flag (
101+ name = "feature_logger_tracing" ,
102+ build_setting_default = "auto" ,
103+ visibility = ["//visibility:public" ],
104+ )
105+ config_setting (
106+ name = "logger_tracing_auto" ,
107+ flag_values = {
108+ "//:feature_logger_tracing" : "auto" ,
109+ },
110+ )
111+ config_setting (
112+ name = "logger_tracing_enabled" ,
113+ flag_values = {
114+ "//:feature_logger_tracing" : "on" ,
115+ },
116+ )
117+ # NOTE: while this seems superfluous, it is the pattern for cases where *_auto is on by default;
118+ # therefore this target is introduced to keep all feature flags consistent
119+ selects .config_setting_group (
120+ name = "cfg_feature_logger_tracing" ,
121+ match_any = [
122+ ":logger_tracing_enabled" ,
123+ ],
124+ )
125+
126+ #
127+ # Alias
128+ #
47129
48130alias (
49131 name = "iceoryx2" ,
@@ -75,6 +157,10 @@ alias(
75157 visibility = ["//visibility:public" ],
76158)
77159
160+ #
161+ # all_srcs
162+ #
163+
78164filegroup (
79165 name = "all_srcs" ,
80166 srcs = glob ([
0 commit comments