aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-04-01 13:29:07 -0400
committerGitHub <noreply@github.com>2019-04-01 13:29:07 -0400
commite27653ceae291f7506b6ca1cfe266033bd35ecdc (patch)
tree2a4bfafe579cd19c69508ebeb2cc6caeb99a50cb /python/servo
parent805dd864253db80cfe20be6051b5882bd706f7af (diff)
parent73aeee19a501bc506962aede08c15c46d40a349d (diff)
downloadservo-e27653ceae291f7506b6ca1cfe266033bd35ecdc.tar.gz
servo-e27653ceae291f7506b6ca1cfe266033bd35ecdc.zip
Auto merge of #23126 - servo:jdm-patch-35, r=Manishearth
Fix various Windows dependency issues - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #23125 and fix #23104 - [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/23126) <!-- Reviewable:end -->
Diffstat (limited to 'python/servo')
-rw-r--r--python/servo/build_commands.py59
1 files changed, 36 insertions, 23 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index 3db788a0be5..8033c6859eb 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -611,7 +611,8 @@ class MachCommands(CommandBase):
gst_root = ""
gst_default_path = path.join("C:\\gstreamer\\1.0", gst_x64)
gst_env = "GSTREAMER_1_0_ROOT_" + gst_x64
- if os.path.exists(path.join(gst_default_path, "bin", "libz.dll")):
+ if os.path.exists(path.join(gst_default_path, "bin", "libffi-7.dll")) or \
+ os.path.exists(path.join(gst_default_path, "bin", "ffi-7.dll")):
gst_root = gst_default_path
elif os.environ.get(gst_env) is not None:
gst_root = os.environ.get(gst_env)
@@ -619,31 +620,43 @@ class MachCommands(CommandBase):
print("Could not found GStreamer installation directory.")
status = 1
gst_dlls = [
- "libffi-7.dll",
- "libgio-2.0-0.dll",
- "libglib-2.0-0.dll",
- "libgmodule-2.0-0.dll",
- "libgobject-2.0-0.dll",
- "libgstapp-1.0-0.dll",
- "libgstaudio-1.0-0.dll",
- "libgstbase-1.0-0.dll",
- "libgstpbutils-1.0-0.dll",
- "libgstplayer-1.0-0.dll",
- "libgstreamer-1.0-0.dll",
- "libgstrtp-1.0-0.dll",
- "libgstsdp-1.0-0.dll",
- "libgsttag-1.0-0.dll",
- "libgstvideo-1.0-0.dll",
- "libgstwebrtc-1.0-0.dll",
- "libintl-8.dll",
- "liborc-0.4-0.dll",
- "libwinpthread-1.dll",
- "libz.dll"
+ ["libffi-7.dll", "ffi-7.dll"],
+ ["libgio-2.0-0.dll", "gio-2.0-0.dll"],
+ ["libglib-2.0-0.dll", "glib-2.0-0.dll"],
+ ["libgmodule-2.0-0.dll", "gmodule-2.0-0.dll"],
+ ["libgobject-2.0-0.dll", "gobject-2.0-0.dll"],
+ ["libgstapp-1.0-0.dll", "gstapp-1.0-0.dll"],
+ ["libgstaudio-1.0-0.dll", "gstaudio-1.0-0.dll"],
+ ["libgstbase-1.0-0.dll", "gstbase-1.0-0.dll"],
+ ["libgstgl-1.0-0.dll", "gstgl-1.0-0.dll"],
+ ["libgstpbutils-1.0-0.dll", "gstpbutils-1.0-0.dll"],
+ ["libgstplayer-1.0-0.dll", "gstplayer-1.0-0.dll"],
+ ["libgstreamer-1.0-0.dll", "gstreamer-1.0-0.dll"],
+ ["libgstrtp-1.0-0.dll", "gstrtp-1.0-0.dll"],
+ ["libgstsdp-1.0-0.dll", "gstsdp-1.0-0.dll"],
+ ["libgsttag-1.0-0.dll", "gsttag-1.0-0.dll"],
+ ["libgstvideo-1.0-0.dll", "gstvideo-1.0-0.dll"],
+ ["libgstwebrtc-1.0-0.dll", "gstwebrtc-1.0-0.dll"],
+ ["libintl-8.dll", "intl-8.dll"],
+ ["liborc-0.4-0.dll", "orc-0.4-0.dll"],
+ ["libwinpthread-1.dll", "winpthread-1.dll"],
+ ["libz.dll", "libz-1.dll", "z-1.dll"]
]
if gst_root:
for gst_lib in gst_dlls:
- shutil.copy(path.join(gst_root, "bin", gst_lib),
- servo_exe_dir)
+ if isinstance(gst_lib, str):
+ gst_lib = [gst_lib]
+ for lib in gst_lib:
+ try:
+ shutil.copy(path.join(gst_root, "bin", lib),
+ servo_exe_dir)
+ break
+ except:
+ pass
+ else:
+ print("ERROR: could not find required GStreamer DLL: " + str(gst_lib))
+ sys.exit(1)
+
# copy some MSVC DLLs to servo.exe dir
msvc_redist_dir = None
vs_platform = os.environ.get("PLATFORM", "").lower()