Young-il Choi
23eb105895
mk: platform.mk typo UNIXY
2013-03-04 16:48:27 +09:00
Young-il Choi
9cf67513ea
mk: platform.mk more flags added
2013-03-04 14:23:20 +09:00
Brian Anderson
dae97b4812
mk: Restore toolchain config for i386 mac/linux, and freebsd
...
Conflicts:
mk/platform.mk
2013-03-04 14:00:55 +09:00
Young-il Choi
7714d52cd9
mk: cleanup - lib and executable suffix handling
2013-03-02 21:25:12 +09:00
Young-il Choi
5e6c04b9fa
mk: mingw32 fix
2013-03-02 13:51:10 +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
42be216848
mk: Refactor platform.mk a bit
2013-02-21 19:11:38 -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
Jeff Olson
a3516ae834
build: add link flag for freebsd libuv build
2013-02-10 11:51:05 -08:00
Jeff Olson
1cbbb58d87
build: change libuv to point at joyent's repo and make unpatched build libuv work on mingw
2013-02-10 11:51:05 -08:00
Graydon Hoare
d1affff623
Reliciense makefiles and testsuite. Yup.
2012-12-10 17:32:58 -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
Graydon Hoare
e356959bb2
Attempt to fix the DSYM_GLOB issue again, differently.
2012-10-10 14:06:18 -07:00
Graydon Hoare
6426f05b8f
Revert "Try less complicated trick for solving the dSYM glob portability issue."
...
This reverts commit 86dfca278d
.
2012-07-13 13:04:36 -07:00
Graydon Hoare
86dfca278d
Try less complicated trick for solving the dSYM glob portability issue.
2012-07-11 15:10:18 -07:00
Graydon Hoare
63df248414
Revert "Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory."
...
This reverts commit 2cf6bf87c3
.
2012-07-11 15:04:32 -07:00
Graydon Hoare
2cf6bf87c3
Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory.
2012-07-11 12:10:54 -07:00
Brian Anderson
8910b2ff7c
build: Remove bogus -fno-strict-aliasing flags. Issue #2701
2012-06-25 15:41:03 -07:00
Michael Sullivan
f99f2e8ce2
Update the build system to handle dependency on header files. Closes #2547 .
2012-06-14 14:50:14 -07:00
Michael Sullivan
3a36ffe5ff
Revert "Update the build system to handle dependency on header files. Closes #2547."
...
This reverts commit 31f4b63dff
.
2012-06-13 18:37:07 -07:00
Michael Sullivan
31f4b63dff
Update the build system to handle dependency on header files. Closes #2547 .
2012-06-13 16:39:09 -07:00
Brian Anderson
41df9cbb44
rt: Turn on frame pointers for stack walking
2012-06-11 22:44:16 -07:00
Jyun-Yan You
8f5f45bfe1
fix compiletest deadlock on freebsd
2012-06-07 16:38:10 +08:00
Brian Anderson
f452973a7f
build: Add --enable-debug configure option
...
When CFG_ENABLE_DEBUG is defined it will call rustc with -g --cfg=debug
and cc with -DRUST_DEBUG. Otherwise it calls rustc with --cfg=ndebug and cc
with -DRUST_NDEBUG.
I plan to use this for a few things in the runtime.
2012-03-29 19:10:38 -07:00
Graydon Hoare
45c74f04ab
Override all non-default origins for CC/CXX/CPP, not just undefined.
2012-03-28 14:26:51 -07:00
Graydon Hoare
211d41948a
Conditionalize CC / CXX / CPP to permit using other gcc versions.
2012-03-28 13:52:47 -07:00
Graydon Hoare
a9e7bff731
Remove incorrect uses of NVALGRIND, Close #1435 .
2012-03-21 18:21:11 -07:00
Josh Matthews
8142438938
Avoid mangling names differently in debug builds to work around a build error. Fix up file name and path debug information, and build one compilation unit for a crate instead of one per source file.
2012-03-21 18:56:36 -04:00
Brian Anderson
3de30f4ef2
rt: Change alignof to rust_alignof. Remove -Wno-c++11-compat. Closes #1644
2012-03-12 18:03:48 -07:00
Brian Anderson
8a32f8efe5
build: Add --enable-helgrind option
2012-03-02 14:08:02 -08:00
Graydon Hoare
a4d2beb16b
Only modify PATH on win32 when in MSYSTEM shell
2012-02-17 23:02:25 -08:00
Brian Anderson
4eeb706e84
build: Set RUST_THREADS=1 on FreeBSD to avoid a threading bug
2012-02-12 18:23:23 -08:00
Niko Matsakis
5163606d06
platform-specific valgrind suppression
2012-02-05 09:07:23 -08:00
Brian Anderson
7356126457
build: Add a comment explaining -Wno-c++11-compat
2012-01-24 11:55:42 -08:00
Jyun-Yan You
c2bf9b7726
freebsd clang support
2012-01-24 11:48:36 -08:00
Haitao Li
ef0775fec8
build: Check and set perf --log-fd option
...
Linux perf tool version 3.2 introduced a new option "--log-fd" defaults
to 0, which leads to error "Failed opening logfd: Illegal argument" when
executing perf tests.
Set logfd to stderr to let perf test work.
Issue #1538
2012-01-17 10:48:46 +08:00
Brian Anderson
9e40e43e74
build: Build libraries in the bin directory on win32
2012-01-14 13:43:04 -08:00
Brian Anderson
dcac427795
Revert "build: Build libraries in the bin directory on win32"
...
This reverts commit 23e0d16b5f
.
2012-01-12 20:06:45 -08:00
Brian Anderson
23e0d16b5f
build: Build libraries in the bin directory on win32
2012-01-12 13:59:05 -08:00
Brian Anderson
f921e2e3d1
Revert "build: Build libraries in the bin directory on win32"
...
This reverts commit c00ec5f9c9
.
2012-01-11 14:13:11 -08:00
Brian Anderson
c00ec5f9c9
build: Build libraries in the bin directory on win32
2012-01-11 13:57:11 -08:00
Jyun-Yan You
274fc1b59c
fix link error
2012-01-01 20:18:55 -08:00
Jyun-Yan You
21eadbe6f1
add missing library, enable segmented stacks for freebsd
2012-01-01 20:18:55 -08:00
User Jyyou
a59c4b1b47
freebsd support
2012-01-01 20:18:55 -08: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
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
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
Niko Matsakis
aba6e63543
work on perf
2011-11-29 12:51:12 -08:00
Niko Matsakis
6e55426c8c
tweak to get windows test-running correct
2011-11-29 12:51:10 -08:00
Niko Matsakis
9c12c7c7f5
basic builds function
2011-11-29 12:51:07 -08:00
Brian Anderson
e7afe11a2a
Build LLVM with -fno-omit-frame-pointer on Linux
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
9435459e89
Make the formatting of the host build message consistent
2011-11-03 11:26:52 -07:00
Niko Matsakis
54af489e6f
virtualize the runtime per target triple.
2011-11-02 14:14:20 -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
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
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
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
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
b61e17bdfd
Fix CFG_RUN_TARG on windows
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
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
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
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
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
Patrick Walton
db72bd90f5
mk: Introduce CFG_DISABLE_OPTIMIZE_CXX
2011-08-24 11:59:21 -07:00
Brian Anderson
43313b5504
Introduce CC and CXX variables to the makefiles
2011-08-05 11:57:07 -07:00
Brian Anderson
b2c3fc739c
More win32 libuv build tweaks
2011-08-05 11:57:07 -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
Brian Anderson
2573fe7026
The Big Test Suite Overhaul
...
This replaces the make-based test runner with a set of Rust-based test
runners. I believe that all existing functionality has been
preserved. The primary objective is to dogfood the Rust test
framework.
A few main things happen here:
1) The run-pass/lib-* tests are all moved into src/test/stdtest. This
is a standalone test crate intended for all standard library tests. It
compiles to build/test/stdtest.stageN.
2) rustc now compiles into yet another build artifact, this one a test
runner that runs any tests contained directly in the rustc crate. This
allows much more fine-grained unit testing of the compiler. It
compiles to build/test/rustctest.stageN.
3) There is a new custom test runner crate at src/test/compiletest
that reproduces all the functionality for running the compile-fail,
run-fail, run-pass and bench tests while integrating with Rust's test
framework. It compiles to build/test/compiletest.stageN.
4) The build rules have been completely changed to use the new test
runners, while also being less redundant, following the example of the
recent stageN.mk rewrite.
It adds two new features to the cfail/rfail/rpass/bench tests:
1) Tests can specify multiple 'error-pattern' directives which must be
satisfied in order.
2) Tests can specify a 'compile-flags' directive which will make the
test runner provide additional command line arguments to rustc.
There are some downsides, the primary being that Rust has to be
functioning pretty well just to run _any_ tests, which I imagine will
be the source of some frustration when the entire test suite
breaks. Will also cause some headaches during porting.
Not having individual make rules, each rpass, etc test no longer
remembers between runs whether it completed successfully. As a result,
it's not possible to incrementally fix multiple tests by just running
'make check', fixing a test, and repeating without re-running all the
tests contained in the test runner. Instead you can filter just the
tests you want to run by using the TESTNAME environment variable.
This also dispenses with the ability to run stage0 tests, but they
tended to be broken more often than not anyway.
2011-07-24 15:34:34 -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
5691d15703
Reduce the library path now that we are copying the libraries.
2011-07-20 16:32:06 -04: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
4e45e58c61
Remove the llvm lib directory from LD_LIBRARY_PATH on unixy systems
...
Doesn't seem like this has been required for a while. I don't know enough
about the windows build to try to touch that.
2011-07-07 15:40:27 -07:00
Erick Tryzelaar
984caa3d26
put librustrt and librustllvm in stageN dirs. Issue #438
2011-07-07 15:39:42 -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
8ebcab711d
More work on mingw cross build.
2011-06-28 11:18:34 -07:00
Patrick Walton
4558167307
build: Remove --vex-iropt-level=0
2011-06-27 12:39:37 -07:00
Graydon Hoare
8fc51dfc65
Some work on reviving the mingw-cross build. Not working yet.
2011-06-27 11:53:28 -07:00
Eric Holk
98dee91f25
Wrote swap_context in assembly. Closes #548 . This also allows us to re-enable optimization on OSX for both gcc and clang. Also, re-enamed task-comm-1.rs, which was previously broken by optimization.
2011-06-23 18:49:29 -07:00
Eric Holk
edf73f0512
Setting rt optimization on OS X to -O0 when using clang, like we already do with gcc. Tail-call elimination was causing valgrind errors with stack switching. Closes #494 .
2011-06-21 13:13:33 -07: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
Rafael Ávila de Espíndola
374967f67e
Fix library path when running tests.
2011-06-17 16:13:12 -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
Brian Anderson
834f90f2a0
StageN tests run against stageN libraries
2011-06-16 14:21:43 -07:00
Graydon Hoare
6997adf763
Remove rustboot from the repository.
2011-05-13 18:38:28 -07:00
Patrick Walton
269550f673
build: Use clang to compile the runtime if available
2011-05-08 21:10:43 -07:00
Graydon Hoare
846068046d
Fix bug in CFG_TESTLIB that only manifests on stage1, stage2.
2011-05-03 18:14:02 -07:00
Graydon Hoare
40624e35d7
Start splitting up Makefile.in
2011-05-01 20:20:25 +00:00