Commit graph

203 commits

Author SHA1 Message Date
Andrew Shu
a631cb6b47 mach: android install/run: infer adb path from SDK dir 2018-03-25 10:40:26 -07:00
Jeremy Lempereur
a132a9bd99 Add Windows support to the --nightly | -n flag. 2018-03-11 17:50:24 +01:00
o0Ignition0o
10822ce730 Add a --nightly | -n flag to download and extract a specific nightly version to run mach commands against. This currently only work on linux, but windows and mac os support will follow in subsequent PRs. 2018-03-06 23:09:50 +01:00
Paul Rouget
019fdaa1bd remove bhtml 2018-02-11 08:02:39 +01:00
Paul Rouget
2282292fa4 Drop CEF support 2018-01-31 06:36:21 +01:00
Simon Sapin
631623a80e Remove work-around that is now unnecessary
We use rustup.rs, where each toolchain has its own Cargo version.
2018-01-14 01:39:31 +01:00
Simon Sapin
fe0d2866f1 Restore the ability to disable incremental compilation
It became the default in debug mode in the last Rust/Cargo update.
2018-01-14 01:38:37 +01:00
Simon Sapin
c8f542afac We use Nigthly Cargo with Stable Rust
Nightly now has incremental compilation as a stable feature,
but that’s not in the stable channel yet.
2018-01-10 20:54:35 +01:00
Simon Sapin
0681e682e9 rustup.rs: Use MSVC rather than GNU toolchains on Windows 2018-01-10 18:05:46 +01:00
Simon Sapin
ded0bc9365 Revert "Use rustup "proxies" instead of rustup run"
This reverts commit ad22368646290510149d33a0a41fc436ac4a0e96.
2018-01-10 18:05:45 +01:00
Simon Sapin
2618e4ed9d Use rustup "proxies" instead of rustup run
To make sure we’re indeed running rustup’s proxy
rather than some other `cargo` for example,
run the `rustup` executable with a different `argv[0]`.
2018-01-10 18:05:45 +01:00
Simon Sapin
e0f8f09c05 Fix "rustup is not installed" message 2018-01-10 18:05:45 +01:00
Simon Sapin
a3339f97c3 Print a better error message when rustup is too old 2018-01-10 18:05:44 +01:00
Simon Sapin
2f941d8450 Print a link to instructions if rustup is not found. 2018-01-10 18:05:44 +01:00
Simon Sapin
365a139716 Use rustup.rs instead of custom bootstrap
Fixes #11361, closes #18874
2018-01-10 18:05:44 +01:00
Simon Sapin
6dff251e35 Revert "Use rustdoc --document-private-item instead of deprecated flags"
This reverts commit d96f0ff6a7.
2018-01-10 18:05:28 +01:00
Simon Sapin
d96f0ff6a7 Use rustdoc --document-private-item instead of deprecated flags
… and use $RUSTDOCFLAGS instead of $RUSTDOC with a wrapper script
2017-11-22 15:32:40 +01:00
Simon Sapin
3264453284 Stop using "alternate" rustc builds.
With https://github.com/rust-lang/rust/pull/45810,
normal Nightly now has LLVM assertions disabled.
2017-11-14 09:08:11 +01:00
tigercosmos
a0ae81610d Print the full path for errors occurring in the servo crate 2017-11-03 13:54:39 +08:00
Simon Sapin
93717356f1 Check full triples for "alt" compiler support, not just platforms.
Fixes https://github.com/servo/servo/issues/19075
2017-10-31 22:13:19 +01:00
Anthony Ramine
d4933148d4 Update Rust to 1.22.0-nightly (a47c9f870 2017-10-11)
This allows us to start experimenting with -Z thinlto
2017-10-12 14:16:04 +02:00
Imanol Fernandez
e93130026a Implement Gradle flavors 2017-09-30 14:31:22 +02:00
Simon Sapin
56b4f3ae70 Switch back to pinning Rust by Nightly date instead of commit hash…
… this time using a `rust-toolchain` file compatible with rustup:
https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file

And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29)

----

Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section,
and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers,
then rustup will use the correct version based on `rust-toolchain`.

CC https://github.com/servo/servo/issues/11361

Unlike https://github.com/servo/servo/pull/17927,
this does not make mach use rustup directly.
2017-08-31 14:30:28 +02:00
Simon Sapin
8303f5b926 Update to cargo 0.21.0-nightly (eb6cf012a 2017-07-02)
Cargo binaries are now produced on Rust’s CI, not Cargo’s.
Remove cargo-commit-hash and find Cargo based on rust-commit-hash.
2017-07-19 00:56:30 +02:00
Jonathan Chan
260c41aeea mach: Fail properly if we can't find the path for OSMesa or GLAPI.
Currently we check `if not (osmesa_path and glapi_path)` after using
`path.join`. It seems we actually want to check whether
`find_dep_path_newest` returns something, because if calls to that
function fail, we'll instead get an error from `path.join` about
`NoneType` not having attribute `endswith` (it expects a string), which
preempts this check.
2017-06-22 14:45:30 -07:00
Imanol Fernandez
04fb628d20 Make armv7-linux-androideabi default target on Android 2017-05-31 22:31:26 +02:00
bors-servo
286bfb96a0 Auto merge of #16769 - MortimerGoro:android_archs, r=larsbergstrom
Support for Android armv7 and aarch64 target triples

<!-- Please describe your changes on the following line: -->

Support for Android armv7 and aarch64 target triples in python build scripts (build + packaging)

`--android` build parameter works as always (arm-linux-androideabi still the default)
`./mach build --release --android`

New compilation modes for android
`./mach build --release --target=arm-linux-androideabi`
`./mach build --release --target=armv7-linux-androideabi`
`./mach build --release --target=aarch64-linux-android`

See https://github.com/servo/servo/issues/11921. When all crates are ready we'll switch default android compilations to` armv7-linux-androideabi` target triple.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16769)
<!-- Reviewable:end -->
2017-05-13 10:24:29 -05:00
Imanol Fernandez
01228282cd Support for Android armv7 and aarch64 target triples 2017-05-08 17:28:59 +02:00
UK992
d03e52d240 Add clobber mechanism 2017-05-08 16:19:56 +02:00
Simon Sapin
574b155cf6 Add ./mach cargoup 2017-04-25 12:28:08 +02:00
Aneesh Agrawal
022f0aa34a Remove more deprecated Windows GNU code/docs 2017-04-16 22:12:17 -04:00
Simon Sapin
ca08ff876b Add cargo-geckolib and rustc-geckolib commands to mach. 2017-04-05 21:50:44 +02:00
ddh
e527c9a991 Update Hyper and OpenSSL 2017-03-31 16:32:21 +02:00
Simon Sapin
af1edaa883 Fix "option Z is unstable" warning on geckolib with incremental=true
`incremental = true` can be set in the `[build]` section of `.servobuild`
to enable incremental compilation.

In `./mach build-geckolib`, which uses a stable version of the compiler,
this would cause a warning repeated for each invocation of rustc:

```
warning: the option `Z` is unstable and should only be used on the nightly
compiler, but it is currently accepted for backwards compatibility;
this will soon change, see issue #31847 for more details
```

This PR disables incremental compilation for `build-geckolib`,
regardless of `.servobuild` settings.
2017-03-16 21:59:07 +01:00
Simon Sapin
bd8ec03740 Disable LLVM assertions by default, on supported platforms.
But keep them on linux-dev CI.
2017-02-16 08:38:14 +01:00
Anthony Ramine
57fd45a5c2 Allow disabling LLVM assertions in rustc (fixes #15548) 2017-02-15 14:55:02 +01:00
Anthony Ramine
336e6c8f28 Switch to commit-specific nightlies 2017-02-15 14:55:02 +01:00
UK992
b6b96322c1 Remove freetype dependency on Windows 2017-02-06 02:28:54 +01:00
Simon Sapin
e273ecce4c Option configuration to enable incremental compilation.
https://internals.rust-lang.org/t/incremental-compilation-beta/4721
2017-02-05 14:45:00 +01:00
Aneesh Agrawal
60a1503b29 Clean up and simplify existing mach bootstrap
- Default to interactive mode and remove the `--interactive` flag
- Use `--force` to skip interactivity
- Change MSVC dependency storage organization on disk: put each version
  into its own folder and directly refer to the versioned folders,
  providing immutability and making the installation list redundant
- Reuse `host_triple()` function to fix broken bootstrapper dispatching
- Simplify code:
  - Remove or inline many unused and redudant functions and variables
  - Prefer plain functions to classes
  - Consolidate into fewer files, remove unnecessary bootstrapper/ dir
- Improve Python style
- Sort dependency list
2017-01-15 15:41:37 -05:00
Aneesh Agrawal
02b054ec9e Create a util.py Python module for common functions
Extracting these functions helps avoid circular dependencies,
and make them easier to find/reuse.
2017-01-15 15:21:35 -05:00
Teodor Szente
48df976bcd Move get_browserhtml_path to command_base #14815
Remove unused import of find_dep_path_newest #14815

Move get_browserhtml_path top along with find_dep_path_newest #14815
2017-01-02 16:39:20 +02:00
bors-servo
7f2da7483b Auto merge of #14346 - mati865:master, r=UK992,larsberg
Use MSVC toolchain if PLATFORM is defined

<!-- Please describe your changes on the following line: -->
`VSInstallDir` exists only when Visual Studio is installed.
`VS140COMNTOOLS` is defined by installing either Visual Studio or [Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools)

It will allow to build MSVC based Servo without having to install whole Visual Studio (few GiB).

EDIT: Another (maybe cleaner) solution would be reverting 63ec96a57d

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because `VS140COMNTOOLS` variable is already used in [mach.bat](https://github.com/servo/servo/blob/master/mach.bat)

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14346)
<!-- Reviewable:end -->
2016-12-28 07:37:45 -08:00
bors-servo
44af5ea2e4 Auto merge of #14601 - Wafflespeanut:osmesa, r=emilio
Raise warning when OSMesa path is not set

In Ubuntu 14.04, I still get crashes due to non-existence of OsMesa library (#13515). It turned out that sometimes I have paths like `osmesa-src-<hash>` without `out/lib/gallium`. Now, we raise a warning whenever we don't find a proper path.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's related to mach.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14601)
<!-- Reviewable:end -->
2016-12-15 07:42:30 -08:00
Ravi Shankar
000d46490e Warn when OSMesa library path cannot be set 2016-12-15 18:53:14 +05:30
bors-servo
d6788a5048 Auto merge of #13650 - UK992:win32, r=larsbergstrom
Define NATIVE_WIN32_PYTHON environment variable

r? @Wafflespeanut or @larsbergstrom

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

<!-- Reviewable:start -->

---

This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13650)

<!-- Reviewable:end -->
2016-12-15 05:14:16 -08:00
Xidorn Quan
af487f5730 Auto-update in-tree bindings 2016-12-15 21:33:14 +11:00
bors-servo
75c869d508 Auto merge of #14251 - vvuk:servobuild-rustflags, r=ConnorGBrewster
Support build.rustflags in .servobuild

Add ability to specify rustflags in .servobuild.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14251)
<!-- Reviewable:end -->
2016-12-13 16:55:12 -08:00
mati865
02b2b9ccbc use MSVC toolchain if PLATFORM is defined 2016-12-07 19:10:13 +01:00
Simon Sapin
f5af40d694 Upgrade to cargo 0.16.0-nightly (built 2016-12-06)
Instead of once per day (or night) with a date in the URL,
Cargo binaries are now built and published for every merge to master
(with the merge commit hash in the URL).
2016-12-06 12:40:40 -10:00