summary refs log tree commit diff
path: root/src/librustpkg/api.rs
AgeCommit message (Collapse)AuthorLines
2013-09-18rustpkg: Register correct dependencies for built and installed filesTim Chevalier-2/+5
as per #9112 Closes #9112
2013-09-18rustpkg: Make crates, not packages, the unit of rustpkg dependenciesTim Chevalier-36/+21
Treating a package as the thing that can have other packages depend on it, and depends on other packages, was wrong if a package has more than one crate. Now, rustpkg knows about dependencies between crates in the same package. This solves the problem reported in #7879 where rustpkg wrongly discovered a circular dependency between thhe package and itself, and recursed infinitely. Closes #7879
2013-09-10rustpkg: Pass command-line arguments to rustcTim Chevalier-1/+2
rustpkg now accepts most of rustc's command-line arguments and passes them along to rustc when building or installing. A few rarely-used arguments aren't implemented yet. rustpkg doesn't support flags that don't make sense with rustpkg (for example, --bin and --lib, which get inferred from crate file names). Closes #8522
2013-09-08rustpkg: Address review comments from JackTim Chevalier-54/+22
2013-09-08rustpkg: Use workcacheTim Chevalier-41/+103
rustpkg now uses the workcache library to avoid recompilation. Hooray!
2013-08-30rustpkg: Allow package directories to appear in the RUST_PATHTim Chevalier-1/+6
This commit adds a rustpkg flag, --rust-path-hack, that allows rustpkg to *search* inside package directories if they appear in the RUST_PATH, while *building* libraries and executables into a different target directory. This behavior is hidden behind a flag because I believe we only want to support it temporarily, to make it easier to port servo to rustpkg. This commit also includes a fix for how rustpkg fetches sources from git repositories -- it uses a temporary directory as the target when invoking `git clone`, then moves that directory into the workspace if the clone was successful. (The old behavior was that when the `git clone` failed, the empty target directory would be left lying around anyway.)
2013-08-09std/rustc/rustpkg/syntax: Support the `extern mod = ...` formTim Chevalier-15/+9
This commit allows you to write: extern mod x = "a/b/c"; which means rustc will search in the RUST_PATH for a package with ID a/b/c, and bind it to the name `x` if it's found. Incidentally, move get_relative_to from back::rpath into std::path
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-3/+3
2013-07-15rustpkg: Handle local git repositoriesTim Chevalier-6/+6
rustpkg can now build code from a local git repository. In the case where the local repo is in a directory not in the RUST_PATH, it checks out the repository into a directory in the first workspace in the RUST_PATH. The tests no longer try to connect to github.com, which should solve some of the sporadic failures we've been seeing.
2013-07-04Bring compiletest/rustpkg/driver up to date on std vs coreAlex Crichton-2/+0
2013-06-29Great renaming: propagate throughout the rest of the codebaseCorey Richardson-5/+5
2013-06-25rustpkg: Begin allowing package scripts to call the default build logicTim Chevalier-0/+92
rustpkg/api.rs provides functions intended for package scripts to call. It will probably need more functionality added to it later, but this is a start. Added a test case checking that a package script can use the API. Closes #6401