summaryrefslogtreecommitdiffstats
path: root/third_party/rust/clang-sys/build/macros.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/clang-sys/build/macros.rs')
-rw-r--r--third_party/rust/clang-sys/build/macros.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/third_party/rust/clang-sys/build/macros.rs b/third_party/rust/clang-sys/build/macros.rs
new file mode 100644
index 0000000000..b70aa6897e
--- /dev/null
+++ b/third_party/rust/clang-sys/build/macros.rs
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: Apache-2.0
+
+macro_rules! test {
+ () => (cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok());
+}
+
+macro_rules! target_os {
+ ($os:expr) => {
+ if cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok() {
+ let var = ::std::env::var("_CLANG_SYS_TEST_OS");
+ var.map_or(false, |v| v == $os)
+ } else {
+ cfg!(target_os = $os)
+ }
+ };
+}
+
+macro_rules! target_pointer_width {
+ ($pointer_width:expr) => {
+ if cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok() {
+ let var = ::std::env::var("_CLANG_SYS_TEST_POINTER_WIDTH");
+ var.map_or(false, |v| v == $pointer_width)
+ } else {
+ cfg!(target_pointer_width = $pointer_width)
+ }
+ };
+}
+
+macro_rules! target_env {
+ ($env:expr) => {
+ if cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok() {
+ let var = ::std::env::var("_CLANG_SYS_TEST_ENV");
+ var.map_or(false, |v| v == $env)
+ } else {
+ cfg!(target_env = $env)
+ }
+ };
+}