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
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