Commit Graph

222 Commits

Author SHA1 Message Date
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