diff options
| author | Richard Diamond <wichard@vitalitystudios.com> | 2015-09-11 10:58:04 -0500 |
|---|---|---|
| committer | Richard Diamond <wichard@vitalitystudios.com> | 2015-10-21 19:11:44 -0500 |
| commit | e497d4a4e2b245d0838932ae82ef9d0c945fac69 (patch) | |
| tree | d4fd0a8afcf348f0c6ffaa70baa457f2cab9f1bb /src/librustc_back | |
| parent | d3f497861d426c8724dd84f161ca21f274663963 (diff) | |
| download | rust-e497d4a4e2b245d0838932ae82ef9d0c945fac69.tar.gz rust-e497d4a4e2b245d0838932ae82ef9d0c945fac69.zip | |
Add the PNaCl/JS targets to the backend.
Diffstat (limited to 'src/librustc_back')
| -rw-r--r-- | src/librustc_back/target/le32_unknown_nacl.rs | 41 | ||||
| -rw-r--r-- | src/librustc_back/target/mod.rs | 4 |
2 files changed, 44 insertions, 1 deletions
diff --git a/src/librustc_back/target/le32_unknown_nacl.rs b/src/librustc_back/target/le32_unknown_nacl.rs new file mode 100644 index 00000000000..a5daebafda8 --- /dev/null +++ b/src/librustc_back/target/le32_unknown_nacl.rs @@ -0,0 +1,41 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use super::{Target, TargetOptions}; + +pub fn target() -> Target { + let opts = TargetOptions { + linker: "pnacl-clang".to_string(), + ar: "pnacl-ar".to_string(), + + pre_link_args: vec!("--pnacl-exceptions=sjlj".to_string(), + "--target=le32-unknown-nacl".to_string(), + "-Wl,--start-group".to_string()), + post_link_args: vec!("-Wl,--end-group".to_string()), + dynamic_linking: false, + executables: true, + exe_suffix: ".pexe".to_string(), + no_compiler_rt: false, + linker_is_gnu: true, + allow_asm: false, + archive_format: "gnu".to_string(), + .. Default::default() + }; + Target { + llvm_target: "le32-unknown-nacl".to_string(), + target_endian: "little".to_string(), + target_pointer_width: "32".to_string(), + target_os: "nacl".to_string(), + target_env: "newlib".to_string(), + target_vendor: "unknown".to_string(), + arch: "le32".to_string(), + options: opts, + } +} diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs index 197f8c760b0..6ae74355a7a 100644 --- a/src/librustc_back/target/mod.rs +++ b/src/librustc_back/target/mod.rs @@ -426,7 +426,9 @@ impl Target { i686_pc_windows_gnu, x86_64_pc_windows_msvc, - i686_pc_windows_msvc + i686_pc_windows_msvc, + + le32_unknown_nacl ); |
