[package]
name = "anki"
version = "0.1.0"
build = "build.rs"
edition = "2021"

[target.'cfg(windows)'.dependencies]
winapi = {version = "0.3", features = ["wincon"]}
libc = "0.2"
libc-stdhandle = "=0.1.0"

[dependencies.pyembed]
git = "https://github.com/ankitects/PyOxidizer.git"
# when changing this, pyoxidizer in /repos.bzl needs to be updated as well
rev = "eb26dd7cd1290de6503869f3d719eabcec45e139"
default-features = false

[dependencies.jemallocator]
version = "0.3"
optional = true

[dependencies.mimalloc]
version = "0.1"
optional = true
features = ["local_dynamic_tls", "override", "secure"]

[dependencies.snmalloc-rs]
version = "0.2"
optional = true

[build-dependencies]
embed-resource = "1.6"

[features]
default = ["build-mode-standalone"]

global-allocator-jemalloc = ["jemallocator"]
global-allocator-mimalloc = ["mimalloc"]
global-allocator-snmalloc = ["snmalloc-rs"]

allocator-jemalloc = ["pyembed/allocator-jemalloc"]
allocator-mimalloc = ["pyembed/allocator-mimalloc"]
allocator-snmalloc = ["pyembed/allocator-snmalloc"]

# Build this crate in isolation, without using PyOxidizer.
build-mode-standalone = []

# Build this crate by executing a `pyoxidizer` executable to build
# required artifacts.
build-mode-pyoxidizer-exe = []

# Build this crate by reusing artifacts generated by `pyoxidizer` out-of-band.
# In this mode, the PYOXIDIZER_ARTIFACT_DIR environment variable can refer
# to the directory containing build artifacts produced by `pyoxidizer`. If not
# set, OUT_DIR will be used.
build-mode-prebuilt-artifacts = []
