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
Graydon Hoare
89dec28a5c
Be more careful with CFG_{SRC,BUILD}_DIR ending in slash.
2012-03-26 18:03:53 -07:00
Graydon Hoare
071dbfc478
Reconfigure less often, and tidy up MKFILE_DEPS.
2012-03-26 18:03:53 -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
Brian Anderson
f3fe85dad7
Bump version numbers to 0.2
2012-03-22 15:25:02 -07:00
Josh Matthews
8142438938
Avoid mangling names differently in debug builds to work around a build error. Fix up file name and path debug information, and build one compilation unit for a crate instead of one per source file.
2012-03-21 18:56:36 -04:00
Niko Matsakis
d365ec5c7d
kill old serialization code
2012-03-15 18:30:10 -04:00
Niko Matsakis
674587cfe5
add option to build enforcing mutability
2012-03-07 05:58:05 -08:00
Graydon Hoare
87c14f1e3d
Move src/comp to src/rustc
2012-03-02 18:46:13 -08:00
Niko Matsakis
bceea8339a
change def's that are always local to use node_id, add --inline opt
2012-02-28 06:31:28 -08:00
Niko Matsakis
0263039ca0
use absolute names when pretty-printing types
2012-02-10 20:48:28 -08:00
Niko Matsakis
fdddf8f9e1
put serializer into the build and encode full item paths
2012-02-10 20:48:28 -08:00
Graydon Hoare
0bf992969f
Merge pull request #1669 from graydon/inno-setup
...
Add Inno Setup installer script rather than NSIS
2012-01-26 18:16:30 -08:00
Jyun-Yan You
5e250b6951
change the order of llvm include path
2012-01-26 11:44:16 -08:00
unknown
fe57a7e582
Add Inno Setup installer script rather than NSIS
2012-01-25 16:02:53 -08:00
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