cfg_select! {
    any(
        all(target_os = "windows", not(target_vendor = "win7")),
        target_os = "linux",
        target_os = "android",
        all(target_family = "wasm", target_feature = "atomics"),
        target_os = "freebsd",
        target_os = "openbsd",
        target_os = "dragonfly",
        target_os = "fuchsia",
        target_os = "motor",
        target_os = "hermit",
    ) => {
        mod futex;
        pub use futex::Parker;
    }
    any(
        target_os = "netbsd",
        all(target_vendor = "fortanix", target_env = "sgx"),
        target_os = "solid_asp3",
    ) => {
        mod id;
        pub use id::Parker;
    }
    target_vendor = "win7" => {
        mod windows7;
        pub use windows7::Parker;
    }
    all(target_vendor = "apple", not(miri)) => {
        // Doesn't work in Miri, see <https://github.com/rust-lang/miri/issues/2589>.
        mod darwin;
        pub use darwin::Parker;
    }
    target_os = "xous" => {
        mod xous;
        pub use xous::Parker;
    }
    any(
        target_family = "unix",
        target_os = "teeos",
    ) => {
        mod pthread;
        pub use pthread::Parker;
    }
    _ => {
        mod unsupported;
        pub use unsupported::Parker;
    }
}
