Commit Graph

1992 Commits

Author SHA1 Message Date
Brian Anderson ed106dd6ea Fix some make variables in tests.mk 2011-09-30 16:18:19 -07:00
Brian Anderson de6d07abf9 Register snapshots and finish filesystem reorg 2011-09-29 23:33:44 -07:00
Brian Anderson 80829af872 Remove legacy library search paths 2011-09-29 23:12:31 -07:00
Brian Anderson b569e9c657 Update snapshot scripts for the new regime 2011-09-29 22:58:34 -07:00
Brian Anderson 9f9666af6e Tweak makefiles, change the way the fuzzer is built
Since librustc and the fuzzer depend on rustllvm, build them
like rustc, linking to libraries in lib instead of lib/rustc/$(target)
2011-09-29 22:58:34 -07:00
Brian Anderson 9385ad4952 Remove redundant make clean rules 2011-09-29 22:58:34 -07:00
Brian Anderson b61e17bdfd Fix CFG_RUN_TARG on windows 2011-09-29 22:58:33 -07:00
Brian Anderson 6306c81826 Fix a variety of things in the makefiles
Make tests and perf work again. Correctly get the host triple in rustc. Add
some FIXMEs about transitional code that needs to be removed.
2011-09-29 22:58:33 -07:00
Brian Anderson 7dbce103fb Remove the redundant definition of STAGE in makefiles 2011-09-29 22:58:33 -07:00
Brian Anderson 4ee9b86384 Update make clean rules 2011-09-29 22:58:33 -07:00
Brian Anderson ab8338fb5a Make rustc's host triple agree with the build system's 2011-09-29 22:58:33 -07:00
Brian Anderson 0148daa058 Reorganize structure of build directory
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-29 22:58:33 -07:00
Brian Anderson 15e34deba3 Eliminate glue.o. Closes #990 2011-09-28 15:35:21 -07:00
Patrick Walton d8a80cb31f rt: Add a call stub that switches to the C stack, untested as of yet 2011-09-28 12:26:36 -07:00
Erick Tryzelaar 5f066e06b9 Update to libuv commit 3ca382.
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-23 16:53:06 -07:00
Brian Anderson acb0e8dcad Don't pipe check-fast results through tee
This was having the effect of scrubbing failure error codes. The only affect
of removing this should be that the .out file isn't generated, so subsequent
make invocations will re-run the tests (which is how our other tests work
anyway).
2011-09-23 12:30:35 -07:00
Patrick Walton 61afef29a1 rt: Add a RUST_TRACK_ORIGINS debug flag to help track down memory corruption 2011-09-23 11:42:20 -07:00
Graydon Hoare 18c6cc6371 More steps to arch-specific target libs (#474) 2011-09-23 10:50:16 -07:00
Graydon Hoare f2b49b8309 Remove -i for real. 2011-09-22 11:32:53 -07:00
Graydon Hoare 31c04a53e9 One little 'n', so much harm! 2011-09-21 12:34:30 -07:00
Graydon Hoare 13215809a8 Expand our own config.guess-like logic in configure, rather than only asking LLVM. We have to decide some things before we get an LLVM to ask. 2011-09-21 11:24:59 -07:00
Patrick Walton e26b1883dd rt: Stub code for the cycle collector 2011-09-20 16:49:31 -07:00
Graydon Hoare 939a9dd738 Simplify perf target flags. Apparently the event names aren't stable/portable. 2011-09-19 14:56:02 -07:00
Graydon Hoare c0ffd2ea26 Print perf measurement outputs on completion of 'perf' target. 2011-09-13 17:32:25 -07:00
Graydon Hoare e45c91135a Add a compile-stage2-under-perf step to "make perf" target. 2011-09-13 16:05:53 -07:00
Graydon Hoare d5b2d62b20 Add build-system mechanisms for running benchmarks under 'perf'. 2011-09-13 15:06:41 -07:00
Brian Anderson f1e348ce6a Change the exit status used for valgrind errors and check for it in tests 2011-09-11 17:31:37 -07:00
Brian Anderson 1bd627039e Begin compiling with exceptions enabled
Issue #236
2011-09-07 10:32:58 -07:00
Marijn Haverbeke 6209e844ee Replace xfail-stageN with simply xfail-test
Closes #799
2011-08-31 16:32:16 +02:00
Marijn Haverbeke 66bc014720 Revert "Replace xfail-stageN with simply xfail-test"
This reverts commit 574194f6bc.
2011-08-31 14:24:08 +02:00
Marijn Haverbeke 574194f6bc Replace xfail-stageN with simply xfail-test
Closes #799
2011-08-31 13:43:09 +02:00
Marijn Haverbeke 49e59e4ba7 Remove makefile CFG_USE_SNAP_LIBS_FOR_STAGE1 hack
It didn't work as intended, due to my lack of Makefile-fu
2011-08-29 14:31:32 +02:00
Marijn Haverbeke 9db4d9c6fd Add CFG_USE_SNAP_LIBS_FOR_STAGE1 hack to makefiles 2011-08-29 09:01:27 +02:00
Patrick Walton db72bd90f5 mk: Introduce CFG_DISABLE_OPTIMIZE_CXX 2011-08-24 11:59:21 -07:00
Patrick Walton 25416bfae1 rustc: Introduce ABI versioning so we can change value representations without breaking the compiler 2011-08-20 14:22:09 -07:00
Patrick Walton 396f6b4f59 rustc: Stub GC routines 2011-08-18 18:48:32 -07:00
Patrick Walton 0fedea39ce rt: Remove rust_alarm dead code 2011-08-18 18:21:03 -07:00
Brian Anderson 28fbc591fd Add more verbosity to 'make reformat'
For each file it will indicate that it was reformatted, unchanged, or failed
2011-08-18 15:46:10 -07:00
Patrick Walton d8c5bd6195 rt: Implement obstacks, untested as of yet 2011-08-16 19:49:25 -07:00
Eric Holk a332043561 Updating to build on Linux and Mac, and hopefully Windows too. 2011-08-15 09:26:51 -07:00
Brian Anderson 25b85df370 Register new snapshots
Use main.o from the snapshot
2011-08-14 14:38:08 -07:00
Brian Anderson 1dbf0965a1 Add lib/main.o to snapshot
Snapshotting main.o is going to make it easier (I think) to convert main to
use ivecs
2011-08-14 12:14:58 -07:00
Patrick Walton e8d170beae rt: Stub Rust GC metadata printer and Rust GC strategy modules 2011-08-11 21:15:26 -07:00
Rafael Ávila de Espíndola 6402b63b4f Use the new C API for PassManagerBuilder. 2011-08-11 19:09:52 -04:00
Brian Anderson 40ae704ff2 Begin valgrinding run-fail tests
Introduce a temporary no-valgrind directive for the few that aren't clean
2011-08-10 13:36:57 -07:00
Brian Anderson c6bb04aba6 Add make clean rules for libuv 2011-08-05 11:57:07 -07:00
Brian Anderson 1758876381 Build libuv with the same C compiler as the rest of rt 2011-08-05 11:57:07 -07:00
Brian Anderson 43313b5504 Introduce CC and CXX variables to the makefiles 2011-08-05 11:57:07 -07:00
Graydon Hoare 7da64ae461 Munge libuv makefiles sufficiently to build out of tree. 2011-08-05 11:57:07 -07:00
Brian Anderson b2c3fc739c More win32 libuv build tweaks 2011-08-05 11:57:07 -07:00
Brian Anderson 585c6f96d1 Update build rules so rt builds with libuv on Linux.
Needed to shuffle around the linker arguments and add -lpthread
2011-08-05 11:57:06 -07:00
Rob Arnold 8229c3fa75 Update libuv to revision ee599ec1141cc48f895de1f9d148033babdf9c2a 2011-08-05 11:57:06 -07:00
Rob Arnold f4b87c749f Basic async IO module using libuv 2011-08-05 11:57:06 -07:00
Rob Arnold b64a52df42 Integrate libuv into the build system 2011-08-05 11:57:06 -07:00
Patrick Walton ad925955d8 build: Don't error out if clang is too old. Instead, build with GCC. 2011-08-05 09:25:27 -07:00
Patrick Walton e351ad762d rt: Stub shape glue and implement shape::print and shape::size_of. 2011-08-03 20:25:44 -07:00
Brian Anderson 92a4c0cee7 Ignore xfail-pretty, xfail-stage2 files when reformatting
We shouldn't be trying to reformat source that we don't know to work because
we could just be breaking it more.
2011-08-03 10:55:59 -07:00
Brian Anderson ea2a968146 Include benchmarks in pretty-print tests 2011-08-02 14:37:03 -07:00
Brian Anderson 091a2c2f71 Run pretty-printer tests as part of make check. Issue #789 2011-08-02 10:39:14 -07:00
Brian Anderson 0fbb6782bb Add dedicated pretty-printer tests with new pp-exact directive
Add a new src/test/pretty directory to hold just source files for testing the
pretty-printer.

Add a new pp-exact directive. When this directive is followed by a file name
it specifies a file containing the output that the pretty-printer should
generate. When pp-exact is not followed by a filename it says that the file
should pretty-print as written.
2011-08-02 10:39:13 -07:00
Brian Anderson eea888af25 Add missing BENCH_TESTS variable to tests.mk 2011-08-02 10:39:13 -07:00
Brian Anderson 07950c8851 Add a FIXME about simplifying the make check rules 2011-08-02 10:39:13 -07:00
Brian Anderson e13390a199 Pretty-print test the rfail tests. Issue #789 2011-08-02 10:39:13 -07:00
Brian Anderson 59691b084f Don't run the compiletest runner itself under valgrind
This will reduce the valgrind deluge when a test fails. The tests themselves
are still run under valgrind. Leave a CTEST_VALGRIND environment variable for
running with the old behavior.
2011-08-02 10:39:13 -07:00
Brian Anderson 4e8ab8b3a8 Introduce pretty-print testing mode to compiletest. Issue #789 2011-08-02 10:39:12 -07:00
Brian Anderson 4e6bb137fe Enable build targets to run tests at stage0
This allows quicker turnaround for testing the standard library, since you
don't have to wait for the stage1 compiler every time.
2011-07-29 19:03:17 -07:00
Brian Anderson 9a995b0d25 Fix a typo in tests.mk that was building stdtest with the wrong compiler 2011-07-29 19:03:17 -07:00
Eric Holk d1dbb99984 Removing proxies and message queues. 2011-07-29 18:54:59 -07:00
Brian Anderson 4ef1ec580a Do all runtime calls to getenv at initialization
getenv is not threadsafe and (maybe as a result) it's randomly crashing with
CFLAGS=-g and RUST_THREADS=32. Calls from rust code are still on their
own.
2011-07-28 12:23:01 -07:00
Brian Anderson 452765255c Add PPFILES flag to specify a which files to reformat
Accepts a path with wildcards
2011-07-27 19:04:56 -07:00
Marijn Haverbeke 0e3ee39c41 Add fuzzer to reformat make target 2011-07-27 15:54:33 +02:00
Marijn Haverbeke b0059bd357 Hack to make snap-stage1 actually build incompatible changes
You can't build libstd both with stage0 and stage1 if the two are incompatible

This is probably temporary
2011-07-27 15:19:31 +02:00
Marijn Haverbeke 8c821ff038 Fix reformat make target 2011-07-27 13:42:10 +02:00
Rafael Ávila de Espíndola 01675f34e0 Remove old hack of creating a .a file with code that existed both in rust
and on newer versions of llvm.
2011-07-25 16:18:39 -04:00
Brian Anderson 2573fe7026 The Big Test Suite Overhaul
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-24 15:34:34 -07:00
Graydon Hoare ad954fcecc Add an NSIS script for building a win32 installer. Closes #522. 2011-07-23 12:27:06 -07:00
Brian Anderson 6fc33163dc Change the CFG_STDLIB_DEFAULT macro into a call that picks the correct stage
stageN/rustc depends on either stageN/libstd.so or stage(N-1)/lib/libstd.rlib
so CFG_STDLIB_DEFAULT needs to try harder to get the dependencies right.
2011-07-22 10:18:28 -07:00
Michael Sullivan cb02425376 More missing things in make clean... 2011-07-21 18:07:10 -07:00
Michael Sullivan bdbac006dc Build the stage1 compiler against the newly built librustrt. 2011-07-21 17:55:47 -07:00
Michael Sullivan b01ecb10c3 Instantiate the stage0/lib/stdlib rules from stage0.mk instead of stageN.mk. 2011-07-21 12:15:36 -07:00
Michael Sullivan d9286c8bdd Build stage0/lib/libstd.so using the stage0 compiler.
This essentially starts the bootstrapping one step earlier by building
the stdlib from source using the stage0 compiler and then using that
stdlib to build the stage1 compiler. (Instead of starting by building
the stage1 compiler and then building a stdlib with it).

This means we should now be able to add features to the stdlib and use
them in the compiler without having to do a snapshot. (On the flip
side, this means that we now need to do a snapshot if we want to use a
new language feature in the stdlib, but that doesn't really seem too
burdensome (we already need to snapshot if we want to use a new
language feature in the compiler)).
2011-07-21 12:15:36 -07:00
Rafael Ávila de Espíndola ea371a3d37 Cleanup the library path now that we copy from stageN/lib to stageN+1/ 2011-07-21 15:12:10 -04:00
Michael Sullivan 67e9fe512c Improve make clean. 2011-07-20 15:56:25 -07:00
Rafael Ávila de Espíndola 5691d15703 Reduce the library path now that we are copying the libraries. 2011-07-20 16:32:06 -04:00
Rafael Ávila de Espíndola 88894b6f9c Add support for building with a static libstd for testing static crate support. 2011-07-20 16:02:36 -04:00
Brian Anderson 09ca57adb0 Revert "Revert "Rename Passes2.cpp to Passes.cpp""
This reverts commit 52507f406e.
2011-07-17 19:16:23 -07:00
Brian Anderson 52507f406e Revert "Rename Passes2.cpp to Passes.cpp"
This reverts commit c18127b913.
2011-07-17 19:15:27 -07:00
Brian Anderson c18127b913 Rename Passes2.cpp to Passes.cpp
The original Passes.cpp is dead so Passes2 gets promoted
2011-07-17 14:57:28 -07:00
Brian Anderson 13f5de0671 Remove Passes.cpp from rustllvm
Upstreamed
2011-07-17 14:57:28 -07:00
Brian Anderson b7699b7889 Remove Object.h from rustllvm
This file appears to be upstream now
2011-07-17 14:57:28 -07:00
Graydon Hoare fafb42e6b1 Merge the stage1,2,3.mk files into a common definition in stageN.mk, more rearrangement of host/target libs. 2011-07-15 16:16:51 -07:00
Graydon Hoare 336a4df778 Remove 'Nop.' comments, add emacs lines, remove obsolete file. 2011-07-13 14:03:18 -07:00
Graydon Hoare 1ba53c008a Fix check target names in tests.mk. 2011-07-13 13:13:44 -07:00
Brian Anderson ae7b757ac9 Add build targets for building rustc as a test runner. Issue #428 2011-07-12 16:54:46 -07:00
Brian Anderson a38ba01fa4 Move stdtest output files up a directory. Issue #428 2011-07-12 16:54:46 -07:00
Brian Anderson 9a37308101 Add build targets for running stdtest. Issue #428 2011-07-12 16:54:46 -07:00
Rafael Ávila de Espíndola 99a95b3613 Use new snapshot. 2011-07-11 18:35:25 -04:00
Rafael Ávila de Espíndola d151e18633 Move llvm out of stageN/lib so that the host building stage 1+ can
have a newer and incompatible llvm with the bots.
2011-07-11 16:31:47 -04:00
Rafael Ávila de Espíndola 15a670a1b1 Use new snapshot. 2011-07-11 14:32:18 -04:00
Brian Anderson 301f6aaa31 Add missing rules to 'make clean' 2011-07-07 17:22:39 -07:00
Brian Anderson c6ff1e8061 Make the rules for compiling rustc explicit
Not sure why they were implicit since their dependencies only work for rustc
2011-07-07 17:19:27 -07:00
Brian Anderson 42877bba8a Add missing rt/rustllvm rules for static libstd 2011-07-07 17:19:27 -07:00
Brian Anderson 106d0f3b72 Complete the transition of glue.o to the lib directory 2011-07-07 17:19:24 -07:00
Brian Anderson 94f782e6a1 Register new snapshots
New snapshots also include rt and rustllvm
2011-07-07 16:40:58 -07:00
Brian Anderson 64595a53f8 Add rt and rustllvm to the snapshot 2011-07-07 15:40:27 -07:00
Brian Anderson 4e45e58c61 Remove the llvm lib directory from LD_LIBRARY_PATH on unixy systems
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-07 15:40:27 -07:00
Brian Anderson 2c234fdc97 Also copy rt and rustllvm to stage0 for now
Once we've updated the snapshots to include them we can remove these rules
2011-07-07 15:40:27 -07:00
Erick Tryzelaar 984caa3d26 put librustrt and librustllvm in stageN dirs. Issue #438 2011-07-07 15:39:42 -07:00
Rafael Ávila de Espíndola e440781164 Makefile support for building std static. 2011-07-07 16:07:16 -04:00
Rafael Ávila de Espíndola bbcbaa6601 Try to fix the bots. 2011-07-07 15:28:01 -04:00
Rafael Ávila de Espíndola 6d6c4c2a76 Command line changes for adding support for static libraries. 2011-07-07 14:42:50 -04:00
Brian Anderson 2f7bc90514 Add a stdtest crate to hold the standard library tests
This will link to std and compile with the --test flag. Eventually the
run-pass/lib* tests will move here.

We could also put the std tests directly into the library and compile both a
library version and a test version, but I think this way will make for faster
builds.

Issue #428
2011-07-06 14:39:40 -07:00
Brian Anderson 6853e04fc4 Temporarily introduce a stage2-check build target
The tinderbox snapshotting scripts seem to be looking for a stage2-check
target when they should be using check-stage2. Since Graydon is out of the
office, I'm making this change to see if the snapshot will go through.
2011-07-05 12:57:26 -07:00
Brian Anderson ccf6112f15 Link the fuzzer crate to librustc again 2011-07-04 15:30:36 -07:00
Brian Anderson 5fb9cad38d Partially restore the fuzzer crate's build rules
Right now the stage1/fuzzer crate will build but it's not linked to librustc
because stage1/librustc won't link.
2011-07-01 10:43:21 -07:00
Graydon Hoare afabde19dc More fixes to fast-check. 2011-06-29 17:54:05 -07:00
Graydon Hoare cd799a0a7a Tidy up snap makefile. 2011-06-29 15:14:55 -07:00
Graydon Hoare 4e5d32e1c4 Add fast-check target that combines the stage2 run-pass suite into a single executable. 2011-06-29 15:14:55 -07:00
Graydon Hoare 5059c5f8fd Actually notice xfail-stage2 as different from xfail-stage2. Fix affected tests. 2011-06-28 17:36:51 -07:00
Eric Holk f6f8a06d6b Resurrecting the runtime unit tests, and modifying them so they compile under the latest refactoring changes. 2011-06-28 16:12:34 -07:00
Eric Holk 657e5a2bd5 Renamed what's left of rust_dom to rust_scheduler 2011-06-28 16:12:33 -07:00
Eric Holk 1c852ac9c0 Removing runtime tests. The runtime is tested well enough by the standard library tests, so we might as well have less code to fix during refactoring. 2011-06-28 16:12:33 -07:00
Rafael Ávila de Espíndola d5fc01caef Move glue.o to stageN/lib. 2011-06-28 15:20:43 -04:00
Graydon Hoare 0dc2aa3d09 Bit more work on mingw cross. Pending on other changes now (test combination, build artifact locations) 2011-06-28 11:18:34 -07:00
Graydon Hoare 8ebcab711d More work on mingw cross build. 2011-06-28 11:18:34 -07:00
Graydon Hoare 4e89b5afe7 Silence texi2pdf during make 2011-06-28 11:18:34 -07:00
Patrick Walton 4558167307 build: Remove --vex-iropt-level=0 2011-06-27 12:39:37 -07:00
Graydon Hoare 8fc51dfc65 Some work on reviving the mingw-cross build. Not working yet. 2011-06-27 11:53:28 -07:00
Rafael Ávila de Espíndola bea28ea537 Easy fix for using newer LLVMs: just use the MachOObjectFile.cpp they provide. 2011-06-27 11:52:23 -04:00
Graydon Hoare 79ba31504b Fixes to speed and clean up makefiles. 2011-06-25 19:23:32 +00:00
Eric Holk 98dee91f25 Wrote swap_context in assembly. Closes #548. This also allows us to 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-23 18:49:29 -07:00
Eric Holk edf73f0512 Setting rt optimization on OS X to -O0 when using clang, like we already do with gcc. Tail-call elimination was causing valgrind errors with stack switching. Closes #494. 2011-06-21 13:13:33 -07:00
Graydon Hoare 1ad8efa86e Fix 'reformat' mk target to handle recent libdir changes. 2011-06-20 19:58:23 +00:00
Rafael Ávila de Espíndola 164230dcb6 Finish the transition to having the std library in stageN/lib. 2011-06-20 13:38:11 -04:00
Brian Anderson 59c76a371f Move creation of stageN/lib directories to the configure script 2011-06-17 18:36:44 -07:00
Brian Anderson bd93e1abcd Register new snapshots. Update location of stage0's libstd 2011-06-17 18:19:37 -07:00
Rafael Ávila de Espíndola 374967f67e Fix library path when running tests. 2011-06-17 16:13:12 -04:00
Rafael Ávila de Espíndola 342dbd7abe Put std in stageN/lib. This avoids windows trying to load stageN/std.ll when
stageN/runstc.exe is run.
2011-06-17 15:34:59 -04:00
Brian Anderson fc12577fdd Add makefile rules to run compile-fail tests on .rc files
There's even more duplication now, but I'm reluctant to touch it since it's
easy to subtly break the build rules
2011-06-16 17:23:20 -07:00
Graydon Hoare eb9969f546 Add support for marking files no-reformat. 2011-06-16 16:42:29 -07:00
Brian Anderson 834f90f2a0 StageN tests run against stageN libraries 2011-06-16 14:21:43 -07:00
Rafael Ávila de Espíndola 68887fd45b Fix missing dependencies on intrinsics.bc. 2011-06-16 15:57:57 -04:00
Rafael Ávila de Espíndola ad2ab4cfa6 Add missing dependencies, stageN/glue.o gets linked into the stageN/libstd.so. 2011-06-16 15:19:27 -04:00
Rafael Ávila de Espíndola 346f1a6769 More driver related cleanups. 2011-06-16 15:06:09 -04:00
Michael Sullivan bd8f6097a7 Get rid of old vec_append glue. 2011-06-16 11:58:29 -07:00
Rafael Ávila de Espíndola 32895ad990 Switch to using the rustc driver in the bootstrap process. 2011-06-16 14:43:35 -04:00
Rafael Ávila de Espíndola a77180f4f5 Add support for producing shared libraries directly in the rust driver. 2011-06-15 16:54:13 -04:00
Graydon Hoare bd3e2eb4cb Add tests to 'make reformat' target. 2011-06-15 10:09:28 -07:00
Brian Anderson c5caff8e18 Use correct GCC flags variable in fuzzer.mk 2011-06-14 19:12:55 -07:00
Erick Tryzelaar 29e14a0f81 Fix compiling the fuzzer. 2011-06-14 19:12:55 -07:00
Rafael Ávila de Espíndola c3015b8952 Apply the makefile changes again, this time fixin the driver to not produce a
rustc.exe.exe.
2011-06-14 17:51:31 -04:00
Rafael Ávila de Espíndola 7b5c3afae5 Revert part of my last change while I figure out why windows doesn't like it. 2011-06-14 15:55:51 -04:00
Rafael Ávila de Espíndola 8d7f7c2a97 Move a bit more to use the driver. 2011-06-14 14:49:18 -04:00
Graydon Hoare 700c525c4f Revive 'make reformat' target. 2011-06-14 11:11:07 -07:00
Eric Holk d1857d30fc This is the mega-ucontext commit. It replaces the task switching mechanism with a new one inspired by ucontext. It works under Linux, OS X and Windows, and is Valgrind clean on Linux and OS X (provided the runtime is built with gcc).
This commit also moves yield and join to the standard library, as requested in #42. Join is currently a no-op though.
2011-06-13 18:14:13 -07:00
Rafael Ávila de Espíndola ff8af3c2db Use the driver to build stage3. This worked on all 3 platforms for me,
lets see if the bots agree.
2011-06-13 19:10:51 -04:00
Graydon Hoare a3be0454f9 Bug fix for last commit, of course. 2011-06-13 14:48:37 -07:00
Graydon Hoare 0a8f9a394b Handle missing git in build env. 2011-06-13 14:45:49 -07:00
Rafael Ávila de Espíndola 2c16be424b Use main.o directly now that stage0 is ok with it. 2011-06-08 13:33:35 -04:00
Rafael Ávila de Espíndola b1d6f12a05 Don't put a copy of main (the C one) in each binary we produce. This is a step
in getting a driver that works on all linux systems.

Sorry for the linker hacks, I will remove them after snapshotting a new compiler.
2011-06-07 16:56:27 -04:00
Graydon Hoare d569a71b0b make 'reformat' do libstd as well. 2011-06-01 16:57:17 -07:00
Graydon Hoare 49742b86be Add a 'make reformat' rule. 2011-06-01 12:01:55 -07:00
Rafael Ávila de Espíndola cc96eeafca Move rust_vec_append_glue to rt. 2011-05-31 14:32:08 -04:00
Brian Anderson e3b3a71e6a Don't fiddle with RUST_LOG in the Makefiles
This is no longer necessary since error logging is not affected by RUST_LOG.
2011-05-27 17:01:15 -04:00
Graydon Hoare 79c9e13073 More delicious dead code removal from runtime, upcalls. 2011-05-26 18:21:02 -07:00
Brian Anderson 70106f35ce test: Fix run-fail testing and bring tests up to date
A typo in the Makefile was causing these to not run. Happily, a lot of these
tests pass, so un-xfailed.
2011-05-24 22:09:12 -04:00
Rafael Ávila de Espíndola ac836dd79c There is only one yield glue. 2011-05-24 18:29:08 -04:00
Rafael Ávila de Espíndola 0fc91b6ecc There is only one activate function now. 2011-05-24 17:00:45 -04:00
Erick Tryzelaar 02b995f428 librustc depends on rustllvm and std.
This fixes compiling the fuzzer application.
2011-05-20 12:32:44 -07:00
Rafael Ávila de Espíndola 96516e9ca2 One exit_task_glue to rule them all. 2011-05-18 15:43:48 -04:00
Graydon Hoare 550667a538 Fix snap rules to depend more correctly on rustc$(X) not rustc. 2011-05-16 19:05:08 -07:00
Graydon Hoare 6997adf763 Remove rustboot from the repository. 2011-05-13 18:38:28 -07:00
Graydon Hoare 1fdddede22 Add snap-stageN targets. 2011-05-12 13:08:57 -07:00
Graydon Hoare c787d6d4f3 Change 'check' make target to just stage2 tests; add full-check for all of them. 2011-05-11 09:37:23 -07:00
Brian Anderson 65547a314f Update librustc build targets with correct flags 2011-05-10 21:31:14 -04:00
Brian Anderson aa40d61d5d Link fuzzer to the rustc crate 2011-05-10 21:31:14 -04:00
Brian Anderson 9a12ad62f6 Add targets for building rustc as a library 2011-05-10 21:31:14 -04:00
Brian Anderson a5ea56c6f0 Introduce the fuzzer crate and make rules 2011-05-10 21:31:14 -04:00
Patrick Walton 269550f673 build: Use clang to compile the runtime if available 2011-05-08 21:10:43 -07:00
Patrick Walton d089d9f9ed rustllvm: Add a binding to the LLVM standard module passes 2011-05-06 12:38:00 -07:00
Graydon Hoare 42109f55b0 Tidy up stage 2 and 3 mk files. 2011-05-05 13:43:08 -07:00
Tim Chevalier d9c9982f0a Update docs to reflect assert vs. check
Also added the --batch flag to texi2pdf, as it doesn't really ever
seem useful to drop to the TeX prompt during a build.
2011-05-05 11:26:07 -07:00
Patrick Walton e78a9c321b build: Add missing intrinsics.mk 2011-05-04 18:35:36 -07:00
Patrick Walton 04f966f0bc build: Build intrinsics.bc 2011-05-04 18:29:08 -07:00
Graydon Hoare add7d34164 Add stage-specific test targets (make check-stage1 etc.) 2011-05-04 17:32:35 -07:00
Graydon Hoare 48021ef1f6 Fix horrible rule-hijacking bug that was causing compile-fail targets to trigger honest compile attempts. 2011-05-04 11:21:14 -07:00
Graydon Hoare 846068046d Fix bug in CFG_TESTLIB that only manifests on stage1, stage2. 2011-05-03 18:14:02 -07:00
Graydon Hoare 4f52ab52c1 Remove everything to do with rustboot from makefiles. 2011-05-03 15:56:00 -07:00
Graydon Hoare 1c85712db3 Remove calls to rustboot -rdeps, leave 'touch' in place while working on replacement. 2011-05-03 14:18:30 -07:00
Graydon Hoare dbe5dc9768 Attempt to shift build to stage0-from-snapshots. 2011-05-03 11:34:44 -07:00
Graydon Hoare 73961cc1ee Add forgotten 'snap.mk' 2011-05-02 23:43:13 -07:00
Graydon Hoare 40624e35d7 Start splitting up Makefile.in 2011-05-01 20:20:25 +00:00