Commit graph

305 commits

Author SHA1 Message Date
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
Alex Crichton 54f2147e8e Get unit tests for rusti working
* They didn't work before, because the location of the tests caused the
  'sysroot' option to crate lookup to be wrong for finding the correct stage's
  core/std libraries. This moves the compiled tests from the $host/test
  directory into a $host/$stage/test directory. This means that the sysroot will
  be correct and the core/std libraries can actually be found
* The LLVM bindings apparently aren't threadsafe, so we can't run multiple tests
  in parallel.
2013-05-14 14:11:07 -04:00
Young-il Choi 35214d3c6c configure: CFG_ADB for adb added 2013-05-04 00:46:52 +09:00
bors 82a8815b94 auto merge of #5837 : tdaede/rust/fix_file_command, r=catamorphism
Without 'file' it assumes a 32 bit userspace even with a 64 bit kernel, which is incorrect in most cases.
2013-04-11 18:24:59 -07:00
Brian Anderson 62c94d3a38 Pass the value of python to LLVM's configure script. #5835 2013-04-11 11:47:46 -07:00
Thomas Daede 22786d6c5b Add check for 'file' command which is necessary for 32-bit userspace detection. 2013-04-11 09:49:43 +04:00
Seo Sanghyeon 156a307f4b LLVM versions 2013-04-10 14:57:49 +09:00
Brian Anderson dd088afd43 Stop building clang
Removing it from the tree is an ordeal and there is no official way
to disable clang via LLVM's Makefiles so this edits the Makefile
in llvm/tools after running configure.
2013-03-29 11:23:15 -07:00
bors bb14ea922b auto merge of #5561 : fabiand/rust/wllvm32, r=catamorphism
Previously the build system only checked for llvm-3.1 - 2.8.
Now also 3.2 and 3.2svn is accepted.

Signed-off-by: Fabian Deutsch <fabian.deutsch@gmx.de>
2013-03-28 11:48:54 -07:00
bors 8896336770 auto merge of #5576 : yichoi/rust/pull-0327, r=brson
minor fix
configure: cleanup - parsing supported target triples
2013-03-27 18:54:53 -07:00
Brian Anderson 32b8c0eaac Fix cpu type normalization in configure script
This condition was added for cygwin support but appears to simply turn
off the normalization of CPU types
2013-03-27 16:25:49 -07:00
Young-il Choi 8fe7fd6dd6 configure: cleanup - parsing supported target triples 2013-03-27 13:35:20 +09:00
Fabian Deutsch 07f8ce7063 configure: Accept llvm-3.2
Previously the build system only checked for llvm-3.1 - 2.8.
Now also 3.2 and 3.2svn is accepted.

Signed-off-by: Fabian Deutsch <fabian.deutsch@gmx.de>
2013-03-26 20:59:13 +01:00
bors 2815328e41 auto merge of #5540 : dbaupp/rust/configure-pandoc-version, r=brson
The version recognition was failing for pandoc version 1.11, thinking the
minor version was 1 rather than 11, and thus not building the documentation.
2013-03-26 03:31:03 -07:00
bors ff9c943c08 auto merge of #5537 : yichoi/rust/pull-0325, r=brson
In order to mitigate typo of target-triples, error notification of unsupported target triples which defined in mk/platform.mk added.

minor fix for arm-linux-androideabi added.
2013-03-26 01:27:58 -07:00
Huon Wilson 218093d912 configure: simplify pandoc version recognition.
The version recognition was failing for version 1.11, thinking the
minor version was 1 rather than 11.
2013-03-26 00:20:18 +11:00
Young-il Choi 2911fc29d0 configure: error on unsupported target-triples and arm-linux-androideabi fix 2013-03-25 15:36:34 +09:00
Thad Guidry 9aa0cedc84 changed /configure to be compatible with Cygwin and removed annoying --help not a command available message 2013-03-23 02:21:43 +01:00
Luqman Aden 19c104000e configure: accept clang 3.3 when passed --enable-clang 2013-03-22 15:49:55 -04:00
Brian Anderson 81e370285f Merge remote-tracking branch 'brson/cross7'
Conflicts:
	configure
	mk/rt.mk
2013-03-06 23:54:35 -08:00
Brian Anderson 14e5a6e5f7 mk: Cleanup. Minor fixes 2013-03-06 22:37:52 -08:00
Graydon Hoare ab500d8b8d build fixes 2013-03-04 22:40:59 -08:00
Jyun-Yan You 0ecd9e03ff rt: MIPS32 support 2013-03-03 19:27:01 -08:00
Young-il Choi 7714d52cd9 mk: cleanup - lib and executable suffix handling 2013-03-02 21:25:12 +09:00
Young-il Choi 2102597392 mk: mingw32 flags added 2013-03-01 20:02:29 +09:00
Young-il Choi 26a5dc593c mk: rewrite make files 2013-02-27 14:53:35 +09:00
Brian Anderson 3e6b2cfab5 Fix --disable-optimize-llvm 2013-02-26 17:30:32 -08:00
Brian Anderson 15c0c35352 mk: Split target triples into bulid triple + host triples + target triples
For cross compiling to targets that don't want to build a compiler
2013-02-21 17:51:55 -08:00
bors 21a0d52a85 auto merge of #4876 : brson/rust/debuginfo, r=brson
Update of #4862
2013-02-12 13:30:07 -08:00
Brian Anderson 79e9b6d6a1 mk: Run debuginfo tests by default, but only if gdb is available 2013-02-10 14:19:12 -08:00
Jeff Olson 3a813e29b6 etc: rework of how libuv is integrated into the build
- thanks to work in libuv's upstream, we can call libuv's Makefile directly
with parameters, instead of descending in gyp-uv madness and generating
our own.
2013-02-10 11:51:05 -08:00
Brian Leibig 6bfbdadd3b Add debug info tests 2013-02-09 13:09:19 -05:00
Brian Anderson 0e913a4c90 mk: Parameterize tests.mk to the max 2013-02-05 20:02:46 -08:00
Dimitri Krassovski 2c46bf7e31 Add support for clang 4.2 (as reported by apple clang) r=graydon 2013-02-04 11:28:51 -08:00
Cody Schroeder e10d720ee1 Remove CFG_LLVM_CONFIG probe from configure script 2013-01-30 00:40:35 -08:00
William Ting bb51a8442f Add support for Ubuntu named clang packages.
Ubuntu's clang packages have additional information appended to the end of
the version.

- Building Rust v0.5 with clang v3.0-6ubuntu3 fails.
- Building Rust v0.5 and incoming with clang v3.1-5ppa (backported from Debian)
works.

Closes #4441.
2013-01-28 21:54:11 -08:00
kyeongwoon 987f824f23 Support ARM and Android
Conflicts:
	src/libcore/os.rs
	src/librustc/back/link.rs
	src/librustc/driver/driver.rs
	src/librustc/metadata/loader.rs
	src/librustc/middle/trans/base.rs
2013-01-13 16:43:39 -08:00
Jyun-Yan You 37f97ff504 support clang 3.2 2013-01-12 12:02:22 +08:00
Brian Anderson b43e639bf6 Remove unused bigint from runtime 2013-01-08 13:53:45 -08:00
Jimmy Lu b17b3d9c12 add option validation to configure, now it will error out on undefined options 2012-11-30 23:20:18 -05:00
Graydon Hoare 4b0e1336b2 configure: force clang when on freebsd. 2012-11-14 15:03:29 -08:00
Brian Anderson 1b0c6665d9 Merge remote-tracking branch 'brson/repl'
Conflicts:
	mk/install.mk
	src/rt/rustrt.def.in
2012-11-04 13:42:39 -08:00
Zack Corr ea996556b9 rusti: Remove linenoise module, add to rt, remove core::rl 2012-10-30 11:08:36 +10:00
Zack Corr 4912428cb5 rusti: Add linenoise, wrap into core::rl and add rusti REPL tool
Add Brian Leibig to AUTHORS.txt for REPL contributions
2012-10-27 18:03:15 +10:00
Gabriel f1da4424bf submodule sync won't work in a leaf submodule. 2012-10-22 14:35:31 -07:00
Mahmut Bulut c05d96c191 Valgrind check disable 2012-10-20 13:57:47 -07:00
Luqman Aden 3d76a75193 configure: check for pandoc version properly. 2012-10-18 20:58:57 -04:00
Graydon Hoare e0b71dd6b3 configure: note dep on head. 2012-10-18 14:51:20 -07:00
Graydon Hoare 33795bc4d3 configure: fix use of bash-specific here strings (also awk, please no more deps). 2012-10-18 14:51:20 -07:00
Tony Young 2c1ed186fc Check pandoc's version correctly for >=1.10. 2012-10-19 00:30:17 +13:00
Arkaitz Jimenez cf8bded7aa Enable configure to detect 32 bit systems on 64 bit kernels
These systems run 32 bit binaries so arch needs to be forced
to 32 bits.
2012-10-17 13:42:47 -07:00
Brian Anderson c56a7e5c25 Reorder the submodule ops in configure 2012-10-05 11:32:28 -07:00
Erick Tryzelaar 2d903abeab configure should recursively sync submodules 2012-10-05 11:32:28 -07:00
auREAX 26ed387d7f Rename configure --enable-pax-marks flag to --enable-pax-flags flag. 2012-10-05 00:08:34 +02:00
auREAX 039110ba22 Fix unnecessary tool detection at non-Linux OSes, fix GRSecurity detection documentation error. 2012-10-05 00:00:55 +02:00
auREAX 0bb437aafa Add GRSecurity compatibility with --enable-pax-marks configure flag; add GRSecurity autodetection code to configure. 2012-10-04 11:56:24 -07:00
Brian Anderson fd0de8bfd7 doc: Split out task tutorail. Add links to sub-tutorials 2012-09-22 15:34:01 -07:00
Francisco Souza 25bc65b487 configure: support clang 4.1 (provided by XCode 4.5)
Apple keeps calling 4.x its version of clang 3.1.
2012-09-20 11:29:28 -03:00
Brian Anderson 864cca14ee docs: Make supplemental tutorials testable 2012-09-15 18:06:20 -07:00
Zack Corr d7aa9918ef Add experimental JIT compiler 2012-08-31 16:20:35 -07:00
Francisco Souza 50f2db4a0e configure: fix compatibility issue with Apple clang 4.0
Fix compatibility with Mountain Lion.

Closes #3049.
2012-07-30 15:46:42 -07:00
Zack Corr de5c15edfb Allow 3.0, 3.1, 3.0svn and 3.1svn for llvm-root 2012-07-24 17:11:13 -07:00