Commit Graph

947 Commits

Author SHA1 Message Date
auREAX
0bb437aafa Add GRSecurity compatibility with --enable-pax-marks configure flag; add GRSecurity autodetection code to configure. 2012-10-04 11:56:24 -07:00
Patrick Walton
f813f519a5 rt: Remove the cycle collector 2012-09-25 12:13:20 -07:00
Brian Anderson
fd0de8bfd7 doc: Split out task tutorail. Add links to sub-tutorials 2012-09-22 15:34:01 -07:00
Brian Anderson
864cca14ee docs: Make supplemental tutorials testable 2012-09-15 18:06:20 -07:00
Brian Anderson
82e79f765c docs: Add Niko's borrowed pointers tutorial 2012-09-15 17:09:21 -07:00
Elliott Slaughter
3f0d207b32 gc: Add stack walker for new garbage collector.
Safe points are exported in a per-module list via the crate map. A C
runtime call walks the crate map at startup and aggregates the list of
safe points for the program.

Currently the GC doesn't actually deallocate memory on malloc and
free. Adding the GC at this stage is primarily of testing value.

The GC does attempt to clean up exchange heap and stack-allocated
resource on failure.

A result of this patch is that the user now needs to be careful about
what code they write in destructors, because the GC and/or failure
cleanup may need to call destructors. Specifically, calls to malloc
are considered unsafe and may result in infinite loops or segfaults.
2012-09-07 09:21:21 -07:00
Patrick Walton
4e515c14af doc: Split out the FFI part of the tutorial
The tutorial should perhaps contain an FFI section, but this one is too long.
2012-09-05 11:20:04 -07:00
Patrick Walton
69b363e02a doc: Split macros out into a separate tutorial 2012-09-05 11:07:06 -07:00
Zack Corr
efb576a60d jit: Clean rustllvm code, let rustc expose __morestack instead of linking in libmorestack and return _rust_main and call it from rustc 2012-08-31 16:20:36 -07:00
Zack Corr
795acb7395 jit: Link in __morestack and make it resolvable by JIT 2012-08-31 16:20:36 -07:00
Zack Corr
7993f48209 jit: Add custom memory manager (still segfaulting) 2012-08-31 16:20:35 -07:00
Graydon Hoare
6c5c835a1d Make check-notidy not run tidy, as implied. Close #3105. 2012-08-29 14:49:13 -07:00
Graydon Hoare
b769e29680 Compress metadata section. Seems a minor speed win, major space win. 2012-08-28 14:50:39 -07:00
Kevin Cantu
705f423965 Rename the template for version_info.html 2012-08-20 14:04:12 -07:00
Ben Blum
bdbad614ac Remove rust_cond_lock and sys::condition (rename to little_lock) 2012-08-07 18:18:48 -04:00
Graydon Hoare
7c1339b2f1 Add check-notidy target. Close #2943. 2012-07-25 15:39:56 -07:00
Paul Stansifer
fa882d4295 Add a badge to the tutorial and reference docs indicating which Rust version they pertain to. 2012-07-19 17:09:03 -07:00
Graydon Hoare
cbee91916b Even simpler attempt at solving the .dSYM mess. 2012-07-13 13:04:36 -07:00
Graydon Hoare
6426f05b8f Revert "Try less complicated trick for solving the dSYM glob portability issue."
This reverts commit 86dfca278d.
2012-07-13 13:04:36 -07:00
Graydon Hoare
2f32a1581f Fix make-install target on mac. 2012-07-12 12:43:20 -07:00
Graydon Hoare
86dfca278d Try less complicated trick for solving the dSYM glob portability issue. 2012-07-11 15:10:18 -07:00
Graydon Hoare
63df248414 Revert "Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory."
This reverts commit 2cf6bf87c3.
2012-07-11 15:04:32 -07:00
Graydon Hoare
2cf6bf87c3 Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory. 2012-07-11 12:10:54 -07:00
Graydon Hoare
a899e659a0 Makefile nit for distchec. 2012-07-10 11:05:53 -07:00
Michael Sullivan
e6baf44f19 Switch back to USE_SNAPSHOT_CORELIB=0. 2012-06-29 15:34:39 -07:00
Michael Sullivan
7aa43b2599 Make fmt use a bitmask instead of a vector of flags. Closes #1993. 2012-06-28 23:36:00 -07:00
Brian Anderson
8910b2ff7c build: Remove bogus -fno-strict-aliasing flags. Issue #2701 2012-06-25 15:41:03 -07:00
Eric Holk
dc718d97a6 Adding a lock/condition variable to libcore. 2012-06-19 10:31:12 -07:00
Michael Sullivan
88ec259cee Put type descriptors in strings created by the runtime. Progress on #2638. 2012-06-18 15:54:37 -07:00
Tim Chevalier
3e2006a570 Revert "Adding a lock/condition variable to libcore."
This reverts commit e394ebda37.
2012-06-16 15:34:15 -07:00
Eric Holk
e394ebda37 Adding a lock/condition variable to libcore. 2012-06-15 22:00:24 -04:00
Michael Sullivan
f99f2e8ce2 Update the build system to handle dependency on header files. Closes #2547. 2012-06-14 14:50:14 -07:00
Michael Sullivan
3a36ffe5ff Revert "Update the build system to handle dependency on header files. Closes #2547."
This reverts commit 31f4b63dff.
2012-06-13 18:37:07 -07:00
Michael Sullivan
31f4b63dff Update the build system to handle dependency on header files. Closes #2547. 2012-06-13 16:39:09 -07:00
Michael Sullivan
f8afe107fa Minor makefile cleanup. 2012-06-13 16:39:09 -07:00
Brian Anderson
41df9cbb44 rt: Turn on frame pointers for stack walking 2012-06-11 22:44:16 -07:00
Ben Striegel
24fb724dc9 Rename some misleading variables 2012-06-08 17:50:33 -07:00
Ben Striegel
c9bbf739eb make install fix to address #2555 2012-06-08 17:50:09 -07:00
Jyun-Yan You
8f5f45bfe1 fix compiletest deadlock on freebsd 2012-06-07 16:38:10 +08:00
Brian Anderson
9b9ceea6bd Begin running cargo tests 2012-06-02 21:30:26 -07:00
Brian Anderson
c5d168c404 build: Fix bogus test teps 2012-06-01 22:16:58 -07:00
Brian Anderson
630c084da6 test: Move tests with rustc deps into run-pass-fulldeps
These tests require a lot more to be built before running so are not part of
check-lite
2012-06-01 16:01:56 -07:00
Brian Anderson
5dc236cdac build: Add check-lite target
Runs the core, std, run-pass, run-fail, compile-fail tests for stage2 and
builds only their dependencies.

We'll use this on the bots' try branch.
2012-06-01 12:28:03 -07:00
Kevin Cantu
7dcbaedd32 Rename librustsyntax to libsyntax
Per issue #2418.
2012-05-31 11:15:00 -07:00
Brian Anderson
ff6cde7882 mk: Stop using snapshot rt/core/std 2012-05-31 01:27:21 -07:00
Brian Anderson
0c0818b955 build: Fix rules for non-target std when using snapshot std 2012-05-30 22:55:21 -07:00
Brian Anderson
e4f5f235e4 build: Fix mac build errors 2012-05-30 21:23:34 -07:00
Brian Anderson
a4ba088ef8 build: Add USE_SNAPSHOT_STDLIB. Set to 1 2012-05-30 21:23:34 -07:00
Brian Anderson
846dfbc922 build: Use snapshot core 2012-05-30 21:23:34 -07:00
Brian Anderson
429f7e9e08 build: Use snapshot runtime 2012-05-30 21:23:34 -07:00
Brian Anderson
4fec4cd8f5 bench: Add hard mode to benchmarks. Activate with RUST_BENCH.
RUST_BENCH is on automatically when running `make perf`
2012-05-23 22:55:41 -07:00
Niko Matsakis
50a3dd40ae implement new borrow ck (disabled by default) 2012-05-09 17:00:19 -07:00
Brian Anderson
264f900dfa build: Start running core tests on windows 2012-05-02 17:51:12 -07:00
Brian Anderson
30385022c1 build: No tidy for test files. Closes #2271 2012-04-30 16:33:45 -07:00
Brian Anderson
31853f31bf build: Don't require full target libs to run compiletest tests
Only build through librustsyntax, which some tests do rely on.
2012-04-24 13:30:03 -07:00
Brian Anderson
8be944e89e doc: Remove unused keywords.txt 2012-04-19 20:06:13 -07:00
Ted Horst
71be233432 properly clean .dSYM directories 2012-04-16 19:44:40 -05:00
Brian Anderson
6b398e1978 Merge pull request #2184 from evanmcc/local_rust
add the configure option --enable-local-rust to pull rust from your environment
2012-04-16 12:59:51 -07:00
Niko Matsakis
d2482fd763 use find not echo; this also brings fuzzer under the iron fist of tidy.py! 2012-04-13 11:59:17 -07:00
Brian Anderson
516b90e646 Break up make tidy even more 2012-04-11 18:17:42 -07:00
Niko Matsakis
6e3c141bee breakup tidy command 2012-04-11 17:38:23 -07:00
Graydon Hoare
685f1867f0 Fix up LIBRUSTSYNTAX_INPUTS and tidy rule. 2012-04-11 11:08:40 -07:00
Evan McClanahan
2c93b1b2df add the option --enable-local-rust to pull rust from your environment
rather than the snapshots.

make sure to get all of the files.

update to add nmatsakis' requested feature of pointing to a
different rustc install root.

usage: --enable-local-rust to enable
--local-rust-root="/path/to/rustc/" to change the path, which defaults to
"/usr/local/"

Tested on OS X and Linux, likely broken on windows.
2012-04-10 20:32:40 -07:00
Haitao Li
0364d60b28 test: Build auxiliary libraries for each test
Closes #2162
2012-04-10 16:04:05 +08:00
Patrick Walton
59abf93b79 llvm: Update llvm to use new gcnoteroot infrastructure 2012-04-09 18:06:22 -07:00
Brian Anderson
92470336dd build: Split up tidy command further to make arg list shorter
Distcheck was failing on the linux bots - too many arguments to tidy
2012-04-09 18:05:22 -07:00
Brian Anderson
110e02cbc8 build: Remove a redundant search path 2012-04-06 10:58:03 -07:00
Patrick Walton
851fde879d rt: Add architecture-specific general-purpose register definitions
This will be used for stack crawling, which in turn will be used for GC and
unwinding.
2012-04-04 21:40:34 -07:00
Niko Matsakis
9310015c25 make deletion of test libs use -rf so it works on mac 2012-04-04 19:42:12 -07:00
Graydon Hoare
4baf2ceae1 Clean up artifacts in test subdir. Should close #2066. 2012-04-04 18:08:55 -07:00
Graydon Hoare
74b0f5dcc7 Remove autodep.mk, it's not being used. 2012-04-04 18:08:55 -07:00
Brian Anderson
1ad62def6a build: Cleanup of test summary printing 2012-04-04 13:40:50 -07:00
Grahame Bowland
5cc050b265 Logfile output from tests; summarise in make check
Add an optional --logfile argument to std::test::test_main and to
compiletest.

Use this features and the new 'check-summary.py' script to
summarise all the tests performed by the 'check' target. This is
a short term fix for #2075.
2012-04-04 11:52:27 -07:00
Jon Morton
128a8b6ed5 remove rust_srv 2012-04-01 22:18:40 -05:00
Brian Anderson
e78396850d Merge remote-tracking branch 'brson/mainthread'
Conflicts:
	src/rt/rust_sched_loop.cpp
	src/rt/rust_shape.cpp
	src/rt/rust_task.cpp
2012-04-01 00:15:04 -07:00
Brian Anderson
cf0c4cd7d2 rt: Begin running tidy on C++ code again. Oops 2012-03-31 23:05:04 -07:00
Brian Anderson
609144f7a6 rt: Extract start_main_loop from rust_sched_loop to rust_sched_driver 2012-03-31 19:51:29 -07:00
Brian Anderson
218dd08469 rt: Introduce rust_sched_reaper
This just moves the responsibility for joining with scheduler threads
off to a worker thread. This will be needed when we allow tasks to be
scheduled on the main thread.
2012-03-31 19:51:29 -07:00
Brian Anderson
243790836a rt: Rename rust_task_thread to rust_sched_loop
This class no longer represents a thread; it just schedules tasks.
2012-03-31 19:51:29 -07:00
Brian Anderson
6bf8d19712 rt: Extract rust_sched_launcher from rust_task_thread
rust_sched_launcher is actually responsible for setting up the thread and
starting the loop. There will be other implementations that do not actually
set up a new thread, in order to support scheduling tasks on the main OS
thread.
2012-03-31 19:51:29 -07:00
Brian Anderson
f452973a7f build: Add --enable-debug configure option
When CFG_ENABLE_DEBUG is defined it will call rustc with -g --cfg=debug
and cc with -DRUST_DEBUG. Otherwise it calls rustc with --cfg=ndebug and cc
with -DRUST_NDEBUG.

I plan to use this for a few things in the runtime.
2012-03-29 19:10:38 -07:00
Brian Anderson
3a7a408386 rt: Free all outstanding boxes at task death 2012-03-29 16:43:18 -07:00
Brian Anderson
a0ed1fb20b build: Introduce rustsyntax crate 2012-03-29 14:42:30 -07:00
Graydon Hoare
635b55100c Fix ARFLAGS to be compatible with old RHEL5 ar. 2012-03-28 20:58:43 -07:00
Graydon Hoare
45c74f04ab Override all non-default origins for CC/CXX/CPP, not just undefined. 2012-03-28 14:26:51 -07:00
Graydon Hoare
211d41948a Conditionalize CC / CXX / CPP to permit using other gcc versions. 2012-03-28 13:52:47 -07:00
Graydon Hoare
a7a152311f Don't include config.stamp in dist tarball. 2012-03-28 11:29:38 -07:00
Graydon Hoare
55bfc5e4f9 Prep docs before pdf. 2012-03-27 13:07:26 -07:00
Graydon Hoare
46d9456610 Remove duplicate definition. 2012-03-26 18:36:48 -07:00
Graydon Hoare
5487f140cc Tidy up doc make rules. 2012-03-26 18:03:53 -07:00
Graydon Hoare
bd0399863f Disable some advanced (post glibc-2.3) libuv features when building snaps. 2012-03-26 18:03:53 -07:00
Marijn Haverbeke
1b81c5112a Remove last vestiges of old-style intrinsics
Closes #2048
2012-03-23 16:08:01 +01:00
Marijn Haverbeke
52d618a99a Revert removal of intrinsics
Oops. We can't do this yet until the next snapshot.
2012-03-23 12:51:20 +01:00
Marijn Haverbeke
f5024692d4 Remove support for the old-style intrinsics
Closes #2042
Closes #1981
2012-03-23 12:21:55 +01:00
Marijn Haverbeke
0303396f4c Register snapshot, turn off USE_SNAPSHOT flags 2012-03-23 12:21:46 +01:00
Marijn Haverbeke
b2aace2cca Temporarily turn on USE_SNAPSHOT_RUNTIME and USE_SNAPSHOT_CORELIB 2012-03-23 10:49:47 +01:00
Niko Matsakis
dc07280b08 make --enforce-mut-vars always on, add mut annotations to remaining files 2012-03-22 09:58:19 -07:00
Niko Matsakis
ea6030878a update promotion rules to not fail when .dsym file does not exist 2012-03-22 07:31:18 -07:00
Niko Matsakis
b653a18416 add mut decls to rustc and make them mandatory 2012-03-21 21:04:14 -07:00
Graydon Hoare
38f0a2e992 Typo. No idea why local build worked. 2012-03-21 18:45:28 -07:00
Graydon Hoare
251e52e0c5 Fix rt deps. Close #1449. 2012-03-21 18:40:32 -07:00
Graydon Hoare
a9e7bff731 Remove incorrect uses of NVALGRIND, Close #1435. 2012-03-21 18:21:11 -07:00
Josh Matthews
8142438938 Avoid mangling names differently in debug builds to work around a build error. Fix up file name and path debug information, and build one compilation unit for a crate instead of one per source file. 2012-03-21 18:56:36 -04:00
Brian Anderson
0a347e760f doc: Run language ref through prep.js
This is so we can strip out support code needed to make the examples work,
and as a bonus it does syntax highlighting.
2012-03-20 18:59:21 -07:00
Brian Anderson
57281f52e5 test: Begin running the language ref examples. Mostly xfailed 2012-03-20 18:59:21 -07:00
Brian Anderson
13ae8e0626 build: rm -f old tutorial snippets 2012-03-19 14:57:51 -07:00
Brian Anderson
14895aa10b build: Delete old tutorial tests before regenerating. Closes #1991 2012-03-19 14:34:11 -07:00
Brian Anderson
5d4bf75f56 rt: Convert rust_task_list to a typedef 2012-03-18 18:18:18 -07:00
Brian Anderson
664bed5fe2 build: Fix non-host libcore 2012-03-16 23:33:05 -07:00
Marijn Haverbeke
484469c58d Register new snapshot 2012-03-16 15:39:04 +01:00
Marijn Haverbeke
22bef74b55 Remove shared tydescs
All tydescs are static now, there's no need to worry about
marshalling them between threads anymore.
2012-03-16 15:38:42 +01:00
Niko Matsakis
140d194007 make it possible to use snapshot core lib 2012-03-16 10:14:44 -04:00
Daniel Brooks
29fa4a60fb This path could have spaces in it, so quote it 2012-03-15 16:55:22 -07:00
Marijn Haverbeke
76d07f4056 Remove dynastack support from runtime
Issue #1982
2012-03-16 00:44:06 +01:00
Marijn Haverbeke
146b61189a Get rid of rust_crate_cache in the runtime
We are no longer generating dynamic tydescs or dicts.

Issue #1982
2012-03-16 00:44:06 +01:00
Niko Matsakis
d365ec5c7d kill old serialization code 2012-03-15 18:30:10 -04:00
Niko Matsakis
e702d20191 allow immut vars to be moved. enforce mut vars after stage0 in std. 2012-03-14 20:46:36 -04:00
Niko Matsakis
6b35875dca annotate libstd and start enforcing mutability 2012-03-14 20:46:36 -04:00
Brian Anderson
3de30f4ef2 rt: Change alignof to rust_alignof. Remove -Wno-c++11-compat. Closes #1644 2012-03-12 18:03:48 -07:00
Brian Anderson
6bab5c07e4 build: Make tutorial and lang ref depend on rust.css 2012-03-10 15:26:09 -08:00
Brian Anderson
93a082149a build: Switch from naturaldocs to rustdoc 2012-03-09 22:56:53 -08:00
Brian Anderson
4d4995fc60 build: Fix some deps in tools.mk 2012-03-09 22:56:53 -08:00
Niko Matsakis
5c4ffd0dd7 build libcore with --enforce-mut-vars 2012-03-07 07:47:54 -08:00
Niko Matsakis
712dd23541 make inline enabled by default 2012-03-06 09:01:40 -08:00
Graydon Hoare
87c14f1e3d Move src/comp to src/rustc 2012-03-02 18:46:13 -08:00
Brian Anderson
8a32f8efe5 build: Add --enable-helgrind option 2012-03-02 14:08:02 -08:00
Jeff Olson
d461637cc5 missing build file update for parent commit 2012-02-28 17:56:15 -08:00
Niko Matsakis
1fd9abaa47 rename aux to auxiliary, since aux is apparently reserved on windows 2012-02-28 06:45:33 -08:00
Niko Matsakis
5c1338a18e add ability to run multi-crate tests, run tests with --inline 2012-02-28 06:31:29 -08:00
Niko Matsakis
13781f3d8d retool serializer to be built by stage0 rustc 2012-02-24 21:14:34 -08:00
Niko Matsakis
be9914625b allow snapshot to be specified in make command line 2012-02-24 20:46:27 -08:00
Graydon Hoare
5b4da3c5e1 Correct install.mk to use CFG_LIBDIR for correct install paths on windows. 2012-02-24 18:29:44 -08:00
Daniel Brooks
3c95fa22da python might be in a path with spaces in it, you never know 2012-02-21 00:53:01 -08:00
Graydon Hoare
224eb977f8 Fix dependencies of stage2 check-fast driver. 2012-02-17 23:02:26 -08:00
Graydon Hoare
a4d2beb16b Only modify PATH on win32 when in MSYSTEM shell 2012-02-17 23:02:25 -08:00
Brian Anderson
b2cfb7ef82 rt: Add rust_port_select function 2012-02-16 11:12:22 -08:00
Brian Anderson
4eeb706e84 build: Set RUST_THREADS=1 on FreeBSD to avoid a threading bug 2012-02-12 18:23:23 -08:00
Brian Anderson
deec6b9ccf build: Disable libuv makefile auto-regeneration 2012-02-11 18:00:52 -08:00
Niko Matsakis
fdddf8f9e1 put serializer into the build and encode full item paths 2012-02-10 20:48:28 -08:00
Graydon Hoare
5fc2e9e9ab support a fast-make mode that avoids globbing into llvm and libuv 2012-02-10 12:07:11 -08:00
Brian Anderson
5d8d591ffc rt: Remove sync::yield and sync::sleep 2012-02-09 19:00:16 -08:00
Brian Anderson
421c8db144 rt: Move rust_thread to its own files 2012-02-09 19:00:16 -08:00
Brian Anderson
e0d5b92b84 rt: Begin moving stack-building functions to rust_stack.cpp 2012-02-09 19:00:15 -08:00
Jyun-Yan You
b778dac197 fix build on freebsd 2012-02-09 18:41:57 -08:00
Niko Matsakis
5163606d06 platform-specific valgrind suppression 2012-02-05 09:07:23 -08:00
Brian Anderson
8d881967a2 rt: Extract rust_scheduler from rust_task_thread 2012-02-03 23:48:12 -08:00
Brian Anderson
f94339cc1c rt: Rename rust_scheduler to rust_task_thread 2012-02-03 23:48:12 -08:00
Marijn Haverbeke
c1b075d042 Remove experimental GC code
It's been sitting unused long enough to have bitrotted completely.
2012-02-03 11:34:12 +01:00
Brian Anderson
7f2980b749 rt: Remove bitrotted tests 2012-02-02 18:10:24 -08:00
Graydon Hoare
c485301d21 Update libuv. 2012-02-02 17:39:47 -08:00
Niko Matsakis
af2dd9b3b7 register new snapshot, revert USE_SNAPSHOT_RUNTIME setting 2012-02-01 21:02:19 -08:00
Niko Matsakis
196d69beb2 make boxes self-describing (fixes #1493)" (take 2)
this will be used to generate a new snapshot.
2012-02-01 18:52:08 -08:00
Niko Matsakis
3116643806 Revert "make boxes self-describing (fixes #1493)" until a new
snapshot is prepared.
2012-02-01 18:50:19 -08:00
Niko Matsakis
c36207bfb8 make boxes self-describing (fixes #1493) 2012-02-01 18:18:07 -08:00
Brian Anderson
5c89938544 rt: Remove rust_timer. Unused 2012-02-01 16:05:17 -08:00
Graydon Hoare
9db1d16f61 Add a 'make uninstall' target. Close #1668. 2012-01-30 16:29:20 -08:00
Brian Anderson
2ca0b37321 build: Don't use -T option on install cmd. Not OS X compatible 2012-01-28 14:32:38 -08:00
Aleksander Balicki
6841c777f6 Update cp to install, so we can safely install on systems with restrictive umasks 2012-01-28 02:52:44 +01:00
Brian Anderson
f0ba69a96f Remove the --no-core command-line option
It is superceeded by the #[no_core] attribute
2012-01-26 20:30:46 -08:00
Graydon Hoare
0bf992969f Merge pull request #1669 from graydon/inno-setup
Add Inno Setup installer script rather than NSIS
2012-01-26 18:16:30 -08:00
Marijn Haverbeke
3aed4b04ce [makefiles] Make rustc depend on librustc
This ensures the lib is not just built, but also copied into the right
lib directory when a rustc binary is used as make target.
2012-01-26 15:43:39 +01:00
unknown
fe57a7e582 Add Inno Setup installer script rather than NSIS 2012-01-25 16:02:53 -08:00
Brian Anderson
7356126457 build: Add a comment explaining -Wno-c++11-compat 2012-01-24 11:55:42 -08:00
Jyun-Yan You
c2bf9b7726 freebsd clang support 2012-01-24 11:48:36 -08:00
Austin Seipp
62c4d2ce82 Add an INSTALL.txt and make it part of the source distribution 2012-01-23 16:07:01 -06:00
Brian Anderson
07f8555b3e std: Add some hacks to use libuv 2012-01-22 20:06:58 -08:00
Brian Anderson
327c8bc733 build: Run tutorial tests 2012-01-20 19:56:06 -08:00
Graydon Hoare
16e4369fe3 Include man page in dist. 2012-01-20 12:06:14 -08:00
Niko Matsakis
cac46eac4b revert accidental commits 2012-01-20 09:34:15 -08:00
Niko Matsakis
b7811e613d small fixes for building dist on windows 2012-01-20 08:59:07 -08:00
Brian Anderson
f6c7cfdc3e Revert "build: Surround makensis command in quotes"
This reverts commit cd39fdcae3.
2012-01-20 02:31:00 -08:00
Brian Anderson
cd39fdcae3 build: Surround makensis command in quotes
Quick hack - on the bots this is installed in a dir containing spaces.
2012-01-20 02:09:26 -08:00
Graydon Hoare
fcd52f5714 Conditionalize PKG_EXE on makensis. 2012-01-19 21:29:27 -08:00
Graydon Hoare
4376189050 Update deps on the dist rule to something more modern. 2012-01-19 21:02:49 -08:00
Graydon Hoare
5f8f641211 Split dist rules by platform. 2012-01-19 18:34:41 -08:00
Graydon Hoare
c2dba1799f Actually use CFG_NATURALDOCS rather than hardcoding naturaldocs name. 2012-01-19 13:26:59 -08:00
Graydon Hoare
5378d5185e Fix the dist target to include Much Less Junk from llvm (notably not .git!) 2012-01-19 11:11:43 -08:00
Marijn Haverbeke
df02ca1df9 [makefiles] Don't add css file to set of DOCS targets 2012-01-19 14:19:23 +01:00
Marijn Haverbeke
a4b77758f0 Move tutorial over to a format similar to the reference doc
And adjust highlighting/testing scripts to deal with this.
2012-01-19 13:34:10 +01:00
Graydon Hoare
b0d5436dd0 Give up trying to be clever about masking out parts of llvm and libuv. 2012-01-18 18:44:06 -08:00
Graydon Hoare
9f66ea0ac1 Fix path munging in dist rule. 2012-01-18 18:44:06 -08:00
Graydon Hoare
3074fd591d Tidy tidy 2012-01-18 18:44:06 -08:00
Graydon Hoare
193279daa2 Refactor the doc building rules a bit, sensitize them to the presence or absence of xetex and luatex (for now). 2012-01-18 14:14:42 -08:00
Haitao Li
397d9148a7 build: Run tidy first before all other check targets
`make check` executes `tidy` after compile. It reminds me that I've left
long lines or trailing whitespaces only after compilation finshed. That
is too late since I have to recompile only because fixing the trivial
formatting issues.

Run tidy first to avoid potentially unnecessary re-compilation.
2012-01-19 02:51:57 +08:00
Marijn Haverbeke
ba6c94e321 Add a stylesheet to make the reference HTML look a bit prettier 2012-01-18 16:28:31 +01:00
Brian Anderson
6e27b27cf8 libstd: Move std tests into libstd 2012-01-17 19:48:58 -08:00
Brian Anderson
de4053f473 build: Start running libcore tests 2012-01-17 19:41:05 -08:00
Graydon Hoare
dbd3d6ac09 Move the ifdefs to nest properly. Real clever. 2012-01-17 16:50:13 -08:00
Graydon Hoare
80c7bfb069 Rename some readmes and fix some dist logic. 2012-01-17 16:50:13 -08:00
Graydon Hoare
c1bf17ed4f cp -a only. 2012-01-17 15:47:35 -08:00
Brian Anderson
fa718dcebf build: Stop passing --lib argument 2012-01-17 15:13:43 -08:00
Graydon Hoare
af4e18d980 Improve the node-doc-building logic. 2012-01-17 14:46:51 -08:00
Grahame Bowland
9be247b9b8 build the tutorial if node.js is available 2012-01-17 23:56:20 +08:00
Haitao Li
ef0775fec8 build: Check and set perf --log-fd option
Linux perf tool version 3.2 introduced a new option "--log-fd" defaults
to 0, which leads to error "Failed opening logfd: Illegal argument" when
executing perf tests.

Set logfd to stderr to let perf test work.

Issue #1538
2012-01-17 10:48:46 +08:00
Haitao Li
394a80cfd8 build: Stop building stage3 on normal test cycles
Issue #1419
2012-01-16 20:30:39 +08:00
Brian Anderson
b9cd983f36 build: Start running rustdoc tests 2012-01-16 01:07:41 -08:00
Brian Anderson
16462a77b0 build: Add rustdoc to tidy rules 2012-01-15 14:30:12 -08:00
Brian Anderson
66e97a9b08 rustdoc: Add a crate file 2012-01-15 14:30:12 -08:00
Brian Anderson
9e40e43e74 build: Build libraries in the bin directory on win32 2012-01-14 13:43:04 -08:00
Brian Anderson
09856537ab build: Add shortcut targets for pretty-print tests 2012-01-13 14:48:07 -08:00
Brian Anderson
dcac427795 Revert "build: Build libraries in the bin directory on win32"
This reverts commit 23e0d16b5f.
2012-01-12 20:06:45 -08:00
Brian Anderson
d95de0dd95 Merge remote-tracking branch 'brson/win32' 2012-01-12 19:25:27 -08:00
Graydon Hoare
fefdb63c4c Begin shift over to using pandoc, markdown and llnextgen for reference manual. Fix man page URL while at it. 2012-01-12 19:10:30 -08:00
Brian Anderson
23e0d16b5f build: Build libraries in the bin directory on win32 2012-01-12 13:59:05 -08:00
Brian Anderson
f921e2e3d1 Revert "build: Build libraries in the bin directory on win32"
This reverts commit c00ec5f9c9.
2012-01-11 14:13:11 -08:00
Brian Anderson
c00ec5f9c9 build: Build libraries in the bin directory on win32 2012-01-11 13:57:11 -08:00
Graydon Hoare
0fba2d0255 Fix 'make distcheck', close #1445. 2012-01-10 14:34:53 -08:00
Niko Matsakis
005e319485 make use of snapshot runtime predicated on variable USE_SNAPSHOT_RUNTIME 2012-01-09 19:53:32 -08:00
Brian Anderson
d4ae1cae60 rt: Build the stage0 runtime for non-hosts from the working dir 2012-01-09 13:34:01 -08:00
Niko Matsakis
8506241f3a fix how we walk functions to match new closure fmt 2012-01-06 22:40:31 -08:00
Marijn Haverbeke
d214e3df16 Don't delete css and js files in doc/ when making clean
We have a bunch of these in the repository.
2012-01-06 17:40:05 +01:00
Brian Anderson
82cb906dd8 build: Don't delete llvm files as part of make clean
Doing this is just resulting in a broken workspace. We have a clean-llvm
target that does the right thing. If we want to we can make it a dependency
of clean, but most people don't need to clean llvm and doing so results
in a lengthy rebuild.
2012-01-05 22:46:13 -08:00
Graydon Hoare
8634c238c6 Fix a couple paths in the dist target. 2012-01-05 16:36:48 -08:00
Jyun-Yan You
274fc1b59c fix link error 2012-01-01 20:18:55 -08:00
Jyun-Yan You
21eadbe6f1 add missing library, enable segmented stacks for freebsd 2012-01-01 20:18:55 -08:00
User Jyyou
a59c4b1b47 freebsd support 2012-01-01 20:18:55 -08:00
Graydon Hoare
90ae3e3168 Document copy/move/swap/assign expressions more accurately. Fix up some drift on log docs. 2011-12-30 15:10:55 -08:00
Graydon Hoare
468ced3868 Make install and check targets depend on all. Close #1395. 2011-12-30 12:48:07 -08:00
Graydon Hoare
7e611366bb Make clean cleaner. 2011-12-30 12:47:43 -08:00
Graydon Hoare
51a9274cf6 Add rustdoc to build. 2011-12-20 18:27:27 -08:00
Haitao Li
bc95ccb536 Separate driver rustc and librustc
rustc is now a minimal wrapper of librustc.
2011-12-20 21:06:04 +08:00
Marijn Haverbeke
ebdf3ef2c0 Don't make rustc depend on librustc 2011-12-19 15:48:58 +01:00
Brian Anderson
cb5f636ff1 rustc: Don't emit compact unwind info on mac
It's not compatible with the subtlety of __morestack
2011-12-18 00:42:37 -08:00
Graydon Hoare
c758e11fd3 Install and snapshot cargo by default. 2011-12-16 19:37:27 -08:00
Graydon Hoare
4f826b34cb Update build machinery to build and install librustc everywhere (including snapshots). 2011-12-16 17:21:28 -08:00
Haitao Li
d5af61d679 build: Tidy cargo when checking formatting 2011-12-16 17:17:24 +08:00
Haitao Li
55cc110822 build: Remove the temp hack for libraries renaming transition 2011-12-16 17:17:24 +08:00
Brian Anderson
21cf9c8698 build: Touch llvm-config after building
llvm-config is the file we base our LLVM build rule on, but rebuilding LLVM
doesn't always rebuild it, so touch.
2011-12-13 14:32:32 -08:00
Haitao Li
2ba317ddb2 build: Temp hack to make transition to new snapshot 2011-12-12 16:15:29 -08:00
Haitao Li
6dbd4c21e9 rustc: build versioned library with hash in its name
Also updated build to install versioned libraries and added a few
missing actions for `make clean`.
2011-12-12 16:15:29 -08:00
Brian Anderson
4699b6865f build: Use llvm-mc as our assembler
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-10 18:51:21 -08:00
Graydon Hoare
dfd699a852 Pass --no-core when building libcore. 2011-12-07 13:32:59 -08:00
Graydon Hoare
447414f007 Establish 'core' library separate from 'std'. 2011-12-06 12:13:04 -08:00
Austin Seipp
b513a5a500 Make valgrind usage more consistent and less error prone.
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-12-06 01:15:29 -06:00
Brian Anderson
a92218e630 Upgrade LLVM to svn revision 145779
This pulls in commits 145765 & 145766, which are required for split stacks.
2011-12-04 14:59:56 -08:00
Brian Anderson
9711596bec Fix definition of check-stageN-all targets 2011-12-03 20:23:54 -08:00
Niko Matsakis
9cc2515dfa make check test stage3 2011-12-02 19:05:50 -08:00
Niko Matsakis
1eb378b23a make "check" match "all": only the host triple 2011-12-02 19:05:49 -08:00
Stefan Plantikow
1b7f1415d6 build: added CFG_INSTALL_SNAP for automatically activating test snapshots
This is only guaranteed to work when building in the top-level dir
2011-12-02 12:23:50 -08:00
Graydon Hoare
d1fd7d49a7 Build infra and minor build-enabling bugfixes for cargo. 2011-12-01 11:31:29 -08:00
Brian Anderson
7476a39e47 stdlib: Implement some preliminary libuv bindings
std::uv is intended to be low-level, exactly mirroring the C API.
Difficult to continue the implementation now without scheduler
improvements.
2011-12-01 10:24:21 -08:00
Brian Anderson
b2fd6121c0 build: Pass -fPIC to the libuv build 2011-12-01 10:24:21 -08:00
Niko Matsakis
c1be673e76 fix path for the find command 2011-11-30 15:44:59 -08:00
Brian Anderson
fc6f3b1b14 build: Have 'make check' run all target/host combinations 2011-11-29 15:37:33 -08:00
Brian Anderson
2979b3d006 build: Fix stage0 rules for non-host targets 2011-11-29 15:03:03 -08:00
Niko Matsakis
5ce33ceb76 improve install, fix MKFILE_DEPS so it works 2011-11-29 13:01:10 -08:00
Niko Matsakis
865a796081 fix snap 2011-11-29 13:01:10 -08:00
Brian Anderson
52993f7c32 Adjust perf target to use correct variable names 2011-11-29 13:00:30 -08:00
Niko Matsakis
aba6e63543 work on perf 2011-11-29 12:51:12 -08:00
Niko Matsakis
6bced5be31 fix more problems w/ check-fast 2011-11-29 12:51:11 -08:00
Niko Matsakis
4f92204765 make check-fast work 2011-11-29 12:51:11 -08:00
Niko Matsakis
821298737a fix dependencies for snap-stage[23] 2011-11-29 12:51:11 -08:00
Niko Matsakis
6e55426c8c tweak to get windows test-running correct 2011-11-29 12:51:10 -08:00
Niko Matsakis
44ccc36d93 update snapshot scripts 2011-11-29 12:51:10 -08:00
Niko Matsakis
4817222102 fix clean target 2011-11-29 12:51:09 -08:00
Niko Matsakis
9c00c62b08 fix makefiles, add option to ignore changes in makefiles 2011-11-29 12:51:09 -08:00
Niko Matsakis
8371beb590 makefiles now seem to be working, rustc is not 2011-11-29 12:51:08 -08:00
Niko Matsakis
791dc23c83 make check works 2011-11-29 12:51:08 -08:00
Niko Matsakis
c9061733c6 misc fixes 2011-11-29 12:51:07 -08:00
Niko Matsakis
9c12c7c7f5 basic builds function 2011-11-29 12:51:07 -08:00
Brian Anderson
cd91c6d065 rt: Build __morestack as a static library and copy it to the right places 2011-11-28 18:01:42 -08:00
Brian Anderson
e075412a92 build: Stop linking morestack.S to rt
__morestack has to be linked statically. The odd calling convention on x86_64
results in the arguments to __morestack (r10 & r11) being clobbered by the
dynamic linker. gcc links all the __morestack functions statically.
2011-11-28 16:37:29 -08:00
Brian Anderson
aa2fbbac0d build: Create a better definition of LLVM deps 2011-11-25 19:36:19 -08:00
Haitao Li
2ac63801d2 doc: Build keywords multitable automatically
Keywords are now listed in a plain text file. They're sorted in
column-major order and rendered as a texinfo multitable in rust.texi.

Fixes issue #1216.
2011-11-23 21:11:18 +01:00
Brian Anderson
6bdf347418 rt: Make __morestack (without unwinding) work on 32-bit linux 2011-11-22 18:02:10 -08:00
Stefan Plantikow
25b44a8973 Added CFG_NOTIDY flag to the build
This should allow a small speedup for test builds; unset by default
2011-11-18 21:19:18 -08:00
Brian Anderson
3bffb8b5de build: Add various shorthand make check rules 2011-11-17 12:04:37 -08:00
Brian Anderson
d624e523c9 rt: Make stack growth code build on Linux 2011-11-17 10:53:06 -08:00
Patrick Walton
e6c3c4e48c rt: More work on morestack 2011-11-17 10:52:59 -08:00
Brian Anderson
02cebbb9f1 Revert "rt: More work on morestack"
This reverts commit 68aff2ad6d.
2011-11-16 18:49:19 -08:00
Brian Anderson
5559e149e4 Revert "rt: Make stack growth code build on Linux"
This reverts commit da4b7da4e1.
2011-11-16 18:49:07 -08:00
Brian Anderson
da4b7da4e1 rt: Make stack growth code build on Linux 2011-11-16 18:33:00 -08:00
Patrick Walton
68aff2ad6d rt: More work on morestack 2011-11-16 18:00:57 -08:00
Niko Matsakis
938b23e228 fix prereqs 2011-11-16 15:27:09 -08:00
Niko Matsakis
9ccd84a9cd fix prereqs 2011-11-16 15:16:43 -08:00
Niko Matsakis
5502354f33 correct (I think) prereqs 2011-11-16 15:16:42 -08:00
Niko Matsakis
4183023357 correct pre-reqs 2011-11-16 15:16:42 -08:00
Niko Matsakis
c997a353aa make check-stage2-perf target work again, along with rustc, std 2011-11-16 15:16:41 -08:00
Niko Matsakis
36ab948bfa make it so that tests can be run on different target arch 2011-11-16 15:16:40 -08:00
Patrick Walton
b3cf0c4d1b Revert "rt: More work on morestack"
This reverts commit ced0d4f15e.
2011-11-14 16:20:53 -08:00
Patrick Walton
ced0d4f15e rt: More work on morestack 2011-11-14 16:17:08 -08:00
Brian Anderson
453168d917 build: Fix 'make perf'. Closes #1151 2011-11-13 16:51:38 -08:00
Brian Anderson
5d1e321ecb rt: Remove rust_chan 2011-11-11 12:11:21 -08:00
Brian Anderson
f705f68121 rt: Remove rust_aio.cpp. Bitrotted. 2011-11-10 18:02:08 -08:00
Brian Anderson
12f2b4989e Improve make clean rules for libuv 2011-11-10 13:42:02 -08:00
Niko Matsakis
ff5b319ce5 correct stack alignment 2011-11-08 21:14:09 -08:00
Niko Matsakis
a8c0c2b871 make clean delete all .o files from rt directory 2011-11-08 21:14:09 -08:00
Erick Tryzelaar
ab265586eb Re-add libuv as a submodule. 2011-11-08 19:01:47 -08:00
Brian Anderson
8857657640 Rename rust_uv.cpp to rust_aio.cpp 2011-11-07 19:35:39 -08:00
Brian Anderson
fdeb5ba304 Upgrade libuv to f1859eb841be2fe48512bc10e64556383f408b01 2011-11-07 19:24:25 -08:00
Brian Anderson
e7afe11a2a Build LLVM with -fno-omit-frame-pointer on Linux 2011-11-05 13:23:11 -07:00
Brian Anderson
814c3d0d76 Add clean-all rule which also cleans LLVM 2011-11-05 13:23:11 -07:00
Brian Anderson
8ea6d0c5d2 Use $(MAKE) for recursive make 2011-11-05 13:23:11 -07:00
Brian Anderson
4b6585c924 Parameterize the LLVM build over the target triples 2011-11-05 13:23:11 -07:00
Brian Anderson
a4e1a438f6 Cleanup LLVM build rules after rebase onto x64 changes 2011-11-05 13:23:11 -07:00
Brian Anderson
a0ff3db258 LLVM build cleanup 2011-11-05 13:23:11 -07:00
Brian Anderson
e47f410536 Use LLVM directly from the build directory
This will cut out the few seconds it takes to run make install.
2011-11-05 13:23:10 -07:00
Brian Anderson
26bb6716ef Tie the LLVM build into ours 2011-11-05 13:23:10 -07:00
Brian Anderson
f96f1692ef Add mk/llvm.mk 2011-11-05 13:23:10 -07:00
Elly Jones
39e0009190 docs: work around texi2dvi bug. (#1134) 2011-11-05 13:18:23 -07:00
Elly Jones
230b279b82 install.mk: make man1 directory 2011-11-04 19:53:23 -04:00
Brian Anderson
af1ce1f3de Remove an old, temporary build rule 2011-11-03 12:22:41 -07:00
Brian Anderson
9435459e89 Make the formatting of the host build message consistent 2011-11-03 11:26:52 -07:00
Brian Anderson
558ca9b4a8 Escape $ when building linux def files 2011-11-02 14:24:15 -07:00
Niko Matsakis
1db9af1bf2 rerun the gyp-uv tool 2011-11-02 14:14:20 -07:00
Niko Matsakis
305cecee4f pass proper options to libuv make 2011-11-02 14:14:20 -07:00
Niko Matsakis
2bfa72ea42 virtualize rustllvm construction per target triple 2011-11-02 14:14:20 -07:00
Niko Matsakis
54af489e6f virtualize the runtime per target triple. 2011-11-02 14:14:20 -07:00
Niko Matsakis
e8e2f3395d Fix build on windows 2011-11-02 14:14:20 -07:00
Niko Matsakis
3f4fd29db8 fix failed merge 2011-11-02 14:14:20 -07:00
Niko Matsakis
d0887996e5 get the dependencies right so that all target archs are built 2011-11-02 14:13:22 -07:00
Niko Matsakis
93781297bf enable building with different target arch 2011-11-02 14:13:22 -07:00
Niko Matsakis
f05761ddb3 enable intrinsics for multiple arch 2011-11-02 14:13:22 -07:00
Niko Matsakis
f0c1f999ac arch is ia32 in libuv, annoyingly. this should be changed. 2011-11-02 14:13:22 -07:00
Niko Matsakis
20946e6970 start going back to an i386 build 2011-11-02 14:13:22 -07:00
Niko Matsakis
8011e3fabb hack around on makefiles trying to get a 64 bit build
right now there are many temporary hacks, search for NDM to find them
2011-11-02 14:13:22 -07:00
Brian Anderson
93035722a4 Remove temporary build rules 2011-10-31 15:19:03 -07:00
Brian Anderson
86459b3517 Add some transitional build rules for moving libstd.so to libruststd.so 2011-10-31 14:43:43 -07:00
Patrick Walton
c9003d301f Stub a __morestack implementation and stack segment allocation. Untested. 2011-10-31 14:20:56 -07:00
Brian Anderson
799ba7b122 Split 'make tidy' into multiple commands
The echo command line seems to be getting too large
2011-10-31 12:57:50 -07:00
Brian Anderson
0b331e5934 Add a make docs target 2011-10-27 15:02:32 -07:00
Brian Anderson
1b75e5c315 Use web-style paragraphs in std docs 2011-10-26 11:55:28 -07:00
Brian Anderson
d611067d7f Add more comments to install.mk 2011-10-25 21:18:22 -07:00
Brian Anderson
28051a8e3d Install man page for rustc 2011-10-25 21:17:57 -07:00
Brian Anderson
7ae757583a Begin documenting std and add doc generation using naturaldocs
Naturaldocs isn't really that great but it seems easier to get
something working than with doxygen, for which we would need to
convert rust code to something C++ish. We probably want to just
write a rustdoc utility at some point.
2011-10-25 18:01:52 -07:00
Brian Anderson
8c4e192d91 Add commentary about -znoexecstack 2011-10-23 19:07:55 -07:00
Austin Seipp
7a8e12ca6d Make sure librustrt.so is linked with a non-executable stack.
Fixes #798.
2011-10-23 19:05:23 -07:00
Brian Anderson
bdbeb75bfb Upgrade libuv to 179f475b2ad64729feb0422f06ce133cb364482a 2011-10-22 17:37:18 -07:00
Brian Anderson
160c56e768 Get 'make tidy' to work rustllvm and rt again 2011-10-21 17:35:52 -07:00
Brian Anderson
ff813f84a8 Run perf on the stage 2 compiler 2011-10-20 22:40:21 -07:00
Marijn Haverbeke
ba1c6fcf38 Remove the last vestiges of main.ll
Closes #992
2011-10-20 17:36:28 +02:00
Marijn Haverbeke
243c5c3479 Use snap runtime, and the old main.o, for stage1
This is intended to be reverted again after I register the next
snapshot.
2011-10-20 13:14:28 +02:00
Niko Matsakis
86735c0d7d make ctags targets phony 2011-10-18 10:37:27 -07:00
Niko Matsakis
9476692b52 move ctags.rust into src/etc 2011-10-12 13:57:32 -07:00
Niko Matsakis
e1c470c9ed new targets, TAGS.emacs and TAGS.vi. they must be manually made. 2011-10-12 13:57:32 -07:00
Brian Anderson
dd484369dc Fix test dependencies 2011-10-11 08:54:20 -07:00
Brian Anderson
96f6a1861c Revert "Revert "Stop using (DY)LD_LIBRARY_PATH on Unix""
This reverts commit 941d5e737c.
2011-10-09 15:23:41 -07:00
Brian Anderson
941d5e737c Revert "Stop using (DY)LD_LIBRARY_PATH on Unix"
This reverts commit 4b58071f96.
2011-10-09 15:05:12 -07:00
Brian Anderson
ae7bdc22a5 Fix make clean on windows 2011-10-07 15:41:15 -07:00
Brian Anderson
fed56b07ba Make windows packaging work again 2011-10-07 13:48:20 -07:00
Brian Anderson
4709038d64 Bring make distcheck up to date 2011-10-06 18:12:15 -07:00
Brian Anderson
4b58071f96 Stop using (DY)LD_LIBRARY_PATH on Unix 2011-10-06 15:23:20 -07:00
Brian Anderson
d8a85f0758 Make rpath work on mac 2011-10-06 13:09:00 -07:00
Patrick Walton
8d8b48a901 rt: Make C stack switching Valgrind-clean by warning Valgrind when we're about to write to the C stack from the Rust stack 2011-10-05 16:33:17 -07:00
Brian Anderson
e963cfd41a Run tests with LD_LIBRARY_PATH set to the target libs, not the host libs
Setting it to the host libs uses those compiled from the previous stage
2011-10-05 16:21:55 -07:00
Brian Anderson
6335529c36 Fix #1003 harder 2011-10-04 11:24:18 -07:00
Brian Anderson
f5e668c877 Fix a typo in tests.mk. Closes #1003 2011-10-04 11:19:37 -07:00
Brian Anderson
9be0dc1250 Cleanup mk/tests.mk 2011-10-02 18:00:13 -07:00
Brian Anderson
3a6f3cf275 Move compiletest to src/ and cleanup build rules 2011-10-02 17:28:59 -07:00
Brian Anderson
6e654564db Lots of build system cleanup and documentation
This splits mk/stageN.mk into host.mk and target.mk and makes
the build rules somewhat simpler - there's no more building from stageN
into stageN+1; instead we always build from stageN(host) to
stageN(target) then promote from stageN(target) to stageN+1(host).

Add a big honkin explaination right at the top of Makefile.in
2011-10-02 00:57:53 -07:00
Brian Anderson
9563c17d78 Have 'make install' do something close to useful
We'll copy the files to the right location. Still need to rpath.

Issue #529
2011-09-30 22:47:40 -07:00
Brian Anderson
821dd6c02c Change the directory for target libs
This pushes them down from stageN/lib/rustc/$(target) to
stageN/lib/rustc/$(target)/lib in order to make room for a target bin dir
2011-09-30 17:19:24 -07:00
Brian Anderson
e71d17ffa6 Refix the snapshot rules 2011-09-30 16:27:18 -07:00
Brian Anderson
f634eb2bfd Make config of static stdlib more consistent with rest of makefile
I haven't tested if it actually works. Static stdlib is probably becoming
bitrotted.
2011-09-30 16:18:19 -07:00
Brian Anderson
38c67a4c8d Abstract the build directories further in the makefiles
This defines variables for host bin and lib directories as well as all target
bin and lib directories then uses them everywhere.
2011-09-30 16:18:19 -07:00
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