about summary refs log tree commit diff
path: root/mk/platform.mk
AgeCommit message (Collapse)AuthorLines
2011-12-18rustc: Don't emit compact unwind info on macBrian Anderson-1/+1
It's not compatible with the subtlety of __morestack
2011-12-12rustc: build versioned library with hash in its nameHaitao Li-0/+4
Also updated build to install versioned libraries and added a few missing actions for `make clean`.
2011-12-10build: Use llvm-mc as our assemblerBrian Anderson-0/+15
LLVM's assembler understands .cfi pseudo-ops on the mac, which we need in order to generate frames that can be DWARF-unwound
2011-12-06Make valgrind usage more consistent and less error prone.Austin Seipp-2/+2
I was still having issues with the build system somehow getting confused as to which set of valgrind headers to use when compiling rt. This commit moves all the valgrind headers into their own directory under rt and makes the usage more consistent. The compiler is now passed the -DNVALGRIND flag when valgrind is not installed, as opposed to passing -DHAVE_VALGRIND. We also pass -I src/rt to the compiler when building rt so you can more easily import what you want. I also cleaned up some erroneous #includes along the way. It should be safe to always just import the local valgrind headers and use them without question. NVALGRIND turns the operations to no-ops when it is active, and the build and tests run cleanly with or without.
2011-11-29work on perfNiko Matsakis-0/+1
2011-11-29tweak to get windows test-running correctNiko Matsakis-3/+3
2011-11-29basic builds functionNiko Matsakis-1/+1
2011-11-05Build LLVM with -fno-omit-frame-pointer on LinuxBrian Anderson-0/+2
2011-11-05Cleanup LLVM build rules after rebase onto x64 changesBrian Anderson-1/+1
2011-11-05LLVM build cleanupBrian Anderson-1/+0
2011-11-03Make the formatting of the host build message consistentBrian Anderson-1/+1
2011-11-02virtualize the runtime per target triple.Niko Matsakis-22/+57
2011-11-02start going back to an i386 buildNiko Matsakis-5/+5
2011-11-02hack around on makefiles trying to get a 64 bit buildNiko Matsakis-5/+5
right now there are many temporary hacks, search for NDM to find them
2011-10-23Add commentary about -znoexecstackBrian Anderson-0/+2
2011-10-23Make sure librustrt.so is linked with a non-executable stack.Austin Seipp-1/+1
Fixes #798.
2011-10-09Revert "Revert "Stop using (DY)LD_LIBRARY_PATH on Unix""Brian Anderson-4/+3
This reverts commit 941d5e737cf459a8748a509850e9cfa4a573e78d.
2011-10-09Revert "Stop using (DY)LD_LIBRARY_PATH on Unix"Brian Anderson-3/+4
This reverts commit 4b58071f96821f43e5124d46b65f4e777992415f.
2011-10-06Stop using (DY)LD_LIBRARY_PATH on UnixBrian Anderson-4/+3
2011-10-06Make rpath work on macBrian Anderson-3/+7
2011-10-05rt: Make C stack switching Valgrind-clean by warning Valgrind when we're ↵Patrick Walton-0/+4
about to write to the C stack from the Rust stack
2011-10-05Run tests with LD_LIBRARY_PATH set to the target libs, not the host libsBrian Anderson-1/+1
Setting it to the host libs uses those compiled from the previous stage
2011-09-30Abstract the build directories further in the makefilesBrian Anderson-2/+2
This defines variables for host bin and lib directories as well as all target bin and lib directories then uses them everywhere.
2011-09-29Fix CFG_RUN_TARG on windowsBrian Anderson-1/+1
2011-09-29Reorganize structure of build directoryBrian Anderson-1/+1
Each stage is organized more according to Unix standards and to accommodate multiple target architectures. stageN/ bin - rustc lives here lib - libraries that rustc needs lib/rustc/$(target_triple/ - target libraries
2011-09-23Update to libuv commit 3ca382.Erick Tryzelaar-1/+1
This patch changes libuv's gyp build system to make it's own makefiles. To generate them for rust, run these commands. They requires python 2.x to work: $ mkdir -p src/rt/libuv/build $ svn co http://gyp.googlecode.com/svn src/rt/libuv/build/gyp $ ./etc/src/gyp_uv
2011-09-22Remove -i for real.Graydon Hoare-1/+1
2011-09-21One little 'n', so much harm!Graydon Hoare-1/+1
2011-09-21Expand our own config.guess-like logic in configure, rather than only asking ↵Graydon Hoare-4/+4
LLVM. We have to decide some things before we get an LLVM to ask.
2011-09-19Simplify perf target flags. Apparently the event names aren't stable/portable.Graydon Hoare-20/+1
2011-09-13Add a compile-stage2-under-perf step to "make perf" target.Graydon Hoare-1/+1
2011-09-13Add build-system mechanisms for running benchmarks under 'perf'.Graydon Hoare-0/+29
2011-09-11Change the exit status used for valgrind errors and check for it in testsBrian Anderson-1/+1
2011-09-07Begin compiling with exceptions enabledBrian Anderson-2/+2
Issue #236
2011-08-24mk: Introduce CFG_DISABLE_OPTIMIZE_CXXPatrick Walton-6/+13
2011-08-05Introduce CC and CXX variables to the makefilesBrian Anderson-6/+10
2011-08-05More win32 libuv build tweaksBrian Anderson-0/+2
2011-08-05build: Don't error out if clang is too old. Instead, build with GCC.Patrick Walton-4/+3
2011-07-24The Big Test Suite OverhaulBrian Anderson-14/+18
This replaces the make-based test runner with a set of Rust-based test runners. I believe that all existing functionality has been preserved. The primary objective is to dogfood the Rust test framework. A few main things happen here: 1) The run-pass/lib-* tests are all moved into src/test/stdtest. This is a standalone test crate intended for all standard library tests. It compiles to build/test/stdtest.stageN. 2) rustc now compiles into yet another build artifact, this one a test runner that runs any tests contained directly in the rustc crate. This allows much more fine-grained unit testing of the compiler. It compiles to build/test/rustctest.stageN. 3) There is a new custom test runner crate at src/test/compiletest that reproduces all the functionality for running the compile-fail, run-fail, run-pass and bench tests while integrating with Rust's test framework. It compiles to build/test/compiletest.stageN. 4) The build rules have been completely changed to use the new test runners, while also being less redundant, following the example of the recent stageN.mk rewrite. It adds two new features to the cfail/rfail/rpass/bench tests: 1) Tests can specify multiple 'error-pattern' directives which must be satisfied in order. 2) Tests can specify a 'compile-flags' directive which will make the test runner provide additional command line arguments to rustc. There are some downsides, the primary being that Rust has to be functioning pretty well just to run _any_ tests, which I imagine will be the source of some frustration when the entire test suite breaks. Will also cause some headaches during porting. Not having individual make rules, each rpass, etc test no longer remembers between runs whether it completed successfully. As a result, it's not possible to incrementally fix multiple tests by just running 'make check', fixing a test, and repeating without re-running all the tests contained in the test runner. Instead you can filter just the tests you want to run by using the TESTNAME environment variable. This also dispenses with the ability to run stage0 tests, but they tended to be broken more often than not anyway.
2011-07-21Cleanup the library path now that we copy from stageN/lib to stageN+1/Rafael Ávila de Espíndola-2/+2
2011-07-20Reduce the library path now that we are copying the libraries.Rafael Ávila de Espíndola-2/+1
2011-07-11Move llvm out of stageN/lib so that the host building stage 1+ canRafael Ávila de Espíndola-2/+3
have a newer and incompatible llvm with the bots.
2011-07-07Remove the llvm lib directory from LD_LIBRARY_PATH on unixy systemsBrian Anderson-3/+2
Doesn't seem like this has been required for a while. I don't know enough about the windows build to try to touch that.
2011-07-07put librustrt and librustllvm in stageN dirs. Issue #438Erick Tryzelaar-4/+2
2011-06-28Bit more work on mingw cross. Pending on other changes now (test ↵Graydon Hoare-26/+24
combination, build artifact locations)
2011-06-28More work on mingw cross build.Graydon Hoare-2/+2
2011-06-27build: Remove --vex-iropt-level=0Patrick Walton-2/+1
2011-06-27Some work on reviving the mingw-cross build. Not working yet.Graydon Hoare-2/+8
2011-06-23Wrote swap_context in assembly. Closes #548. This also allows us to ↵Eric Holk-2/+2
re-enable optimization on OSX for both gcc and clang. Also, re-enamed task-comm-1.rs, which was previously broken by optimization.
2011-06-21Setting rt optimization on OS X to -O0 when using clang, like we already do ↵Eric Holk-1/+1
with gcc. Tail-call elimination was causing valgrind errors with stack switching. Closes #494.