Rollup merge of #56435 - RalfJung:libstd-without-c, r=alexcrichton

make the C part of compiler-builtins opt-out

I'd like to be able to use Xargo to build a libstd without having a full C toolchain for the target.  This is a start (but the fact that libstd is a dylib is still a problem).

However, compiler_builtin already has somewhat similar logic to not require a C compiler for wasm:

fe74674f6e/build.rs (L36-L41)

(WTF GitHub, why doesn't this show an embedded code preview??)

I wonder if there is a way to not have two separate mechanisms? Like, move the above wasm logic to some place that controls the libstd feature, or so? Or is it okay to have these two mechanisms co-exist?

Cc @alexcrichton
This commit is contained in:
kennytm 2018-12-03 18:07:19 +08:00 committed by GitHub
commit 21433f2812
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View file

@ -43,9 +43,12 @@ cc = "1.0"
build_helper = { path = "../build_helper" }
[features]
default = ["compiler_builtins_c"]
backtrace = []
panic-unwind = ["panic_unwind"]
profiler = ["profiler_builtins"]
compiler_builtins_c = ["compiler_builtins/c"]
# Make panics and failed asserts immediately abort without formatting any message
panic_immediate_abort = ["core/panic_immediate_abort"]

View file

@ -34,7 +34,7 @@ cc = "1.0.1"
[features]
c = []
default = ["c", "rustbuild", "compiler-builtins"]
default = ["rustbuild", "compiler-builtins"]
mem = []
rustbuild = []
compiler-builtins = []