Move extra::flate to libflate
This is hopefully the beginning of the long-awaited dissolution of libextra. Using the newly created build infrastructure for building libraries, I decided to move the first module out of libextra. While not being a particularly meaty module in and of itself, the flate module is required by rustc and additionally has a native C dependency. I was able to very easily split out the C dependency from rustrt, update librustc, and magically everything gets installed to the right locations and built automatically. This is meant to be a proof-of-concept commit to how easy it is to remove modules from libextra now. I didn't put any effort into modernizing the interface of libflate or updating it other than to remove the one glob import it had.
This commit is contained in:
parent
2611483894
commit
cdfdc1eb6b
|
@ -37,6 +37,8 @@ li {list-style-type: none; }
|
|||
* [The Rust parser, `libsyntax`](syntax/index.html)
|
||||
* [The Rust compiler, `librustc`](rustc/index.html)
|
||||
|
||||
* [The `flate` compression library](flate/index.html)
|
||||
|
||||
# Tooling
|
||||
|
||||
* [The `rustdoc` manual](rustdoc.html)
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
# automatically generated for all stage/host/target combinations.
|
||||
################################################################################
|
||||
|
||||
TARGET_CRATES := std extra green rustuv native
|
||||
TARGET_CRATES := std extra green rustuv native flate
|
||||
HOST_CRATES := syntax rustc rustdoc rustpkg
|
||||
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
|
||||
TOOLS := compiletest rustpkg rustdoc rustc
|
||||
|
@ -60,9 +60,10 @@ DEPS_green := std
|
|||
DEPS_rustuv := std native:uv native:uv_support
|
||||
DEPS_native := std
|
||||
DEPS_syntax := std extra
|
||||
DEPS_rustc := syntax native:rustllvm
|
||||
DEPS_rustc := syntax native:rustllvm flate
|
||||
DEPS_rustdoc := rustc native:sundown
|
||||
DEPS_rustpkg := rustc
|
||||
DEPS_flate := std native:miniz
|
||||
|
||||
TOOL_DEPS_compiletest := extra green rustuv
|
||||
TOOL_DEPS_rustpkg := rustpkg green rustuv
|
||||
|
|
4
mk/rt.mk
4
mk/rt.mk
|
@ -35,7 +35,7 @@
|
|||
# that's per-target so you're allowed to conditionally add files based on the
|
||||
# target.
|
||||
################################################################################
|
||||
NATIVE_LIBS := rustrt sundown uv_support morestack
|
||||
NATIVE_LIBS := rustrt sundown uv_support morestack miniz
|
||||
|
||||
# $(1) is the target triple
|
||||
define NATIVE_LIBRARIES
|
||||
|
@ -49,8 +49,8 @@ NATIVE_DEPS_sundown_$(1) := sundown/src/autolink.c \
|
|||
sundown/html/html_smartypants.c \
|
||||
sundown/html/html.c
|
||||
NATIVE_DEPS_uv_support_$(1) := rust_uv.c
|
||||
NATIVE_DEPS_miniz_$(1) = miniz.c
|
||||
NATIVE_DEPS_rustrt_$(1) := rust_builtin.c \
|
||||
miniz.c \
|
||||
rust_android_dummy.c \
|
||||
rust_test_helpers.c \
|
||||
rust_try.ll \
|
||||
|
|
|
@ -855,14 +855,16 @@ $$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB): \
|
|||
tmp/$$(FT).rc \
|
||||
$$(SREQ2_T_$(2)_H_$(3))
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE2_T_$(2)_H_$(3)) --lib -o $$@ $$<
|
||||
$$(STAGE2_T_$(2)_H_$(3)) --lib -o $$@ $$< \
|
||||
-L "$$(RT_OUTPUT_DIR_$(2))"
|
||||
|
||||
$(3)/test/$$(FT_DRIVER)-$(2)$$(X_$(2)): \
|
||||
tmp/$$(FT_DRIVER).rs \
|
||||
$$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB) \
|
||||
$$(SREQ2_T_$(2)_H_$(3))
|
||||
@$$(call E, compile_and_link: $$@ $$<)
|
||||
$$(STAGE2_T_$(2)_H_$(3)) -o $$@ $$<
|
||||
$$(STAGE2_T_$(2)_H_$(3)) -o $$@ $$< \
|
||||
-L "$$(RT_OUTPUT_DIR_$(2))"
|
||||
|
||||
$(3)/test/$$(FT_DRIVER)-$(2).out: \
|
||||
$(3)/test/$$(FT_DRIVER)-$(2)$$(X_$(2)) \
|
||||
|
|
|
@ -82,7 +82,6 @@ pub mod rational;
|
|||
pub mod complex;
|
||||
pub mod stats;
|
||||
pub mod semver;
|
||||
pub mod flate;
|
||||
pub mod hex;
|
||||
pub mod uuid;
|
||||
|
||||
|
|
|
@ -14,6 +14,10 @@ Simple compression
|
|||
|
||||
*/
|
||||
|
||||
#[crate_id = "flate#0.10-pre"];
|
||||
#[crate_type = "rlib"];
|
||||
#[crate_type = "dylib"];
|
||||
#[license = "MIT/ASL2"];
|
||||
#[allow(missing_doc)];
|
||||
|
||||
use std::libc::{c_void, size_t, c_int};
|
||||
|
@ -23,7 +27,7 @@ use std::vec;
|
|||
pub mod rustrt {
|
||||
use std::libc::{c_int, c_void, size_t};
|
||||
|
||||
#[link(name = "rustrt", kind = "static")]
|
||||
#[link(name = "miniz", kind = "static")]
|
||||
extern {
|
||||
pub fn tdefl_compress_mem_to_heap(psrc_buf: *c_void,
|
||||
src_buf_len: size_t,
|
||||
|
@ -91,7 +95,7 @@ pub fn inflate_bytes_zlib(bytes: &[u8]) -> ~[u8] {
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use super::{inflate_bytes, deflate_bytes};
|
||||
use std::rand;
|
||||
use std::rand::Rng;
|
||||
|
|
@ -30,6 +30,7 @@ This API is completely unstable and subject to change.
|
|||
#[feature(macro_rules, globs, struct_variant, managed_boxes)];
|
||||
|
||||
extern mod extra;
|
||||
extern mod flate;
|
||||
extern mod syntax;
|
||||
|
||||
use back::link;
|
||||
|
|
|
@ -33,7 +33,7 @@ use std::os::consts::{macos, freebsd, linux, android, win32};
|
|||
use std::ptr;
|
||||
use std::str;
|
||||
use std::vec;
|
||||
use extra::flate;
|
||||
use flate;
|
||||
|
||||
pub enum Os {
|
||||
OsMacos,
|
||||
|
|
|
@ -2683,7 +2683,7 @@ pub fn crate_ctxt_to_encode_parms<'r>(cx: &'r CrateContext, ie: encoder::encode_
|
|||
}
|
||||
|
||||
pub fn write_metadata(cx: &CrateContext, crate: &ast::Crate) -> ~[u8] {
|
||||
use extra::flate;
|
||||
use flate;
|
||||
|
||||
if !cx.sess.building_library.get() {
|
||||
return ~[]
|
||||
|
|
|
@ -16,7 +16,9 @@
|
|||
//! functionality through a unit-struct, `Markdown`, which has an implementation
|
||||
//! of `fmt::Default`. Example usage:
|
||||
//!
|
||||
//! ```rust
|
||||
//! ```rust,ignore
|
||||
//! use rustdoc::html::markdown::Markdown;
|
||||
//!
|
||||
//! let s = "My *markdown* _text_";
|
||||
//! let html = format!("{}", Markdown(s));
|
||||
//! // ... something using html
|
||||
|
|
Loading…
Reference in New Issue