eed6168a3b
It claims to accept most GNU linker options, but in fact most of them have no effect and instead it requires some special options which are easier to handle in a separate trait. Currently added: - `export_symbols`: works on executables as special Emscripten case since staticlibs/dylibs aren't compiled to JS, while exports are required to be accessible from JS. Fixes #39171. - `optimize` - translates Rust's optimization level to Emscripten optimization level (whether passed via `-C opt-level=...` or `-O...`). Fixes #36899. - `debuginfo` - translates debug info; Emscripten has 5 debug levels while Rust has 3, so chose to translate `-C debuginfo=1` to `-g3` (preserves whitespace, variable and function names for easy debugging). Fixes #36901. - `no_default_libraries` - tells Emscripten to exlude `memcpy` and co.
28 lines
890 B
TOML
28 lines
890 B
TOML
[package]
|
|
authors = ["The Rust Project Developers"]
|
|
name = "rustc_trans"
|
|
version = "0.0.0"
|
|
|
|
[lib]
|
|
name = "rustc_trans"
|
|
path = "lib.rs"
|
|
crate-type = ["dylib"]
|
|
test = false
|
|
|
|
[dependencies]
|
|
flate = { path = "../libflate" }
|
|
log = { path = "../liblog" }
|
|
rustc = { path = "../librustc" }
|
|
rustc_back = { path = "../librustc_back" }
|
|
rustc_bitflags = { path = "../librustc_bitflags" }
|
|
rustc_const_eval = { path = "../librustc_const_eval" }
|
|
rustc_const_math = { path = "../librustc_const_math" }
|
|
rustc_data_structures = { path = "../librustc_data_structures" }
|
|
rustc_errors = { path = "../librustc_errors" }
|
|
rustc_incremental = { path = "../librustc_incremental" }
|
|
rustc_llvm = { path = "../librustc_llvm" }
|
|
rustc_platform_intrinsics = { path = "../librustc_platform_intrinsics" }
|
|
serialize = { path = "../libserialize" }
|
|
syntax = { path = "../libsyntax" }
|
|
syntax_pos = { path = "../libsyntax_pos" }
|