Commit Graph

279 Commits

Author SHA1 Message Date
Graydon Hoare 0fba2d0255 Fix 'make distcheck', close #1445. 2012-01-10 14:34:53 -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
Graydon Hoare 4f826b34cb Update build machinery to build and install librustc everywhere (including snapshots). 2011-12-16 17:21:28 -08:00
Niko Matsakis 68c6272f86 new targets, "rustc", "rustc-stage[123]", etc 2011-12-15 14:01:38 -08:00
Niko Matsakis c28ada0368 first attempt, not happy with it 2011-12-14 14:32:18 -08:00
Brian Anderson 283cf35415 build: Call llvm-config with the .exe extension on windows 2011-12-13 22:43:35 -08:00
Brian Anderson ecdeffbe3d build: Fix definition of LLC/LLVM_AS
Using bindir doesn't work on windows anymore. Something to do with us not
actually installing it, but running directly from the build directory, maybe
just an LLVM bug.
2011-12-13 19:48:17 -08:00
Brian Anderson c9b14cc0dd build: Set 'all' as the default goal. Closes #1290 2011-12-13 12:02:17 -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
Haitao Li b4f450a793 Using filename when finding libraries for linking
Revert #999 commit 16dad84f7b
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
Niko Matsakis 15d60326f6 helpful targets 2011-12-06 19:55:45 -08:00
Graydon Hoare 447414f007 Establish 'core' library separate from 'std'. 2011-12-06 12:13:04 -08: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
Niko Matsakis 493492910f adopt -H-all convention 2011-12-02 19:05:49 -08:00
Niko Matsakis 3bbfe515df make convenient rustc targets 2011-12-02 19:05:49 -08:00
Graydon Hoare d1fd7d49a7 Build infra and minor build-enabling bugfixes for cargo. 2011-12-01 11:31:29 -08:00
Graydon Hoare 766e29c0e1 Fix terminology typo. 2011-11-29 19:28:38 -08:00
Niko Matsakis 5ce33ceb76 improve install, fix MKFILE_DEPS so it works 2011-11-29 13:01:10 -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 9c12c7c7f5 basic builds function 2011-11-29 12:51:07 -08:00
Brian Anderson 8d7863fad0 configure: Add --disable-manage-submodules switch
This will keep configure/make from updating submodules, which becomes
very annoying when you are working on LLVM
2011-11-28 18:01:42 -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 143f87899b build: Fix the rules for reconfiguring on git submodule changes 2011-11-25 20:01:14 -08:00
Stefan Plantikow 99c421f01d Removed --no-typestate flag from rutsc
Fixes issue #1139
2011-11-16 18:52:46 -08:00
Niko Matsakis 599baf9325 remove rustc target: it breaks mingw32 and I don't care enough 2011-11-09 20:45:01 -08:00
Niko Matsakis 711a3b066b add rustc to set of targets to build 2011-11-09 20:05:48 -08:00
Erick Tryzelaar ab265586eb Re-add libuv as a submodule. 2011-11-08 19:01:47 -08: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 0e150116f3 Reconfigure when the git submodule status changes 2011-11-05 13:23:10 -07:00
Brian Anderson f96f1692ef Add mk/llvm.mk 2011-11-05 13:23:10 -07:00
Brian Anderson 19797dfe9d Fix typo in Makefile.in comments 2011-11-03 10:53:49 -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 20946e6970 start going back to an i386 build 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
Haitao Li d1cc00fef5 Rename libstd.so to libruststd.so
Fixes Issue #999
2011-10-31 14:43:43 -07:00
Brian Anderson 33f2f22bef Fix typo in Makefile.in 2011-10-27 15:04:29 -07:00
Brian Anderson 0c6200743c Add std docs to the build process 2011-10-27 14:59:22 -07:00
Marijn Haverbeke ba1c6fcf38 Remove the last vestiges of main.ll
Closes #992
2011-10-20 17:36:28 +02: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 4709038d64 Bring make distcheck up to date 2011-10-06 18:12:15 -07:00
Brian Anderson b7db0f1237 Don't run stage0 compiler under valgrind
The stage0 compiler can't be fixed anyway. We used to have this in place but I
lost it during recent build changes.
2011-10-05 11:09:52 -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 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