Commit Graph

266 Commits

Author SHA1 Message Date
Chris Morgan
d3019af244 Fix double slashes in make paths.
CFG_BUILD_DIR, CFG_LLVM_SRC_DIR and CFG_SRC_DIR all have trailing
slashes, by definition, so this is correct.
2013-11-30 12:09:10 +11:00
klutzy
52c8c1daba llvm: Disable pthreads on mingw-w64 platforms 2013-11-24 19:15:08 +09:00
klutzy
11b6aed4a5 Fix --local-rust-root option on Windows 2013-11-21 12:32:03 +09:00
bors
2456272626 auto merge of #10222 : nibrahim/rust/docfix, r=brson
Earlier versions of pandoc don't have the `default.html5` template file. When `make docs` is run, the build process fails with this message.

    pandoc: doc/rust.html
    pandoc: /usr/share/pandoc-1.8.2.1/templates/default.html5: openFile: does not exist (No such file or directory)
    
    node.js:201
            throw e; // process.nextTick error, or 'error' event on first tick
                  ^
    Error: write EPIPE
        at errnoException (net.js:670:11)
        at Object.afterWrite [as oncomplete] (net.js:503:19)
    make: *** [doc/rust.html] Error 1
2013-11-01 20:46:18 -07:00
Noufal Ibrahim
60cb1fb4d1 Bump required pandoc version to 1.9.
Earlier versions of pandoc don't have the default.html5 and thus,
building the docs fail.

Signed-off-by: Noufal Ibrahim <noufal@nibrahim.net.in>
2013-11-02 02:08:43 +05:30
bors
8ea2123055 auto merge of #10220 : luqmana/rust/con, r=brson
Previously we were actually overwriting `CFG_{HOST,TARGET,BUILD}` with `CFG_{HOST,TARGET,BUILD}_TRIPLE(S)` since configure tested for the legacy one by checking if it was empty which would never be the case. That meant it wouldn't split up multiple triples and just treat it as one long triple.

This pull also fixes the rules that were changed when librustuv was added to use the right CFG_ vars and removes the legacy flags.
2013-11-01 12:46:21 -07:00
Luqman Aden
d9decf30bd configure: Remove legacy triple flags. 2013-11-01 14:21:48 -04:00
bors
fa8a202858 auto merge of #10203 : kud1ing/rust/ios, r=alexcrichton
This is based on the work by @dobkeratops, updated and extended to work for Xcode 5.

This gets you going. I will add separate PRs for compilation/linking fixes.
See also https://github.com/mozilla/rust/wiki/Doc-building-for-ios
2013-11-01 02:26:23 -07:00
Luqman Aden
12222f9825 configure: Fix passing multiple target and host triples. 2013-11-01 03:34:16 -04:00
Brian Anderson
424e91a47d Fix fallback configuration flags 2013-10-31 15:27:54 -07:00
kud1ing
5864ad9ab1 add target triple arm-apple-darwin 2013-10-31 22:43:59 +01:00
Heather
b9504f9931 support for GNU configure syntax corrections: patch from brson 2013-10-29 16:22:57 -07:00
Heather
1c4a348b07 Correct prefix / CFG_PREFIX work in configure / install.mk 2013-10-29 16:22:57 -07:00
Heather
8a593a8bdb support for GNU configure syntax 2013-10-29 16:22:08 -07:00
Alex Crichton
90911d7259 Remove jemalloc from the runtime
As discovered in #9925, it turns out that we weren't using jemalloc on most
platforms. Additionally, on some platforms we were using it incorrectly and
mismatching the libc version of malloc with the jemalloc version of malloc.

Additionally, it's not clear that using jemalloc is indeed a large performance
win in particular situtations. This could be due to building jemalloc
incorrectly, or possibly due to using jemalloc incorrectly, but it is unclear at
this time.

Until jemalloc can be confirmed to integrate correctly on all platforms and has
verifiable large performance wins on platforms as well, it shouldn't be part of
the default build process. It should still be available for use via the
LD_PRELOAD trick on various architectures, but using it as the default allocator
for everything would require guaranteeing that it works in all situtations,
which it currently doesn't.

Closes #9925
2013-10-18 10:38:21 -07:00
Daniel Micay
f766acad62 drop the linenoise library
Closes #5038
2013-10-16 22:57:51 -04:00
Alex Crichton
d858360483 Build libuv/jemalloc only once (not per stage)
Reorganize the makefiles to stop building these once per stage because there's
no need to do this at all.

Closes #7002
2013-10-08 14:26:56 -07:00
Alex Crichton
6aba140fa7 rustdoc: Add sundown to src/rt/
This also starts compiling it in the same manner as linenoise, it's just bundled
with librustrt directly, and we export just a few symbols out of it.
2013-09-25 14:27:41 -07:00
Alex Crichton
5a78b54586 Disable zlib/libffi when configuring LLVM
This should help bring fewer dependencies in to the snapshots.

Closes #9397
2013-09-23 10:07:22 -07:00
Brian Anderson
597e96b549 Pass --disable-terminfo to LLVM's configure script. Closes #9334
The right way to link to terminfo varies by linux distribution, so
this is making our snapshots less compatible.
2013-09-21 18:01:11 -07:00
Alex Crichton
833a64d76e Invert --cfg debug to --cfg ndebug
Many people will be very confused that their debug! statements aren't working
when they first use rust only to learn that they should have been building with
`--cfg debug` the entire time. This inverts the meaning of the flag to instead
of enabling debug statements, now it disables debug statements.

This way the default behavior is a bit more reasonable, and requires less
end-user configuration. Furthermore, this turns on debug by default when
building the rustc compiler.
2013-09-20 12:10:04 -07:00
Alex Crichton
ba3ce32627 Be sure to reconfigure LLVM even when relocated 2013-09-06 00:09:36 -07:00
Alex Crichton
7b3dd32797 Move the rt build directory under $target
Closes #2302
2013-09-04 23:34:09 -07:00
Alex Crichton
6b3c7cb4e2 Build rustllvm into $target/rustllvm 2013-09-03 23:48:45 -07:00
Alex Crichton
1fbbc71a33 Move llvm into the artifacts build directory 2013-09-03 20:57:41 -07:00
Brian Anderson
4aa342b868 Revert "auto merge of #8745 : brson/rust/metadata, r=cmr"
This reverts commit 491bc3568c, reversing
changes made to 05f1bbba16.
2013-08-25 20:21:13 -07:00
Brian Anderson
022f188a08 Don't ever compress metadata 2013-08-24 20:57:35 -07:00
Brian Anderson
041d8e899f Allow metadata to be not compressed 2013-08-23 19:31:54 -07:00
Daniel Micay
5f3a637b7c enable tests for the container tutorial 2013-08-20 22:05:46 -04:00
Graydon Hoare
ef5d537010 doc: add condition tutorial 2013-08-19 16:48:48 -07:00
Alex Crichton
88b89f8476 Allow disabling optimizations in tests only 2013-08-11 00:29:45 -07:00
Björn Steinbrink
02f7f72a9a Provide a "configure" option to disable LLVM assertions
Builds are considerably faster without assertions, so when working on
e.g. libstd, which doesn't directly interact with LLVM, one might want
to disable them.
2013-07-31 09:41:46 +02:00
bors
32586faa6a auto merge of #7868 : pnkfelix/rust/issue6929-remove-bogus-sed-invoke-from-configure, r=brson
... in tree.

Fix #6929
2013-07-19 02:25:34 -07:00
bors
3bcc196f82 auto merge of #7847 : alexcrichton/rust/verbose-submodule, r=pnkfelix
Closes #3816.

Without --quiet, git shows its own progress report of download. It's not really a progress bar, but it's a percentage and files incoming. This will help initial downloads of LLVM to not cause people to wonder why their configure script is hanging for hours.

r? @graydon
2013-07-18 15:34:38 -07:00
Felix S. Klock II
a1cd1429fb remove non-portable sed invocation as brson says we no longer have clang in tree. 2013-07-18 02:33:11 +02:00
Alex Crichton
a468869e2a Remove --quiet from git submodule operations 2013-07-17 01:50:22 -07:00
Graydon Hoare
cdce33a421 Add configure and make machinery to activate perf metrics and ratchets. 2013-07-16 09:33:54 -07:00
Graydon Hoare
fbc5bb4c0a wire up makefile to run codegen tests and add one to start 2013-07-11 13:15:52 -07:00
Luqman Aden
9c3ef892f9 configure: Require one of wget or curl. 2013-06-30 02:08:02 -04:00
Alex Crichton
7f61b31f5f Stop passing --disable-threads to LLVM 2013-06-25 17:42:28 -07:00
Ramkumar Ramachandra
8b87debbc2 configure: replace echo "" with plain echo
When no arguments are given, echo prints a blank line.  These two are
equivalent:

  $ echo ""
  $ echo

Replace the former by the latter.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
2013-06-08 14:13:37 +05:30
Daniel Micay
933897c5f5 integrate jemalloc into the build 2013-06-01 11:31:44 -04:00
bors
9bfe296eb7 auto merge of #6836 : pnkfelix/rust/fsk-issue6805-ccache-rewrite-basedir, r=catamorphism
Attempt to get reuse of common object code from multiple clones in different directories.

This is a followup to issue #6805.
2013-05-30 14:58:47 -07:00
Corey Richardson
594f40ecbe bump clang version 2013-05-30 13:33:52 -04:00
Felix S. Klock II
7f410b326c Attempt to get reuse of common code from multiple clones in different directories. 2013-05-30 16:26:12 +02:00
bors
bd30285c84 auto merge of #6813 : pnkfelix/rust/fsk-issue-6805-ccache-support, r=catamorphism
Fix #6805: add --enable-ccache configure option to prefix compiler invocations with `ccache` to attempt to reuse common results, e.g. for LLVM (re)builds.

The information at developer [Note-ccache](../../wiki/Note-ccache) and at [ccache and clang concerns](http://petereisentraut.blogspot.fr/2011/09/ccache-and-clang-part-2.html) were what drove my introduction of the `-Qunused-arguments` and `CCACHE_CPP2` options.  (Though I did confirm first-hand that at least the first really is necessary.)

Yes, one certainly can re-route how `gcc` and `clang` are resolved in one's PATH and use that as a way to invoke `ccache`.  But I personally do not want to introduce that change to my own PATH, and this seems like a small enough change that it does not hurt to add it, at least for now.  (I don't know what form it would take when we move over to `rustpkg`.)
2013-05-29 15:10:42 -07:00
Felix S. Klock II
2b083373e4 Fix #6805: add --enable-ccache configure option to prefix compiler invocations with ccache to attempt to reuse common results, e.g. for LLVM (re)builds. 2013-05-29 23:18:09 +02:00
Kevin Ballard
bf57d65a11 Issue #6419: Better clang version detection for Apple Clang
Apple Clang uses different version numbering than "regular" clang, but
it also provides the "regular" version it's based on. Update the sed
pattern to pull out this "regular" version number instead of the Apple
version number.
2013-05-25 15:42:51 -07: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