aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/build_commands.py
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-07-04 01:03:35 -0400
committerGitHub <noreply@github.com>2019-07-04 01:03:35 -0400
commitb32bff3b9737ac6b6905cb85685a88dc31dc6739 (patch)
tree339ea3843451b1ada831d630bc2f7a0273119304 /python/servo/build_commands.py
parente2441b27bb072b1c39a4f346074ade6c42bb27f2 (diff)
parent71abf1375de44fa9a599411f00ab0fdc64bfebf5 (diff)
downloadservo-b32bff3b9737ac6b6905cb85685a88dc31dc6739.tar.gz
servo-b32bff3b9737ac6b6905cb85685a88dc31dc6739.zip
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 https://github.com/servo/servo/commit/7c85dc09b59e653caf60cb18d3b3fdea2ba4d4ae) - 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 -->
Diffstat (limited to 'python/servo/build_commands.py')
-rw-r--r--python/servo/build_commands.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index 647109512b8..df2dc4c9ecc 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -30,7 +30,7 @@ from mach.decorators import (
from mach.registrar import Registrar
from mach_bootstrap import _get_exec_path
-from servo.command_base import CommandBase, cd, call, check_call, BIN_SUFFIX
+from servo.command_base import CommandBase, cd, call, check_call, BIN_SUFFIX, append_to_path_env
from servo.util import host_triple
@@ -169,7 +169,7 @@ class MachCommands(CommandBase):
@CommandBase.build_like_command_arguments
def build(self, release=False, dev=False, jobs=None, params=None,
no_package=False, verbose=False, very_verbose=False,
- target=None, android=False, magicleap=False, libsimpleservo=False,
+ target=None, android=False, magicleap=False, libsimpleservo=False, uwp=False,
features=None, **kwargs):
opts = params or []
features = features or []
@@ -240,6 +240,21 @@ class MachCommands(CommandBase):
env['CXXFLAGS'] = ''
env["CXXFLAGS"] += "-mmacosx-version-min=10.10"
+ if uwp:
+ # Don't try and build a desktop port.
+ libsimpleservo = True
+
+ # Ensure that the NuGet ANGLE package containing libEGL is accessible
+ # to the Rust linker.
+ append_to_path_env(
+ path.join(
+ os.getcwd(), "support", "hololens", "packages",
+ "ANGLE.WindowsStore.2.1.13", "bin", "UAP", "x64"
+ ),
+ env,
+ "LIB"
+ )
+
if android:
if "ANDROID_NDK" not in env:
print("Please set the ANDROID_NDK environment variable.")
@@ -532,7 +547,7 @@ class MachCommands(CommandBase):
status = self.run_cargo_build_like_command(
"build", opts, env=env, verbose=verbose,
- target=target, android=android, magicleap=magicleap, libsimpleservo=libsimpleservo,
+ target=target, android=android, magicleap=magicleap, libsimpleservo=libsimpleservo, uwp=uwp,
features=features, **kwargs
)
@@ -584,7 +599,8 @@ class MachCommands(CommandBase):
for lib in libs:
print("WARNING: could not find " + lib)
- package_generated_shared_libraries(["libEGL.dll"], build_path, servo_exe_dir)
+ if not uwp:
+ package_generated_shared_libraries(["libEGL.dll"], build_path, servo_exe_dir)
# copy needed gstreamer DLLs in to servo.exe dir
target_triple = target or host_triple()