Commit Graph

429 Commits

Author SHA1 Message Date
Graydon Hoare
7e611366bb Make clean cleaner. 2011-12-30 12:47:43 -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
Marijn Haverbeke
ebdf3ef2c0 Don't make rustc depend on librustc 2011-12-19 15:48:58 +01:00
Brian Anderson
cb5f636ff1 rustc: Don't emit compact unwind info on mac
It's not compatible with the subtlety of __morestack
2011-12-18 00:42:37 -08:00
Graydon Hoare
c758e11fd3 Install and snapshot cargo by default. 2011-12-16 19:37:27 -08: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
d5af61d679 build: Tidy cargo when checking formatting 2011-12-16 17:17:24 +08:00
Haitao Li
55cc110822 build: Remove the temp hack for libraries renaming transition 2011-12-16 17:17:24 +08:00
Brian Anderson
21cf9c8698 build: Touch llvm-config after building
llvm-config is the file we base our LLVM build rule on, but rebuilding LLVM
doesn't always rebuild it, so touch.
2011-12-13 14:32:32 -08:00
Haitao Li
2ba317ddb2 build: Temp hack to make transition to new snapshot 2011-12-12 16:15:29 -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
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
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
Austin Seipp
b513a5a500 Make valgrind usage more consistent and less error prone.
I was still having issues with the build system somehow getting confused
as to which set of valgrind headers to use when compiling rt.

This commit moves all the valgrind headers into their own directory
under rt and makes the usage more consistent. The compiler is now passed
the -DNVALGRIND flag when valgrind is not installed, as opposed to
passing -DHAVE_VALGRIND.

We also pass -I src/rt to the compiler when building rt so you can more
easily import what you want. I also cleaned up some erroneous #includes
along the way.

It should be safe to always just import the local valgrind headers and use
them without question. NVALGRIND turns the operations to no-ops when it
is active, and the build and tests run cleanly with or without.
2011-12-06 01:15:29 -06: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
Brian Anderson
9711596bec Fix definition of check-stageN-all targets 2011-12-03 20:23:54 -08:00
Niko Matsakis
9cc2515dfa make check test stage3 2011-12-02 19:05:50 -08:00
Niko Matsakis
1eb378b23a make "check" match "all": only the host triple 2011-12-02 19:05:49 -08:00
Stefan Plantikow
1b7f1415d6 build: added CFG_INSTALL_SNAP for automatically activating test snapshots
This is only guaranteed to work when building in the top-level dir
2011-12-02 12:23:50 -08:00
Graydon Hoare
d1fd7d49a7 Build infra and minor build-enabling bugfixes for cargo. 2011-12-01 11:31:29 -08:00
Brian Anderson
7476a39e47 stdlib: Implement some preliminary libuv bindings
std::uv is intended to be low-level, exactly mirroring the C API.
Difficult to continue the implementation now without scheduler
improvements.
2011-12-01 10:24:21 -08:00
Brian Anderson
b2fd6121c0 build: Pass -fPIC to the libuv build 2011-12-01 10:24:21 -08:00
Niko Matsakis
c1be673e76 fix path for the find command 2011-11-30 15:44:59 -08:00
Brian Anderson
fc6f3b1b14 build: Have 'make check' run all target/host combinations 2011-11-29 15:37:33 -08:00
Brian Anderson
2979b3d006 build: Fix stage0 rules for non-host targets 2011-11-29 15:03:03 -08:00
Niko Matsakis
5ce33ceb76 improve install, fix MKFILE_DEPS so it works 2011-11-29 13:01:10 -08:00
Niko Matsakis
865a796081 fix snap 2011-11-29 13:01:10 -08:00
Brian Anderson
52993f7c32 Adjust perf target to use correct variable names 2011-11-29 13:00:30 -08:00
Niko Matsakis
aba6e63543 work on perf 2011-11-29 12:51:12 -08:00
Niko Matsakis
6bced5be31 fix more problems w/ check-fast 2011-11-29 12:51:11 -08:00
Niko Matsakis
4f92204765 make check-fast work 2011-11-29 12:51:11 -08:00
Niko Matsakis
821298737a fix dependencies for snap-stage[23] 2011-11-29 12:51:11 -08:00
Niko Matsakis
6e55426c8c tweak to get windows test-running correct 2011-11-29 12:51:10 -08:00
Niko Matsakis
44ccc36d93 update snapshot scripts 2011-11-29 12:51:10 -08:00
Niko Matsakis
4817222102 fix clean target 2011-11-29 12:51:09 -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
791dc23c83 make check works 2011-11-29 12:51:08 -08:00
Niko Matsakis
c9061733c6 misc fixes 2011-11-29 12:51:07 -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
e075412a92 build: Stop linking morestack.S to rt
__morestack has to be linked statically. The odd calling convention on x86_64
results in the arguments to __morestack (r10 & r11) being clobbered by the
dynamic linker. gcc links all the __morestack functions statically.
2011-11-28 16:37:29 -08:00
Brian Anderson
aa2fbbac0d build: Create a better definition of LLVM deps 2011-11-25 19:36:19 -08:00
Haitao Li
2ac63801d2 doc: Build keywords multitable automatically
Keywords are now listed in a plain text file. They're sorted in
column-major order and rendered as a texinfo multitable in rust.texi.

Fixes issue #1216.
2011-11-23 21:11:18 +01:00
Brian Anderson
6bdf347418 rt: Make __morestack (without unwinding) work on 32-bit linux 2011-11-22 18:02:10 -08:00
Stefan Plantikow
25b44a8973 Added CFG_NOTIDY flag to the build
This should allow a small speedup for test builds; unset by default
2011-11-18 21:19:18 -08:00
Brian Anderson
3bffb8b5de build: Add various shorthand make check rules 2011-11-17 12:04:37 -08:00
Brian Anderson
d624e523c9 rt: Make stack growth code build on Linux 2011-11-17 10:53:06 -08:00
Patrick Walton
e6c3c4e48c rt: More work on morestack 2011-11-17 10:52:59 -08:00
Brian Anderson
02cebbb9f1 Revert "rt: More work on morestack"
This reverts commit 68aff2ad6d.
2011-11-16 18:49:19 -08:00
Brian Anderson
5559e149e4 Revert "rt: Make stack growth code build on Linux"
This reverts commit da4b7da4e1.
2011-11-16 18:49:07 -08:00
Brian Anderson
da4b7da4e1 rt: Make stack growth code build on Linux 2011-11-16 18:33:00 -08:00
Patrick Walton
68aff2ad6d rt: More work on morestack 2011-11-16 18:00:57 -08:00
Niko Matsakis
938b23e228 fix prereqs 2011-11-16 15:27:09 -08:00
Niko Matsakis
9ccd84a9cd fix prereqs 2011-11-16 15:16:43 -08:00
Niko Matsakis
5502354f33 correct (I think) prereqs 2011-11-16 15:16:42 -08:00
Niko Matsakis
4183023357 correct pre-reqs 2011-11-16 15:16:42 -08:00
Niko Matsakis
c997a353aa make check-stage2-perf target work again, along with rustc, std 2011-11-16 15:16:41 -08:00
Niko Matsakis
36ab948bfa make it so that tests can be run on different target arch 2011-11-16 15:16:40 -08:00
Patrick Walton
b3cf0c4d1b Revert "rt: More work on morestack"
This reverts commit ced0d4f15e.
2011-11-14 16:20:53 -08:00
Patrick Walton
ced0d4f15e rt: More work on morestack 2011-11-14 16:17:08 -08:00
Brian Anderson
453168d917 build: Fix 'make perf'. Closes #1151 2011-11-13 16:51:38 -08:00
Brian Anderson
5d1e321ecb rt: Remove rust_chan 2011-11-11 12:11:21 -08:00
Brian Anderson
f705f68121 rt: Remove rust_aio.cpp. Bitrotted. 2011-11-10 18:02:08 -08:00
Brian Anderson
12f2b4989e Improve make clean rules for libuv 2011-11-10 13:42:02 -08:00
Niko Matsakis
ff5b319ce5 correct stack alignment 2011-11-08 21:14:09 -08:00
Niko Matsakis
a8c0c2b871 make clean delete all .o files from rt directory 2011-11-08 21:14:09 -08:00
Erick Tryzelaar
ab265586eb Re-add libuv as a submodule. 2011-11-08 19:01:47 -08:00
Brian Anderson
8857657640 Rename rust_uv.cpp to rust_aio.cpp 2011-11-07 19:35:39 -08:00
Brian Anderson
fdeb5ba304 Upgrade libuv to f1859eb841be2fe48512bc10e64556383f408b01 2011-11-07 19:24:25 -08:00
Brian Anderson
e7afe11a2a Build LLVM with -fno-omit-frame-pointer on Linux 2011-11-05 13:23:11 -07:00
Brian Anderson
814c3d0d76 Add clean-all rule which also cleans LLVM 2011-11-05 13:23:11 -07:00
Brian Anderson
8ea6d0c5d2 Use $(MAKE) for recursive make 2011-11-05 13:23:11 -07: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
e47f410536 Use LLVM directly from the build directory
This will cut out the few seconds it takes to run make install.
2011-11-05 13:23:10 -07:00
Brian Anderson
26bb6716ef Tie the LLVM build into ours 2011-11-05 13:23:10 -07:00
Brian Anderson
f96f1692ef Add mk/llvm.mk 2011-11-05 13:23:10 -07:00
Elly Jones
39e0009190 docs: work around texi2dvi bug. (#1134) 2011-11-05 13:18:23 -07:00
Elly Jones
230b279b82 install.mk: make man1 directory 2011-11-04 19:53:23 -04:00
Brian Anderson
af1ce1f3de Remove an old, temporary build rule 2011-11-03 12:22:41 -07:00
Brian Anderson
9435459e89 Make the formatting of the host build message consistent 2011-11-03 11:26:52 -07:00
Brian Anderson
558ca9b4a8 Escape $ when building linux def files 2011-11-02 14:24:15 -07:00
Niko Matsakis
1db9af1bf2 rerun the gyp-uv tool 2011-11-02 14:14:20 -07:00
Niko Matsakis
305cecee4f pass proper options to libuv make 2011-11-02 14:14:20 -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
e8e2f3395d Fix build on windows 2011-11-02 14:14:20 -07:00
Niko Matsakis
3f4fd29db8 fix failed merge 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
Niko Matsakis
f0c1f999ac arch is ia32 in libuv, annoyingly. this should be changed. 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
Niko Matsakis
8011e3fabb hack around on makefiles trying to get a 64 bit build
right now there are many temporary hacks, search for NDM to find them
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
Patrick Walton
c9003d301f Stub a __morestack implementation and stack segment allocation. Untested. 2011-10-31 14:20:56 -07:00
Brian Anderson
799ba7b122 Split 'make tidy' into multiple commands
The echo command line seems to be getting too large
2011-10-31 12:57:50 -07:00
Brian Anderson
0b331e5934 Add a make docs target 2011-10-27 15:02:32 -07:00
Brian Anderson
1b75e5c315 Use web-style paragraphs in std docs 2011-10-26 11:55:28 -07:00
Brian Anderson
d611067d7f Add more comments to install.mk 2011-10-25 21:18:22 -07:00
Brian Anderson
28051a8e3d Install man page for rustc 2011-10-25 21:17:57 -07:00
Brian Anderson
7ae757583a Begin documenting std and add doc generation using naturaldocs
Naturaldocs isn't really that great but it seems easier to get
something working than with doxygen, for which we would need to
convert rust code to something C++ish. We probably want to just
write a rustdoc utility at some point.
2011-10-25 18:01:52 -07:00
Brian Anderson
8c4e192d91 Add commentary about -znoexecstack 2011-10-23 19:07:55 -07:00
Austin Seipp
7a8e12ca6d Make sure librustrt.so is linked with a non-executable stack.
Fixes #798.
2011-10-23 19:05:23 -07:00
Brian Anderson
bdbeb75bfb Upgrade libuv to 179f475b2ad64729feb0422f06ce133cb364482a 2011-10-22 17:37:18 -07:00
Brian Anderson
160c56e768 Get 'make tidy' to work rustllvm and rt again 2011-10-21 17:35:52 -07:00
Brian Anderson
ff813f84a8 Run perf on the stage 2 compiler 2011-10-20 22:40:21 -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
Niko Matsakis
86735c0d7d make ctags targets phony 2011-10-18 10:37:27 -07:00
Niko Matsakis
9476692b52 move ctags.rust into src/etc 2011-10-12 13:57:32 -07: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
dd484369dc Fix test dependencies 2011-10-11 08:54:20 -07:00
Brian Anderson
96f6a1861c Revert "Revert "Stop using (DY)LD_LIBRARY_PATH on Unix""
This reverts commit 941d5e737c.
2011-10-09 15:23:41 -07:00
Brian Anderson
941d5e737c Revert "Stop using (DY)LD_LIBRARY_PATH on Unix"
This reverts commit 4b58071f96.
2011-10-09 15:05:12 -07:00
Brian Anderson
ae7bdc22a5 Fix make clean on windows 2011-10-07 15:41:15 -07:00
Brian Anderson
fed56b07ba Make windows packaging work again 2011-10-07 13:48:20 -07:00
Brian Anderson
4709038d64 Bring make distcheck up to date 2011-10-06 18:12:15 -07:00
Brian Anderson
4b58071f96 Stop using (DY)LD_LIBRARY_PATH on Unix 2011-10-06 15:23:20 -07:00
Brian Anderson
d8a85f0758 Make rpath work on mac 2011-10-06 13:09:00 -07:00
Patrick Walton
8d8b48a901 rt: Make C stack switching Valgrind-clean by warning Valgrind when we're about to write to the C stack from the Rust stack 2011-10-05 16:33:17 -07:00
Brian Anderson
e963cfd41a Run tests with LD_LIBRARY_PATH set to the target libs, not the host libs
Setting it to the host libs uses those compiled from the previous stage
2011-10-05 16:21:55 -07:00
Brian Anderson
6335529c36 Fix #1003 harder 2011-10-04 11:24:18 -07:00
Brian Anderson
f5e668c877 Fix a typo in tests.mk. Closes #1003 2011-10-04 11:19:37 -07:00
Brian Anderson
9be0dc1250 Cleanup mk/tests.mk 2011-10-02 18:00:13 -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
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
e71d17ffa6 Refix the snapshot rules 2011-09-30 16:27:18 -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
de6d07abf9 Register snapshots and finish filesystem reorg 2011-09-29 23:33:44 -07:00
Brian Anderson
80829af872 Remove legacy library search paths 2011-09-29 23:12:31 -07:00
Brian Anderson
b569e9c657 Update snapshot scripts for the new regime 2011-09-29 22:58:34 -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
9385ad4952 Remove redundant make clean rules 2011-09-29 22:58:34 -07:00
Brian Anderson
b61e17bdfd Fix CFG_RUN_TARG on windows 2011-09-29 22:58:33 -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
4ee9b86384 Update make clean rules 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