diff options
Diffstat (limited to 'third_party/rust/clang-sys/build/macros.rs')
-rw-r--r-- | third_party/rust/clang-sys/build/macros.rs | 38 |
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)
+ }
+ };
+}
|