Brian Anderson
f525f6e94c
Register new snapshots
2011-09-30 18:03:54 -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
b0560965c4
Refix the fuzzer make rule
2011-09-30 16:18:19 -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
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
86ed9053da
Fix make all build rule
2011-09-29 22:58:34 -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
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
Graydon Hoare
18c6cc6371
More steps to arch-specific target libs ( #474 )
2011-09-23 10:50:16 -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
Graydon Hoare
d5b2d62b20
Add build-system mechanisms for running benchmarks under 'perf'.
2011-09-13 15:06:41 -07: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
c9c5ee252a
Implement non-internal ivecs
...
Vectors are now similar to our old, pre-internal vectors, except that
they are uniquely owned, not refcounted.
Their name should probably change too, then. I've renamed them to vec
in the runtime, will do so throughout the compiler later.
2011-08-29 09:07:53 +02:00
Marijn Haverbeke
9db4d9c6fd
Add CFG_USE_SNAP_LIBS_FOR_STAGE1 hack to makefiles
2011-08-29 09:01:27 +02:00
Brian Anderson
e3d3aaadaa
Don't run the stage0 compiler under valgrind when CFG_VALGRIND_COMPILE
...
There's nothing to be done for stage0 at this point.
2011-08-26 13:20:22 -07:00
Graydon Hoare
7da64ae461
Munge libuv makefiles sufficiently to build out of tree.
2011-08-05 11:57:07 -07:00
Marijn Haverbeke
863d121043
Revert 66c1ca857b
2011-07-27 15:44:21 +02:00
Marijn Haverbeke
f45524d0d4
This time, I'm almost sure it'll work
...
(Tinderbox workaround kludge)
2011-07-27 15:19:31 +02: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
b01ecb10c3
Instantiate the stage0/lib/stdlib rules from stage0.mk instead of stageN.mk.
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
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
2cb3a798ab
Build the fuzzer on Windows
2011-07-20 10:11:35 -07:00
Graydon Hoare
46b0aa5c5c
Enable fuzzer build *when not on windows*. We'll get to windows when we can.
2011-07-18 15:57:12 -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
Brian Anderson
d9cc4cb81b
Revert "Add fuzzer as part of 'all' standard build target so people know when it breaks."
...
Try to put out windows tinderbox. The librustc build rules don't seem to work
there yet.
This reverts commit ce6a77e24e
.
2011-07-14 19:42:12 -07:00
Graydon Hoare
ce6a77e24e
Add fuzzer as part of 'all' standard build target so people know when it breaks.
2011-07-14 17:27:37 -07:00
Graydon Hoare
39151f2ad8
Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.
2011-07-13 15:44:09 -07: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
Brian Anderson
106d0f3b72
Complete the transition of glue.o to the lib directory
2011-07-07 17:19:24 -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
df8161d44c
Correct make rules a bit.
2011-06-30 13:41:28 -07:00
Graydon Hoare
c796a8f24d
Re-enable tidy (it was broken) and fix various non-tidy things.
2011-06-29 15:14:55 -07: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
8fc51dfc65
Some work on reviving the mingw-cross build. Not working yet.
2011-06-27 11:53:28 -07:00
Graydon Hoare
79ba31504b
Fixes to speed and clean up makefiles.
2011-06-25 19:23:32 +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
2752284f4b
Add TIME_LLVM_PASSES flag to the Makefile
2011-06-18 20:23:05 -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
fc31c90b5c
Break long lines.
2011-06-17 15:49:23 -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
Rafael Ávila de Espíndola
1dbc0442cd
Automatically add a -L to the directory the binary is in.
2011-06-17 13:36:08 -04: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
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
49742b86be
Add a 'make reformat' rule.
2011-06-01 12:01:55 -07:00
Tim Chevalier
60399ed198
Tell Makefile to look an extra level deep for dependencies
2011-05-19 11:40:16 -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
6a4a85f452
Re-export CFG_LLVM_ROOT to reconfiguring.
2011-05-18 12:00:33 -07:00
Graydon Hoare
9ac29480ce
Be a bit noisier about being in a transition.
2011-05-16 15:14:58 -07:00
Brian Anderson
072305af13
Remove CFG_OCAMLC_OPT
2011-05-14 16:08:22 -04:00
Brian Anderson
cad8c734bd
Add a flag to run the compiler under valgrind
2011-05-14 00:15:40 -04:00
Graydon Hoare
ae784df3ce
Add support for 'T' transition snapshots, which are identical to S snapshots except they tell the makefile to stop at stage1.
2011-05-13 17:06:58 -07: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
404db4d9a1
build: Add a DEBUG flag that turns on -g
2011-05-10 17:50:39 -07:00
Graydon Hoare
1e03f00404
Use #env to bake a git revision string into rustc's --version output.
2011-05-06 11:21:51 -07:00
Patrick Walton
518e2d249c
build: Disable valgrind by default on the Mac. Our suppressions file doesn't even begin to cover the huge stream of errors that dyld generates.
2011-05-05 18:11:40 -07:00
Ralph Giles
0b2cfcaab9
Make ocamlc and optional dependency.
...
Since moving to a downloadable snapshot for stage0, it's been
possible to complete the build without compiling code written
in ocaml. However, the configure script still required it to
be present.
This commit changes detection failure to a non-fatal condition,
allowing the build to complete on systems without an ocaml
compiler.
An info message is also made conditional.
2011-05-05 11:02:16 -07:00
Patrick Walton
04f966f0bc
build: Build intrinsics.bc
2011-05-04 18:29:08 -07:00
Graydon Hoare
4f52ab52c1
Remove everything to do with rustboot from makefiles.
2011-05-03 15:56:00 -07:00
Graydon Hoare
d987b49a4b
More hacking on the snapshot system.
2011-05-02 23:37:52 -07:00
Graydon Hoare
5d1c8dbfa9
Add stage1, stage2 to Makefile.in default target, so tinderboxes notice breakage.
2011-05-02 17:56:33 -07:00
Graydon Hoare
40624e35d7
Start splitting up Makefile.in
2011-05-01 20:20:25 +00:00
Graydon Hoare
73ba2dd4c7
Shift stages around; stage0/rustc depends on stage0/libstd.so.
2011-04-30 18:44:34 +00:00
Patrick Walton
9aeb67987c
rustc: Temporarily add a switch and a corresponding makefile variable to disable typestate
2011-04-29 12:16:14 -07:00
Patrick Walton
648c4ae2ba
build: Add a TIME_PASSES=1 variable
2011-04-29 11:55:32 -07:00
Patrick Walton
c52fb52fbc
rustc: Remove the wrong-compiler warning; we're self-hosting now.
2011-04-29 10:23:53 -07:00
Marijn Haverbeke
6b11f6c46f
Change rustc to use GetOpts rather than ad-hoc command-line parsing
...
NOTE: all 'long' parameters now use a double dash, so --shared, rather
than gcc-style -shared.
2011-04-26 20:32:14 +02:00
Patrick Walton
3f77e7df6d
rustc: Add a SAVE_TEMPS option to the Makefile for use when debugging stage1 and test cases
2011-04-25 14:20:28 -07:00
Graydon Hoare
0cffc58225
Fix LD_LIBRARY_PATH on STAGE0, STAGE1 defs; define STAGE2.
2011-04-24 00:29:19 -07:00
Graydon Hoare
9eec7e3b15
Expansion of rules to cover stage1, stage2 in more cases. Fix typo in makefile.
2011-04-24 06:06:29 +00:00
Rafael Ávila de Espíndola
fac8cc3b06
Use -c in the Makefiles.
2011-04-22 15:15:52 -04:00
Graydon Hoare
186717fae0
Fix link commands for stage1 and stage2.
2011-04-21 06:07:10 +00:00
Graydon Hoare
c470cd2d66
Fix stage1 Makefile rules.
2011-04-20 15:24:04 +00:00
Graydon Hoare
d2bd07dcb0
Remove effect system from src.
2011-04-19 13:35:49 -07:00
Rafael Ávila de Espíndola
9657e5d2d3
Revert 9ab42038bb
while I find what is
...
wrong on Windows.
2011-04-18 15:37:04 -04:00
Rafael Ávila de Espíndola
9ab42038bb
Change the makefiles to use -c.
2011-04-18 15:00:17 -04:00
Rafael Ávila de Espíndola
099e094765
Produce PIC code and use -S in the Makefile.
2011-04-15 19:29:13 -04:00
Rafael Ávila de Espíndola
01b1d4110d
Remove code that is already in llvm for some time.
2011-04-13 14:55:44 -04:00
Rafael Ávila de Espíndola
1fa7fe758f
Update Makefile.in, not Makefile :-(
2011-04-13 14:05:02 -04:00
Rafael Ávila de Espíndola
4bd8dcccbc
Try to fix the windows build.
2011-04-11 15:05:18 -04:00
Rafael Ávila de Espíndola
e733311a95
Make sure RustWrapper.cpp is linked in.
2011-04-11 14:52:11 -04:00
Graydon Hoare
19ebc0f376
Actually disable optimize in --disable-optimize case, duh.
2011-04-08 17:28:14 -07:00
Graydon Hoare
cae703c0b1
Add support for --disable-optimize
2011-04-08 15:49:14 -07:00
Rafael Ávila de Espíndola
2cbe2bcb5e
Link with -lm now that it is not included with --whole-archive when
...
building rustllvm.
2011-04-08 14:51:47 -04:00
Rafael Ávila de Espíndola
f8e22cdff3
Gold is more strict about --whole-archive and will report duplicated
...
symbols because of an Object.o in a .a and one outside. A similar
problem happens for the non-shared part of libpthread.
This patch moves the -whole-archive/-no-whole-archive to include just the
llvm libs.
2011-04-08 14:25:18 -04:00
Patrick Walton
ed14ea1d3f
build: Use -O0 on Darwin. Seems that Darwin's GCC optimizations break rustrt.
2011-04-07 18:14:13 -07:00
Marijn Haverbeke
973023030e
add -O2 when compiling rt, fix warnings triggered by optimizer
2011-04-08 00:41:52 +02:00
Rafael Ávila de Espíndola
b4422cca21
Add a -O option and change the Makefile to use it.
2011-04-07 15:42:06 -04:00
Graydon Hoare
6d857c0c84
Fix error where make check would not produce compilers first, due to make's infinite-recursion-prevention heuristic.
2011-03-31 14:58:44 -07:00
Graydon Hoare
a505e3c0ec
Improve 'clean' make target.
2011-03-31 14:03:43 -07:00
Graydon Hoare
a154c5b656
Um, that'd be, align the word *before* retpc. Addresses point to the low part of a word. Un-XFAIL nbody on Darwin.
2011-03-30 14:10:06 -07:00
Graydon Hoare
94731fa458
Add support for --enable-foo and --disable-foo flags to configure, that Makefile.in respects.
2011-03-30 04:45:09 +00:00
Graydon Hoare
b55c8333cb
Beef up the SREQ variables in Makefile.in, make tests depend on libstd.so
2011-03-29 17:33:39 -07:00
Graydon Hoare
d7a6c83c8c
Apparently I learned to type yesterday.
2011-03-29 15:21:39 -07:00
Graydon Hoare
973fd3c4f2
Add -lstd to the stage0, 1, 2 test executable link commands.
2011-03-29 14:56:57 -07:00
Graydon Hoare
6936093992
XFAIL nbody on darwin, quiet tinderbox for now.
2011-03-29 11:20:58 -07:00
Graydon Hoare
b628c352f3
Fix Makefile.in grep for use on weaker greps (win32 mingw).
2011-03-26 17:35:26 -07:00
Graydon Hoare
49d9d5688e
Switch xfail system to use comments embedded in source files.
2011-03-25 12:19:20 -07:00
Tim Chevalier
a47cd50dfb
Parse FP literals without coercing to int. This allows parsing 64-bit
...
floats. However, if someone writes a literal that can't be represented
precisely in 64 bits, the front-end will accept it while the back-end
will (presumably) complain.
2011-03-25 11:20:30 -07:00
Brian Anderson
ebc4df3c7a
Implement local declarations with receive. Un-XFAIL decl-with-recv.rs.
2011-03-25 11:01:52 -07:00
Brian Anderson
ef1bcdea70
Add test for local declarations with receive. XFAIL in rustc.
2011-03-25 11:01:52 -07:00
Graydon Hoare
10f336055c
Auto-reconfigure on Makefile.in or configure change.
2011-03-25 10:29:45 -07:00
Brian Anderson
2036e8221d
Un-XFAIL task-comm-4, 5 & 6
2011-03-25 08:43:08 -07:00
Marijn Haverbeke
a045514477
Start making the standard-lib utf-8 aware
...
Finally implements _str.is_utf8, adds from_chars, from_char, to_chars,
char_at, char_len, (push|pop|shift|unshift)_char. Also, proper
character I/O for streams.
2011-03-25 08:22:52 -07:00
Graydon Hoare
78c077e428
Don't delete rust.texi on 'make clean'
2011-03-25 07:35:59 -07:00
Graydon Hoare
3d56b41478
Untabify Makefile entry.
2011-03-25 00:16:05 -07:00
Graydon Hoare
0f9d460e24
Placate win32 build; no idea how it can be working currently on tinderbox.
2011-03-25 00:16:04 -07:00
Lindsey Kuper
bcc104ce79
A first stab at the 'nbody' demo, with support for calling C sqrt().
2011-03-25 00:15:56 -07:00
Patrick Walton
0b9cf7902c
build: Generate an object file for stage0/libstd.dylib
2011-03-24 18:43:32 -07:00
Patrick Walton
1c8a2598fb
rustc: XFAIL use.rs too. Should put out burning tinderbox.
2011-03-24 17:45:52 -07:00
Patrick Walton
af3d0d1848
rustc: Open "use"d crates; add a _vec.vec_from_buf() method along the way; XFAIL use-import-export.rs in rustc
2011-03-24 17:22:07 -07:00
Patrick Walton
01485f31ed
build: Add -Wl,-whole-archive to the link flags. Should put out the burning tinderbox on Linux.
2011-03-24 14:22:26 -07:00
Patrick Walton
e2d4fb0fb2
build: Use "true" instead of /bin/true, since it's /usr/bin/true on Darwin
2011-03-24 12:41:00 -07:00
Patrick Walton
f284c5c1eb
Generate the platform-specific .def files at build time
2011-03-24 12:24:22 -07:00
Patrick Walton
8c9f5ffc77
Add a Linux .def file. Might put out burning tinderbox.
2011-03-24 11:43:51 -07:00
Patrick Walton
a2b9a7ce8f
rustc: Use a .def file for Darwin. Puts out burning Darwin tinderbox.
2011-03-24 11:26:46 -07:00
Patrick Walton
4c34ae9d83
XFAIL floating point tests in rustc to put out burning tinderbox
2011-03-24 11:14:24 -07:00
Patrick Walton
9aae248649
build: Use the .def files when linking on Windows
2011-03-23 17:48:32 -07:00
Patrick Walton
b7003ae6fa
build: On newer MinGWs it seems that flexlink needs "-cclib -L/usr/lib". Add this.
2011-03-23 16:37:45 -07:00
Lindsey Kuper
0b63512f4c
Support for 'float' in type signatures.
2011-03-23 16:01:29 -07:00
Graydon Hoare
0a42d5ae62
Split too-long 'tidy' command-line up using xargs, for win32.
2011-03-23 15:05:54 -07:00
Graydon Hoare
e6969929db
More miserable win32 configury fixes. Getting closer.
2011-03-23 14:35:28 -07:00
Graydon Hoare
f740747ea5
Guard texi2pdf on tex probe as well. OSX package systems are real permissive.
2011-03-23 13:33:15 -07:00
Graydon Hoare
a978d53425
Add layer of indirection to differentiate LD_LIBRARY_PATH vs. DYLD_LIBRARY_PATH.
2011-03-23 13:10:30 -07:00
Graydon Hoare
f052d9b4c2
Calculate git-derived versions correctly when out-of-tree.
2011-03-23 11:34:10 -07:00
Graydon Hoare
d8d9adfbd6
Fix the float XFAILs in Makefile.in.
2011-03-23 10:40:21 -07:00
Graydon Hoare
ef01ce9cdc
Pick up new XFAIL from Makefile.
2011-03-23 10:39:15 -07:00
Graydon Hoare
28a4e778f3
Add doc rules to Makefile.in
2011-03-23 10:37:35 -07:00
Tim Chevalier
23e23bd762
Further support for floating-point. Literals with exponents work
...
and literals with the 'f32' or 'f64' suffixes work as well. In
addition, logging things with the f32 or f64 type works. (float is
still assumed to be a synonym for f64).
2011-03-22 17:31:27 -07:00
Graydon Hoare
a251343fab
Clean a little bit harder.
2011-03-22 17:11:47 -07:00
Graydon Hoare
d96b8cd649
XFAIL float.rs in boot under new Makefile.in
2011-03-22 17:11:47 -07:00
Graydon Hoare
0c06f5169f
Trim redundant /
2011-03-22 17:11:47 -07:00
Graydon Hoare
6e1f52e79e
Port auto-dep logic to new Makefile.in
2011-03-22 17:11:47 -07:00
Brian Anderson
3dcb79dac9
Add a regression test for channels of nil, which happens to work in rustc, but not in rustboot
2011-03-22 08:04:47 -07:00
Graydon Hoare
7ac885ee8c
Repair some fallout from pcwalton's last few build changes.
2011-03-21 23:06:42 -07:00
Patrick Walton
e6d3308eb6
Add .def file support to the new build system (which does nothing at the moment since I don't know how to use .defs on MinGW)
2011-03-21 18:05:34 -07:00
Patrick Walton
700c946739
Change llvmext.dll to rustllvm.dll in the new build system to match the def file
2011-03-21 18:03:56 -07:00
Graydon Hoare
ea1321fcdd
Minor distcheck fixes
2011-03-21 16:16:15 -07:00
Graydon Hoare
7ed7c02111
FIx three $-typos in Makefile.in.
2011-03-21 15:53:08 -07:00
Graydon Hoare
e80c0d5027
Fix CFG_RUN* rules a bit harder. Can now do 'make check' on both boot and stage0 targets.
2011-03-21 15:30:10 -07:00
Graydon Hoare
0eb6be13fb
Adjust run rules to avoid early substitution. Testsuite begins to run.
2011-03-21 14:52:02 -07:00