kimchi_napi/
build_info.rs1use std::sync::atomic::{AtomicU64, Ordering};
2
3use napi_derive::napi;
4
5#[cfg(target_os = "windows")]
6#[napi]
7pub const OS_NAME: &str = "Windows";
8
9#[cfg(target_os = "linux")]
10#[napi]
11pub const OS_NAME: &str = "Linux";
12
13#[cfg(target_os = "macos")]
14#[napi]
15pub const OS_NAME: &str = "macOS";
16
17#[cfg(target_arch = "x86_64")]
18#[napi]
19pub const ARCH_NAME: &str = "x86_64";
20
21#[cfg(target_arch = "arm")]
22#[napi]
23pub const ARCH_NAME: &str = "ARM";
24
25#[cfg(target_arch = "aarch64")]
26#[napi]
27pub const ARCH_NAME: &str = "AArch64";
28
29#[napi]
30pub const BACKING: &str = "native";
31
32static NATIVE_CALLS: AtomicU64 = AtomicU64::new(0);
33
34#[napi]
35pub fn get_native_calls() -> u64 {
36 NATIVE_CALLS.load(Ordering::Relaxed)
37}
38
39pub(crate) fn _report_native_call() {
40 NATIVE_CALLS.fetch_add(1, Ordering::Relaxed);
41}