summaryrefslogtreecommitdiffstats
path: root/third_party/rust/hyper/src/cfg.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/rust/hyper/src/cfg.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/third_party/rust/hyper/src/cfg.rs b/third_party/rust/hyper/src/cfg.rs
new file mode 100644
index 0000000000..71a5351d21
--- /dev/null
+++ b/third_party/rust/hyper/src/cfg.rs
@@ -0,0 +1,44 @@
+macro_rules! cfg_feature {
+ (
+ #![$meta:meta]
+ $($item:item)*
+ ) => {
+ $(
+ #[cfg($meta)]
+ #[cfg_attr(docsrs, doc(cfg($meta)))]
+ $item
+ )*
+ }
+}
+
+macro_rules! cfg_proto {
+ ($($item:item)*) => {
+ cfg_feature! {
+ #![all(
+ any(feature = "http1", feature = "http2"),
+ any(feature = "client", feature = "server"),
+ )]
+ $($item)*
+ }
+ }
+}
+
+cfg_proto! {
+ macro_rules! cfg_client {
+ ($($item:item)*) => {
+ cfg_feature! {
+ #![feature = "client"]
+ $($item)*
+ }
+ }
+ }
+
+ macro_rules! cfg_server {
+ ($($item:item)*) => {
+ cfg_feature! {
+ #![feature = "server"]
+ $($item)*
+ }
+ }
+ }
+}