[package] name = "tracers-dyn-stap" version = "0.1.0" authors = ["Adam Nelson "] edition = "2018" license = "MIT OR Apache-2.0" description = """ Implements the dynamic probing API using `libstapsdt`, which in turn uses Linux SystemTap underneath. Do not use this crate directly. Always use the `tracers` crate and let it auto-detect which implementation to use. """ repository = "https://github.com/anelson/tracers" # This is a hack. Or maybe a workaround for a bug. # # It seems that Cargo does not pass variables to dependent crates using the DEP_(PKGNAME)_(VARNAME) # env vars unless it thinks the crate is wrapping a native library. This package is definitely not # doing that, but setting this in the manifest ensures that the downstream dependency `tracers` build.rs # can query the variables produced by this `build.rs` to detect if stap is available for us or not # # This will be unnecessary once https://github.com/rust-lang/cargo/issues/3544 is implemented links = "tracers-dyn-stap" [features] # by default, building the stap provider is disabled. It must be explicitly enabled default = [] # if this feature is enabled, then the build.rs will try to build the stap provider's # dependencies, libstapstd-sys (and, transitively, libelf-sys). # if the build fails, this crate's build will still succeed, but the stap provider's code # will not be included in the resulting crate. # # The success or failure of the build will be communicated via a variable in cargo, # which dependent crates can resolve with DEP_TRACERS_STAP_SUCCEEDED enabled = ["tracers-libstapsdt-sys/enabled"] # If this feature is enabled, it implies `enabled`, and also will cause the build to fail if # the stap provider cannot be built required = ["tracers-libstapsdt-sys/required"] [dependencies] tracers-libstapsdt-sys = { path = "../tracers-libstapsdt-sys", version = "0.1.0", optional = true } failure = "0.1.6" once_cell = "1.2.0" [dependencies.tracers-core] path = "../tracers-core" version = "0.1.0" features = ["dynamic"] [build-dependencies] failure = "0.1.6" [dev-dependencies] quickcheck = "0.9.0" quickcheck_macros = "0.8.0" libc = "0.2.65"