1 // SPDX-License-Identifier: Apache-2.0
2 
3 macro_rules! test {
4     () => (cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok());
5 }
6 
7 macro_rules! target_os {
8     ($os:expr) => {
9         if cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok() {
10             let var = ::std::env::var("_CLANG_SYS_TEST_OS");
11             var.map_or(false, |v| v == $os)
12         } else {
13             cfg!(target_os = $os)
14         }
15     };
16 }
17 
18 macro_rules! target_pointer_width {
19     ($pointer_width:expr) => {
20         if cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok() {
21             let var = ::std::env::var("_CLANG_SYS_TEST_POINTER_WIDTH");
22             var.map_or(false, |v| v == $pointer_width)
23         } else {
24             cfg!(target_pointer_width = $pointer_width)
25         }
26     };
27 }
28 
29 macro_rules! target_env {
30     ($env:expr) => {
31         if cfg!(test) && ::std::env::var("_CLANG_SYS_TEST").is_ok() {
32             let var = ::std::env::var("_CLANG_SYS_TEST_ENV");
33             var.map_or(false, |v| v == $env)
34         } else {
35             cfg!(target_env = $env)
36         }
37     };
38 }
39