This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// let's build rust program with msvc linker! | |
#![feature(intrinsics, lang_items)] | |
#![no_std] | |
#![no_main] | |
// (this is not required for msvc, but for "standard" build.) | |
#[no_mangle] | |
pub extern "C" fn rust_stack_exhausted() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
all: a | |
a: a.rs libda.so | |
rustc a.rs -o $@ -L . | |
libda.so: da.cpp | |
clang++ $< -fPIC -shared -o $@ | |
run: a libda.so | |
LD_LIBRARY_PATH=. ./a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
all: c.dll rs.exe cl.exe hand.exe | |
c.dll: c.c | |
gcc -shared -o $@ $< | |
rs.exe: rs.rs | |
rustc --opt-level=0 -Z no-opt -L . $< -o rs.ll --emit ir | |
rustc --opt-level=0 -Z no-opt -L . $< -o rs.s --emit asm | |
rustc --opt-level=0 -Z no-opt -L . $< -o $@ -C save-temps |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[feature(managed_boxes)]; | |
extern mod extra; | |
extern mod syntax; | |
extern mod rustc; | |
use std::os::args; | |
use std::hashmap::{HashMap, HashSet}; | |
use syntax::ast; | |
use syntax::ast_map; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[cfg(unix)] | |
fn trace(n_frames: uint) -> ~[~str] { | |
use std::libc::{c_void, c_int, c_char}; | |
use std::libc; | |
use std::c_str; | |
use std::ptr; | |
use std::vec; | |
extern { | |
fn backtrace(buffer: *mut *mut c_void, size: c_int) -> c_int; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// From rust get `libstd/libc.rs` to the working dir. | |
// From rust-windows <https://github.com/klutzy/rust-windows> | |
// copy whole `ll/` dir to the working dir and | |
// patch some code: (TODO) | |
// From win32.js <https://github.com/klutzy/win32.js>, copy | |
// `library_win32.js` and `window.js` to working dir. | |
// | |
// emscripten uses le32-unknown-nacl triple but rustc doesn't know it now. | |
// So just use similar target instead. | |
// Here I use `win32` because libc.rs needs it. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// emscripten uses le32-unknown-nacl triple but rustc doesn't know it now. | |
// So just use similar target instead. | |
// `rustc hello.rs --target=i686-unknown-linux --emit-llvm -S --cfg libc` | |
// `emcc hello.ll -o hello.js` | |
// no `extern mod`. | |
#[no_std]; | |
#[feature(macro_rules)]; | |
use core::container::Container; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# win64; host = target = x86_64-w64-mingw32 | |
$ rustc.exe ~/stone/rust/src/libstd/lib.rs -Z time-passes | |
time: 25.673 s parsing | |
time: 0.136 s gated feature checking | |
time: 0.051 s std macros injection | |
time: 0.209 s configuration 1 | |
time: 17.854 s expansion | |
time: 0.322 s configuration 2 | |
time: 0.304 s maybe building test harness | |
time: 0.000 s std injection |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ make check-stage2-T-i686-pc-mingw32-H-i686-pc-mingw32-rustpkg | |
cfg: build triple i686-pc-mingw32 | |
cfg: host triples i686-pc-mingw32 | |
cfg: target triples i686-pc-mingw32 | |
cfg: enabling more debugging (CFG_ENABLE_DEBUG) | |
cfg: host for i686-pc-mingw32 is i386 | |
cfg: os for i686-pc-mingw32 is pc-mingw32 | |
cfg: using gcc | |
cfg: disabling valgrind due to its unreliability on this platform |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use std::os; | |
use std::io; | |
use std::io::fs; | |
fn main() { | |
let tmp_path = os::tmpdir(); | |
for i in range(0u, 20u) { | |
let path = tmp_path.join(i.to_str()); | |
do spawn { | |
io::result(|| fs::mkdir(&path, io::UserRWX)); |
NewerOlder