2013-04-06 03:31:01 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* 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/. */
|
|
|
|
|
2015-09-10 01:55:16 +03:00
|
|
|
// For simd (currently x86_64/aarch64)
|
servo: Merge #9385 - Win32 support (from larsbergstrom:win32); r=frewsxcv,pcwalton,jdm,ecoal95
r? @frewsxcv for python stuff
r? @pcwalton for the "remove usage of Gaol" stuff for Win32
r? anybody else for misc cargo.lock updates, etc.
This replaces #7878.
This works best with https://github.com/servo/mozjs/pull/71, too, to enable static linking, but can be run without (via some PATH hackery).
The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land:
https://hackpad.com/Servo-on-Windows-C1LPcI2bP25
I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets.
Source-Repo: https://github.com/servo/servo
Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698
2016-01-23 04:57:27 +03:00
|
|
|
#![cfg_attr(any(target_os = "linux", target_os = "android", target_os = "windows"), feature(heap_api))]
|
2015-09-10 01:55:16 +03:00
|
|
|
|
2015-09-24 00:02:56 +03:00
|
|
|
#![feature(alloc)]
|
|
|
|
#![feature(box_syntax)]
|
2015-06-25 21:03:15 +03:00
|
|
|
#![feature(plugin)]
|
2016-04-28 15:01:24 +03:00
|
|
|
#![feature(range_contains)]
|
2015-08-04 07:40:35 +03:00
|
|
|
#![feature(unique)]
|
2013-10-22 20:16:17 +04:00
|
|
|
|
2015-03-18 20:25:00 +03:00
|
|
|
#![plugin(plugins)]
|
2014-09-14 17:56:58 +04:00
|
|
|
|
2016-03-20 05:30:53 +03:00
|
|
|
#![deny(unsafe_code)]
|
|
|
|
|
2015-11-28 17:04:11 +03:00
|
|
|
extern crate alloc;
|
2015-10-01 00:19:33 +03:00
|
|
|
extern crate app_units;
|
2016-04-22 23:40:38 +03:00
|
|
|
#[allow(unused_extern_crates)]
|
2015-09-24 00:02:56 +03:00
|
|
|
#[macro_use]
|
|
|
|
extern crate bitflags;
|
|
|
|
|
|
|
|
// Mac OS-specific library dependencies
|
2016-05-21 03:58:23 +03:00
|
|
|
#[cfg(target_os = "macos")] extern crate byteorder;
|
2015-09-24 00:02:56 +03:00
|
|
|
#[cfg(target_os = "macos")] extern crate core_foundation;
|
|
|
|
#[cfg(target_os = "macos")] extern crate core_graphics;
|
|
|
|
#[cfg(target_os = "macos")] extern crate core_text;
|
|
|
|
|
2016-10-05 04:06:29 +03:00
|
|
|
// Windows-specific library dependencies
|
2016-11-11 01:55:17 +03:00
|
|
|
#[cfg(target_os = "windows")] extern crate dwrote;
|
2016-10-05 04:06:29 +03:00
|
|
|
|
2015-06-19 05:50:22 +03:00
|
|
|
extern crate euclid;
|
2015-09-24 00:02:56 +03:00
|
|
|
extern crate fnv;
|
|
|
|
|
2016-10-05 04:06:29 +03:00
|
|
|
#[cfg(any(target_os = "linux", target_os = "android"))]
|
2015-09-24 00:02:56 +03:00
|
|
|
extern crate fontconfig;
|
2016-08-23 03:20:19 +03:00
|
|
|
extern crate fontsan;
|
2016-11-11 01:55:17 +03:00
|
|
|
#[cfg(any(target_os = "linux", target_os = "android"))]
|
2015-09-24 00:02:56 +03:00
|
|
|
extern crate freetype;
|
|
|
|
extern crate gfx_traits;
|
|
|
|
|
|
|
|
// Eventually we would like the shaper to be pluggable, as many operating systems have their own
|
|
|
|
// shapers. For now, however, this is a hard dependency.
|
2015-09-30 00:37:11 +03:00
|
|
|
extern crate harfbuzz_sys as harfbuzz;
|
2015-09-24 00:02:56 +03:00
|
|
|
|
2016-02-05 01:10:36 +03:00
|
|
|
extern crate heapsize;
|
2016-11-03 05:49:08 +03:00
|
|
|
#[macro_use] extern crate heapsize_derive;
|
2015-07-25 03:55:05 +03:00
|
|
|
extern crate ipc_channel;
|
2016-04-22 23:40:38 +03:00
|
|
|
#[allow(unused_extern_crates)]
|
2015-11-28 17:04:11 +03:00
|
|
|
#[macro_use]
|
|
|
|
extern crate lazy_static;
|
2014-04-28 02:52:39 +04:00
|
|
|
extern crate libc;
|
2015-11-28 17:04:11 +03:00
|
|
|
#[macro_use]
|
|
|
|
extern crate log;
|
2015-02-10 13:51:46 +03:00
|
|
|
extern crate msg;
|
2015-09-24 00:02:56 +03:00
|
|
|
extern crate net_traits;
|
2016-08-09 18:13:30 +03:00
|
|
|
extern crate ordered_float;
|
2015-11-28 17:04:11 +03:00
|
|
|
#[macro_use]
|
2016-02-26 05:11:57 +03:00
|
|
|
extern crate range;
|
2015-09-24 00:02:56 +03:00
|
|
|
extern crate rustc_serialize;
|
|
|
|
extern crate serde;
|
2016-10-10 04:12:38 +03:00
|
|
|
#[macro_use]
|
|
|
|
extern crate serde_derive;
|
2016-12-15 03:48:42 +03:00
|
|
|
extern crate servo_geometry;
|
2016-11-18 00:34:47 +03:00
|
|
|
extern crate servo_url;
|
|
|
|
#[macro_use] extern crate servo_atoms;
|
2015-09-10 01:55:16 +03:00
|
|
|
#[cfg(any(target_arch = "x86_64", target_arch = "aarch64"))]
|
|
|
|
extern crate simd;
|
2015-06-10 17:23:11 +03:00
|
|
|
extern crate smallvec;
|
2014-03-19 20:35:17 +04:00
|
|
|
extern crate style;
|
2016-02-16 14:20:20 +03:00
|
|
|
extern crate style_traits;
|
2014-11-05 04:12:32 +03:00
|
|
|
extern crate time;
|
2015-09-30 00:37:11 +03:00
|
|
|
extern crate unicode_script;
|
2016-02-18 22:24:06 +03:00
|
|
|
extern crate webrender_traits;
|
2016-05-01 07:20:38 +03:00
|
|
|
extern crate xi_unicode;
|
2012-11-13 00:08:38 +04:00
|
|
|
|
2015-09-24 00:02:56 +03:00
|
|
|
#[deny(unsafe_code)]
|
2012-11-13 00:08:38 +04:00
|
|
|
pub mod display_list;
|
|
|
|
|
|
|
|
// Fonts
|
2016-05-21 03:58:23 +03:00
|
|
|
#[macro_use] pub mod font;
|
2016-01-10 13:19:04 +03:00
|
|
|
pub mod font_cache_thread;
|
2015-09-18 23:44:48 +03:00
|
|
|
pub mod font_context;
|
2014-07-09 03:31:07 +04:00
|
|
|
pub mod font_template;
|
2012-11-13 00:08:38 +04:00
|
|
|
|
2013-04-18 23:53:41 +04:00
|
|
|
// Platform-specific implementations.
|
2016-03-20 05:30:53 +03:00
|
|
|
#[allow(unsafe_code)]
|
2016-06-05 14:57:18 +03:00
|
|
|
mod platform;
|
2012-11-13 00:08:38 +04:00
|
|
|
|
|
|
|
// Text
|
2012-12-05 00:23:32 +04:00
|
|
|
pub mod text;
|