Commit graph

183 commits

Author SHA1 Message Date
Xidorn Quan
44e0ce3ffe Don't do gecko_debug build in build-geckolib 2017-10-05 15:29:30 +11:00
bors-servo
2567c40829 Auto merge of #18680 - MortimerGoro:android_flavors, r=larsbergstrom
Implement Gradle flavors for Android VR compilations

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

This PR adds support to easily generate Android VR builds. Rust/Java VR dependencies are not added by default.

Default build (No VR support)
```
./mach build --release --android
./mach package --release --android
./mach install --release --android
```

GoogleVR builds (e.g. Daydream)
```
./mach build --release --android --features googlevr
./mach package --release --android --flavor googlevr
./mach install --release --android
```

OculusVR builds (e.g. Gear VR)
```
./mach build --release --android --features oculusvr
./mach package --release --android --flavor oculusvr
./mach install --release --android
```

---
<!-- 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/18680)
<!-- Reviewable:end -->
2017-09-30 12:17:37 -05:00
Imanol Fernandez
e93130026a Implement Gradle flavors 2017-09-30 14:31:22 +02:00
Matt Brubeck
c4aadfadae mach: Don't overwrite RUSTFLAGS when enabling debug assertions 2017-09-29 09:53:16 -07:00
John Lin
fbdb2093dd Fix Android build errors on macOS.
- Add sysroot path to environment variable 'CPPFLAGS':
  When checking C preprocessor, the 'configure' script of libbacktrace uses 'CPPFLAGS' rather than 'CFLAGS' and doesn't get the correct search path. (#15758)
  This check passes on Linux because the '/lib/cpp' fallback is available there.

- Introduce CMake toolchain file for Android cross compiling:
  CMake needs several variables [1] to cross compile for Android.
  It works (accidentally) on Linux because cmake-rs sets compilers correctly and binutils for Linux & Android are pretty much the same.

[1] https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-the-ndk
2017-08-10 12:12:54 +08:00
Imanol Fernandez
48fb715941 Support for Android arm64 compilations 2017-07-05 15:59:50 +02:00
Jeremy Lempereur
a02c074ba9 Changed the openssl url and bumped the version. Refactored the openssl.sh script to avoid version duplication in the code. 2017-06-12 07:55:03 +02:00
Xidorn Quan
dafc6adc30 Remove --with-gecko from build-geckolib because it is not usable. 2017-05-19 11:08:36 +10: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
Xidorn Quan
35dc68c234 Stop touching in-tree files from build-geckolib.
This stops:
* generating atom helper files from regen_atoms.py
* copying generated binding files to in-tree
2017-05-08 14:19:03 +10:00
Nathan Froyd
7c6fda8ea9 switch gecko_bindings over to the gecko_debug feature
...so that they use the correct Gecko structs regardless of whether Rust
code is being compiled with debug assertions or not.
2017-04-22 17:00:24 -04:00
Aneesh Agrawal
022f0aa34a Remove more deprecated Windows GNU code/docs 2017-04-16 22:12:17 -04:00
Aneesh Agrawal
ff74faee10 Fix setting Servo icon on macOS
Originally introduced in PR #11646,
this appears to have been accidentally broken by commit
82df8e9399.
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
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
Simon Sapin
16d8c35be4 Add config to do desktop notifications by running an abitrary command. 2017-01-13 20:47:54 +01:00
Manish Goregaokar
bf11fe3531 Expand ~ in --with-gecko for ./mach build-geckolib 2017-01-09 13:19:57 -08:00
Emilio Cobos Álvarez
193421969d
stylo: Copy binding files even if the build failed.
It's easier to stash the changes away than to find the generated files.
2016-12-25 01:41:07 +01:00
Xidorn Quan
3633384f10 Update atoms when build geckolib with gecko 2016-12-16 17:02:25 +11:00
Xidorn Quan
af487f5730 Auto-update in-tree bindings 2016-12-15 21:33:14 +11:00
Xidorn Quan
1cefd1bef0 Do build-time bindgen
Majority of build_gecko.rs is just the straightforward conversion from
regen.py. There are two differences that:
1. Side in whitelist is changed to mozilla::Side
2. std::atomic__My_base is added to opaque types for Windows
2016-12-10 00:33:41 -10:00
Anthony Ramine
4d98e88073 Revert temporary commit used to debug something in #14225
This reverts commit a3f1267d70.
2016-11-27 22:59:55 +01:00
Anthony Ramine
a3f1267d70 WIP 2016-11-27 12:19:48 +01:00
Ms2ger
9a5abab442 Move the servo binary to ports. 2016-11-16 13:31:21 +01:00
Rohit Burra
76ec3f423a Add --with-debug-assertions flag for Mach 2016-11-05 16:02:40 +05:30
Mátyás Mustoha
5bb550dbf0 Update to use the new Android library build rules. 2016-10-28 22:17:10 +02:00
Lars Bergstrom
e16c7ec861 Ensure that SERVO_ENABLE_DEBUG_ASSERTIONS is also used in build-cef 2016-10-05 09:54:28 -05:00
Emilio Cobos Álvarez
6496efd0e7
build: Honor SERVO_ENABLE_DEBUG_ASSERTIONS. 2016-10-02 17:57:06 +02:00
Vladimir Vukicevic
da8f06b0f9 Use default console subsystem on Windows for dev builds 2016-09-28 13:37:31 -07:00
UK992
fc3555556c Create mach bootstrap based on Mozilla's mozboot bootstrapper 2016-09-07 22:45:05 +02:00
Vladimir Vukicevic
ab007315c2 Copy in DLLs to servo.exe dir 2016-08-17 09:51:42 -04:00
Vladimir Vukicevic
0e32871591 Add proper Win32 notification for builds 2016-08-17 09:50:58 -04:00
Vladimir Vukicevic
82df8e9399 Set windows subsystem on MSVC builds with editbin 2016-08-17 09:50:54 -04:00
UK992
6548325bd2 Run git command only with mach build commands 2016-08-05 22:47:27 +02:00
Jack Moffitt
ca8b375656 Fix font metrics and switch to windows subsystem
Currently fonts are using incorrect metrics and the app uses the console
subsystem. This patch adds aliases so that font metrics are found and
instructs the linker to use the windows subsystem.
2016-07-26 15:18:54 -06:00
Xidorn Quan
cb62b5dd26 Ensure all env vars are str
This is necessary for the Python build bundled in MozillaBuild.
2016-07-11 11:27:24 +10:00
Simon Sapin
24575ff226 Move ports/geckolib/target to target/geckolib 2016-07-08 22:28:53 +02:00
Simon Sapin
79ef0a5d7f Remove the "./mach build-stable" subcommand
It is replaced by "./mach build-gecklibo" using stable Rust.
2016-07-08 22:28:51 +02:00
Simon Sapin
26a78817c1 Make "./mach geckolib" use the stable Rust compiler 2016-07-08 22:28:48 +02:00
Xidorn Quan
064f1adb78 Get the build env before change dir
Otherwise, build_env may fail to find git information.
2016-07-08 18:51:02 +10:00
Gabriel Poesia
a1a1dec4d5 Add mach build-stable to build with stable rustc
Github issue: #11806
Building with current stable rust (1.9.0) still fails because of
feature pragmas in some dependencies (e.g. serde_item).
2016-06-30 00:15:50 -03:00
Patrick Walton
8d5ff5cae7 mach: Set a nice icon for the binary on the Mac.
There's actually a practical reason for this: it helps me pick out the
app in Instruments.app.

See:
http://apple.stackexchange.com/questions/6901/how-can-i-change-a-file-or-folder-icon-using-the-terminal/161984#161984
2016-06-08 12:29:46 -07:00
Lars Bergstrom
02c7e06d54 Remove the gonk port 2016-05-27 19:33:43 -05:00
bors-servo
2d4941660b Auto merge of #11378 - mbrubeck:debug-mozjs, r=larsbergstrom
Default to the same Cargo features in all build commands

Fixes #8308 and #7327. r? @larsbergstrom

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11378)
<!-- Reviewable:end -->
2016-05-27 17:15:24 -05:00
Matt Brubeck
8587ec4278 Default to the same Cargo features in all build commands
Fixes #8308 and #7327.
2016-05-27 14:43:55 -07:00
bors-servo
345b8b9c00 Auto merge of #11374 - servo:no-microseconds, r=Ms2ger
Don’t include microsecons when reporting build times.

"0:03:40.817715" is harder to read and no more informative than "0:03:40"

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11374)
<!-- Reviewable:end -->
2016-05-25 21:31:48 -05:00
Per Lundberg
e266953f39 Fixed the build tools to handle cargo being named cargo.exe
It's actually quite weird that I had to do this, but I got errors without it. I noted the `BIN_SUFFIX` existed elsewhere so it felt logical to use it here also.
2016-05-25 00:52:18 +03:00