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 default-features = false somewhere in the dependency tree.

std be-std env_logger?

Enable features that depend on std. Disable this for no_std.

Enables std of c-gull

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.

Enables log of c-gull

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 as std.

extra-syscalls

This extends the syscall function with suppport for more syscalls. This is not enabled by default because it increases the code size of syscall by several kibibytes and isn't needed by most Rust programs.

Enables extra-syscalls of c-gull

todo

Enable todo!() stubs for unimplemented functions.

Enables todo of c-gull

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 returns CONTINUE_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