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