aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2019-05-30 13:04:45 -0400
committerJosh Matthews <josh@joshmatthews.net>2019-06-03 10:41:17 -0400
commit96c51cf173ce3cb1526fe58f904e67ffc771893d (patch)
treec3f68760f38adc54e047036b96b34e69ebbc7f17 /python
parent8ae287375f9c711ea108ff0255e08eb4ae1e7691 (diff)
downloadservo-96c51cf173ce3cb1526fe58f904e67ffc771893d.tar.gz
servo-96c51cf173ce3cb1526fe58f904e67ffc771893d.zip
Package DLLs correctly for Windows cross builds.
Diffstat (limited to 'python')
-rw-r--r--python/servo/build_commands.py4
-rw-r--r--python/servo/command_base.py4
-rw-r--r--python/servo/package_commands.py2
3 files changed, 7 insertions, 3 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index 1a00d8be97d..a491d0a0bd5 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -615,7 +615,8 @@ class MachCommands(CommandBase):
return rv
if sys.platform == "win32":
- servo_exe_dir = path.join(base_path, "debug" if dev else "release")
+ servo_exe_dir = os.path.dirname(self.get_binary_path(release, dev, target=target))
+ assert os.path.exists(servo_exe_dir)
msvc_x64 = "64" if "x86_64" in (target or host_triple()) else ""
# on msvc builds, use editbin to change the subsystem to windows, but only
@@ -629,6 +630,7 @@ class MachCommands(CommandBase):
servo_exe_dir)
# Search for the generated nspr4.dll
build_path = path.join(servo_exe_dir, "build")
+ assert os.path.exists(build_path)
def package_generated_shared_libraries(libs, build_path, servo_exe_dir):
for root, dirs, files in os.walk(build_path):
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index a7e6ead3bf0..2251b620098 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -367,7 +367,7 @@ class CommandBase(object):
def get_gstreamer_path(self):
return path.join(self.context.topdir, "support", "linux", "gstreamer", "gst")
- def get_binary_path(self, release, dev, android=False, magicleap=False):
+ def get_binary_path(self, release, dev, target=None, android=False, magicleap=False):
# TODO(autrilla): this function could still use work - it shouldn't
# handle quitting, or printing. It should return the path, or an error.
base_path = self.get_target_dir()
@@ -380,6 +380,8 @@ class CommandBase(object):
elif android:
base_path = path.join(base_path, "android", self.config["android"]["target"])
binary_name = "libsimpleservo.so"
+ elif target:
+ base_path = path.join(base_path, target)
release_path = path.join(base_path, "release", binary_name)
dev_path = path.join(base_path, "debug", binary_name)
diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py
index 12ab0607a3a..491abf2eb84 100644
--- a/python/servo/package_commands.py
+++ b/python/servo/package_commands.py
@@ -219,7 +219,7 @@ class PackageCommands(CommandBase):
if magicleap:
target = "aarch64-linux-android"
env = self.build_env(target=target)
- binary_path = self.get_binary_path(release, dev, android=android, magicleap=magicleap)
+ binary_path = self.get_binary_path(release, dev, target=target, android=android, magicleap=magicleap)
dir_to_root = self.get_top_dir()
target_dir = path.dirname(binary_path)
if magicleap: