servo: Merge #9863 - Fix Windows build and add AppVeyor support (from larsbergstrom:appveyor2); r=edunham

Proof of success: https://ci.appveyor.com/project/larsbergstrom/servo/build/1.0.15

Fixes #9767

Source-Repo: https://github.com/servo/servo
Source-Revision: 08b9fe0c00fc2be24f1c7ca877011f27a2a19599
This commit is contained in:
UK992 2016-03-04 07:12:08 +05:01
parent 229ea1816b
commit adb691c464
3 changed files with 40 additions and 0 deletions

33
servo/appveyor.yml Normal file
View File

@ -0,0 +1,33 @@
version: 1.0.{build}
branches:
only:
- master
platform:
- x64
cache:
- .servo
- .cargo
install:
- set MSYSTEM=MSYS
- set MSYS="winsymlinks=lnk"
- PATH C:\msys64\mingw64\bin;C:\msys64\usr\bin\;%PATH%
- bash -lc "echo $MSYSTEM; pacman --needed --noconfirm -Sy pacman-mirrors"
- bash -lc "pacman --noconfirm -Sy"
- bash -lc "pacman -Sy --needed --noconfirm git mingw-w64-x86_64-toolchain mingw-w64-x86_64-freetype mingw-w64-x86_64-icu mingw-w64-x86_64-nspr mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-expat mingw-w64-x86_64-cmake tar diffutils patch patchutils make python2-setuptools"
- bash -lc "easy_install-2.7 pip virtualenv"
- bash -lc "mv /mingw64/bin/python2.exe /mingw64/bin/python2-mingw64.exe"
- bash -lc "mv /mingw64/bin/python2.7.exe /mingw64/bin/python2.7-mingw64.exe"
build_script:
- cmd: >-
set MSYSTEM=MINGW64
PATH C:\msys64\mingw64\bin;C:\msys64\usr\bin\;%PATH%
bash -lc "cd $APPVEYOR_BUILD_FOLDER; ./mach build -d -v"
test: off

View File

@ -8,6 +8,7 @@
#![feature(plugin)] #![feature(plugin)]
#![plugin(plugins)] #![plugin(plugins)]
#[cfg(not(target_os = "windows"))]
extern crate alloc_jemalloc; extern crate alloc_jemalloc;
extern crate hbs_pow; extern crate hbs_pow;
extern crate ipc_channel; extern crate ipc_channel;

View File

@ -463,6 +463,7 @@ mod system_reporter {
newp: *mut c_void, newlen: size_t) -> c_int; newp: *mut c_void, newlen: size_t) -> c_int;
} }
#[cfg(not(target_os = "windows"))]
fn jemalloc_stat(value_name: &str) -> Option<usize> { fn jemalloc_stat(value_name: &str) -> Option<usize> {
// Before we request the measurement of interest, we first send an "epoch" // Before we request the measurement of interest, we first send an "epoch"
// request. Without that jemalloc gives cached statistics(!) which can be // request. Without that jemalloc gives cached statistics(!) which can be
@ -498,6 +499,11 @@ mod system_reporter {
Some(value as usize) Some(value as usize)
} }
#[cfg(target_os = "windows")]
fn jemalloc_stat(value_name: &str) -> Option<usize> {
None
}
// Like std::macros::try!, but for Option<>. // Like std::macros::try!, but for Option<>.
macro_rules! option_try( macro_rules! option_try(
($e:expr) => (match $e { Some(e) => e, None => return None }) ($e:expr) => (match $e { Some(e) => e, None => return None })