[package]
name = "anki"
version = "0.0.0"
authors = ["Ankitects Pty Ltd and contributors <https://help.ankiweb.net>"]
build = "build.rs"
edition = "2021"
license = "AGPL-3.0-or-later"
publish = false
rust-version = "1.64"

[dependencies]
pyembed = { path = "./PyOxidizer/pyembed", default-features = false }

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

[dependencies.jemallocator]
version = "0.5"
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 = []
