Cargo Features
[dependencies]
eyra = { version = "0.19.1", default-features = false, features = ["std", "threadsafe-setenv", "log", "atomic-dbg-logger", "env_logger", "max_level_off", "experimental-relocate", "be-std", "extra-syscalls", "todo", "deprecated-and-unimplemented", "eh-personality", "eh-personality-continue", "panic-handler", "panic-handler-trap", "global-allocator"] }
- default = be-std, threadsafe-setenv
-
These default features are set whenever
eyra
is added without
somewhere in the dependency tree.default-features = false - std be-std env_logger?
-
Enable features that depend on std. Disable this for
no_std
. - threadsafe-setenv default
-
This makes
setenv
and friends thread-safe by leaking memory.Enables threadsafe-setenv of c-gull
- log
-
Enable logging of program and thread startup and shutdown.
- atomic-dbg-logger
-
Install
atomic_dbg::log
as a logger.Enables atomic-dbg-logger of c-gull
- env_logger = std
-
Install the
env_logger
crate as a logger.Enables env_logger of c-gull
- max_level_off
-
Disable logging.
Enables max_level_off of c-gull
- experimental-relocate
-
Enable experimental support for performing startup-time relocations, needed to support statically-linked PIE executables.
Enables experimental-relocate of c-gull
- be-std default = std
-
Have eyra do
use std::*;
so that it can be used asstd
. - extra-syscalls
-
This extends the
syscall
function with suppport for more syscalls. This is not enabled by default because it increases the code size ofsyscall
by several kibibytes and isn't needed by most Rust programs.Enables extra-syscalls of c-gull
- todo
-
Enable
todo!()
stubs for unimplemented functions. - deprecated-and-unimplemented
-
Enable
unimplemented!()
stubs for deprecated functions.Enables deprecated-and-unimplemented of c-gull
- eh-personality
-
Provide a
#[lang = eh_personality]
function suitable for unwinding (for no-std).If you know your program never unwinds and want smaller code size, use "eh-personality-continue" instead.
This is only needed in no-std builds, as std provides a personality. See the "personality" feature of the unwinding crate for more details.
Enables eh-personality of c-gull
- eh-personality-continue
-
Provide a
#[lang = eh_personality]
function that just returnsCONTINUE_UNWIND
(for no-std). Use this if you know your program will never unwind and don't want any extra code.Enables eh-personality-continue of c-gull
- panic-handler
-
Provide a
#[panic_handler]
function suitable for unwinding (for no-std).If you know your program never panics and want smaller code size, use "panic-handler-trap" instead.
This is only needed in no-std builds, as std provides a panic handler. See the "panic-handler" feature of the unwinding crate for more details.
Enables panic-handler of c-gull
- panic-handler-trap
-
Provide a
#[panic_handler]
function that just traps (for no-std). Use this if you know your program will never panic and don't want any extra code.Enables panic-handler-trap of c-gull
- global-allocator
-
Provide a
#[global_allocator]
function (for no-std).This is only needed in no-std builds, as std provides a global allocator. Alternatively, you can define the global allocator manually; see the example-crates/custom-allocator example.
Enables global-allocator of c-gull