Commit Graph

347 Commits

Author SHA1 Message Date
Graydon Hoare 4ac25426b6 Merge pull request #1583 from killerswan/ubuntu_ppa
Additions re: Ubuntu PPA for Rust
2012-01-20 16:12:50 -08:00
Graydon Hoare 992d743bef Bump release number to 0.2pre to avoid clobbering 0.1 artifacts in future. 2012-01-20 14:36:38 -08:00
Kevin Cantu c9d53ca8ba Add support for DESTDIR to "make install"
per the Debian New Maintainers' Guide:
http://www.debian.org/doc/manuals/maint-guide/modify.en.html#id459110
2012-01-20 04:17:32 -08:00
Graydon Hoare b70470bcf5 Set release string to 0.1. 2012-01-19 22:55:58 -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
Graydon Hoare 80c7bfb069 Rename some readmes and fix some dist logic. 2012-01-17 16:50:13 -08:00
Grahame Bowland 9be247b9b8 build the tutorial if node.js is available 2012-01-17 23:56:20 +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 6860dcc958 Register snapshots 2012-01-15 13:50:37 -08:00
Brian Anderson 9e40e43e74 build: Build libraries in the bin directory on win32 2012-01-14 13:43:04 -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 6becf517e3 Revert "Register snapshots"
This reverts commit 17d504e0a9.
2012-01-12 20:06:30 -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 17d504e0a9 Register snapshots 2012-01-12 17:16:31 -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
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
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