Add no_std support in module, simplejit, and umbrella.

This commit is contained in:
Dan Gohman
2018-04-18 17:39:43 -07:00
parent 5f84afee2c
commit 830ee60d28
7 changed files with 56 additions and 22 deletions

View File

@@ -12,12 +12,12 @@ build = "build.rs"
[dependencies]
cretonne-entity = { path = "../entity", version = "0.5.1", default-features = false }
failure = { version = "0.1.1", default-features = false, features = ["derive"] }
failure_derive = { version = "0.1.1", default-features = false }
# It is a goal of the cretonne-codegen crate to have minimal external dependencies.
# Please don't add any unless they are essential to the task of creating binary
# machine code. Integration tests that need external dependencies can be
# accomodated in `tests`.
failure = { version = "0.1.1", default-features = false, features = ["derive"] }
failure_derive = { version = "0.1.1", default-features = false }
[dependencies.hashmap_core]
version = "0.1.1"
@@ -28,7 +28,7 @@ optional = true
# of some minimal std-like replacement libraries. At least one of these two
# features to be enabled.
default = ["std"]
std = []
std = ["cretonne-entity/std"]
core = ["hashmap_core"]
[badges]

View File

@@ -23,6 +23,7 @@ use preopt::do_preopt;
use regalloc;
use result::{CtonError, CtonResult};
use settings::{FlagsOrIsa, OptLevel};
use std::vec::Vec;
use simple_gvn::do_simple_gvn;
use timing;
use unreachable_code::eliminate_unreachable_code;

View File

@@ -9,8 +9,17 @@ license = "Apache-2.0"
readme = "README.md"
[dependencies]
cretonne-codegen = { path = "../codegen", version = "0.5.1" }
cretonne-entity = { path = "../entity", version = "0.5.1" }
cretonne-codegen = { path = "../codegen", version = "0.5.1", default-features = false }
cretonne-entity = { path = "../entity", version = "0.5.1", default-features = false }
[dependencies.hashmap_core]
version = "0.1.1"
optional = true
[features]
default = ["std"]
std = ["cretonne-codegen/std", "cretonne-entity/std"]
core = ["hashmap_core", "cretonne-codegen/core"]
[badges]
maintenance = { status = "experimental" }

View File

@@ -9,13 +9,18 @@ license = "Apache-2.0"
readme = "README.md"
[dependencies]
cretonne-codegen = { path = "../codegen", version = "0.5.1" }
cretonne-module = { path = "../module", version = "0.5.1" }
cretonne-native = { path = "../native", version = "0.5.1" }
cretonne-codegen = { path = "../codegen", version = "0.5.1", default-features = false }
cretonne-module = { path = "../module", version = "0.5.1", default-features = false }
cretonne-native = { path = "../native", version = "0.5.1", default-features = false }
region = "0.2.0"
libc = "0.2.40"
libc = { version = "0.2.40", default-features = false }
errno = "0.2.3"
[features]
default = ["std"]
std = ["libc/use_std", "cretonne-codegen/std", "cretonne-module/std", "cretonne-native/std"]
core = ["cretonne-codegen/core", "cretonne-module/core", "cretonne-native/core"]
[badges]
maintenance = { status = "experimental" }
travis-ci = { repository = "Cretonne/cretonne" }

View File

@@ -10,8 +10,13 @@ readme = "README.md"
keywords = ["compile", "compiler", "jit"]
[dependencies]
cretonne-codegen = { path = "../codegen", version = "0.5.1" }
cretonne-frontend = { path = "../frontend", version = "0.5.1" }
cretonne-codegen = { path = "../codegen", version = "0.5.1", default-features = false }
cretonne-frontend = { path = "../frontend", version = "0.5.1", default-features = false }
[features]
default = ["std"]
std = ["cretonne-codegen/std", "cretonne-frontend/std"]
core = ["cretonne-codegen/core", "cretonne-frontend/core"]
[badges]
maintenance = { status = "experimental" }