about summary refs log tree commit diff
path: root/src/librustpkg/api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustpkg/api.rs')
-rw-r--r--src/librustpkg/api.rs199
1 files changed, 0 insertions, 199 deletions
diff --git a/src/librustpkg/api.rs b/src/librustpkg/api.rs
deleted file mode 100644
index 13d5a117704..00000000000
--- a/src/librustpkg/api.rs
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use CtxMethods;
-use context::*;
-use crate::*;
-use package_source::*;
-use path_util::{platform_library_name, target_build_dir};
-use target::*;
-use workspace::pkg_parent_workspaces;
-use workcache_support::*;
-pub use path_util::default_workspace;
-
-pub use source_control::{safe_git_clone, git_clone_url};
-
-use std::run;
-use extra::arc::{Arc,RWArc};
-use extra::workcache;
-use extra::workcache::{Database, FreshnessMap};
-use extra::treemap::TreeMap;
-use syntax::crateid::CrateId;
-
-// A little sad -- duplicated from rustc::back::*
-#[cfg(target_arch = "arm")]
-fn cc_args() -> ~[~str] { ~[~"-marm"] }
-#[cfg(target_arch = "mips")]
-fn cc_args() -> ~[~str] { ~[] }
-#[cfg(target_arch = "x86")]
-fn cc_args() -> ~[~str] { ~[~"-m32"] }
-#[cfg(target_arch = "x86_64")]
-fn cc_args() -> ~[~str] { ~[~"-m64"] }
-
-/// Convenience functions intended for calling from pkg.rs
-/// p is where to put the cache file for dependencies
-pub fn default_context(sysroot: Path, p: Path) -> BuildContext {
-    new_default_context(new_workcache_context(&p), sysroot)
-}
-
-pub fn new_default_context(c: workcache::Context, p: Path) -> BuildContext {
-    BuildContext {
-        context: Context {
-            cfgs: ~[],
-            rustc_flags: RustcFlags::default(),
-            use_rust_path_hack: false,
-        },
-        sysroot: p,
-        workcache_context: c
-    }
-}
-
-fn file_is_fresh(path: &str, in_hash: &str) -> bool {
-    let path = Path::new(path);
-    path.exists() && in_hash == digest_file_with_date(&path)
-}
-
-fn binary_is_fresh(path: &str, in_hash: &str) -> bool {
-    let path = Path::new(path);
-    path.exists() && in_hash == digest_only_date(&path)
-}
-
-pub fn new_workcache_context(p: &Path) -> workcache::Context {
-    let db_file = p.join("rustpkg_db.json"); // ??? probably wrong
-    debug!("Workcache database file: {}", db_file.display());
-    let db = RWArc::new(Database::new(db_file));
-    let cfg = Arc::new(TreeMap::new());
-    let mut freshness: FreshnessMap = TreeMap::new();
-    // Set up freshness functions for every type of dependency rustpkg
-    // knows about
-    freshness.insert(~"file", file_is_fresh);
-    freshness.insert(~"binary", binary_is_fresh);
-    workcache::Context::new_with_freshness(db, cfg, Arc::new(freshness))
-}
-
-pub fn build_lib(sysroot: Path, root: Path, name: ~str, lib: Path) {
-    build_lib_with_cfgs(sysroot, root, name, lib, ~[])
-}
-
-pub fn build_lib_with_cfgs(sysroot: Path, root: Path, name: ~str, lib: Path, cfgs: ~[~str]) {
-    let cx = default_context(sysroot, root.clone());
-    let crate_id: CrateId = from_str(name).expect("valid crate id");
-    let pkg_src = PkgSrc {
-        source_workspace: root.clone(),
-        build_in_destination: false,
-        destination_workspace: root.clone(),
-        start_dir: root.join_many(["src", name.as_slice()]),
-        id: crate_id,
-        // n.b. This assumes the package only has one crate
-        libs: ~[mk_crate(lib)],
-        mains: ~[],
-        tests: ~[],
-        benchs: ~[]
-    };
-    pkg_src.build(&cx, cfgs, []);
-}
-
-pub fn build_exe(sysroot: Path, root: Path, name: ~str, main: Path) {
-    build_exe_with_cfgs(sysroot, root, name, main, ~[])
-}
-
-pub fn build_exe_with_cfgs(sysroot: Path, root: Path, name: ~str, main: Path, cfgs: ~[~str]) {
-    let cx = default_context(sysroot, root.clone());
-    let crate_id: CrateId = from_str(name).expect("valid crate id");
-    let pkg_src = PkgSrc {
-        source_workspace: root.clone(),
-        build_in_destination: false,
-        destination_workspace: root.clone(),
-        start_dir: root.join_many(["src", name.as_slice()]),
-        id: crate_id,
-        libs: ~[],
-        // n.b. This assumes the package only has one crate
-        mains: ~[mk_crate(main)],
-        tests: ~[],
-        benchs: ~[]
-    };
-
-    pkg_src.build(&cx, cfgs, []);
-}
-
-pub fn install_pkg(cx: &BuildContext,
-                   workspace: Path,
-                   name: ~str,
-                   // For now, these inputs are assumed to be inputs to each of the crates
-                   more_inputs: ~[(~str, Path)]) { // pairs of Kind and Path
-    let crate_id: CrateId = from_str(name).expect("valid crate id");
-    cx.install(PkgSrc::new(workspace.clone(), workspace, false, crate_id),
-               &WhatToBuild{ build_type: Inferred,
-                             inputs_to_discover: more_inputs,
-                             sources: Everything });
-}
-
-/// Builds an arbitrary library whose short name is `output`,
-/// by invoking `tool` with arguments `args` plus "-o %s", where %s
-/// is the platform-specific library name for `output`.
-/// Returns that platform-specific name, or None if `tool` could not be started.
-pub fn build_library_in_workspace(exec: &mut workcache::Exec,
-                                  context: &mut Context,
-                                  package_name: &str,
-                                  tool: &str,
-                                  flags: &[~str],
-                                  paths: &[~str],
-                                  output: &str) -> Option<~str> {
-    use command_failed = conditions::command_failed::cond;
-
-    let workspace = my_workspace(context, package_name);
-    let workspace_build_dir = target_build_dir(&workspace);
-    let out_name = workspace_build_dir.join_many([package_name.to_str(),
-                                                  platform_library_name(output)]);
-    // make paths absolute
-    let crateid: CrateId = from_str(package_name).expect("valid crate id");
-    let absolute_paths = paths.map(|s| {
-            let whatever = workspace.join_many([~"src",
-                                crateid.short_name_with_version(),
-                                s.to_owned()]);
-            whatever.as_str().unwrap().to_owned()
-        });
-
-    let cc_args = cc_args();
-
-    let all_args = flags + absolute_paths + cc_args +
-         ~[~"-o", out_name.as_str().unwrap().to_owned()];
-    match run::process_status(tool, all_args) {
-        Some(exit_process) => {
-            if exit_process.success() {
-                let out_name_str = out_name.as_str().unwrap().to_owned();
-                exec.discover_output("binary",
-                                     out_name_str,
-                                     digest_only_date(&out_name));
-                context.add_library_path(out_name.dir_path());
-                Some(out_name_str)
-            } else {
-                Some(command_failed.raise((tool.to_owned(), all_args, exit_process)))
-            }
-        },
-        None => None
-    }
-}
-
-pub fn my_workspace(context: &Context, package_name: &str) -> Path {
-    use bad_pkg_id     = conditions::bad_pkg_id::cond;
-
-    // (this assumes no particular version is requested)
-    let crateid = from_str(package_name).expect("valid crate id");
-    let workspaces = pkg_parent_workspaces(context, &crateid);
-    if workspaces.is_empty() {
-        bad_pkg_id.raise((Path::new(package_name), package_name.to_owned()));
-    }
-    workspaces[0]
-}
-
-fn mk_crate(p: Path) -> Crate {
-    Crate { file: p, flags: ~[], cfgs: ~[] }
-}