mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Package DLLs correctly for Windows cross builds.
This commit is contained in:
parent
8ae287375f
commit
96c51cf173
4 changed files with 11 additions and 4 deletions
|
@ -358,14 +358,17 @@ def android_x86_wpt():
|
|||
|
||||
def windows_x86():
|
||||
return (
|
||||
windows_build_task("Dev build", package=False, arch="x86")
|
||||
windows_build_task("Dev build", arch="x86")
|
||||
.with_treeherder("Windows x86")
|
||||
.with_env(**{
|
||||
"VCVARSALL_PATH": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Auxiliary\\Build"
|
||||
})
|
||||
.with_script(
|
||||
"python mach build --dev --target i686-pc-windows-msvc",
|
||||
"python mach package --dev --target i686-pc-windows-msvc",
|
||||
)
|
||||
.with_artifacts("repo/target/i686-pc-windows-msvc/debug/msi/Servo.exe",
|
||||
"repo/target/i686-pc-windows-msvc/debug/msi/Servo.zip")
|
||||
.find_or_create("build.windows_x86_dev." + CONFIG.task_id())
|
||||
)
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue