Commit graph

1469 commits

Author SHA1 Message Date
Josh Matthews
dcbec3e404 Build native dependencies with UWP compatibility. 2019-09-16 13:03:08 -04:00
Manish Goregaokar
67f59f5cae Don't run msbuild if packaging failed 2019-09-04 13:37:17 -07:00
Manish Goregaokar
92bddf081d Use OpenXR Loader from NuGet 2019-09-04 13:37:17 -07:00
Joel Martin
1291d52f3f Call gstreamer_root with top_dir string, not func.
Commit 72e28dffcd introduced a build
regression on Linux when resolving the in-tree gstreamer libs.

The error:

------------------------------------
$ ./mach build --release
...
The details of the failure are as follows:

AttributeError: 'function' object has no attribute 'endswith'

  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/build_commands.py", line 237, in build
    env = self.build_env(target=target, is_build=True)
  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/command_base.py", line 646, in build_env
    if self.needs_gstreamer_env(target or host_triple(), env):
  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/command_base.py", line 574, in needs_gstreamer_env
    if path.isdir(gstreamer_root(effective_target, env, self.get_top_dir)):
  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/command_base.py", line 257, in gstreamer_root
    return path.join(topdir, "support", "linux", "gstreamer", "gst")
  File "/usr/lib/python2.7/posixpath.py", line 70, in join
    elif path == '' or path.endswith('/'):
------------------------------------

The problem is that get_top_dir is being passed as a function to
gstreamer_root in a couple of places instead of being invoked first.
2019-08-29 09:29:55 -05:00
bors-servo
87f328a9a2
Auto merge of #24063 - paulrouget:missingAdb, r=jdm
Download platform-tools even for non-emulator builds

`mach install --android` fails because adb is missing.

<!-- 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/24063)
<!-- Reviewable:end -->
2019-08-27 21:36:35 -04:00
bors-servo
9fe3c4fc0f
Auto merge of #24004 - servo:win-gstreamer, r=ferjm
Enable GStreamer on Windows.

I have verified that desktop and emulator UWP builds work with this set of DLLs.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because no tests for UWP

<!-- 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/24004)
<!-- Reviewable:end -->
2019-08-27 10:11:37 -04:00
Paul Rouget
4635f81647 Download platform-tools even for non-emulator builds 2019-08-27 06:53:31 +02:00
Josh Matthews
c0ff30b71f Enable GStreamer on Windows. 2019-08-26 17:41:22 -04:00
TheGoddessInari
789cc5a2e8
Don't assume Visual Studio environment in python. 2019-08-26 11:30:15 -07:00
bors-servo
dfabc33e06
Auto merge of #24040 - asajeffrey:magicleap-gstreamerup, r=jdm
Updated magicleap gtstreamer tarball

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

Updates the gstreamer library on magicleap.

---
<!-- 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 do not require tests because we don't test on devices

<!-- 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/24040)
<!-- Reviewable:end -->
2019-08-24 08:44:03 -04:00
Alan Jeffrey
1c661be721 In mach, add arguments to bare uses of is_windows 2019-08-23 11:54:46 -05:00
Alan Jeffrey
aae32cd6d4 Updated gtstreamer tarball 2019-08-23 11:49:26 -05:00
angelortiz1007
3dd1bfc317 Added support to download nuget and added python code to automate the x64 and arm64 mach build -r/-d --uwp build process. 2019-08-21 20:28:41 -04:00
bors-servo
2e0d1ad567
Auto merge of #24005 - ferjm:windows.pkgconfig, r=Manishearth
Simplify Windows build by not setting PKG_CONFIG_PATH

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #23177

<!-- 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/24005)
<!-- Reviewable:end -->
2019-08-20 22:42:12 -04:00
Fernando Jimenez Moreno
72e28dffcd Do not require setting PKG_CONFIG_PATH on Windows 2019-08-20 08:47:35 +02:00
Alan Jeffrey
88a3021c9d Add --magicleap option to mach install 2019-08-19 10:26:15 -05:00
bors-servo
ec2ca08e8e
Auto merge of #23977 - servo:jdm-patch-46, r=Manishearth
Use correct openxr loader path for x64

<!-- 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/23977)
<!-- Reviewable:end -->
2019-08-16 16:59:47 -04:00
Josh Matthews
4c7922759f
Use correct openxr loader path for x64. 2019-08-15 16:59:07 -04:00
Alan Jeffrey
9a2ba596e5 Package both Servo2D and Servo3D in one magicleap mpk 2019-08-15 10:19:02 -05:00
Manish Goregaokar
c879ce078d Use packaged OpenXR 2019-08-12 19:28:48 -07:00
Alan Jeffrey
11b3d78f40 Added gstreamer support to the magicleap port 2019-08-08 16:52:50 -05:00
Josh Matthews
8a10faf3b9 Remove GStreamer dependencies from UWP app. Remove GStreamer backend on Windows.
It's impossible to conditionally use a crate based only on cargo features, so
temporarily disable the backend on all Windows builds while we sort out how
to get the UWP builds working again.
2019-07-30 21:17:34 -07:00
bors-servo
570788610f
Auto merge of #23889 - servo:jdm-patch-48, r=jdm
Correct GStreamer packaging issues

As reported by someone trying to build the UWP app for the very first time.

<!-- 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/23889)
<!-- Reviewable:end -->
2019-07-30 07:24:33 -04:00
Simon Sapin
0215d09ccb Generate apis.html and css-properties.json for docs as part of crates’ build scripts
… rather than as an extra step after `cargo doc`.
This helps always using the correct set of CSS properties
(for layout 2013 v.s. 2020).
2019-07-30 08:37:33 +02:00
Josh Matthews
a1f39922c4
Add missing GStreamer DLL to package. 2019-07-30 00:03:54 -04:00
Simon Sapin
ddb4e369dd Stylo: replace product={gecko,servo} with engine={gecko,servo-2013,servo-2020}
Renaming the variable helped make sure I looked at every use.
2019-07-29 17:37:03 +02:00
Josh Matthews
9336931377 Fix CI builds. 2019-07-27 09:55:43 -04:00
Josh Matthews
5d3d766204 Vendor UWP GStreamer binaries. 2019-07-27 09:55:42 -04:00
bors-servo
9f6d134957
Auto merge of #23841 - servo:arm64-configuration, r=paulrouget
Make Windows arm64 easy

* Add a ServoApp project configuration
* Add a `--win-arm64` build flag (now `python mach build -r --win-arm64 --uwp`)
* Automatically set up GStreamer LIB environment
* Yell if the cross-compilation environment isn't set up correctly
* Automatically find the Visual C++ installation for DLL packaging, rather than relying on an environment variable

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23793 and fix #23795
- [x] There are tests for these changes

<!-- 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/23841)
<!-- Reviewable:end -->
2019-07-25 01:25:39 -04:00
bors-servo
82f649751c
Auto merge of #23835 - jdm:arm64-openssl, r=paulrouget
Use openssl dependency that works on arm64.

This uses binaries that I generated with https://github.com/servo/openssl-src-rs/tree/servo and https://github.com/servo/openssl/tree/servo that don't crash on arm64.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23811
- [x] These changes do not require tests can't run automated tests for arm64 windows.

<!-- 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/23835)
<!-- Reviewable:end -->
2019-07-24 16:11:14 -04:00
Josh Matthews
681d7b165a Add a --win-arm64 build flag for easier cross-compilation. 2019-07-23 19:01:07 -04:00
Josh Matthews
5d5d028b50 Encode path name of MSVC URLs when downloading. 2019-07-23 09:50:31 -04:00
Josh Matthews
157077c826 Use Servo's ANGLE fork for UWP. 2019-07-23 09:41:59 -04:00
Josh Matthews
962a2a0afa Use openssl dependency that works on arm64. 2019-07-23 09:00:41 -04:00
George Roman
1c4a35e22b Add a HOST_FILE env variable and fix the wdspec setup errors that it causes 2019-07-20 17:06:50 +03:00
bors-servo
2b84348372
Auto merge of #23768 - jdm:unbreak-angle, r=asajeffrey
Unbreak angle

This updates our ANGLE integration to a working version that allows nightly builds to run with `--angle` once more.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23656
- [x] There are tests for these changes

<!-- 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/23768)
<!-- Reviewable:end -->
2019-07-13 12:37:49 -04:00
Josh Matthews
e53fc93e7f Update ANGLE to a version with working GLES loading. 2019-07-13 11:54:23 -04:00
bors-servo
8328763ff2
Auto merge of #23764 - jdm:hl-startup, r=paulrouget
Adjust gstreamer plugins for UWP.

This excludes a set of plugins and dependencies that are currently built with MinGW and will therefore cause WACK errors. The resulting set of plugins loaded by the UWP app are still not UWP-clean, but this makes it much easier to switch over to UWP-clean binaries in the future.

These changes also allow the HoloLens 2 app to start and load again after #23712.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23757
- [x] These changes do not require tests because no tests for windows or UWP.

<!-- 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/23764)
<!-- Reviewable:end -->
2019-07-13 11:31:26 -04:00
Josh Matthews
ce01cd71e2 Adjust gstreamer plugins for UWP. 2019-07-12 10:35:09 -04:00
bors-servo
df73c71fb1
Auto merge of #23516 - pcwalton:webrenderup, r=pcwalton,jdm
Upgrade WebRender

This is against an old Servo because I can't build current Servo due to compile errors in RNG crates. I verified that it starts up.

---
<!-- 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 #23516
- [x] There are tests for these changes

<!-- 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/23516)
<!-- Reviewable:end -->
2019-07-12 08:10:31 -04:00
Josh Matthews
1a9300a29d
Enable uwp feature when building with --uwp. 2019-07-10 10:36:45 -04:00
Josh Matthews
f1b10393c2 rustfmt 2019-07-09 10:52:43 -04:00
bors-servo
988e38fe0a
Auto merge of #23712 - servo:gstreamer-windows, r=ferjm
Support WebAudio on Windows

These changes improve the GStreamer experience on Windows in several ways:
* we package the set of plugins and their dependencies that Servo requires for media support
* we explicitly load those plugins when starting the media engine rather than relying on an existing gstreamer installation

These changes do not affect the experience on non-Windows platforms, but the path is clear to do so in order to fix problems like #23519. With these changes I can successfully hear a tone when loading https://joshmatthews.net/osc.html in both a desktop build and a UWP build.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23631 and fix #23698
- [x] These changes do not require tests because no tests on windows ;_;

<!-- 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/23712)
<!-- Reviewable:end -->
2019-07-08 12:40:05 -04:00
Josh Matthews
4fb75f5646 Package all known GStreamer plugins and dependencies on Windows, and load them explicitly when loading Servo. 2019-07-05 01:59:13 -04:00
bors-servo
ee785f6f23
Auto merge of #20885 - avadacatavra:rustup-req, r=jdm
updated rustup requirement

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

Rustup changed their argparsing, which resulted in `./mach test-unit --nocapture` not working. Servo now requires a higher rustup version to ensure that mach commands work

---
<!-- 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
- [ ] 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/20885)
<!-- Reviewable:end -->
2019-07-04 21:57:40 -04:00
Simon Sapin
5cabcd5268 Add --layout-2020 to ./mach test-wpt and ./mach update-wpt
… with separate metadata (expected results) and include manifest.
2019-07-04 18:16:44 +02:00
Simon Sapin
2b01c26aa5 Add ./mach build --with-layout-2020
… with corresponding `layout` and `layout_thread` crates,
which for now do nothing.
2019-07-04 18:16:44 +02:00
bors-servo
b32bff3b97
Auto merge of #23696 - servo:hl, r=jdm
Add UWP port - bis

This is #23658 with some fixes:
- removed nspr from DLL dependencies (was breaking VS build)
- exclude symbols from header file (was breaking VS build)
- rebased

Before merging:
- please check the rebased commit that introduces the `--uwp` option (things moved around since 7c85dc09b5)
- should we wait until the WR fix lands upstream?

<!-- 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/23696)
<!-- Reviewable:end -->
2019-07-04 01:03:35 -04:00
Josh Matthews
7a3d346087 Simplify build process for UWP app. 2019-07-03 21:35:44 +02:00
Josh Matthews
fc8c428993
Don't suppress build errors. 2019-07-03 15:29:56 -04:00