Felix S. Klock II
25f51eeda0
Fix #3225 : Incorporate feedback from Graydon.
...
Namely, switched in many places to using GNU make provided functions
for directory listing and text processing, rather than spawning a
shell process to do that work.
In the process of the revision, learned about Target-specific
variables, which were very applicable to INSTALL_LIB (which, on a
per-recipe basis, was always receiving the same actual arguments for
its first two formal parameters in every invocation).
http://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html
(We might be able to make use of those in future refactorings.)
----
Also adds a cleanup pass to get-snapshot.py as well, since the same
problem arises when we unpack libraries from the snapshot archive into
a build directory with a prior snapshot's artifacts. (I put this step
into the python script rather than the makefile because I wanted to
delay the cleanup pass until after we have at least successfully
downloaded the tarball. That way, if the download fails, you should
not destroy the previous unarchived snapshot libraries and build
products.)
----
Also reverted whitespace changes to minimize diff.
I plan to put them back in in a dedicated commit elsewhere.
2013-07-09 13:08:50 +02:00
Felix S. Klock II
033ac5497e
Fix #3225 : Check for old Rust libraries when building and installing.
...
When building Rust libraries (e.g. librustc, libstd, etc), checks for
and verbosely removes previous build products before invoking rustc.
(Also, when Make variable VERBOSE is defined, it will list all of the
libraries matching the object library's glob after the rustc
invocation has completed.)
When installing Rust libraries, checks for previous libraries in
target install directory, but does not remove them.
The thinking behind these two different modes of operation is that the
installation target, unlike the build tree, is not under the control
of this infrastructure and it is not up to this Makefile to decide if
the previous libraries should be removed.
2013-07-07 15:23:40 +02:00
Gavin Baker
6143419ee1
Add new manpages to install script
2013-07-07 14:45:39 +10: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
Daniel Micay
d800147abb
minor automatic whitespace fixes
2013-05-06 23:57:35 -04:00
Young-il Choi
9ecb97ae58
mk: install.mk directory argument pass for install-runtime-target
2013-05-04 00:47:54 +09:00
Young-il Choi
17b368fd22
mk: configurable android test directory
2013-05-03 11:14:01 +09:00
Young-il Choi
dca88701a3
mk: install-runtime-target added to install.mk (pushing shared library to android target)
2013-05-01 18:49:19 +09:00
Daniel Micay
88e4b5de83
install the librust{doc,pkg} host libraries
2013-04-02 19:25:03 -04:00
Daniel Micay
431380f011
install.mk: use INSTALL_LIB for all libraries
...
There's no reason to make them executable, and this throws a warning
with the Arch Linux package lint tool (namcap) for .a files.
2013-03-31 19:14:02 -04:00
Daniel Micay
2cbfe6d19d
stop installing empty .so files
...
Closes #4468
2013-03-21 20:32:57 -04:00
Young-il Choi
995a019dff
mk: install/uninstall for multiple target
2013-03-04 19:14:24 +09:00
Young-il Choi
7714d52cd9
mk: cleanup - lib and executable suffix handling
2013-03-02 21:25:12 +09:00
Brian Anderson
49c3f9f166
mk: Cross-compile fixes
2013-03-02 10:44:56 +09: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
Marvin Löbel
726fc877d1
Added rust convenience tool similar to go's go tool
2013-02-18 23:11:08 +01:00
Zack Corr
621c791ded
Rename cargo to rustpkg and start over fresh
2013-02-15 18:04:10 -08:00
Brian Anderson
6036add5eb
Don't install the fuzzer
...
It's not an end-user tool
2012-12-16 19:06:47 -08:00
Graydon Hoare
d1affff623
Reliciense makefiles and testsuite. Yup.
2012-12-10 17:32:58 -08:00
Brian Anderson
cf002e9d32
Tools should not be build prereqs of tests. Closes #3946
2012-11-13 18:35:02 -08:00
Brian Anderson
13c01dd48a
Fix make install rules for new libraries
2012-11-07 14:05:45 -08:00
Brian Anderson
c2ffa3e916
Fix install target for new libraries
2012-11-07 14:05:45 -08:00
Daniel Patterson
0e5d0768df
make: change to LIB prefixed for fuzzer, carge, rustdoc, rusti uninstall
2012-11-04 23:33:50 -05:00
Brian Anderson
84208b2d26
Librarify rusti, etc.
2012-11-04 17:14:52 -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
Daniel Patterson
6c79d78843
library-ifying of tools - turning cargo, rustdoc, fuzzer, into libraries, as per #3543
2012-11-03 18:23:43 -07: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
2f32a1581f
Fix make-install target on mac.
2012-07-12 12:43:20 -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
Ben Striegel
24fb724dc9
Rename some misleading variables
2012-06-08 17:50:33 -07:00
Ben Striegel
c9bbf739eb
make install
fix to address #2555
2012-06-08 17:50:09 -07:00
Kevin Cantu
7dcbaedd32
Rename librustsyntax to libsyntax
...
Per issue #2418 .
2012-05-31 11:15:00 -07:00
Brian Anderson
a0ed1fb20b
build: Introduce rustsyntax crate
2012-03-29 14:42:30 -07:00
Marijn Haverbeke
1b81c5112a
Remove last vestiges of old-style intrinsics
...
Closes #2048
2012-03-23 16:08:01 +01:00
Marijn Haverbeke
52d618a99a
Revert removal of intrinsics
...
Oops. We can't do this yet until the next snapshot.
2012-03-23 12:51:20 +01:00
Marijn Haverbeke
f5024692d4
Remove support for the old-style intrinsics
...
Closes #2042
Closes #1981
2012-03-23 12:21:55 +01:00
Graydon Hoare
5b4da3c5e1
Correct install.mk to use CFG_LIBDIR for correct install paths on windows.
2012-02-24 18:29:44 -08:00
Graydon Hoare
9db1d16f61
Add a 'make uninstall' target. Close #1668 .
2012-01-30 16:29:20 -08:00
Brian Anderson
2ca0b37321
build: Don't use -T option on install cmd. Not OS X compatible
2012-01-28 14:32:38 -08:00
Aleksander Balicki
6841c777f6
Update cp to install, so we can safely install on systems with restrictive umasks
2012-01-28 02:52:44 +01:00
Haitao Li
394a80cfd8
build: Stop building stage3 on normal test cycles
...
Issue #1419
2012-01-16 20:30:39 +08:00
Graydon Hoare
468ced3868
Make install and check targets depend on all. Close #1395 .
2011-12-30 12:48:07 -08:00
Graydon Hoare
51a9274cf6
Add rustdoc to build.
2011-12-20 18:27:27 -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
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
Graydon Hoare
447414f007
Establish 'core' library separate from 'std'.
2011-12-06 12:13:04 -08:00
Niko Matsakis
5ce33ceb76
improve install, fix MKFILE_DEPS so it works
2011-11-29 13:01:10 -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
Elly Jones
230b279b82
install.mk: make man1 directory
2011-11-04 19:53:23 -04: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
Marijn Haverbeke
ba1c6fcf38
Remove the last vestiges of main.ll
...
Closes #992
2011-10-20 17:36:28 +02: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