[package] name = "Occlum" version = "0.30.0" edition = "2021" [lib] name = "occlum_libos_core_rs" crate-type = ["staticlib"] [dependencies] atomic = "0.5" bitflags = "1.0" bitvec = { version = "1", default-features = false, features = ["alloc"] } log = "0.4" aligned = "0.4.1" lazy_static = { version = "1.1.0", features = ["spin_no_std"] } # Implies nightly derive_builder = "0.9" ringbuf = { path = "../../deps/ringbuf" } rcore-fs = { path = "../../deps/sefs/rcore-fs" } rcore-fs-sefs = { path = "../../deps/sefs/rcore-fs-sefs" } rcore-fs-ramfs = { path = "../../deps/sefs/rcore-fs-ramfs" } rcore-fs-mountfs = { path = "../../deps/sefs/rcore-fs-mountfs" } rcore-fs-unionfs = { path = "../../deps/sefs/rcore-fs-unionfs" } rcore-fs-devfs = { path = "../../deps/sefs/rcore-fs-devfs" } resolv-conf = { path = "../../deps/resolv-conf" } serde = { path = "../../deps/serde-sgx/serde", features = ["derive"] } serde_json = { path = "../../deps/serde-json-sgx" } memoffset = "0.6.1" scroll = { version = "0.11.0", default-features = false } itertools = { version = "0.10.0", default-features = false, features = ["use_alloc"] } ctor = "0.1" regex = { git = "https://github.com/mesalock-linux/regex-sgx", default-features = false, features = ["std", "unicode", "mesalock_sgx"] } goblin = { version = "0.5.4", default-features = false, features = ["elf64", "elf32", "endian_fd"] } intrusive-collections = "0.9" spin = "0.7" modular-bitfield = "0.11.2" [patch.'https://github.com/apache/teaclave-sgx-sdk.git'] sgx_tstd = { path = "../../deps/rust-sgx-sdk/sgx_tstd" } [features] default = ["integrity_only_opt", "sgx_file_cache", "sgx1_exception_sim"] syscall_timing = [] # Timing for each syscall. But it has cost from more ocall. integrity_only_opt = [] # Clear bss only. It should be disabled if checking memory reads. sgx_file_cache = [] # Cache SgxFile objects. Invalidation is unimplemented. sgx1_exception_sim = [] # Simulate #PF and #GP exceptions on SGX 1 dcap = [] # DCAP support. The compilation relies on DCAP package. cov = ["sgx_cov"] # Enable coverage colletcion. hyper_mode = [] # For running in hyper mode. pku = [] # PKU Support sim_mode = [] # For running in SGX simulation mode [target.'cfg(not(target_env = "sgx"))'.dependencies] sgx_types = { path = "../../deps/rust-sgx-sdk/sgx_types" } sgx_tstd = { path = "../../deps/rust-sgx-sdk/sgx_tstd", features = ["backtrace"] } sgx_trts = { path = "../../deps/rust-sgx-sdk/sgx_trts" } sgx_tse = { path = "../../deps/rust-sgx-sdk/sgx_tse" } sgx_tcrypto = { path = "../../deps/rust-sgx-sdk/sgx_tcrypto" } sgx_cov = { path = "../../deps/rust-sgx-sdk/sgx_cov", optional = true }