Alex Crichton
ff86830c9c
Define rustc's host triple at compile time
...
This way a cross-compiled rustc's answer to host_triple() is correct. The return
value of host_triple() reflects the actual host triple that the compiler was
build for, not the triple the compiler is being built on
2013-05-28 21:23:42 -05:00
Tom Lee
e69e80938b
Define _RUST_STAGEN when building rustrt.
...
This lets us use #ifdefs to determine which stage of the build we happen
to be in, which is useful in the event we need to make changes to rustrt
that are incompatible with the code generated by stage0.
This should help pave the way to completing #6575 , which will likely
require changes to type signatures for spawn_fn & glue_fn in rustrt.
2013-05-24 00:30:01 -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
Young-il Choi
930908aa90
mk: target.mk host.mk fix for duplicated rules of mingw32 after #6235
2013-05-07 15:29:05 +09:00
Felix S. Klock II
175a5eea42
Fix another goof: consistently use parent directory of target for rule.
...
(I wonder if there's a better way to write this in the rule itself;
i.e. something like `$$(dirname $$@)`. But for now this will do.)
2013-05-04 12:46:11 +02:00
Felix S. Klock II
495bceb9b0
Fix syntax: had to use escaped $$ to have an effect after first expansion.
2013-05-04 10:57:56 +02:00
Felix S. Klock II
4dd0fa6876
Make build products depend on their target directories.
...
This is an attempt to address Issue #3326 by adding [*order-only*][1]
prerequsites of each build product on the directory where it is to go.
It is important that the prerequisites be order-only, since the
timestamp on a parent directory is not relevant to whether a product
is out of date; the parent directory merely needs to exist.
(This use case of generating target directories was provided as an
[example][2] of how order-only prequisites are used.)
[1]: http://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html
[2]: http://www.kolpackov.net/pipermail/notes/2004-January/000001.html
2013-05-03 18:53:47 +02: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
Brian Anderson
e343abd0ed
mk: Remove USE_SNAPSHOT_RT, etc. Obsolete. #4713 r=graydon
2013-01-31 21:07:28 -08:00
Graydon Hoare
d1affff623
Reliciense makefiles and testsuite. Yup.
2012-12-10 17:32:58 -08:00
Brian Anderson
69a8b4d8e2
Rename src/rustc to src/librustc. Use the driver crate
2012-11-07 13:53: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
auREAX
26ed387d7f
Rename configure --enable-pax-marks flag to --enable-pax-flags flag.
2012-10-05 00:08:34 +02:00
auREAX
0bb437aafa
Add GRSecurity compatibility with --enable-pax-marks configure flag; add GRSecurity autodetection code to configure.
2012-10-04 11:56:24 -07:00
Michael Sullivan
e6baf44f19
Switch back to USE_SNAPSHOT_CORELIB=0.
2012-06-29 15:34:39 -07:00
Michael Sullivan
7aa43b2599
Make fmt use a bitmask instead of a vector of flags. Closes #1993 .
2012-06-28 23:36:00 -07:00
Kevin Cantu
7dcbaedd32
Rename librustsyntax to libsyntax
...
Per issue #2418 .
2012-05-31 11:15:00 -07:00
Brian Anderson
ff6cde7882
mk: Stop using snapshot rt/core/std
2012-05-31 01:27:21 -07:00
Brian Anderson
0c0818b955
build: Fix rules for non-target std when using snapshot std
2012-05-30 22:55:21 -07:00
Brian Anderson
a4ba088ef8
build: Add USE_SNAPSHOT_STDLIB. Set to 1
2012-05-30 21:23:34 -07:00
Brian Anderson
846dfbc922
build: Use snapshot core
2012-05-30 21:23:34 -07:00
Brian Anderson
429f7e9e08
build: Use snapshot runtime
2012-05-30 21:23:34 -07:00
Niko Matsakis
50a3dd40ae
implement new borrow ck (disabled by default)
2012-05-09 17:00:19 -07:00
Brian Anderson
a0ed1fb20b
build: Introduce rustsyntax crate
2012-03-29 14:42:30 -07:00
Marijn Haverbeke
1b81c5112a
Remove last vestiges of old-style intrinsics
...
Closes #2048
2012-03-23 16:08:01 +01:00
Marijn Haverbeke
52d618a99a
Revert removal of intrinsics
...
Oops. We can't do this yet until the next snapshot.
2012-03-23 12:51:20 +01:00
Marijn Haverbeke
f5024692d4
Remove support for the old-style intrinsics
...
Closes #2042
Closes #1981
2012-03-23 12:21:55 +01:00
Marijn Haverbeke
0303396f4c
Register snapshot, turn off USE_SNAPSHOT flags
2012-03-23 12:21:46 +01:00
Marijn Haverbeke
b2aace2cca
Temporarily turn on USE_SNAPSHOT_RUNTIME and USE_SNAPSHOT_CORELIB
2012-03-23 10:49:47 +01:00
Niko Matsakis
dc07280b08
make --enforce-mut-vars always on, add mut annotations to remaining files
2012-03-22 09:58:19 -07:00
Niko Matsakis
b653a18416
add mut decls to rustc and make them mandatory
2012-03-21 21:04:14 -07:00
Brian Anderson
664bed5fe2
build: Fix non-host libcore
2012-03-16 23:33:05 -07:00
Marijn Haverbeke
484469c58d
Register new snapshot
2012-03-16 15:39:04 +01:00
Marijn Haverbeke
22bef74b55
Remove shared tydescs
...
All tydescs are static now, there's no need to worry about
marshalling them between threads anymore.
2012-03-16 15:38:42 +01:00
Niko Matsakis
140d194007
make it possible to use snapshot core lib
2012-03-16 10:14:44 -04:00
Niko Matsakis
e702d20191
allow immut vars to be moved. enforce mut vars after stage0 in std.
2012-03-14 20:46:36 -04:00
Niko Matsakis
6b35875dca
annotate libstd and start enforcing mutability
2012-03-14 20:46:36 -04:00
Niko Matsakis
5c4ffd0dd7
build libcore with --enforce-mut-vars
2012-03-07 07:47:54 -08:00
Niko Matsakis
af2dd9b3b7
register new snapshot, revert USE_SNAPSHOT_RUNTIME setting
2012-02-01 21:02:19 -08:00
Niko Matsakis
196d69beb2
make boxes self-describing ( fixes #1493 )" (take 2)
...
this will be used to generate a new snapshot.
2012-02-01 18:52:08 -08:00
Niko Matsakis
3116643806
Revert "make boxes self-describing ( fixes #1493 )" until a new
...
snapshot is prepared.
2012-02-01 18:50:19 -08:00
Niko Matsakis
c36207bfb8
make boxes self-describing ( fixes #1493 )
2012-02-01 18:18:07 -08:00
Brian Anderson
f0ba69a96f
Remove the --no-core command-line option
...
It is superceeded by the #[no_core] attribute
2012-01-26 20:30:46 -08:00
Niko Matsakis
cac46eac4b
revert accidental commits
2012-01-20 09:34:15 -08:00
Niko Matsakis
b7811e613d
small fixes for building dist on windows
2012-01-20 08:59:07 -08:00
Brian Anderson
fa718dcebf
build: Stop passing --lib argument
2012-01-17 15:13:43 -08:00
Niko Matsakis
005e319485
make use of snapshot runtime predicated on variable USE_SNAPSHOT_RUNTIME
2012-01-09 19:53:32 -08:00
Brian Anderson
d4ae1cae60
rt: Build the stage0 runtime for non-hosts from the working dir
2012-01-09 13:34:01 -08:00
Niko Matsakis
8506241f3a
fix how we walk functions to match new closure fmt
2012-01-06 22:40:31 -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
Marijn Haverbeke
ebdf3ef2c0
Don't make rustc depend on librustc
2011-12-19 15:48:58 +01:00
Graydon Hoare
4f826b34cb
Update build machinery to build and install librustc everywhere (including snapshots).
2011-12-16 17:21:28 -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
Graydon Hoare
dfd699a852
Pass --no-core when building libcore.
2011-12-07 13:32:59 -08:00
Graydon Hoare
447414f007
Establish 'core' library separate from 'std'.
2011-12-06 12:13:04 -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
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
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
af1ce1f3de
Remove an old, temporary build rule
2011-11-03 12:22:41 -07:00
Niko Matsakis
2bfa72ea42
virtualize rustllvm construction per target triple
2011-11-02 14:14:20 -07:00
Niko Matsakis
54af489e6f
virtualize the runtime per target triple.
2011-11-02 14:14:20 -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
f05761ddb3
enable intrinsics for multiple arch
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
Marijn Haverbeke
ba1c6fcf38
Remove the last vestiges of main.ll
...
Closes #992
2011-10-20 17:36:28 +02:00
Marijn Haverbeke
243c5c3479
Use snap runtime, and the old main.o, for stage1
...
This is intended to be reverted again after I register the next
snapshot.
2011-10-20 13:14:28 +02: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