Граф коммитов

31 Коммитов

Автор SHA1 Сообщение Дата
Simon Sapin 67aa4b3be9 servo: Merge #18942 - Bootstrap from more permanent URLs (from servo:static.rlo); r=jdm,mbrubeck
The `rust-lang-ci` S3 bucket is ephemeral. `static-rust-lang-org.s3.amazonaws.com` is not going away soon, but using `static.rust-lang.org` when possible keeps things working if it ever does.

https://internals.rust-lang.org/t/updates-on-rusts-ci-uploads/6062
https://internals.rust-lang.org/t/public-stable-rust-services/6072

We’ll still need to find a solution for "alt" rustc builds. In the meantime, this is a step.

Source-Repo: https://github.com/servo/servo
Source-Revision: 041bd626ace013f93fa7fe101c70f36543fc9b0d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : af6533ade663a50e140f1630aef427666617f3ba
2017-10-20 07:44:26 -05:00
Imanol Fernandez 292becaf0b servo: Merge #18680 - Implement Gradle flavors for Android VR compilations (from MortimerGoro:android_flavors); r=larsbergstrom
<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2567c40829704dcb1c7769defffb9dabfd701633

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 06713674eae3f230639fd5025c5e3cc6aa3ce9e3
2017-09-30 12:17:37 -05:00
John Lin 219be49cb1 servo: Merge #18031 - Fix Android build errors on macOS (from jhlin:android-build-on-macos); r=mbrubeck
- 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

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

---
<!-- 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
- [x] These changes fix #15758 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a fix to build errors.

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: a3b85cbd6cd74090b6e9f09e3d0980045e8f6a1b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9cd0d4cc6a224afcb7c23a85446b94f3835a0c38
2017-09-15 14:05:00 -05:00
Imanol Fernandez 3f4624c956 servo: Merge #17099 - Support for Android arm64 compilations (from MortimerGoro:android_arm64); r=larsbergstrom
<!-- Please describe your changes on the following line: -->

This PR is the final step to adds support for Android arm64 compilations. See https://github.com/servo/servo/issues/11921 for previous work.

Fixes in this PR:
- Fix js dependency compilation: https://github.com/servo/rust-mozjs/pull/360
- Fix skia dependency link error: https://github.com/servo/skia/pull/136
- Fix blurdroid dependency compilation: https://github.com/szeged/blurdroid/pull/4
- Fix mio and net2 dependency compilations: https://github.com/carllerche/mio/pull/599
- Fix gcc compiler name in the fake linker
- Compile OpenSSL for aarch64 (update to stable 1.1.0 was required for this)

---
<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 85e5551ee9f2f662bdca53469a327491f35ece53

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f70197e8d6f16df92040706a0e3473d66266f373
2017-07-08 11:32:14 -07:00
Jeremy Lempereur afa130d070 servo: Merge #17240 - #17079 : Changed the openssl url and bumped the version (from o0Ignition0o:openssl_from_mirror); r=jdm
<!-- Please describe your changes on the following line: -->
Changed the openssl url and bumped the version.
It's a wip because I haven't figured out a relevant way to write a test about it yet.

---
<!-- 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
- [X] These changes fix #17079 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because The mach command will fail if anything goes wrong.

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: d7dff8e6d118bf82f837b3e6387cf96647007cdd

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 055342649187141e17718b9b012d5efb13adc231
2017-06-12 06:43:56 -07:00
Josh Matthews 8d68854821 servo: Merge #17039 - Update openssl source download location (from servo:jdm-patch-1); r=nox
The openssl.org webpage has been reorganized and the old URL no longer works.

Source-Repo: https://github.com/servo/servo
Source-Revision: 83f82cb4d380f2bdd02f388702d6162af9a3c9bc

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f4f5a984196edb87c05c9e382989013bc363550c
2017-05-25 12:20:20 -05:00
Imanol Fernandez cda127d899 servo: Merge #15773 - Android life cycle improvements and Gradle integration (from MortimerGoro:android_improvements); r=larsbergstrom,fabricedesre
This PR includes Android life cycle Improvements and Gradle integration for android packaging.

Android life cycle improvements are implemented in both the new [MainActivity](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-f43708b102e98272c2af7454b8846927) and native code in this related PR: https://github.com/servo/glutin/pull/117
- Properly handle the life cycle of the Android Activity: manage EGLContext lost & restore, and animation loop pause/resume when the app goes to background/foreground or orientation changes. In the current upstream Servo crashes when the app goes to background, activity stops or changes orientation
- Handle event loop awake for Servo Animation loop
- Handle screen resize & orientation events
- Implement new keep_screen_on preference which keeps Android device's screen from ever going to sleep: very useful for games or WebVR
- Implement a full screen mode enabled by preference: very useful for games or WebVR
- Implement new shell.native-orientation preference which allows to lock the Activity to a specific orientation
- Automatically sync new android assets to sdcard when the Android version code is changed.  In the current upstream only the existence of the folder is check but resources are not updated

ofscreen_gl_context is updated to fix this: https://github.com/emilio/rust-offscreen-rendering-context/pull/83

This PR integrates Gradle build system for android packaging. Most of the code is implemented in this [build.gradle](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-89cdb9324addb994cdba0a158b209547) . We can get rid of [build-apk](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-40f5a7cf22f94aad059b2c1795347f5e) and manual jar dependency copying in the [package_commands.py](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-0d425b142c8d10ae6ac1f3711fb5c23a). The correct version of gradle is automatically downloaded using the gradlew wrapper.

Some improvements:
- Allows to include more complex android dependencies/SDKs like AARs, manifest auto-merging and more.
- Improved packaging process: The gradle project is always in the same folder, it uses relative paths for everything (assets, native libraries) and outputs the apk into the correct target folder in servo. In the current upstream, ant/python build system copies the manifest, project, resources and jars each time so you end with multiple copies of the same files.
- Improved dependency declaration. We do not have to manually copy jar dependencies in the python script anymore. The gradle build scripts itself is able to search for the dependencies in the correct servo target folder.
- Supports packaging apks with different architectures: armeabi, armeabi-v7a, aarch64. We still need to fix some native servo compilation issues with armeabi-v7a, aarch64 due to dependencies which use `make`. I'll push this changes in a separate PR of the python build files but the gradle file is already ready to handle that.
- We can easily create product flavors for different versions of Servo. For example a default browser, a WebVR browser with additional dependencies or a Servo android Webview component
- Fixes minor.major.52 build error when blurdroid cargo dependency is compiled using java8 (the default in new Linux machines). The gradle build file enables the new Jack compiler which supports Java8 dependencies.
- The project can be opened with Android Studio and run the brand new GPU debugger on any Android phone. I'll add some docs in the Wiki about this.

---
<!-- 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
- [x] These changes fix #14568 (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b5c17c43a517b6d6bd981f5fa905536dddd3beb

--HG--
rename : servo/support/android/apk/AndroidManifest.xml => servo/support/android/apk/app/src/main/AndroidManifest.xml
rename : servo/support/android/apk/res/mipmap/servo.png => servo/support/android/apk/app/src/main/res/mipmap/servo.png
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2da8cf56223c150832fddb3e8878432f4d64bc6e
2017-04-21 15:52:13 -05:00
Fabrice Desré ad195d3437 servo: Merge #15609 - Android cleanup (from fabricedesre:android-cleanup); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
As I dive in the Android code, a bit of cleanup:
- jni/main.c was totally useless, and its presence misleading. I left the jni/ directory to please `ndk-build`.
- the logging redirection in servo/main.rs was redondant with the implementation in the injected android glue.

Most other changes are just due to my editor doing a `rustfmt` when saving files.
I also turned on RUST_LOG to `debug` by default, that helps quite a bit to see what's happening.

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [X ] These changes do not require tests because unfortunately we don't have Android tests.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 082fbe9e15996875edc586f46c6a2d54947b4620

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 38ae276da9f6cad169a958ba250696417a789a20
2017-02-18 10:38:18 -08:00
Zhuowei Zhang bb4e08ff89 servo: Merge #15396 - android: extract resources to external storage on first launch (from zhuowei:android-extract-resources); r=larsbergstrom
<!-- Please describe your changes on the following line: -->

If /sdcard/servo doesn't exist, extract it from the assets/ folder of the APK. This fixes issue #12129.

---
<!-- 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
- [x] These changes fix #12129 (github issue number if applicable).

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

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

I tested this on a Nexus 6P running Android 7.1: on launch, the app correctly detects that /sdcard/servo is missing, extracts the contents from assets/, and launches without force closing.

This is my first Servo pull request, so apologies in advance if I'm doing something wrong. Also, I was unable to build the entirety of Servo from source (complains about missing freetype), so I just built the Java portion separately; would that impact anything?

Source-Repo: https://github.com/servo/servo
Source-Revision: 349971b38019ea5513650090a5cad1878d33b431

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0c41d16ec522cff11bfabbd086ef375830355c99
2017-02-09 12:27:12 -08:00
Matt Brubeck 27dc0033a6 servo: Merge #15355 - Update clap, clippy, deflate, flate2, open, unicode-segmentation, owning_ref, parking_lot, phf, quote, walkdir (from mbrubeck:always-be-updating); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 6553a5c1e088c0a13581834af5e8ab150af87fee
2017-02-02 11:44:01 -08:00
UK992 76bfd8c1e3 servo: Merge #14737 - Package: Various improvements (from UK992:package-prefs); r=Wafflespeanut
Fixes https://github.com/servo/servo/issues/11966
Fixes https://github.com/servo/servo/issues/12707

Also adds simple mechanism to set os specific prefs, by adding  like `os:macosx,os:windows;` before pref name.

Source-Repo: https://github.com/servo/servo
Source-Revision: b5f3d7dd413886037de8f1bc435ede34a98421b3
2016-12-29 10:28:37 -08:00
Mátyás Mustoha 80737dc897 servo: Merge #14528 - Add C++ runtime shared object to the Android APK (from mmatyas:android_cppruntime); r=larsbergstrom
<!-- Please describe your changes on the following line: -->
At the moment, the Android port requires `libc++_shared.so` to run -- this patch adds the file to the generated APK.

Part of #13154.

If you know a cleaner way to solve this issue, feel free to share it! Static linking didn't work, see the related issue.

---
<!-- 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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 91a223093368be339ad00f42df4214ac36e1be6e
2016-12-13 13:35:25 -08:00
Mátyás Mustoha 1c6e643fbc servo: Merge #13945 - Update the Android build system (from mmatyas:android_libcpp_change); r=larsbergstrom,aneeshusa
A huge update for the Android build system, which makes the Android target build again.

There are still some runtime issues, see #13154. CC & created by @larsbergstrom.

Fixes #12562.

Source-Repo: https://github.com/servo/servo
Source-Revision: b9330151b980c838887c2da73481882947cc2922
2016-10-28 16:11:26 -05:00
Attila Dusnoki 3e521f8ed9 servo: Merge #12875 - WebBluetooth Android support (from dati91:android); r=larsbergstrom
<!-- Please describe your changes on the following line: -->
Add android support for Webbluetooth.
Also adjust to the changed device api.

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because there is no test api yet.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 057bcddd0f63a97b8cd1954310878c423d02e056
2016-09-06 10:44:41 -05:00
Alan Jeffrey 3502f92cc3 servo: Merge #12447 - All our Cargo.toml files should contain an MPL-2.0 license field (from asajeffrey:license-mpl-2.0); r=frewsxcv
<!-- Please describe your changes on the following line: -->

Added a `license = "MPL-2.0"` field to all our `Cargo.toml` files, and added a check to `test-tidy` that the license is present.

---
<!-- 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
- [X] These changes fix #12434
- [X] There are tests for these changes

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 650d1d1185eecdc4c8b605bb0290ece7de839015
2016-07-14 09:33:18 -07:00
Lars Bergstrom f0ebe00e1a servo: Merge #11691 - Add very simple Android browser page load support (from larsbergstrom:android_load); r=mbrubeck
I've long had this set of private patches that enables actually demoing Servo on Android without having the device connected, but they're a bit hackish due to some current limitations in our windowing toolkit library. I'm considering committing them, though, as it makes the resulting APK *actually* somewhat usable.

Thoughts / r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b32ec430124ef19bf685610c74367b520c020aa
2016-06-09 22:45:23 -05:00
Lars Bergstrom 35a1edf180 servo: Merge #11687 - Android basedir (from larsbergstrom:android_basedir); r=mbrubeck
<!-- Please describe your changes on the following line: -->
This fixes #11633, as when the new basedir stuff that uses xdg was added, it did not preserve the previous Android behavior, which used `/sdcard/servo`. Obviously, long-term we should be calling into the Android runtime to determine the per-run installation path and be both unpacking and loading resources from there, but this restores the previous behavior.

r? @mbrubeck

---
<!-- 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
- [x] These changes fix #11633 (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: ebb1cb30f758273ba3efbe1e1ae3a504faed8293
2016-06-09 15:57:56 -05:00
Aneesh Agrawal 185ca61f45 servo: Merge #11406 - Fix Android APK building (packaging) (from aneeshusa:add-missing-build-apk-semicolon); r=mbrubeck
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 --faster` does not report any errors
- [ ] These changes help with #10339.

Either:
- [x] There are tests for these changes (android-nightly builder) OR
- [ ] These changes do not require tests because _____

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

I missed this syntax error during my review, and we don't check that
packaging succeeds in regular build suite, but only as a Nightly build.

@larsbergstrom should we run the packaging as part of the regular build? I think it is important that this continue to stay working, especially with #9918. In that case, the only difference with the nightly builder is whether or not to upload to S3.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1efacd393843a761ee91c3a1765ef4801ccf18cc
2016-05-26 21:48:17 -05:00
Mitchell Hentges fd9af4a433 servo: Merge #11278 - Reduce 'android-18' duplication by putting it in $ANDROID_TARGET env variable (from mitchhentges:8348-reduce-duplication); r=aneeshusa
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 --faster` does not report any errors
- [x] These changes fix #8348

Either:
- [X] These changes do not require tests because ~~I'm lazy~~ it's a configuration change, and asserting default values is usually tedious and not very helpful

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

---

Allegedly, this broke the build [back in the day](https://github.com/servo/servo/pull/8519).
Going to see if it's a piece of cake to land now

Source-Repo: https://github.com/servo/servo
Source-Revision: ea38ccfdfe12c64d41ff460f358e21cafead8414
2016-05-24 13:08:05 -07:00
Matt Brubeck c6fe506242 servo: Merge #10997 - Upgrade to OpenSSL 1.0.1t on Android (from mbrubeck:openssl-1.0.1t); r=aneeshusa
Source-Repo: https://github.com/servo/servo
Source-Revision: 7a439e62371189a986f3339b80b70e76642dc060
2016-05-04 06:18:28 -07:00
Zbynek Winkler c70e781908 servo: Merge #10751 - Report lines starting with && in tidy (from zwn:tidy-start-operator); r=Wafflespeanut
Partial implementation of the issue #10692 (the easy part).

Source-Repo: https://github.com/servo/servo
Source-Revision: d926b5d3762a101d5280266f806f2b979f73b695
2016-04-22 10:40:06 -07:00
UK992 775aa09069 servo: Merge #9908 - Check tidy for "support/android/build-apk/" (from UK992:tidy-fix); r=ecoal95
Fixes  #9893
r? @ecoal95

Source-Repo: https://github.com/servo/servo
Source-Revision: e3bea4f88724c9fc7dfceab590dd0df90a0a7a3f
2016-03-08 11:58:08 +05:01
Cengiz Can 83f634f244 servo: Merge #9891 - Replace deprecated fs::walk_dir call with walkdir crate (from cengizIO:master); r=ecoal95
While working on #8351 I discovered that deprecated fs::walk_dir is used in android support files.

This is my first PR to any Rust project, so any constructive feedback is more than welcome!

Thanks

Source-Repo: https://github.com/servo/servo
Source-Revision: dedae5e459724d32ada7d3f4e33d8533bddb43fa
2016-03-07 18:47:02 +05:01
Ivan Enderlin 4745cd9e02 servo: Merge #9483 - Quality: Fix CS (from Hywan:cs); r=KiChjang
Just remove trailing spaces.

Source-Repo: https://github.com/servo/servo
Source-Revision: b468a6c31c69f6e230f7304bd8925fc4a0500f25
2016-02-05 22:28:59 +05:01
Matt Brubeck 7af235e026 servo: Merge #8891 - Android build system improvements (from mbrubeck:mach-install); r=larsbergstrom
This PR adds a `mach install` command (a convenient way to run `adb install`), and does some minor code cleanup.

It also fixes parallelism in the OpenSSL build.  For [complicated reasons][1], a sub-Make will not inherit `-j` options from its parent process unless it is invoked directly from another Makefile.  This means we should run make from openssl.makefile rather than openssl.sh.

r? @larsbergstrom

[1]: http://make.mad-scientist.net/papers/jobserver-implementation/

Source-Repo: https://github.com/servo/servo
Source-Revision: a1fb12616a29d2190baadd20d7763af1d9c02260
2015-12-12 18:02:53 +05:01
Simon Sapin 88bf9b483b servo: Merge #8518 - Silence the "Nothing to be done for 'all'." message (from servo:shhhhh-make); r=larsbergstrom
r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c3d2235287767180180290622f9f259e821330c
2015-11-14 01:23:04 +05:01
Lars Bergstrom 026f33c3d4 servo: Merge #8460 - Disable zipalign until we have stable builder automation to install a… (from larsbergstrom:remove_zipalign); r=Ms2ger
…nd locate it

r? @mbrubeck

The basic problem here is that `zipalign` is in the tools directory on some installs, in build-tools/22.0 on some, build-tools/20.0 on others, etc. I'll need to find a more stable way of locating the tool (even if it's just shelling out to `find` - I almost autoconf!). Disabling use of it for now since it's optional and is currently breaking our nightly builds.

Source-Repo: https://github.com/servo/servo
Source-Revision: 75e01de627376d987cff8bc87b5f23c79e5f36af
2015-11-11 20:45:03 +05:01
Lars Bergstrom 0b806539c8 servo: Merge #8288 - New Android suppport (from larsbergstrom:new_android_build); r=mbrubeck
r/f? @mbrubeck

No need to r+ urgently; I want to do a little bit more testing of the release build, but I'm hoping to land this bit (moving to a more sane build process) next week.

The new version of building an APK:
1) Removes the glutin-based APK builder from the link step
2) Adds a build.rs step to the build of the final Servo library that adds the native code required by glutin's android_rs_glue (e.g., `ANativeActivity_onCreate` definition)
3) Replaces the link step with a `fake-ld.sh` script that instead creates a libservo.so
4) Adds a new mach `package` step to build the APK that has some Rust code that builds the library from a set of in-tree build files

This setup fixes a number of problems:
1) We can use gdb, because we use `ndk-build`, which adds the .gdbserver info, plus we keep around all of the build files (also required by the ndk gdb)
2) We can add more Java code & hooks to handle Android intents
3) We no longer have any git submodules or the awkward two-step build with android-rs-glue

Many other setups were tried (and failed). The most obvious ones is building a libservo.so from a `dylib` target from the servo build on Android. This doesn't work because you can't have a different default lib target on one platform than others in Cargo, and you also can't pass it in from the commandline (e.g., --lib does not have a dylib arg). Additionally, if you don't go through the intermediate libservo.rlib step (which removes unused symbols), then you end up with a TON of missing symbols because our -sys crates are super sloppy about that. I spent a few weeks beginning to clean them up, but since it's something we can't easily enforce (and new -sys packages will have this problem, too, since it's only an issue with the Android loader), it made more sense to me to just have the build set up to discard those unused bits of code before they ever get to the linker, much less the loader.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0699d38e80c029a384354da96596421f3a97ceef
2015-11-05 05:22:48 +05:01
Manish Goregaokar 10ac47fbd8 servo: Merge #4570 - Fix Android warnings (from Manishearth:android-warn); r=jdm
My local android build is a bit wonky so I'm not sure if all warnings have been fixed, though. I'll try to poke around and fix it.

Source-Repo: https://github.com/servo/servo
Source-Revision: d9751c0fbb13d04b27c42a9ba5065b5af26f1286
2015-01-08 21:54:48 -07:00
Glenn Watson d1caa006bf servo: Merge #4581 - Update android openssl version due to security advisory https://www.openssl.org/news/secadv_20150108.txt (from glennw:openssl-update); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 78798026ac245187f92d7d3f88f7fe012c63ff9d
2015-01-08 17:15:50 -07:00
Glenn Watson d6ad689dd4 servo: Merge #4292 - Use mach to build openssl on android instead of glut makefile (from glennw:android-ssl); r=mbrubeck
The glut makefile will be removed shortly after glutin lands
for android, so we need to build openssl for android elsewhere
in the build process.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2741fd2e139b9cb8e9f14857877f567ecae3bced

--HG--
rename : servo/ports/android/openssl.sh => servo/support/android/openssl.sh
2014-12-08 17:54:57 -07:00