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