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 parser, `libsyntax`](syntax/index.html)
|
||||||
* [The Rust compiler, `librustc`](rustc/index.html)
|
* [The Rust compiler, `librustc`](rustc/index.html)
|
||||||
|
|
||||||
|
* [The `flate` compression library](flate/index.html)
|
||||||
|
|
||||||
# Tooling
|
# Tooling
|
||||||
|
|
||||||
* [The `rustdoc` manual](rustdoc.html)
|
* [The `rustdoc` manual](rustdoc.html)
|
||||||
|
@ -47,11 +49,11 @@ li {list-style-type: none; }
|
||||||
* [Language FAQ](complement-lang-faq.html)
|
* [Language FAQ](complement-lang-faq.html)
|
||||||
* [Project FAQ](complement-project-faq.html)
|
* [Project FAQ](complement-project-faq.html)
|
||||||
* [Usage FAQ](complement-usage-faq.html)
|
* [Usage FAQ](complement-usage-faq.html)
|
||||||
* [Code cheatsheet](complement-cheatsheet.html) - "How do I do X?"
|
* [Code cheatsheet](complement-cheatsheet.html) - "How do I do X?"
|
||||||
* [How to submit a bug report](complement-bugreport.html)
|
* [How to submit a bug report](complement-bugreport.html)
|
||||||
|
|
||||||
# External resources
|
# External resources
|
||||||
|
|
||||||
* The Rust [IRC channel](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - `#rust` on irc.mozilla.org
|
* The Rust [IRC channel](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - `#rust` on irc.mozilla.org
|
||||||
* The Rust community on [Reddit](http://reddit.com/r/rust)
|
* The Rust community on [Reddit](http://reddit.com/r/rust)
|
||||||
* The Rust [wiki](http://github.com/mozilla/rust/wiki)
|
* The Rust [wiki](http://github.com/mozilla/rust/wiki)
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
# automatically generated for all stage/host/target combinations.
|
# 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
|
HOST_CRATES := syntax rustc rustdoc rustpkg
|
||||||
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
|
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
|
||||||
TOOLS := compiletest rustpkg rustdoc rustc
|
TOOLS := compiletest rustpkg rustdoc rustc
|
||||||
|
@ -60,9 +60,10 @@ DEPS_green := std
|
||||||
DEPS_rustuv := std native:uv native:uv_support
|
DEPS_rustuv := std native:uv native:uv_support
|
||||||
DEPS_native := std
|
DEPS_native := std
|
||||||
DEPS_syntax := std extra
|
DEPS_syntax := std extra
|
||||||
DEPS_rustc := syntax native:rustllvm
|
DEPS_rustc := syntax native:rustllvm flate
|
||||||
DEPS_rustdoc := rustc native:sundown
|
DEPS_rustdoc := rustc native:sundown
|
||||||
DEPS_rustpkg := rustc
|
DEPS_rustpkg := rustc
|
||||||
|
DEPS_flate := std native:miniz
|
||||||
|
|
||||||
TOOL_DEPS_compiletest := extra green rustuv
|
TOOL_DEPS_compiletest := extra green rustuv
|
||||||
TOOL_DEPS_rustpkg := rustpkg 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
|
# that's per-target so you're allowed to conditionally add files based on the
|
||||||
# target.
|
# target.
|
||||||
################################################################################
|
################################################################################
|
||||||
NATIVE_LIBS := rustrt sundown uv_support morestack
|
NATIVE_LIBS := rustrt sundown uv_support morestack miniz
|
||||||
|
|
||||||
# $(1) is the target triple
|
# $(1) is the target triple
|
||||||
define NATIVE_LIBRARIES
|
define NATIVE_LIBRARIES
|
||||||
|
@ -49,8 +49,8 @@ NATIVE_DEPS_sundown_$(1) := sundown/src/autolink.c \
|
||||||
sundown/html/html_smartypants.c \
|
sundown/html/html_smartypants.c \
|
||||||
sundown/html/html.c
|
sundown/html/html.c
|
||||||
NATIVE_DEPS_uv_support_$(1) := rust_uv.c
|
NATIVE_DEPS_uv_support_$(1) := rust_uv.c
|
||||||
|
NATIVE_DEPS_miniz_$(1) = miniz.c
|
||||||
NATIVE_DEPS_rustrt_$(1) := rust_builtin.c \
|
NATIVE_DEPS_rustrt_$(1) := rust_builtin.c \
|
||||||
miniz.c \
|
|
||||||
rust_android_dummy.c \
|
rust_android_dummy.c \
|
||||||
rust_test_helpers.c \
|
rust_test_helpers.c \
|
||||||
rust_try.ll \
|
rust_try.ll \
|
||||||
|
|
|
@ -855,14 +855,16 @@ $$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB): \
|
||||||
tmp/$$(FT).rc \
|
tmp/$$(FT).rc \
|
||||||
$$(SREQ2_T_$(2)_H_$(3))
|
$$(SREQ2_T_$(2)_H_$(3))
|
||||||
@$$(call E, compile_and_link: $$@)
|
@$$(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)): \
|
$(3)/test/$$(FT_DRIVER)-$(2)$$(X_$(2)): \
|
||||||
tmp/$$(FT_DRIVER).rs \
|
tmp/$$(FT_DRIVER).rs \
|
||||||
$$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB) \
|
$$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB) \
|
||||||
$$(SREQ2_T_$(2)_H_$(3))
|
$$(SREQ2_T_$(2)_H_$(3))
|
||||||
@$$(call E, compile_and_link: $$@ $$<)
|
@$$(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).out: \
|
||||||
$(3)/test/$$(FT_DRIVER)-$(2)$$(X_$(2)) \
|
$(3)/test/$$(FT_DRIVER)-$(2)$$(X_$(2)) \
|
||||||
|
|
|
@ -82,7 +82,6 @@ pub mod rational;
|
||||||
pub mod complex;
|
pub mod complex;
|
||||||
pub mod stats;
|
pub mod stats;
|
||||||
pub mod semver;
|
pub mod semver;
|
||||||
pub mod flate;
|
|
||||||
pub mod hex;
|
pub mod hex;
|
||||||
pub mod uuid;
|
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)];
|
#[allow(missing_doc)];
|
||||||
|
|
||||||
use std::libc::{c_void, size_t, c_int};
|
use std::libc::{c_void, size_t, c_int};
|
||||||
|
@ -23,7 +27,7 @@ use std::vec;
|
||||||
pub mod rustrt {
|
pub mod rustrt {
|
||||||
use std::libc::{c_int, c_void, size_t};
|
use std::libc::{c_int, c_void, size_t};
|
||||||
|
|
||||||
#[link(name = "rustrt", kind = "static")]
|
#[link(name = "miniz", kind = "static")]
|
||||||
extern {
|
extern {
|
||||||
pub fn tdefl_compress_mem_to_heap(psrc_buf: *c_void,
|
pub fn tdefl_compress_mem_to_heap(psrc_buf: *c_void,
|
||||||
src_buf_len: size_t,
|
src_buf_len: size_t,
|
||||||
|
@ -91,7 +95,7 @@ pub fn inflate_bytes_zlib(bytes: &[u8]) -> ~[u8] {
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::{inflate_bytes, deflate_bytes};
|
||||||
use std::rand;
|
use std::rand;
|
||||||
use std::rand::Rng;
|
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)];
|
#[feature(macro_rules, globs, struct_variant, managed_boxes)];
|
||||||
|
|
||||||
extern mod extra;
|
extern mod extra;
|
||||||
|
extern mod flate;
|
||||||
extern mod syntax;
|
extern mod syntax;
|
||||||
|
|
||||||
use back::link;
|
use back::link;
|
||||||
|
|
|
@ -33,7 +33,7 @@ use std::os::consts::{macos, freebsd, linux, android, win32};
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::str;
|
use std::str;
|
||||||
use std::vec;
|
use std::vec;
|
||||||
use extra::flate;
|
use flate;
|
||||||
|
|
||||||
pub enum Os {
|
pub enum Os {
|
||||||
OsMacos,
|
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] {
|
pub fn write_metadata(cx: &CrateContext, crate: &ast::Crate) -> ~[u8] {
|
||||||
use extra::flate;
|
use flate;
|
||||||
|
|
||||||
if !cx.sess.building_library.get() {
|
if !cx.sess.building_library.get() {
|
||||||
return ~[]
|
return ~[]
|
||||||
|
|
|
@ -16,7 +16,9 @@
|
||||||
//! functionality through a unit-struct, `Markdown`, which has an implementation
|
//! functionality through a unit-struct, `Markdown`, which has an implementation
|
||||||
//! of `fmt::Default`. Example usage:
|
//! of `fmt::Default`. Example usage:
|
||||||
//!
|
//!
|
||||||
//! ```rust
|
//! ```rust,ignore
|
||||||
|
//! use rustdoc::html::markdown::Markdown;
|
||||||
|
//!
|
||||||
//! let s = "My *markdown* _text_";
|
//! let s = "My *markdown* _text_";
|
||||||
//! let html = format!("{}", Markdown(s));
|
//! let html = format!("{}", Markdown(s));
|
||||||
//! // ... something using html
|
//! // ... something using html
|
||||||
|
|
Loading…
Reference in New Issue