diff --git a/Makefile.in b/Makefile.in index 6f2b962d4163..5bb15c760dd3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -153,21 +153,28 @@ $(eval $(call DEF_SUBMODULE_RULES,$(submodule)))) DONE_SUBMODULES = $(foreach dep,$(DEPS_SUBMODULES),$(DONE_$(dep))) -RFLAGS_servo_gfx = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) +RFLAGS_servo_util = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) +SRC_servo_util = $(call rwildcard,$(S)src/servo-util/,*.rs) +CRATE_servo_util = $(S)src/servo-util/servo_util.rc +DONE_servo_util = $(B)src/servo-util/libservoutil.dummy + +DEPS_servo_util = $(CRATE_servo_util) $(SRC_servo_util) $(DONE_SUBMODULES) + +RFLAGS_servo_gfx = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/servo-util SRC_servo_gfx = $(call rwildcard,$(S)src/servo-gfx/,*.rs) CRATE_servo_gfx = $(S)src/servo-gfx/servo_gfx.rc DONE_servo_gfx = $(B)src/servo-gfx/libservogfx.dummy -DEPS_servo_gfx = $(CRATE_servo_gfx) $(SRC_servo_gfx) $(DONE_SUBMODULES) +DEPS_servo_gfx = $(CRATE_servo_gfx) $(SRC_servo_gfx) $(DONE_SUBMODULES) $(DONE_servo_util) -RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/servo-gfx +RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/servo-gfx -L $(B)src/servo-util WEBIDL_servo = $(call rwildcard,$(S)src/servo/,*.webidl) AUTOGEN_SRC_servo = $(patsubst %.webidl, %Binding.rs, $(WEBIDL_servo)) SRC_servo = $(call rwildcard,$(S)src/servo/,*.rs) $(AUTOGEN_SRC_servo) CRATE_servo = $(S)src/servo/servo.rc -DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_servo_gfx) +DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_servo_util) $(DONE_servo_gfx) # rules that depend on having correct meta-target vars (DEPS_CLEAN, DEPS_servo, etc) include $(S)mk/check.mk @@ -179,6 +186,9 @@ all: servo package # Servo helper libraries +$(DONE_servo_util): $(DEPS_servo_util) + $(RUSTC) $(RFLAGS_servo_util) -o $@ $< && touch $@ + $(DONE_servo_gfx): $(DEPS_servo_gfx) $(RUSTC) $(RFLAGS_servo_gfx) -o $@ $< && touch $@ diff --git a/configure b/configure index db1f27140d1d..329d5152602f 100755 --- a/configure +++ b/configure @@ -440,6 +440,7 @@ do make_dir ${CFG_BUILD_DIR}src/${i} done +make_dir ${CFG_BUILD_DIR}src/servo-util make_dir ${CFG_BUILD_DIR}src/servo-gfx make_dir src/test/ref make_dir src/rust diff --git a/src/servo-gfx/display_list.rs b/src/servo-gfx/display_list.rs index 136403b22618..fe26147e4a58 100644 --- a/src/servo-gfx/display_list.rs +++ b/src/servo-gfx/display_list.rs @@ -7,7 +7,7 @@ use geometry::Au; use image::base::Image; use render_context::RenderContext; use text::SendableTextRun; -use util::range::Range; +use servo_util::range::Range; use clone_arc = std::arc::clone; use geom::Rect; diff --git a/src/servo-gfx/font.rs b/src/servo-gfx/font.rs index 9a8386e7f7a1..bb70af4ad632 100644 --- a/src/servo-gfx/font.rs +++ b/src/servo-gfx/font.rs @@ -6,7 +6,7 @@ use color::Color; use font_context::FontContext; use geometry::Au; use render_context::RenderContext; -use util::range::Range; +use servo_util::range::Range; use text::glyph::{GlyphStore, GlyphIndex}; use text::shaper::ShaperMethods; use text::{Shaper, TextRun}; diff --git a/src/servo-gfx/font_context.rs b/src/servo-gfx/font_context.rs index 31e26de928e7..1958d3288ea1 100644 --- a/src/servo-gfx/font_context.rs +++ b/src/servo-gfx/font_context.rs @@ -6,8 +6,8 @@ use font::{Font, FontDescriptor, FontGroup, FontStyle, SelectorPlatformIdentifie use font::{SelectorStubDummy, SpecifiedFontStyle, UsedFontStyle}; use font_list::FontList; use native::FontHandle; -use util::cache::Cache; -use util::cache::MonoCache; +use servo_util::cache::Cache; +use servo_util::cache::MonoCache; use azure::azure_hl::BackendType; use core::hashmap::HashMap; diff --git a/src/servo-gfx/font_list.rs b/src/servo-gfx/font_list.rs index 5617968e57cc..9913c197264c 100644 --- a/src/servo-gfx/font_list.rs +++ b/src/servo-gfx/font_list.rs @@ -14,7 +14,7 @@ use fontconfig; #[cfg(target_os = "macos")] use quartz; use native; -use util::time::time; +use servo_util::time::time; #[cfg(target_os = "macos")] type FontListHandle = quartz::font_list::QuartzFontListHandle; diff --git a/src/servo-gfx/render_layers.rs b/src/servo-gfx/render_layers.rs index 3d9825f342d2..b409215366a6 100644 --- a/src/servo-gfx/render_layers.rs +++ b/src/servo-gfx/render_layers.rs @@ -5,7 +5,7 @@ use compositor::{LayerBuffer, LayerBufferSet}; use display_list::DisplayList; use opts::Opts; -use util::time; +use servo_util::time; use azure::azure_hl::{B8G8R8A8, DrawTarget}; use core::comm::Chan; diff --git a/src/servo-gfx/render_task.rs b/src/servo-gfx/render_task.rs index 055a41a0ac84..0b3ae93b99ca 100644 --- a/src/servo-gfx/render_task.rs +++ b/src/servo-gfx/render_task.rs @@ -12,7 +12,7 @@ use opts::Opts; use render_context::RenderContext; use render_layers::{RenderLayer, render_layers}; use resource::util::spawn_listener; -use util::time::time; +use servo_util::time::time; use core::cell::Cell; use core::comm::{Port, SharedChan}; diff --git a/src/servo-gfx/resource/image_cache_task.rs b/src/servo-gfx/resource/image_cache_task.rs index 511afab04be3..51568c80da9a 100644 --- a/src/servo-gfx/resource/image_cache_task.rs +++ b/src/servo-gfx/resource/image_cache_task.rs @@ -5,7 +5,7 @@ use image::base::{Image, load_from_memory}; use resource::resource_task; use resource::resource_task::ResourceTask; -use util::url::{UrlMap, url_map}; +use servo_util::url::{UrlMap, url_map}; use clone_arc = std::arc::clone; use core::comm::{Chan, Port, SharedChan, stream}; diff --git a/src/servo-gfx/resource/local_image_cache.rs b/src/servo-gfx/resource/local_image_cache.rs index 92ef4225decb..a051f8e19dec 100644 --- a/src/servo-gfx/resource/local_image_cache.rs +++ b/src/servo-gfx/resource/local_image_cache.rs @@ -13,7 +13,7 @@ use std::net::url::Url; use core::comm::Port; use resource::image_cache_task::{ImageCacheTask, ImageResponseMsg, Prefetch, Decode, GetImage}; use resource::image_cache_task::{ WaitForImage, ImageReady, ImageNotReady, ImageFailed}; -use util::url::{UrlMap, url_map}; +use servo_util::url::{UrlMap, url_map}; pub fn LocalImageCache(image_cache_task: ImageCacheTask) -> LocalImageCache { LocalImageCache { diff --git a/src/servo-gfx/servo_gfx.rc b/src/servo-gfx/servo_gfx.rc index 4330c8858a66..207e5373a867 100644 --- a/src/servo-gfx/servo_gfx.rc +++ b/src/servo-gfx/servo_gfx.rc @@ -13,14 +13,13 @@ extern mod geom; extern mod http_client; extern mod stb_image; extern mod std; +extern mod servo_util (name = "servo_util"); -pub use servo_util = util; pub use gfx_font = font; pub use gfx_font_context = font_context; pub use gfx_font_list = font_list; pub use servo_gfx_font = font; pub use servo_gfx_font_list = font_list; -pub use servo_gfx_util = util; priv mod render_context; @@ -86,10 +85,3 @@ pub mod resource { pub mod util; } -pub mod util { - pub mod cache; - pub mod range; - pub mod time; - pub mod url; - pub mod vec; -} diff --git a/src/servo-gfx/text/glyph.rs b/src/servo-gfx/text/glyph.rs index 939fd4982c5f..f1633080e48a 100644 --- a/src/servo-gfx/text/glyph.rs +++ b/src/servo-gfx/text/glyph.rs @@ -3,8 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use geometry::Au; -use servo_gfx_util::range::Range; -use servo_gfx_util::vec::*; +use servo_util::range::Range; +use servo_util::vec::*; use geometry; use core; diff --git a/src/servo-gfx/text/harfbuzz/shaper.rs b/src/servo-gfx/text/harfbuzz/shaper.rs index cc57ad805858..c1443191254c 100644 --- a/src/servo-gfx/text/harfbuzz/shaper.rs +++ b/src/servo-gfx/text/harfbuzz/shaper.rs @@ -14,7 +14,7 @@ use text::glyph::{GlyphStore, GlyphIndex, GlyphData}; use text::shaper::ShaperMethods; use gfx_font::{FontHandleMethods, FontTableMethods}; -use util::range::Range; +use servo_util::range::Range; use core::libc::{c_uint, c_int, c_void, c_char}; use core::util::ignore; diff --git a/src/servo-gfx/text/text_run.rs b/src/servo-gfx/text/text_run.rs index e6775b5f2606..2885d96da908 100644 --- a/src/servo-gfx/text/text_run.rs +++ b/src/servo-gfx/text/text_run.rs @@ -6,7 +6,7 @@ use font_context::FontContext; use geometry::Au; use text::glyph::{BreakTypeNormal, GlyphStore}; use servo_gfx_font::{Font, FontDescriptor, RunMetrics}; -use servo_gfx_util::range::Range; +use servo_util::range::Range; pub struct TextRun { text: ~str, diff --git a/src/servo/html/hubbub_html_parser.rs b/src/servo/html/hubbub_html_parser.rs index 9b9660caf3bd..00294323f77b 100644 --- a/src/servo/html/hubbub_html_parser.rs +++ b/src/servo/html/hubbub_html_parser.rs @@ -14,7 +14,7 @@ use util::task::spawn_conversation; use core::cell::Cell; use core::comm::{Chan, Port, SharedChan}; use core::str::eq_slice; -use gfx::util::url::make_url; +use servo_util::url::make_url; use hubbub::hubbub; use std::net::url::Url; use std::net::url; diff --git a/src/servo/layout/box.rs b/src/servo/layout/box.rs index c71677673532..b3996250ccef 100644 --- a/src/servo/layout/box.rs +++ b/src/servo/layout/box.rs @@ -27,7 +27,7 @@ use gfx::display_list::{DisplayItem, DisplayList}; use gfx::font::{FontStyle, FontWeight300}; use gfx::geometry::Au; use gfx::image::holder::ImageHolder; -use gfx::util::range::*; +use servo_util::range::*; use gfx; use std::arc; diff --git a/src/servo/layout/box_builder.rs b/src/servo/layout/box_builder.rs index c619ab397dfc..1b084a366ee7 100644 --- a/src/servo/layout/box_builder.rs +++ b/src/servo/layout/box_builder.rs @@ -17,7 +17,7 @@ use layout::root::RootFlowData; use util::tree; use gfx::image::holder::ImageHolder; -use gfx::util::range::Range; +use servo_util::range::Range; use newcss::values::{CSSDisplay, CSSDisplayBlock, CSSDisplayInline, CSSDisplayInlineBlock}; use newcss::values::{CSSDisplayNone}; diff --git a/src/servo/layout/inline.rs b/src/servo/layout/inline.rs index 16506545dcec..a5a6f5d355ba 100644 --- a/src/servo/layout/inline.rs +++ b/src/servo/layout/inline.rs @@ -18,7 +18,7 @@ use gfx::geometry::Au; use gfx::image::holder; use gfx::text::text_run::TextRun; use gfx::text::util::*; -use gfx::util::range::Range; +use servo_util::range::Range; use newcss::values::{CSSTextAlignCenter, CSSTextAlignJustify, CSSTextAlignLeft, CSSTextAlignRight}; use std::deque::Deque; use core::util; diff --git a/src/servo/layout/text.rs b/src/servo/layout/text.rs index 29098e8aa23e..0f3e5683cfb3 100644 --- a/src/servo/layout/text.rs +++ b/src/servo/layout/text.rs @@ -7,7 +7,7 @@ use layout::box::{TextBox, RenderBox, RenderBoxData, UnscannedTextBox}; use gfx::text::text_run::TextRun; -use gfx::util::range::Range; +use servo_util::range::Range; pub struct TextBoxData { run: @TextRun, diff --git a/src/servo/platform/osmain.rs b/src/servo/platform/osmain.rs index 621f9543dd53..88d192612b1a 100644 --- a/src/servo/platform/osmain.rs +++ b/src/servo/platform/osmain.rs @@ -15,7 +15,7 @@ use geom::rect::Rect; use geom::size::Size2D; use gfx::compositor::{Compositor, LayerBuffer, LayerBufferSet}; use gfx::opts::Opts; -use gfx::util::time; +use servo_util::time; use core::cell::Cell; use glut::glut; use layers; diff --git a/src/servo/servo.rc b/src/servo/servo.rc index 03c37fc2e18f..ddcd8d5df3cd 100755 --- a/src/servo/servo.rc +++ b/src/servo/servo.rc @@ -16,6 +16,7 @@ extern mod azure; extern mod geom; extern mod gfx (name = "servo_gfx"); +extern mod servo_util (name = "servo_util"); extern mod glut; extern mod http_client; extern mod hubbub; @@ -40,7 +41,7 @@ pub use gfx::resource; pub use gfx::resource::image_cache_task::ImageCacheTask; pub use gfx::resource::resource_task::ResourceTask; pub use gfx::text; -pub use gfx::util::url::make_url; +pub use servo_util::url::make_url; pub mod content { pub mod content_task; diff --git a/src/servo/util/mod.rs b/src/servo/util/mod.rs index 3023793d5f9b..807add80b8cb 100644 --- a/src/servo/util/mod.rs +++ b/src/servo/util/mod.rs @@ -2,8 +2,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -pub use gfx::util::cache; -pub use gfx::util::time; +pub use servo_util::cache; +pub use servo_util::time; pub mod tree; -pub mod task; \ No newline at end of file +pub mod task; +