Commit Graph

378 Commits

Author SHA1 Message Date
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
Graydon Hoare
72f7b11748 Strip leading $(S)/src off built targets in test; s/rustc/stage0/ in a few places. 2011-03-21 14:02:01 -07:00
Graydon Hoare
65974396fa Fix various pathnames. 2011-03-21 13:42:37 -07:00
Graydon Hoare
5e0ef2a0f2 Port tidy and remainder of pkg/dist rules. 2011-03-21 13:42:37 -07:00
Graydon Hoare
68d76c21c5 Port testing variables. 2011-03-21 13:42:37 -07:00
Patrick Walton
a5caa310e4 build: Support spaces in CFG_LDPATH. 2011-03-21 11:56:45 -07:00
Graydon Hoare
e961f5303d More conservative rule for clean. 2011-03-21 11:23:19 -07:00
Graydon Hoare
81f3b33bb0 Split R and T so that tests run under valgrind but compiler doesn't. 2011-03-21 11:02:37 -07:00
Graydon Hoare
5f64612a14 Fix misuse of $(S) before definition, to permit running with valgrind suppressions. 2011-03-21 11:02:15 -07:00
Graydon Hoare
26ec8831dc s/DSYMUTIL/CFG_DSYMUTIL/ 2011-03-20 21:05:49 -07:00
Graydon Hoare
d22714f70d Add -lrt to stateN link commands. 2011-03-20 21:05:31 -07:00
Graydon Hoare
c4e0085291 Fix multi-stage deps, add rules for stage1 and stage2 outputs. 2011-03-20 19:43:39 -07:00
Graydon Hoare
a36b44d33d Depend %.stage0.exe on %.stage0.o. 2011-03-20 19:43:38 -07:00
Graydon Hoare
4691a75150 Begin porting rules for testsuite execution. 2011-03-20 01:12:26 -07:00
Graydon Hoare
74a585eeb7 Add build rules for stage1. 2011-03-19 22:55:28 -07:00
Graydon Hoare
aa1e331469 Set up dynamic library paths properly in builddir. 2011-03-19 18:34:51 -07:00
Graydon Hoare
724a9a392a Correct deps on stage0/glue.bc 2011-03-19 18:34:49 -07:00
Graydon Hoare
24e0fc071f Switch path-munge from sed to perl. 2011-03-19 18:34:48 -07:00
Graydon Hoare
b7972d34ed Add support for building glue.o. 2011-03-18 18:33:22 -07:00
Graydon Hoare
29d7cb8833 Run rustc stages using proper LD_LIBRARY_PATH. 2011-03-18 18:33:22 -07:00
Graydon Hoare
02d18ccf31 Point valgrind suppressions file to srcdir. 2011-03-18 18:33:22 -07:00
Graydon Hoare
a599d80e98 Add rules for stage0/rustc to Makefile.in. 2011-03-18 17:44:40 -07:00
Graydon Hoare
874a7bfba2 Remove redundant slashes in Makefile.in. 2011-03-18 17:44:40 -07:00
Graydon Hoare
03e2e5963e Rename SUPPORT_INCS -> LLVM_INCS in Makefile.in. 2011-03-18 17:44:40 -07:00
Graydon Hoare
37cc67fbfe Get llvmext building in new Makefile.in. 2011-03-18 16:23:35 -07:00
Graydon Hoare
aab3916d47 Remove some whitespace. 2011-03-18 16:18:45 -07:00
Graydon Hoare
c328ba1c54 Rename a couple CFG_LIB_NAME vars in Makefile.in 2011-03-18 16:06:15 -07:00
Graydon Hoare
4c2245d842 Yet more painstaking configure/make logic. 2011-03-17 23:52:15 -07:00
Graydon Hoare
3ae9ca444c Move Makefile.in and configure to top level, BOOT_-qualify names, various tweaks. 2011-03-17 14:26:32 -07:00