Rust has the ability to check configuration at build time with, e.g., #[cfg(target_os = \"linux\")] or if cfg!(target_os = \"linux\") {...}, where
The "Conditional compilation" section of the Reference has a list of configurations that must be defined (as of Rust 1.14):
target_arch with values like:
x86 x86_64mipspowerpcpowerpc64armaarch64target_os with values like:
windowsmacosioslinuxandroidfreebsddragonflybitrigopenbsdnetbsdtarget_family with values like:
unixwindowsunix (shortcut for target_family)windows (shortcut for target_family)target_env with values like:
gnumsvcmusl"" (empty string)target_endian with values:
littlebigtarget_pointer_width with values like:
3264target_has_atomic with values like:
8163264ptrtarget_vendor with values like:
applepcunknowntestdebug_assertions