Commit Graph

384 Commits

Author SHA1 Message Date
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
Patrick Walton d8a80cb31f rt: Add a call stub that switches to the C stack, untested as of yet 2011-09-28 12:26:36 -07:00
Erick Tryzelaar 5f066e06b9 Update to libuv commit 3ca382.
This patch changes libuv's gyp build system to
make it's own makefiles. To generate them for rust,
run these commands. They requires python 2.x to
work:

$ mkdir -p src/rt/libuv/build
$ svn co http://gyp.googlecode.com/svn src/rt/libuv/build/gyp
$ ./etc/src/gyp_uv
2011-09-23 16:53:06 -07:00
Brian Anderson acb0e8dcad Don't pipe check-fast results through tee
This was having the effect of scrubbing failure error codes. The only affect
of removing this should be that the .out file isn't generated, so subsequent
make invocations will re-run the tests (which is how our other tests work
anyway).
2011-09-23 12:30:35 -07:00
Patrick Walton 61afef29a1 rt: Add a RUST_TRACK_ORIGINS debug flag to help track down memory corruption 2011-09-23 11:42:20 -07:00
Graydon Hoare 18c6cc6371 More steps to arch-specific target libs (#474) 2011-09-23 10:50:16 -07:00
Graydon Hoare f2b49b8309 Remove -i for real. 2011-09-22 11:32:53 -07:00
Graydon Hoare 31c04a53e9 One little 'n', so much harm! 2011-09-21 12:34:30 -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
Patrick Walton e26b1883dd rt: Stub code for the cycle collector 2011-09-20 16:49:31 -07:00
Graydon Hoare 939a9dd738 Simplify perf target flags. Apparently the event names aren't stable/portable. 2011-09-19 14:56:02 -07:00
Graydon Hoare c0ffd2ea26 Print perf measurement outputs on completion of 'perf' target. 2011-09-13 17:32:25 -07:00
Graydon Hoare e45c91135a Add a compile-stage2-under-perf step to "make perf" target. 2011-09-13 16:05:53 -07:00
Graydon Hoare d5b2d62b20 Add build-system mechanisms for running benchmarks under 'perf'. 2011-09-13 15:06:41 -07:00
Brian Anderson f1e348ce6a Change the exit status used for valgrind errors and check for it in tests 2011-09-11 17:31:37 -07:00
Brian Anderson 1bd627039e Begin compiling with exceptions enabled
Issue #236
2011-09-07 10:32:58 -07:00
Marijn Haverbeke 6209e844ee Replace xfail-stageN with simply xfail-test
Closes #799
2011-08-31 16:32:16 +02:00
Marijn Haverbeke 66bc014720 Revert "Replace xfail-stageN with simply xfail-test"
This reverts commit 574194f6bc.
2011-08-31 14:24:08 +02:00
Marijn Haverbeke 574194f6bc Replace xfail-stageN with simply xfail-test
Closes #799
2011-08-31 13:43:09 +02: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 9db4d9c6fd Add CFG_USE_SNAP_LIBS_FOR_STAGE1 hack to makefiles 2011-08-29 09:01:27 +02:00
Patrick Walton db72bd90f5 mk: Introduce CFG_DISABLE_OPTIMIZE_CXX 2011-08-24 11:59:21 -07:00
Patrick Walton 25416bfae1 rustc: Introduce ABI versioning so we can change value representations without breaking the compiler 2011-08-20 14:22:09 -07:00
Patrick Walton 396f6b4f59 rustc: Stub GC routines 2011-08-18 18:48:32 -07:00
Patrick Walton 0fedea39ce rt: Remove rust_alarm dead code 2011-08-18 18:21:03 -07:00
Brian Anderson 28fbc591fd Add more verbosity to 'make reformat'
For each file it will indicate that it was reformatted, unchanged, or failed
2011-08-18 15:46:10 -07:00
Patrick Walton d8c5bd6195 rt: Implement obstacks, untested as of yet 2011-08-16 19:49:25 -07:00
Eric Holk a332043561 Updating to build on Linux and Mac, and hopefully Windows too. 2011-08-15 09:26:51 -07:00
Brian Anderson 25b85df370 Register new snapshots
Use main.o from the snapshot
2011-08-14 14:38:08 -07:00
Brian Anderson 1dbf0965a1 Add lib/main.o to snapshot
Snapshotting main.o is going to make it easier (I think) to convert main to
use ivecs
2011-08-14 12:14:58 -07:00
Patrick Walton e8d170beae rt: Stub Rust GC metadata printer and Rust GC strategy modules 2011-08-11 21:15:26 -07:00
Rafael Ávila de Espíndola 6402b63b4f Use the new C API for PassManagerBuilder. 2011-08-11 19:09:52 -04:00
Brian Anderson 40ae704ff2 Begin valgrinding run-fail tests
Introduce a temporary no-valgrind directive for the few that aren't clean
2011-08-10 13:36:57 -07:00
Brian Anderson c6bb04aba6 Add make clean rules for libuv 2011-08-05 11:57:07 -07:00
Brian Anderson 1758876381 Build libuv with the same C compiler as the rest of rt 2011-08-05 11:57:07 -07:00
Brian Anderson 43313b5504 Introduce CC and CXX variables to the makefiles 2011-08-05 11:57:07 -07:00
Graydon Hoare 7da64ae461 Munge libuv makefiles sufficiently to build out of tree. 2011-08-05 11:57:07 -07:00
Brian Anderson b2c3fc739c More win32 libuv build tweaks 2011-08-05 11:57:07 -07:00
Brian Anderson 585c6f96d1 Update build rules so rt builds with libuv on Linux.
Needed to shuffle around the linker arguments and add -lpthread
2011-08-05 11:57:06 -07:00
Rob Arnold 8229c3fa75 Update libuv to revision ee599ec1141cc48f895de1f9d148033babdf9c2a 2011-08-05 11:57:06 -07:00
Rob Arnold f4b87c749f Basic async IO module using libuv 2011-08-05 11:57:06 -07:00
Rob Arnold b64a52df42 Integrate libuv into the build system 2011-08-05 11:57:06 -07:00
Patrick Walton ad925955d8 build: Don't error out if clang is too old. Instead, build with GCC. 2011-08-05 09:25:27 -07:00
Patrick Walton e351ad762d rt: Stub shape glue and implement shape::print and shape::size_of. 2011-08-03 20:25:44 -07:00
Brian Anderson 92a4c0cee7 Ignore xfail-pretty, xfail-stage2 files when reformatting
We shouldn't be trying to reformat source that we don't know to work because
we could just be breaking it more.
2011-08-03 10:55:59 -07:00
Brian Anderson ea2a968146 Include benchmarks in pretty-print tests 2011-08-02 14:37:03 -07:00