Commit Graph

413 Commits

Author SHA1 Message Date
Brian Anderson e9605dc0c9 Use consistent capitalization in makefile errors
In Rust we don't like capital letters.
2013-11-01 15:28:12 -07:00
Heather 8a593a8bdb support for GNU configure syntax 2013-10-29 16:22:08 -07:00
Alex Crichton 201cab84e8 Move rust's uv implementation to its own crate
There are a few reasons that this is a desirable move to take:

1. Proof of concept that a third party event loop is possible
2. Clear separation of responsibility between rt::io and the uv-backend
3. Enforce in the future that the event loop is "pluggable" and replacable

Here's a quick summary of the points of this pull request which make this
possible:

* Two new lang items were introduced: event_loop, and event_loop_factory.
  The idea of a "factory" is to define a function which can be called with no
  arguments and will return the new event loop as a trait object. This factory
  is emitted to the crate map when building an executable. The factory doesn't
  have to exist, and when it doesn't then an empty slot is in the crate map and
  a basic event loop with no I/O support is provided to the runtime.

* When building an executable, then the rustuv crate will be linked by default
  (providing a default implementation of the event loop) via a similar method to
  injecting a dependency on libstd. This is currently the only location where
  the rustuv crate is ever linked.

* There is a new #[no_uv] attribute (implied by #[no_std]) which denies
  implicitly linking to rustuv by default

Closes #5019
2013-10-29 08:39:22 -07:00
bors cd623e3e36 auto merge of #9919 : alexcrichton/rust/fmt-begone, r=huonw
It lived a good life, but its time has come. The groundwork is set for the
official transition after the next snapshot (removal of XXX2 macros)
2013-10-18 18:26:23 -07:00
Alex Crichton 29c58c473f Remove the fmt! syntax extension
It lived a good life, but its time has come. The groundwork is set for the
official transition after the next snapshot (removal of XXX2 macros)
2013-10-18 16:01:40 -07:00
Daniel Micay 28a6498dbf rm rusti from `Makefile.in` 2013-10-17 19:47:24 -04:00
Daniel Micay 7c92435f8f remove the rusti command
Closes #9818
Closes #9567
Closes #8924
Closes #8910
Closes #8392
Closes #7692
Closes #7499
Closes #7220
2013-10-16 22:54:38 -04:00
Tim Chevalier a9dddbacde rust / build: Remove the `rust` tool
Sadly, there's a lack of resources for maintaining the `rust` tool,
and we decided in the 2013-10-08 Rust team meeting that it's better
to remove it altogether than to leave it in a broken state.

This deletion is without prejudice. If a person or people appear who
would like to maintain the tool, we will probably be happy to
resurrect it!

Closes #9775
2013-10-10 14:36:06 -07:00
klutzy 6434d0b58f Makefile: Get git revision correctly on Windows
Fixes a bug that `rustc.exe -v` didn't show git revision hash.
The bug is caused by that `$(wildcard $(CFG_GIT))` requires
space-escaped inputs while `$(CFG_GIT)` is usually
`C:\Program Files (x86)\Git\bin\git.exe`.
2013-10-09 16:38:41 +09:00
Alex Crichton aaf6cc3a84 Prevent leakage of fmt! into the compiler
We're not outright removing fmt! just yet, but this prevents it from leaking
into the compiler further (it's still turned on by default for all other code).
2013-09-30 23:21:18 -07:00
bors 92e7bb67a8 auto merge of #9542 : pnkfelix/rust/fsk-fix-issue-9531, r=thestinger
r? strcat 

(please double check that it fixes things on your chroot, if possible, before approval)

Fix #9531
2013-09-28 15:01:38 -07:00
Brian Anderson 99c1fb8c66 Update version numbers to 0.9-pre 2013-09-26 18:18:42 -07:00
Felix S. Klock II 2835df2db6 Fix for make -j race from #9531 injected by cleanup in b1a22518f0. 2013-09-26 23:56:53 +02:00
bors 03e5e96315 auto merge of #9385 : alexcrichton/rust/actually-ndebug, r=pnkfelix
Turns out that even if the default is "enabled", that doesn't mean that the
CFG_ENABLE_DEBUG variable will be defined. Instead, test whether
CFG_DISABLE_DEBUG is defined and disable debug things if that's the case.
2013-09-22 22:20:50 -07:00
Alex Crichton 0442764a9b Actually default rustc to have debug! output
Turns out that even if the default is "enabled", that doesn't mean that the
CFG_ENABLE_DEBUG variable will be defined. Instead, test whether
CFG_DISABLE_DEBUG is defined and disable debug things if that's the case.
2013-09-22 10:42:50 -07:00
Alex Crichton 7b24efd6f3 rustdoc: Out with the old, in with the new
Removes old rustdoc, moves rustdoc_ng into its place instead (plus drops the _ng
suffix). Also shreds all reference to rustdoc_ng from the Makefile rules.
2013-09-22 09:51:15 -07:00
Brian Anderson 695cb9fc2b Update version numbers to 0.8 2013-09-21 16:25:08 -07:00
Alex Crichton 833a64d76e Invert --cfg debug to --cfg ndebug
Many people will be very confused that their debug! statements aren't working
when they first use rust only to learn that they should have been building with
`--cfg debug` the entire time. This inverts the meaning of the flag to instead
of enabling debug statements, now it disables debug statements.

This way the default behavior is a bit more reasonable, and requires less
end-user configuration. Furthermore, this turns on debug by default when
building the rustc compiler.
2013-09-20 12:10:04 -07:00
Alex Crichton 876cb76f1b Add the rustdoc_ng binary to the makefile rules
Now rustdoc_ng will be built as both a binary and a library (using the same
rules as all the other binaries that rust has). Furthermore, this will also
start building rustdoc_ng unit tests (and running them).
2013-09-16 18:10:46 -07:00
Corey Richardson 268f3f0ff5 Add rustdoc_ng 2013-09-16 07:26:48 -04:00
Alex Crichton 44be4a4737 Move the llvm auto-clean stamp into $target/llvm 2013-09-03 23:47:13 -07:00
Brian Anderson 30a7a5b8fa Define cfg(rtopt) when optimizing. Turn off runtime sanity checks
Naturally, and sadly, turning off sanity checks in the runtime is
a noticable performance win. The particular test I'm running goes from
~1.5 s to ~1.3s.

Sanity checks are turned *on* when not optimizing, or when cfg
includes `rtdebug` or `rtassert`.
2013-08-23 21:19:59 -07:00
Huon Wilson 44acdad5f8 libsyntax/ext/deriving/cmp/* was ignored by the build system. 2013-08-04 19:37:29 +10:00
Felix S. Klock II b6a0138f97 PR #7637 followup: no need to print the set of removed files twice. 2013-07-19 20:47:00 -04:00
bors 8a7b636649 auto merge of #7637 : pnkfelix/rust/fsk-guard-against-stale-libraries-issue3225-safeguarded, r=graydon
When building Rust libraries (e.g. librustc, libstd, etc), checks for
and verbosely removes previous build products before invoking rustc.
(Also, when Make variable VERBOSE is defined, it will list all of the
libraries matching the object library's glob after the rustc
invocation has completed.)

When installing Rust libraries, checks for previous libraries in
target install directory, but does not remove them.

The thinking behind these two different modes of operation is that the
installation target, unlike the build tree, is not under the control
of this infrastructure and it is not up to this Makefile to decide if
the previous libraries should be removed.

Fixes #3225 (at least in terms of mitigating the multiple library
problem by proactively warning the user about it.)
2013-07-10 01:10:29 -07:00
Felix S. Klock II 25f51eeda0 Fix #3225: Incorporate feedback from Graydon.
Namely, switched in many places to using GNU make provided functions
for directory listing and text processing, rather than spawning a
shell process to do that work.

In the process of the revision, learned about Target-specific
variables, which were very applicable to INSTALL_LIB (which, on a
per-recipe basis, was always receiving the same actual arguments for
its first two formal parameters in every invocation).

  http://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html

(We might be able to make use of those in future refactorings.)

----

Also adds a cleanup pass to get-snapshot.py as well, since the same
problem arises when we unpack libraries from the snapshot archive into
a build directory with a prior snapshot's artifacts.  (I put this step
into the python script rather than the makefile because I wanted to
delay the cleanup pass until after we have at least successfully
downloaded the tarball.  That way, if the download fails, you should
not destroy the previous unarchived snapshot libraries and build
products.)

----

Also reverted whitespace changes to minimize diff.
I plan to put them back in in a dedicated commit elsewhere.
2013-07-09 13:08:50 +02:00
Brian Anderson b0a9d8193f Bump version numbers to 0.8-pre 2013-07-08 10:25:45 -07:00
Felix S. Klock II 033ac5497e Fix #3225: Check for old Rust libraries when building and installing.
When building Rust libraries (e.g. librustc, libstd, etc), checks for
and verbosely removes previous build products before invoking rustc.
(Also, when Make variable VERBOSE is defined, it will list all of the
libraries matching the object library's glob after the rustc
invocation has completed.)

When installing Rust libraries, checks for previous libraries in
target install directory, but does not remove them.

The thinking behind these two different modes of operation is that the
installation target, unlike the build tree, is not under the control
of this infrastructure and it is not up to this Makefile to decide if
the previous libraries should be removed.
2013-07-07 15:23:40 +02:00
Brian Anderson a766a955a9 Bump version from 0.7-pre to 0.7 2013-06-30 16:36:48 -07:00
bors 88830996d8 auto merge of #7442 : graydon/rust/clean-llvm-trigger, r=brson
This makes it possible for us to trigger the llvm-clean make-target by checking in a change that touches rustllvm/llvm-auto-clean-stamp. Most developers don't need to see or know about this, but when you push a change that "needs an LLVM rebuild", even if not otherwise obvious, this should give a mechanism to do it.
2013-06-29 08:17:01 -07:00
Brian Anderson 59905d1f27 mk: Make windows installer work with -pre versions 2013-06-27 19:00:10 -07:00
Graydon Hoare 9591832112 mk: add mechanisms for triggering clean-llvm builds from commits 2013-06-27 17:12:07 -07:00
Brian Anderson e8151de88f Update version number to 0.7-pre.
There's a reason we didn't update this after 0.6 but I don't know
what it is. Let's see what breaks.
2013-06-26 17:44:36 -07:00
Alex Crichton 42b44b21b1 Rename all files with the 'rc' extension 2013-06-25 08:55:15 -07:00
Niko Matsakis 682bb4144c correct ASM_COMMENTS Makefile option 2013-06-16 12:46:51 -04:00
Brian Anderson 069086cdb4 Remove the fuzzer
It is suffering from a bad case of megabitrot.
2013-06-15 16:12:56 -07:00
Ramkumar Ramachandra 1a98726d07 Makefile.in: simplify logic for CFG_VER_HASH
git log -1 --pretty=format:'%H' is a very convoluted way of saying git
rev-parse HEAD.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
2013-06-05 19:39:31 +05:30
James Miller d694e283b3 Refactor optimization pass handling.
Refactor the optimization passes to explicitly use the passes. This commit
just re-implements the same passes as were already being run.

It also adds an option (behind `-Z`) to run the LLVM lint pass on the
unoptimized IR.
2013-05-29 14:16:49 +12:00
Patrick Walton f3723cf7c4 libextra: Rename the actual metadata names of libcore to libstd and libstd to libextra 2013-05-22 21:57:07 -07:00
Patrick Walton 0c820d4123 libstd: Rename libcore to libstd and libstd to libextra; update makefiles.
This only changes the directory names; it does not change the "real"
metadata names.
2013-05-22 21:57:05 -07:00
Patrick Walton 08e561ae70 librustc: Disable borrow check debugging even when rustc is compiled with -O0.
This improves -O0 compile times dramatically.
2013-05-22 21:57:02 -07:00
Zack Corr 3532350016 Add #[cfg(debug)] flag to rust suite compilation. Closes #3068 2013-05-08 20:03:53 +10:00
Niko Matsakis 4300d4d2fa Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze
Conflicts:
	src/libcore/core.rc
	src/libcore/hashmap.rs
	src/libcore/num/f32.rs
	src/libcore/num/f64.rs
	src/libcore/num/float.rs
	src/libcore/num/int-template.rs
	src/libcore/num/num.rs
	src/libcore/num/strconv.rs
	src/libcore/num/uint-template.rs
	src/libcore/ops.rs
	src/libcore/os.rs
	src/libcore/prelude.rs
	src/libcore/rt/mod.rs
	src/libcore/unstable/lang.rs
	src/librustc/driver/session.rs
	src/librustc/middle/astencode.rs
	src/librustc/middle/borrowck/check_loans.rs
	src/librustc/middle/borrowck/gather_loans.rs
	src/librustc/middle/borrowck/loan.rs
	src/librustc/middle/borrowck/preserve.rs
	src/librustc/middle/liveness.rs
	src/librustc/middle/mem_categorization.rs
	src/librustc/middle/region.rs
	src/librustc/middle/trans/base.rs
	src/librustc/middle/trans/inline.rs
	src/librustc/middle/trans/reachable.rs
	src/librustc/middle/typeck/check/_match.rs
	src/librustc/middle/typeck/check/regionck.rs
	src/librustc/util/ppaux.rs
	src/libstd/arena.rs
	src/libstd/ebml.rs
	src/libstd/json.rs
	src/libstd/serialize.rs
	src/libstd/std.rc
	src/libsyntax/ast_map.rs
	src/libsyntax/parse/parser.rs
	src/test/compile-fail/borrowck-uniq-via-box.rs
	src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
	src/test/run-pass/borrowck-nested-calls.rs
2013-05-05 15:11:04 -04:00
Niko Matsakis 989d008124 separate out write_guard code into its own module 2013-05-04 14:29:32 -04:00
Brian Anderson f4af40a1db mk: core has another level of directories with rt/io/net 2013-04-22 21:27:24 -07:00
Brian Anderson 57e85b5f94 core: Add rt::io and start sketching the API 2013-03-18 16:59:37 -07:00
Brian Anderson 81e370285f Merge remote-tracking branch 'brson/cross7'
Conflicts:
	configure
	mk/rt.mk
2013-03-06 23:54:35 -08:00
Jyun-Yan You 5150b9811b rustc: MIPS32 support 2013-03-03 19:27:27 -08:00
Young-il Choi 7714d52cd9 mk: cleanup - lib and executable suffix handling 2013-03-02 21:25:12 +09:00
Young-il Choi 26a5dc593c mk: rewrite make files 2013-02-27 14:53:35 +09:00
Brian Anderson 15c0c35352 mk: Split target triples into bulid triple + host triples + target triples
For cross compiling to targets that don't want to build a compiler
2013-02-21 17:51:55 -08:00
Marvin Löbel 726fc877d1 Added rust convenience tool similar to go's go tool 2013-02-18 23:11:08 +01:00
Zack Corr 621c791ded Rename cargo to rustpkg and start over fresh 2013-02-15 18:04:10 -08:00
kyeongwoon 987f824f23 Support ARM and Android
Conflicts:
	src/libcore/os.rs
	src/librustc/back/link.rs
	src/librustc/driver/driver.rs
	src/librustc/metadata/loader.rs
	src/librustc/middle/trans/base.rs
2013-01-13 16:43:39 -08:00
Graydon Hoare dbd36111fe bump 0.5 => 0.6, redirect some URLs in docs. 2012-12-21 15:35:49 -08:00
Graydon Hoare d1affff623 Reliciense makefiles and testsuite. Yup. 2012-12-10 17:32:58 -08:00
Brian Anderson e4c0fad28f Fix 'make all' to build all the way through stage2. Closes #3978 2012-11-15 19:11:47 -08:00
Brian Anderson cf002e9d32 Tools should not be build prereqs of tests. Closes #3946 2012-11-13 18:35:02 -08:00
Brian Anderson 13c01dd48a Fix make install rules for new libraries 2012-11-07 14:05:45 -08:00
Brian Anderson 69a8b4d8e2 Rename src/rustc to src/librustc. Use the driver crate 2012-11-07 13:53:39 -08:00
Brian Anderson 84208b2d26 Librarify rusti, etc. 2012-11-04 17:14:52 -08:00
Brian Anderson 1b0c6665d9 Merge remote-tracking branch 'brson/repl'
Conflicts:
	mk/install.mk
	src/rt/rustrt.def.in
2012-11-04 13:42:39 -08:00
Daniel Patterson 6c79d78843 library-ifying of tools - turning cargo, rustdoc, fuzzer, into libraries, as per #3543 2012-11-03 18:23:43 -07:00
Zack Corr ea996556b9 rusti: Remove linenoise module, add to rt, remove core::rl 2012-10-30 11:08:36 +10:00
Zack Corr 9ed8ce3364 Correct makefiles to build linenoise correctly 2012-10-27 21:16:26 +10:00
Zack Corr 4912428cb5 rusti: Add linenoise, wrap into core::rl and add rusti REPL tool
Add Brian Leibig to AUTHORS.txt for REPL contributions
2012-10-27 18:03:15 +10:00
Brian Anderson 55d134d29a Some tweaks to the valgrind makefile code
This reenables valgrinding of the compiler and prints a message
when the user _is_ valgrinding
2012-10-20 14:32:44 -07:00
Mahmut Bulut c05d96c191 Valgrind check disable 2012-10-20 13:57:47 -07:00
Graydon Hoare 57b4d10ff6 bump version to 0.5. 2012-10-12 16:41:32 -07:00
Luca Bruno 27a984e254 Use both DESTDIR and prefix
The DESTDIR variable is not intended as a prefix substitute, but
as an additonal staging pre-path. Concatenate the two when available.

Signed-off-by: Luca Bruno <lucab@debian.org>
2012-10-01 23:11:44 +02:00
Graydon Hoare e7b8388cb4 Pass stage1 for relevant portion of "stage0" cross compile 2012-09-26 14:57:43 -07:00
Brian Anderson afd91f8a56 Register snapshots. Remove redundant Eq impls, Makefile hacks 2012-09-23 23:01:49 -07:00
Brian Anderson cb34138cd0 Makefile hack to fix snapshotty-cross-compiley problem 2012-09-23 14:05:44 -07:00
Niko Matsakis 5e36a99794 Refactor trans to replace lvalue and friends with Datum.
Also:
- report illegal move/ref combos whether or not ref comes first
- commented out fix for #3387, too restrictive and causes an ICE
2012-09-06 06:11:12 -07:00
Zack Corr d7aa9918ef Add experimental JIT compiler 2012-08-31 16:20:35 -07:00
Brian Anderson 65b05a6ce8 Bump version to 0.4 2012-08-30 14:05:59 -07:00
Graydon Hoare 9849c78c8e release 0.3.1
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQCgymAAoJEAstaigwM2N2jFIQALcgsPfk68I2OmqtvBAZeQ+R
 Ssj3WAmbD2Zf9qq+O4qbKKPf1JKjXRXf0OASAEIz+AU3nids0r02aofMxO7qstRs
 /vuNqmRQx3fqJOLJtRuv4i58Tns+FDsYe7gBFyXQlMrxHekPYdubDVXata+wuqKc
 JC1rVuACDUf7nOiA5VjFl0nBYcXCtdlFTwMyP1EnkJlwu7oIElQT6BHPOtGXu/2T
 PZFzIGV6z7v5Uyy5PuwhrJ03itP6YZe695iVVJrCZcX6CLLH4H29ClKk7ugrQzFi
 EzP8bjrjRAbuZ/vB3xwuTB3NRo92lg6J9XS9+sFwwHa9Wpn4F2pv8vQxxOZqjQjb
 FNNYZTiN7ZADxRWWqCtWYMFncxpgsaewVtGRuWIClc9AMzDTOjRm0+B9ZS5OlWVI
 egCeMIpdPNko31teN/Qxuu2inXqBPs8G03WDaudMuLBZmxevlwbC0eUsPnKH1Iuf
 KAvmZmhUGEiVf/pxnkEsZWTQkK2m2mmuEf4cwI7jctv5bDc0wvgD1/vqWSZerrp0
 rkqjZ8IX6sR2EnUbQ4AFHDkAJZdqR/jT0y/n2aC6bI6e2RzeMDBMxAIzfXU4OFK+
 WI1io9Gu2S6Z9C370s4JaBzIhdwCmJ9wbutayckpvxaTpUFU0uTBvaJfhg1n8vI/
 CIbFOKJexiaN3QY9TFMf
 =Nr2c
 -----END PGP SIGNATURE-----

Merge tag 'release-0.3.1' into incoming

release 0.3.1
2012-07-20 18:59:07 -07:00
Graydon Hoare 33a055638c Release 0.3.1 2012-07-20 18:57:40 -07:00
Paul Stansifer fa882d4295 Add a badge to the tutorial and reference docs indicating which Rust version they pertain to. 2012-07-19 17:09:03 -07:00
Graydon Hoare 63df248414 Revert "Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory."
This reverts commit 2cf6bf87c3.
2012-07-11 15:04:32 -07:00
Graydon Hoare 2cf6bf87c3 Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory. 2012-07-11 12:10:54 -07:00
Brian Anderson 57e160b29d 0.2 -> 0.3 2012-07-10 11:53:22 -07:00
Brian Anderson 1bd4e35dd8 configure: Don't turn on rustc's -g with --enable-debug
-g is super-buggy
2012-07-02 17:22:49 -07:00
Brian Anderson c88ab58c68 Add per-stage RUSTFLAGS environment variables, RUSTFLAGS_STAGEN 2012-06-27 16:03:14 -07:00
Michael Sullivan f99f2e8ce2 Update the build system to handle dependency on header files. Closes #2547. 2012-06-14 14:50:14 -07:00
Brian Anderson 231097960c build: Build crates with --cfg stageN. Use #[cfg(stageN)] 2012-06-06 23:39:56 -07:00
Erick Tryzelaar e8493115c5 Switch "make all" to build stage2 versions of fuzzer, cargo, and rustdoc
This should trim some time off "make all" because it doesn't force the
stage3 rustc to be built. Even better, we can directly use the cargo out
of the build directory because we automatically build the stage2 libcore
and libstd.
2012-06-05 21:40:57 -07:00
Brian Anderson 8f0bd18d5b Revert "build: Don't need to build the runtime before starting on core"
This reverts commit a94e6c63fd.
2012-06-01 21:46:10 -07:00
Brian Anderson a94e6c63fd build: Don't need to build the runtime before starting on core 2012-06-01 21:34:30 -07:00
Brian Anderson c4471dd685 build: Remove debug/ndebug cfg. Unused 2012-06-01 11:42:55 -07:00
Kevin Cantu 7dcbaedd32 Rename librustsyntax to libsyntax
Per issue #2418.
2012-05-31 11:15:00 -07:00
Brian Anderson c8426d1e78 build: pass RUSTFLAGS to the compiler
We can use this for preliminary testing of the GC using `make RUSTFLAGS=--gc`
2012-05-19 18:27:16 -07:00
Niko Matsakis 28d0ce9a8b fix up handling of &x where x is an arg or &self (for now at least). 2012-05-19 10:33:14 -07:00
Niko Matsakis 5be8bf1de7 use -Z to distinguish internal debugging options 2012-05-18 10:38:18 -07:00
Graydon Hoare 685f1867f0 Fix up LIBRUSTSYNTAX_INPUTS and tidy rule. 2012-04-11 11:08:40 -07:00
Graydon Hoare 74b0f5dcc7 Remove autodep.mk, it's not being used. 2012-04-04 18:08:55 -07:00
Brian Anderson f452973a7f build: Add --enable-debug configure option
When CFG_ENABLE_DEBUG is defined it will call rustc with -g --cfg=debug
and cc with -DRUST_DEBUG. Otherwise it calls rustc with --cfg=ndebug and cc
with -DRUST_NDEBUG.

I plan to use this for a few things in the runtime.
2012-03-29 19:10:38 -07:00
Brian Anderson a0ed1fb20b build: Introduce rustsyntax crate 2012-03-29 14:42:30 -07:00
Graydon Hoare 59336b8acb Move config.stamp touch to configure script. 2012-03-26 18:03:53 -07:00
Graydon Hoare f904453db2 Only mention non-host triples if they exist. 2012-03-26 18:03:53 -07:00