#![no_std]
#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")]
#[cfg(all(
feature = "asm-aarch64",
target_arch = "aarch64",
not(target_os = "linux")
))]
compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features.");
#[cfg(all(
feature = "asm-aarch64",
target_os = "linux",
not(target_arch = "aarch64")
))]
compile_error!(
"Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 Linux systems."
);
#[cfg(all(
not(feature = "asm-aarch64"),
feature = "asm",
target_arch = "aarch64",
target_os = "linux"
))]
compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm.");
extern crate block_buffer;
extern crate fake_simd as simd;
#[macro_use]
extern crate opaque_debug;
#[macro_use]
pub extern crate digest;
#[cfg(feature = "asm-aarch64")]
extern crate libc;
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
extern crate raw_cpuid;
#[cfg(feature = "asm")]
extern crate sha2_asm;
#[cfg(feature = "std")]
extern crate std;
mod consts;
#[cfg(feature = "asm-aarch64")]
mod aarch64;
mod platform;
mod sha256;
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
mod sha256_intrinsics;
mod sha256_utils;
mod sha512;
#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))]
mod sha512_utils;
pub use digest::Digest;
pub use sha256::{Sha224, Sha256};
pub use sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256};